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
|
// Debug totals
|
||||||
error_log("DeclarationTVA: Total VAT collected: $total_vat_collected, Total VAT deductible: $total_vat_deductible");
|
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)
|
// Calculate D-section result lines (25, 26, 28, 29)
|
||||||
$this->calculateDSectionLines($declaration_id, $total_vat_collected, $total_vat_deductible);
|
$this->calculateDSectionLines($declaration_id, $total_vat_collected, $total_vat_deductible);
|
||||||
|
|
||||||
@ -295,6 +298,40 @@ class DeclarationTVA
|
|||||||
return true;
|
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)
|
* 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%)',
|
'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%)'
|
'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(
|
'17' => array(
|
||||||
'label' => 'TVA due au titre des acquisitions intracommunautaires (autoliquidation)',
|
'label' => 'TVA due au titre des acquisitions intracommunautaires (autoliquidation)',
|
||||||
'type' => 'vat',
|
'type' => 'vat',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user