Use bank account's fk_accountancy_journal for bank entries
- Get fk_accountancy_journal from bank_account table - Add getJournalCodeFromId method to get journal code from journal ID - Use the correct journal code from bank account instead of configuration - Bank entries will now use the proper journal configured for the bank account
This commit is contained in:
parent
da5820e524
commit
dfc6d49441
@ -1101,9 +1101,9 @@ class DeclarationTVA
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get bank journal code from configuration
|
// Get bank journal code from bank account
|
||||||
$bank_journal_code = $bank_config['bank_journal'] ?? 'BAN';
|
$bank_journal_code = $bank_account['journal_code'] ?? 'BAN';
|
||||||
error_log("DEBUG: Using bank journal code: " . $bank_journal_code);
|
error_log("DEBUG: Using bank journal code from bank account: " . $bank_journal_code);
|
||||||
|
|
||||||
// Create accounting entries in Dolibarr
|
// Create accounting entries in Dolibarr
|
||||||
return $this->saveAccountingEntries($entries, $declaration, $user, $bank_journal_code);
|
return $this->saveAccountingEntries($entries, $declaration, $user, $bank_journal_code);
|
||||||
@ -1425,8 +1425,8 @@ class DeclarationTVA
|
|||||||
*/
|
*/
|
||||||
private function getBankAccountDetails($bank_account_id)
|
private function getBankAccountDetails($bank_account_id)
|
||||||
{
|
{
|
||||||
// Get bank account info and its linked accounting account
|
// Get bank account info and its linked accounting account and journal
|
||||||
$sql = "SELECT ba.rowid, ba.label, ba.number, ba.bank, ba.account_number
|
$sql = "SELECT ba.rowid, ba.label, ba.number, ba.bank, ba.account_number, ba.fk_accountancy_journal
|
||||||
FROM " . MAIN_DB_PREFIX . "bank_account ba
|
FROM " . MAIN_DB_PREFIX . "bank_account ba
|
||||||
WHERE ba.rowid = " . (int)$bank_account_id . "
|
WHERE ba.rowid = " . (int)$bank_account_id . "
|
||||||
AND ba.entity = " . $this->entity;
|
AND ba.entity = " . $this->entity;
|
||||||
@ -1439,7 +1439,10 @@ class DeclarationTVA
|
|||||||
// Get the accounting account label for the account code
|
// Get the accounting account label for the account code
|
||||||
$account_label = $this->getAccountLabel($obj->account_number);
|
$account_label = $this->getAccountLabel($obj->account_number);
|
||||||
|
|
||||||
error_log("DEBUG: Bank account data - account_number: " . $obj->account_number . ", account_label: " . $account_label);
|
// Get the journal code from the journal ID
|
||||||
|
$journal_code = $this->getJournalCodeFromId($obj->fk_accountancy_journal);
|
||||||
|
|
||||||
|
error_log("DEBUG: Bank account data - account_number: " . $obj->account_number . ", account_label: " . $account_label . ", journal_code: " . $journal_code);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'rowid' => $obj->rowid,
|
'rowid' => $obj->rowid,
|
||||||
@ -1447,7 +1450,8 @@ class DeclarationTVA
|
|||||||
'number' => $obj->number,
|
'number' => $obj->number,
|
||||||
'bank' => $obj->bank,
|
'bank' => $obj->bank,
|
||||||
'account_code' => $obj->account_number, // Use the linked accounting account code
|
'account_code' => $obj->account_number, // Use the linked accounting account code
|
||||||
'account_label' => $account_label
|
'account_label' => $account_label,
|
||||||
|
'journal_code' => $journal_code
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1476,6 +1480,27 @@ class DeclarationTVA
|
|||||||
return $account_code; // Fallback to account code
|
return $account_code; // Fallback to account code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get journal code from journal ID
|
||||||
|
*
|
||||||
|
* @param int $journal_id Journal ID
|
||||||
|
* @return string Journal code
|
||||||
|
*/
|
||||||
|
private function getJournalCodeFromId($journal_id)
|
||||||
|
{
|
||||||
|
$sql = "SELECT code FROM " . MAIN_DB_PREFIX . "accounting_journal
|
||||||
|
WHERE rowid = " . (int)$journal_id . "
|
||||||
|
AND entity = " . $this->entity;
|
||||||
|
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
if ($result && $this->db->num_rows($result) > 0) {
|
||||||
|
$obj = $this->db->fetch_object($result);
|
||||||
|
return $obj->code;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'BAN'; // Fallback to BAN if not found
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submit declaration (create accounting entries and update status)
|
* Submit declaration (create accounting entries and update status)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user