hasRight("declarationtva", "declarationtva", "read")) { http_response_code(403); echo "Access denied"; exit; } // Get parameters $declaration_id = GETPOST('declaration_id', 'int'); $ca3_line = GETPOST('ca3_line', 'alpha'); // Validate parameters if (empty($declaration_id) || empty($ca3_line)) { echo '
' . $langs->trans("ErrorMissingParameters") . '
'; exit; } // Initialize objects $declarationtva = new DeclarationTVA($db); $config = new DeclarationTVA_Config($db); // Get declaration info if (!$declarationtva->fetch($declaration_id)) { echo '
' . $langs->trans("DeclarationNotFound") . '
'; exit; } // Get detailed breakdown $line_details = $declarationtva->getCA3LineDetails($declaration_id, $ca3_line); if (empty($line_details)) { echo '
' . $langs->trans("NoDataFoundForLine") . '
'; exit; } // Get CA-3 line definition $ca3_definitions = $config->getCA3LineDefinitions(); $line_definition = isset($ca3_definitions[$ca3_line]) ? $ca3_definitions[$ca3_line] : null; // Display account details table echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $total_base = 0; $total_vat = 0; $total_amount = 0; foreach ($line_details['account_details'] as $account) { $total_base += $account['base_amount']; $total_vat += $account['vat_amount']; $total_amount += $account['total_amount']; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } // Totals row echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
' . $langs->trans("AccountCode") . '' . $langs->trans("AccountLabel") . '' . $langs->trans("BaseAmount") . '' . $langs->trans("VATAmount") . '' . $langs->trans("TotalAmount") . '' . $langs->trans("MappingType") . '
' . $account['account_code'] . '' . $account['account_label'] . '' . price($account['base_amount']) . '' . price($account['vat_amount']) . '' . price($account['total_amount']) . '' . $account['mapping_type'] . '
' . $langs->trans("Total") . '' . price($total_base) . '' . price($total_vat) . '' . price($total_amount) . '
'; // Additional info if calculated line exists if ($line_details['calculated_line']) { echo '
'; echo '' . $langs->trans("Note") . ': '; echo $langs->trans("CalculatedLineNote"); if (!empty($line_details['calculated_line']->line_label)) { echo '
' . $line_details['calculated_line']->line_label . ''; } echo '
'; } // Summary info echo '
'; echo '' . $langs->trans("Summary") . ': '; echo $langs->trans("AccountCount") . ': ' . $line_details['account_count'] . ' | '; echo $langs->trans("Period") . ': ' . dol_print_date($line_details['start_date'], 'day') . ' - ' . dol_print_date($line_details['end_date'], 'day'); echo '
'; ?>