From b1103132459f7923a25dc5432a61bc46de1685f7 Mon Sep 17 00:00:00 2001 From: Frank Cools Date: Wed, 8 Oct 2025 22:28:44 +0200 Subject: [PATCH] Fix success condition - check entry ID instead of create() return value - Use bookkeeping->id > 0 to check if entry was created successfully - create() method returns 0 but entry is actually created with valid ID - This is a common Dolibarr pattern where create() returns 0 for success - Check actual entry ID to determine success instead of return value --- core/class/declarationtva.class.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/class/declarationtva.class.php b/core/class/declarationtva.class.php index 2ecd495..b6ae53f 100644 --- a/core/class/declarationtva.class.php +++ b/core/class/declarationtva.class.php @@ -1263,7 +1263,10 @@ class DeclarationTVA error_log("DEBUG: Debit entry error message: '" . $debit->error . "'"); error_log("DEBUG: Debit entry ID after create: " . $debit->id); - if ($result <= 0) { + // Check if entry was created successfully (ID > 0 means success) + if ($debit->id > 0) { + error_log("DEBUG: Debit entry created successfully with ID: " . $debit->id); + } else { throw new Exception('Failed to create debit entry: ' . $debit->error); } } @@ -1291,8 +1294,13 @@ class DeclarationTVA $result = $credit->create($user); error_log("DEBUG: Credit entry create result: " . $result . " (type: " . gettype($result) . ")"); + error_log("DEBUG: Credit entry error message: '" . $credit->error . "'"); + error_log("DEBUG: Credit entry ID after create: " . $credit->id); - if ($result <= 0) { + // Check if entry was created successfully (ID > 0 means success) + if ($credit->id > 0) { + error_log("DEBUG: Credit entry created successfully with ID: " . $credit->id); + } else { throw new Exception('Failed to create credit entry: ' . $credit->error); } }