Fix bank journal entries to use Bank journal instead of OD

- Add journal_code parameter to saveAccountingEntries method
- Use Bank journal code for bank entries instead of OD journal
- Get bank journal code from configuration (defaults to 'BAN')
- Fix bank entries to appear in correct journal instead of OD journal
This commit is contained in:
Frank Cools 2025-10-09 01:01:28 +02:00
parent 44b0cfa249
commit da5820e524

View File

@ -1101,8 +1101,12 @@ class DeclarationTVA
);
}
// Get bank journal code from configuration
$bank_journal_code = $bank_config['bank_journal'] ?? 'BAN';
error_log("DEBUG: Using bank journal code: " . $bank_journal_code);
// Create accounting entries in Dolibarr
return $this->saveAccountingEntries($entries, $declaration, $user);
return $this->saveAccountingEntries($entries, $declaration, $user, $bank_journal_code);
}
/**
@ -1243,9 +1247,9 @@ class DeclarationTVA
* @param object $user User object
* @return bool Success
*/
private function saveAccountingEntries($entries, $declaration, $user)
private function saveAccountingEntries($entries, $declaration, $user, $journal_code = 'OD')
{
error_log("DEBUG: saveAccountingEntries called with user: " . ($user ? "VALID" : "NULL"));
error_log("DEBUG: saveAccountingEntries called with user: " . ($user ? "VALID" : "NULL") . ", journal: " . $journal_code);
if (empty($entries)) {
return true; // No entries to save
@ -1256,7 +1260,7 @@ class DeclarationTVA
// Start transaction
$this->db->begin();
error_log("DEBUG: Database transaction started");
error_log("DEBUG: Database transaction started for journal: " . $journal_code);
try {
foreach ($entries as $entry) {
@ -1280,7 +1284,7 @@ class DeclarationTVA
$debit->doc_date = dol_mktime(0, 0, 0, date('m', strtotime($declaration->end_date)), date('d', strtotime($declaration->end_date)), date('Y', strtotime($declaration->end_date)));
$debit->doc_ref = $declaration->declaration_name;
$debit->ref = $declaration->declaration_name;
$debit->code_journal = 'OD';
$debit->code_journal = $journal_code;
$debit->numero_compte = $entry['account_code'];
$debit->label_compte = $entry['account_label'];
$debit->montant = price2num($debit_amount, 'MT');
@ -1330,7 +1334,7 @@ class DeclarationTVA
$credit->doc_date = dol_mktime(0, 0, 0, date('m', strtotime($declaration->end_date)), date('d', strtotime($declaration->end_date)), date('Y', strtotime($declaration->end_date)));
$credit->doc_ref = $declaration->declaration_name;
$credit->ref = $declaration->declaration_name;
$credit->code_journal = 'OD';
$credit->code_journal = $journal_code;
$credit->numero_compte = $entry['account_code'];
$credit->label_compte = $entry['account_label'];
$credit->montant = price2num($credit_amount, 'MT');