Add line 16 subtotal calculation
Added: - Line 16: Subtotal of lines 08, 09, 9B (for user reference) - calculateLine16() method that sums VAT amounts from lines 08, 09, 9B - Line 16 definition in CA-3 line definitions - Line 16 will appear automatically in the view page - This provides a subtotal for the user before line 17 (manual entry)
This commit is contained in:
parent
01a944fbfc
commit
c638ce5233
@ -281,6 +281,9 @@ class DeclarationTVA
|
||||
// Debug totals
|
||||
error_log("DeclarationTVA: Total VAT collected: $total_vat_collected, Total VAT deductible: $total_vat_deductible");
|
||||
|
||||
// Calculate line 16: Subtotal of lines 08, 09, 9B (for user reference)
|
||||
$this->calculateLine16($declaration_id);
|
||||
|
||||
// Calculate D-section result lines (25, 26, 28, 29)
|
||||
$this->calculateDSectionLines($declaration_id, $total_vat_collected, $total_vat_deductible);
|
||||
|
||||
@ -295,6 +298,40 @@ class DeclarationTVA
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate line 16: Subtotal of lines 08, 09, 9B (for user reference)
|
||||
*
|
||||
* @param int $declaration_id Declaration ID
|
||||
* @return bool Success
|
||||
*/
|
||||
private function calculateLine16($declaration_id)
|
||||
{
|
||||
// Get the amounts from lines 08, 09, 9B
|
||||
$sql = "SELECT ca3_line, vat_amount FROM " . MAIN_DB_PREFIX . "declarationtva_ca3_lines
|
||||
WHERE declaration_id = " . (int)$declaration_id . "
|
||||
AND ca3_line IN ('08', '09', '9B')";
|
||||
|
||||
$result = $this->db->query($sql);
|
||||
$line_16_total = 0;
|
||||
$account_labels = array();
|
||||
|
||||
if ($result) {
|
||||
while ($obj = $this->db->fetch_object($result)) {
|
||||
$line_16_total += $obj->vat_amount;
|
||||
$account_labels[] = "Line " . $obj->ca3_line . ": " . number_format($obj->vat_amount, 2);
|
||||
}
|
||||
}
|
||||
|
||||
// Create line 16 record
|
||||
$this->createCA3Line($declaration_id, '16', 'Subtotal: ' . implode(', ', $account_labels), array(
|
||||
'base_amount' => 0,
|
||||
'vat_amount' => $line_16_total,
|
||||
'total_amount' => $line_16_total
|
||||
));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate D-section result lines (25, 26, 28, 29)
|
||||
*
|
||||
|
||||
@ -291,6 +291,13 @@ class DeclarationTVA_Config
|
||||
'description' => 'Base HT and VAT amounts due at reduced rates (5,5% and 2,1%)',
|
||||
'pcg_accounts' => 'Base: 7xxxx (Sales); VAT: 44573x (5,5%) / 44574x (2,1%)'
|
||||
),
|
||||
'16' => array(
|
||||
'label' => 'Sous-total TVA due (08 + 09 + 9B)',
|
||||
'type' => 'calculated',
|
||||
'section' => 'B',
|
||||
'description' => 'Subtotal of VAT due (calculated from lines 08, 09, 9B)',
|
||||
'pcg_accounts' => 'Calculated automatically'
|
||||
),
|
||||
'17' => array(
|
||||
'label' => 'TVA due au titre des acquisitions intracommunautaires (autoliquidation)',
|
||||
'type' => 'vat',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user