diff --git a/app/Classes/General/Eloquent/Filters/DateRange.php b/app/Classes/General/Eloquent/Filters/DateRange.php index 28092da0..d55709b4 100644 --- a/app/Classes/General/Eloquent/Filters/DateRange.php +++ b/app/Classes/General/Eloquent/Filters/DateRange.php @@ -2,6 +2,7 @@ namespace App\Classes\General\Eloquent\Filters; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use Carbon\Carbon; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Log; @@ -34,24 +35,71 @@ class DateRange implements Filter $endDate = Carbon::createFromFormat('Y-m-d', '1970-01-01')->startOfDay(); } - return $builder->with([ + // return $builder->with([ + // 'company', + // 'transactions.transactionDetails', + // 'transactions.voucherRedemption', + // ]) + // ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + // $query->payments() + // ->complete() + // ->whereBetween('created_at', [$startDate, $endDate]) + // ->latest('created_at'); + // }) + // ->whereDoesntHave('transactions', function ($query) use ($startDate, $endDate) { + // $query->payments() + // ->complete() + // ->where(function ($q) use ($startDate, $endDate) { + // $q->where('created_at', '<', $startDate) + // ->orWhere('created_at', '>', $endDate); + // }); + // }); + + return $builder->whereIn('status', [ + ApprovalStatus::APPROVED, + ApprovalStatus::COMPLETED, + ApprovalStatus::SUSPENDED, + ]) + ->where(function ($q) use ($startDate, $endDate) { + // Bookings without refunds + $q->where(function ($q1) use ($startDate, $endDate) { + $q1->where('status', ApprovalStatus::COMPLETED) + ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + $query->payments() + ->complete() + ->whereBetween('created_at', [$startDate, $endDate]); + }) + ->whereDoesntHave('transactions', function ($query) { + $query->payments() + ->complete() + ->where(function ($q) { + $q->where('created_at', '<', '2025-07-01 00:00:00'); + }); + }); + }) + // OR bookings with refunds + ->orWhere(function ($q2) use ($startDate, $endDate) { + $q2->whereHas('transactions', function ($query) use ($startDate, $endDate) { + $query->payments() + ->whereBetween('created_at', [$startDate, $endDate]) + ->whereHas('transactions', function ($refundQuery) { + $refundQuery->refunds() + ->whereIn('status', [ApprovalStatus::APPROVED]); + }); + }) + ->whereDoesntHave('transactions', function ($query) { + $query->payments() + ->complete() + ->where(function ($q) { + $q->where('created_at', '<', '2025-07-01 00:00:00'); + }); + }); + }); + }) + ->with([ 'company', 'transactions.transactionDetails', 'transactions.voucherRedemption', - ]) - ->whereHas('transactions', function ($query) use ($startDate, $endDate){ - $query->payments() - ->complete() - ->whereBetween('created_at', [$startDate, $endDate]) - ->latest('created_at'); - }) - ->whereDoesntHave('transactions', function ($query) use ($startDate, $endDate) { - $query->payments() - ->complete() - ->where(function ($q) use ($startDate, $endDate) { - $q->where('created_at', '<', $startDate) - ->orWhere('created_at', '>', $endDate); - }); - }); + ]); } } diff --git a/app/Classes/General/Eloquent/Filters/DateRangeNoData.php b/app/Classes/General/Eloquent/Filters/DateRangeNoData.php index 278fe9dd..833477ae 100644 --- a/app/Classes/General/Eloquent/Filters/DateRangeNoData.php +++ b/app/Classes/General/Eloquent/Filters/DateRangeNoData.php @@ -2,6 +2,7 @@ namespace App\Classes\General\Eloquent\Filters; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\KVPKey; use App\Classes\ValueObjects\Constants\TransactionType; use Carbon\Carbon; @@ -36,38 +37,103 @@ class DateRangeNoData implements Filter $endDate = Carbon::createFromFormat('Y-m-d', '1970-01-01')->startOfDay(); } - return $builder->with([ + // return $builder->with([ + // 'company', + // 'transactions.transactionDetails', + // 'transactions.voucherRedemption', + // ]) + + // // ->whereHas('company', function ($query) { + // // $query->where('debtor', '!=', 'N/A NO NEED TO IMPORT'); + // // }) + // ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + // $query->payments() + // ->complete() + // ->whereBetween('created_at', [$startDate, $endDate]) + // ->latest('created_at'); + // }) + // ->whereDoesntHave('transactions', function ($query) use ($startDate, $endDate) { + // $query->payments() + // ->complete() + // ->where(function ($q) use ($startDate, $endDate) { + // $q->where('created_at', '<', $startDate) + // ->orWhere('created_at', '>', $endDate); + // }); + // }) + // ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + // $query->where('type', TransactionType::INVOICE) + // ->latest('created_at') + // ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { + // $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + // }); + // }) + // ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { + // $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + // }); + + return $builder->whereIn('status', [ + ApprovalStatus::APPROVED, + ApprovalStatus::COMPLETED, + ApprovalStatus::SUSPENDED, + ]) + ->where(function ($q) use ($startDate, $endDate) { + // Bookings without refunds + $q->where(function ($q1) use ($startDate, $endDate) { + $q1->where('status', ApprovalStatus::COMPLETED) + ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + $query->payments() + ->complete() + ->whereBetween('created_at', [$startDate, $endDate]); + }) + ->whereDoesntHave('transactions', function ($query) { + $query->payments() + ->complete() + ->where(function ($q) { + $q->where('created_at', '<', '2025-07-01 00:00:00'); + }); + }) + ->whereHas('transactions', function ($query) { + $query->where('type', TransactionType::INVOICE) + ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { + $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }) + ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { + $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }) + // OR bookings with refunds + ->orWhere(function ($q2) use ($startDate, $endDate) { + $q2->whereHas('transactions', function ($query) use ($startDate, $endDate) { + $query->payments() + ->whereBetween('created_at', [$startDate, $endDate]) + ->whereHas('transactions', function ($refundQuery) { + $refundQuery->refunds() + ->whereIn('status', [ApprovalStatus::APPROVED]); + }); + }) + ->whereDoesntHave('transactions', function ($query) { + $query->payments() + ->complete() + ->where(function ($q) { + $q->where('created_at', '<', '2025-07-01 00:00:00'); + }); + }) + ->whereHas('transactions', function ($query) { + $query->where('type', TransactionType::INVOICE) + ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { + $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }) + ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { + $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }); + }) + ->with([ 'company', 'transactions.transactionDetails', 'transactions.voucherRedemption', - ]) - - // ->whereHas('company', function ($query) { - // $query->where('debtor', '!=', 'N/A NO NEED TO IMPORT'); - // }) - ->whereHas('transactions', function ($query) use ($startDate, $endDate){ - $query->payments() - ->complete() - ->whereBetween('created_at', [$startDate, $endDate]) - ->latest('created_at'); - }) - ->whereDoesntHave('transactions', function ($query) use ($startDate, $endDate) { - $query->payments() - ->complete() - ->where(function ($q) use ($startDate, $endDate) { - $q->where('created_at', '<', $startDate) - ->orWhere('created_at', '>', $endDate); - }); - }) - ->whereHas('transactions', function ($query) use ($startDate, $endDate){ - $query->where('type', TransactionType::INVOICE) - ->latest('created_at') - ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { - $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); - }); - }) - ->whereDoesntHave('attributesKVP', function ($invoiceQuery) { - $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); - }); + ]); } } diff --git a/app/Classes/General/Eloquent/Filters/DateRangeWithData.php b/app/Classes/General/Eloquent/Filters/DateRangeWithData.php index 12fd2d67..61c5f437 100644 --- a/app/Classes/General/Eloquent/Filters/DateRangeWithData.php +++ b/app/Classes/General/Eloquent/Filters/DateRangeWithData.php @@ -2,6 +2,7 @@ namespace App\Classes\General\Eloquent\Filters; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\KVPKey; use App\Classes\ValueObjects\Constants\TransactionType; use Carbon\Carbon; @@ -36,38 +37,110 @@ class DateRangeWithData implements Filter $endDate = Carbon::createFromFormat('Y-m-d', '1970-01-01')->startOfDay(); } - return $builder->with([ + // return $builder->with([ + // 'company', + // 'transactions.transactionDetails', + // 'transactions.voucherRedemption', + // ]) + + // // ->whereHas('company', function ($query) { + // // $query->where('debtor', '!=', 'N/A NO NEED TO IMPORT'); + // // }) + // ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + // $query->payments() + // ->complete() + // ->whereBetween('created_at', [$startDate, $endDate]) + // ->latest('created_at'); + // }) + // ->whereDoesntHave('transactions', function ($query) use ($startDate, $endDate) { + // $query->payments() + // ->complete() + // ->where(function ($q) use ($startDate, $endDate) { + // $q->where('created_at', '<', $startDate) + // ->orWhere('created_at', '>', $endDate); + // }); + // }) + // ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + // $query->where('type', TransactionType::INVOICE) + // ->latest('created_at') + // ->whereHas('attributesKVP', function ($invoiceQuery) { + // $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + // }); + // }); + // // ->WhereHas('attributesKVP', function ($invoiceQuery) { + // // $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + // // }); + + + return $builder->whereIn('status', [ + ApprovalStatus::APPROVED, + ApprovalStatus::COMPLETED, + ApprovalStatus::SUSPENDED, + ]) + ->where(function ($q) use ($startDate, $endDate) { + // Bookings without refunds + $q->where(function ($q1) use ($startDate, $endDate) { + $q1->where('status', ApprovalStatus::COMPLETED) + ->whereHas('transactions', function ($query) use ($startDate, $endDate){ + $query->payments() + ->complete() + ->whereBetween('created_at', [$startDate, $endDate]); + }) + ->whereDoesntHave('transactions', function ($query) { + $query->payments() + ->complete() + ->where(function ($q) { + $q->where('created_at', '<', '2025-07-01 00:00:00'); + }); + }) + ->where(function ($subQuery){ + $subQuery + ->whereHas('transactions', function ($query) { + $query->where('type', TransactionType::INVOICE) + ->whereHas('attributesKVP', function ($invoiceQuery) { + $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }) + ->orWhereHas('attributesKVP', function ($noInvoiceQuery) { + $noInvoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }); + }) + // OR bookings with refunds + ->orWhere(function ($q2) use ($startDate, $endDate) { + $q2->whereHas('transactions', function ($query) use ($startDate, $endDate) { + $query->payments() + ->whereBetween('created_at', [$startDate, $endDate]) + ->whereHas('transactions', function ($refundQuery) { + $refundQuery->refunds() + ->whereIn('status', [ApprovalStatus::APPROVED]); + }); + }) + ->whereDoesntHave('transactions', function ($query) { + $query->payments() + ->complete() + ->where(function ($q) { + $q->where('created_at', '<', '2025-07-01 00:00:00'); + }); + }) + ->where(function ($subQuery){ + $subQuery + ->whereHas('transactions', function ($query) { + $query->where('type', TransactionType::INVOICE) + ->whereHas('attributesKVP', function ($invoiceQuery) { + $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }) + ->orWhereHas('attributesKVP', function ($noInvoiceQuery) { + $noInvoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); + }); + }); + }); + }) + ->with([ 'company', 'transactions.transactionDetails', 'transactions.voucherRedemption', - ]) - - // ->whereHas('company', function ($query) { - // $query->where('debtor', '!=', 'N/A NO NEED TO IMPORT'); - // }) - ->whereHas('transactions', function ($query) use ($startDate, $endDate){ - $query->payments() - ->complete() - ->whereBetween('created_at', [$startDate, $endDate]) - ->latest('created_at'); - }) - ->whereDoesntHave('transactions', function ($query) use ($startDate, $endDate) { - $query->payments() - ->complete() - ->where(function ($q) use ($startDate, $endDate) { - $q->where('created_at', '<', $startDate) - ->orWhere('created_at', '>', $endDate); - }); - }) - ->whereHas('transactions', function ($query) use ($startDate, $endDate){ - $query->where('type', TransactionType::INVOICE) - ->latest('created_at') - ->whereHas('attributesKVP', function ($invoiceQuery) { - $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); - }); - }); - // ->WhereHas('attributesKVP', function ($invoiceQuery) { - // $invoiceQuery->where('key', KVPKey::AUTOCOUNT_DOCNO_INVOICE); - // }); + ]); } } diff --git a/app/Classes/Modules/Bookings/ControllersLogic/ListBookingsSalesInvoiceLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/ListBookingsSalesInvoiceLogic.php index b0a330b7..d8847d2d 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/ListBookingsSalesInvoiceLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/ListBookingsSalesInvoiceLogic.php @@ -95,6 +95,7 @@ class ListBookingsSalesInvoiceLogic extends AbstractControllerLogic $filters = $request->input('filters'); if (is_string($filters)) { $decoded = json_decode($filters, true) ?? []; + unset($decoded['status']); $decoded['order_by'] = ['column' => 'id', 'DESC' => false]; $request->merge(['filters' => json_encode($decoded)]); } diff --git a/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceReport.php b/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceReport.php index 3142441b..7257daec 100644 --- a/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceReport.php +++ b/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceReport.php @@ -80,6 +80,11 @@ class ExportsSalesInvoiceReport implements FromQuery, WithHeadings, WithHeadingR }); } + public function getRecordCount(): int + { + return $this->query()->count(); + } + /** * @param Booking $booking * @return array diff --git a/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceWithRefundReport.php b/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceWithRefundReport.php index c6ac49cf..9f134a04 100644 --- a/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceWithRefundReport.php +++ b/app/Classes/Modules/Exports/Services/ExportsSalesInvoiceWithRefundReport.php @@ -84,6 +84,11 @@ class ExportsSalesInvoiceWithRefundReport implements FromQuery, WithHeadings, Wi }); } + public function getRecordCount(): int + { + return $this->query()->count(); + } + /** * @param Booking $booking * @return array diff --git a/app/Http/Resources/AutocountSalesInvoiceBookingResource.php b/app/Http/Resources/AutocountSalesInvoiceBookingResource.php index 2dfeefaa..8c134967 100644 --- a/app/Http/Resources/AutocountSalesInvoiceBookingResource.php +++ b/app/Http/Resources/AutocountSalesInvoiceBookingResource.php @@ -22,6 +22,7 @@ class AutocountSalesInvoiceBookingResource extends JsonResource */ public function toArray($request) { + $booking = $this; $details = collect(); $purchaseOrder = $this->transactions->where('type', TransactionType::PURCHASE_ORDER)->first(); $company = $this->company; @@ -32,6 +33,9 @@ class AutocountSalesInvoiceBookingResource extends JsonResource ->sortByDesc('created_at') ->first(); + if(!$lastPaymentTransaction){ + $lastPaymentTransaction = $this->transactions()->payments()->whereIn('status', [ApprovalStatus::COMPLETED, ApprovalStatus::REFUNDED])->latest()->first(); + } $documentDate = Carbon::parse($lastPaymentTransaction->created_at); // if ($documentDate < $this->startDate || $documentDate > $this->endDate) { @@ -49,7 +53,7 @@ class AutocountSalesInvoiceBookingResource extends JsonResource $subtotal = 0; $displayedSubtotal = 0; $totalPayment = 0; - $averageCurrencyRate = $invoiceTransaction->currency_rate; + $averageCurrencyRate = $invoiceTransaction ? $invoiceTransaction->currency_rate : 0; $paymentSum = $this->transactions ->where('type', TransactionType::PAYMENT) ->where('status', ApprovalStatus::COMPLETED) @@ -105,7 +109,7 @@ class AutocountSalesInvoiceBookingResource extends JsonResource 'DocNo' => $firstItem ? $docNo : '', 'DocDate' => $formattedDocumentDate, 'DebtorCode' => $company->debtor, - 'Ref' => $invoiceTransaction->bill_no, + 'Ref' => $invoiceTransaction ? $invoiceTransaction->bill_no : '', 'ShipInfo' => $this->marking, 'AccNo' => '500-0000', 'DetailDescription' => 'PRODUCT NAME :', @@ -124,9 +128,35 @@ class AutocountSalesInvoiceBookingResource extends JsonResource } } + // Voucherify - Starts + $voucherRedemption = $lastPaymentTransaction->voucherRedemption; + if($voucherRedemption){ + $voucherDiscount = $voucherRedemption ? bcmul((string)$voucherRedemption->value, "-1", 2) : "0"; + $voucher = $voucherRedemption->voucher; + $category = $voucher->campaign ? $voucher->campaign->category : null; + $detail = [ + 'DocNo' => '', + 'DocDate' => $formattedDocumentDate, + 'DebtorCode' => $company->debtor, + 'Ref' => $invoiceTransaction ? $invoiceTransaction->bill_no : '', + 'ShipInfo' => $this->marking, + 'AccNo' => $category === 'Compensation Voucher' ? '1000-000' : '949-2000', + 'DetailDescription' => 'PRODUCT NAME :', + 'FurtherDescription' => $voucher->code, + 'Classification' => '022', + 'DeptNo' => 'C', + 'Qty' => '1', + 'UnitPrice' => $voucherDiscount ? number_format($voucherDiscount, 2): '0', + 'SubmitEinvoice' => '', + 'ConsolidatedEinvoice' => '', + ]; + $details->push($detail); + } + // Voucherify - Ends + // Service Charge - Starts $serviceCharge = 0; - if (!$totalPayment) { + if (!$totalPayment && $invoiceTransaction) { $serviceCharge = $invoiceTransaction->service_charge; } else { @@ -142,7 +172,7 @@ class AutocountSalesInvoiceBookingResource extends JsonResource 'DocNo' => '', 'DocDate' => $formattedDocumentDate, 'DebtorCode' => $company->debtor, - 'Ref' => $invoiceTransaction->bill_no, + 'Ref' => $invoiceTransaction ? $invoiceTransaction->bill_no : '', 'ShipInfo' => $this->marking, 'AccNo' => '500-0000', 'DetailDescription' => 'PRODUCT NAME :', @@ -158,50 +188,52 @@ class AutocountSalesInvoiceBookingResource extends JsonResource // Service Charge - Ends // Adjustment - Starts - $adjustment = 0; - $voucherRedemption = $invoiceTransaction->voucherRedemption; - $voucherDiscount = $voucherRedemption ? bcmul((string)$voucherRedemption->value, "-1", 2) : "0"; + if($invoiceTransaction){ + $adjustment = 0; + $voucherRedemption = $invoiceTransaction->voucherRedemption; + $voucherDiscount = $voucherRedemption ? bcmul((string)$voucherRedemption->value, "-1", 2) : "0"; - $displayedSubtotal = is_numeric($displayedSubtotal) ? sprintf('%F', $displayedSubtotal) : '0'; - $serviceCharge = is_numeric($serviceCharge) ? sprintf('%F', $serviceCharge) : '0'; - $tax = is_numeric($invoiceTransaction->tax) ? sprintf('%F', $invoiceTransaction->tax) : '0'; - $voucherDiscount = is_numeric($voucherDiscount) ? sprintf('%F', $voucherDiscount) : '0'; + $displayedSubtotal = is_numeric($displayedSubtotal) ? sprintf('%F', $displayedSubtotal) : '0'; + $serviceCharge = is_numeric($serviceCharge) ? sprintf('%F', $serviceCharge) : '0'; + $tax = is_numeric($invoiceTransaction->tax) ? sprintf('%F', $invoiceTransaction->tax) : '0'; + $voucherDiscount = is_numeric($voucherDiscount) ? sprintf('%F', $voucherDiscount) : '0'; - $displayedTotal = bcadd( - bcadd( - bcadd($displayedSubtotal, $serviceCharge, 5), - $tax, + $displayedTotal = bcadd( + bcadd( + bcadd($displayedSubtotal, $serviceCharge, 5), + $tax, + 5 + ), + $voucherDiscount, 5 - ), - $voucherDiscount, - 5 - ); + ); - $expectedTotal = bcadd(bcadd(bcadd($subtotal, $serviceCharge, 5), $invoiceTransaction->tax, 5), $voucherDiscount, 5); - $adjustment = bcsub($expectedTotal, $displayedTotal, 5); - - if ($totalPayment) { - $expectedTotal = $totalPayment; + $expectedTotal = bcadd(bcadd(bcadd($subtotal, $serviceCharge, 5), $invoiceTransaction->tax, 5), $voucherDiscount, 5); $adjustment = bcsub($expectedTotal, $displayedTotal, 5); - } - $detail = [ - 'DocNo' => '', - 'DocDate' => $formattedDocumentDate, - 'DebtorCode' => $company->debtor, - 'Ref' => $invoiceTransaction->bill_no, - 'ShipInfo' => $this->marking, - 'AccNo' => '500-0000', - 'DetailDescription' => 'PRODUCT NAME :', - 'FurtherDescription' => 'Adjustment', - 'Classification' => '022', - 'DeptNo' => 'C', - 'Qty' => '1', - 'UnitPrice' => $adjustment ? number_format($adjustment, 2) : '0', - 'SubmitEinvoice' => '', - 'ConsolidatedEinvoice' => '', - ]; - $details->push($detail); + if ($totalPayment) { + $expectedTotal = $totalPayment; + $adjustment = bcsub($expectedTotal, $displayedTotal, 5); + } + + $detail = [ + 'DocNo' => '', + 'DocDate' => $formattedDocumentDate, + 'DebtorCode' => $company->debtor, + 'Ref' => $invoiceTransaction->bill_no, + 'ShipInfo' => $this->marking, + 'AccNo' => '500-0000', + 'DetailDescription' => 'PRODUCT NAME :', + 'FurtherDescription' => 'Adjustment', + 'Classification' => '022', + 'DeptNo' => 'C', + 'Qty' => '1', + 'UnitPrice' => $adjustment ? number_format($adjustment, 2) : '0', + 'SubmitEinvoice' => '', + 'ConsolidatedEinvoice' => '', + ]; + $details->push($detail); + } // Adjustment - Ends return AutocountSalesInvoiceBookingDetailsResource::collection(