diff --git a/core/class/declarationtva.class.php b/core/class/declarationtva.class.php index 0e3983e..31867c4 100644 --- a/core/class/declarationtva.class.php +++ b/core/class/declarationtva.class.php @@ -379,7 +379,7 @@ class DeclarationTVA */ private function calculateDSectionLines($declaration_id, $total_vat_collected, $total_vat_deductible) { - // Line 25: TVA brute due (Total VAT due) + // Line 25: TVA brute due (Total VAT due) - always positive $line_25_amount = $total_vat_collected; $this->createCA3Line($declaration_id, '25', 'Calculated from sections A and B', array( 'base_amount' => 0, @@ -398,6 +398,14 @@ class DeclarationTVA // Calculate net VAT due $net_vat_due = $total_vat_collected - $total_vat_deductible; + // Line TD: TVA due (VAT due) - absolute value, never negative + $line_td_amount = abs($net_vat_due); + $this->createCA3Line($declaration_id, 'TD', 'TVA due (absolute value)', array( + 'base_amount' => 0, + 'vat_amount' => $line_td_amount, + 'total_amount' => $line_td_amount + )); + // Line 28: TVA nette due (Net VAT due) - if positive if ($net_vat_due > 0) { $this->createCA3Line($declaration_id, '28', 'Calculated: 25 - 26', array( diff --git a/declarationtva_view.php b/declarationtva_view.php index 0a92a83..f7c24f1 100644 --- a/declarationtva_view.php +++ b/declarationtva_view.php @@ -262,10 +262,17 @@ print '' . $langs->trans("Description") . ''; print '' . $langs->trans("Amount") . ''; print ''; -$section_d_lines = array('25', '26', '28', '29'); +$section_d_lines = array('25', '26', 'TD', '28', '29'); foreach ($section_d_lines as $line) { $data = isset($ca3_data[$line]) ? $ca3_data[$line] : array('line_label' => '', 'vat_amount' => 0); - $description = isset($ca3_definitions[$line]) ? $ca3_definitions[$line]['label'] : $data['line_label']; + + // Special handling for line TD + if ($line == 'TD') { + $description = 'TVA due (valeur absolue)'; + } else { + $description = isset($ca3_definitions[$line]) ? $ca3_definitions[$line]['label'] : $data['line_label']; + } + print ''; print '' . $line . ''; print '' . $description . '';