diff --git a/core/class/declarationtva.class.php b/core/class/declarationtva.class.php index 31867c4..3548678 100644 --- a/core/class/declarationtva.class.php +++ b/core/class/declarationtva.class.php @@ -379,13 +379,24 @@ class DeclarationTVA */ private function calculateDSectionLines($declaration_id, $total_vat_collected, $total_vat_deductible) { - // 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, - 'vat_amount' => $line_25_amount, - 'total_amount' => $line_25_amount - )); + // Calculate net VAT due + $net_vat_due = $total_vat_collected - $total_vat_deductible; + + // Line 25: TVA brute due (Total VAT due) - only if negative (VAT credit - we receive money) + if ($net_vat_due < 0) { + $line_25_amount = $total_vat_collected; + $this->createCA3Line($declaration_id, '25', 'Calculated from sections A and B', array( + 'base_amount' => 0, + 'vat_amount' => $line_25_amount, + 'total_amount' => $line_25_amount + )); + } else { + $this->createCA3Line($declaration_id, '25', 'Calculated from sections A and B', array( + 'base_amount' => 0, + 'vat_amount' => 0, + 'total_amount' => 0 + )); + } // Line 26: TVA déductible totale (Total deductible VAT) $line_26_amount = $total_vat_deductible; @@ -395,16 +406,21 @@ class DeclarationTVA 'total_amount' => $line_26_amount )); - // 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 TD: TVA due (VAT due) - only if positive (we need to pay) + if ($net_vat_due > 0) { + $line_td_amount = $net_vat_due; + $this->createCA3Line($declaration_id, 'TD', 'TVA due (amount to pay)', array( + 'base_amount' => 0, + 'vat_amount' => $line_td_amount, + 'total_amount' => $line_td_amount + )); + } else { + $this->createCA3Line($declaration_id, 'TD', 'TVA due (amount to pay)', array( + 'base_amount' => 0, + 'vat_amount' => 0, + 'total_amount' => 0 + )); + } // Line 28: TVA nette due (Net VAT due) - if positive if ($net_vat_due > 0) { diff --git a/declarationtva_view.php b/declarationtva_view.php index f7c24f1..1e3aacd 100644 --- a/declarationtva_view.php +++ b/declarationtva_view.php @@ -268,7 +268,7 @@ foreach ($section_d_lines as $line) { // Special handling for line TD if ($line == 'TD') { - $description = 'TVA due (valeur absolue)'; + $description = 'TVA due (montant à payer)'; } else { $description = isset($ca3_definitions[$line]) ? $ca3_definitions[$line]['label'] : $data['line_label']; }