From e09fe86728e619cb7ac4cf84204e548b239bddba Mon Sep 17 00:00:00 2001 From: Dillon Ngo Date: Mon, 28 Jul 2025 23:52:51 +0800 Subject: [PATCH] E-Invoice - Automapping Issues, Sales Invoice Report (Import) with batch processing for E-Invoices --- .../ControllersLogic/ImportExcelLogic.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php b/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php index 1e16c542..a199f75d 100644 --- a/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php +++ b/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php @@ -74,12 +74,21 @@ class ImportExcelLogic extends AbstractControllerLogic 'businessactivitydesc', 'debtorcode', 'tradename', 'address', 'postcode', 'phone', 'emailaddress', 'city', 'countrycode', 'statecode' ]; - if ( - ($reportType === 'Sales Invoice Report' && $normalizedHeader !== $salesInvoiceHeader) || - ($reportType === 'Customers Report' && $normalizedHeader !== $customersReportHeader) - ) { + + if ($reportType === 'Sales Invoice Report') { + $optionalColumn = 'einvoicevalidationlink'; + + if ( + $normalizedHeader !== $salesInvoiceHeader && + $normalizedHeader !== [...$salesInvoiceHeader, $optionalColumn] + ) { + throw new MalformedRequestException('Uploaded Excel file format is incorrect. Column headers do not match expected format.'); + } + + } elseif ($reportType === 'Customers Report' && $normalizedHeader !== $customersReportHeader) { throw new MalformedRequestException('Uploaded Excel file format is incorrect. Column headers do not match expected format.'); } + $rows = $sheet->skip(1); foreach ($rows as $index => $details) {