Files
kulakpos_web/Modules/Business/resources/views/reports/vats/excel-csv.blade.php

156 lines
7.7 KiB
PHP
Raw Normal View History

2026-05-14 11:55:22 +07:00
<table>
<thead>
<tr>
<th>{{ __('Date') }}</th>
<th>{{ __('Invoice') }}</th>
@if (Request::get('type') == 'sales')
<th>{{ __('Customer') }}</th>
@else
<th>{{ __('Supplier') }}</th>
@endif
<th>{{ __('Tax Number') }}</th>
<th>{{ __('Total Amount') }}</th>
<th>{{ __('Payment Method') }}</th>
<th>{{ __('Discount') }}</th>
@foreach ($vats as $vat)
<th>{{ $vat->name . '@' . $vat->rate . '%' }}</th>
@endforeach
</tr>
</thead>
<tbody>
<!-- Show sales data if sales tab is active -->
@if (Request::get('type') == 'sales')
@foreach ($sales as $sale)
<tr>
<td>{{ formatted_date($sale->created_at) }}</td>
<td>{{ $sale->invoiceNumber }}</td>
<td>{{ $sale->party->name ?? '' }}</td>
<td>{{ $sale->party->tax_no ?? '' }}</td>
<td>{{ currency_format($sale->totalAmount, currency: business_currency()) }}</td>
<td>
@if ($sale->transactions && $sale->transactions->isNotEmpty())
{{ $sale->transactions->map(function($transaction) {
if ($transaction->transaction_type === 'bank_payment' && !empty($transaction->paymentType?->name)) {
return $transaction->paymentType->name;
}
return $transaction->transaction_type ? ucfirst(explode('_', $transaction->transaction_type)[0]) : '';
})->unique()->implode(', ') }}
@elseif ($sale->payment_type_id)
{{ $sale->payment_type?->name }}
@else
{{ $sale->paymentType }}
@endif
</td>
<td>{{ currency_format($sale->discountAmount, currency: business_currency()) }}</td>
@foreach ($vats as $vat)
@php
// Product VAT
$productVat = $saleVatRowMap[$sale->id][$vat->id] ?? 0;
// Returned VAT
$returnVat = $saleReturnVatRowMap[$sale->id][$vat->id] ?? 0;
// Invoice VAT
$invoiceVat = ($sale->vat_id == $vat->id) ? $sale->vat_amount : 0;
// Final VAT
$totalVat = $productVat + $invoiceVat - $returnVat;
@endphp
<td>{{ currency_format($totalVat, currency: business_currency()) }}</td>
@endforeach
</tr>
@endforeach
@if ($sales->count() > 0)
<tr class="table-footer">
<td class="text-start fw-bold">{{ __('Total') }}</td>
<td></td>
<td></td>
<td></td>
<td class="text-center fw-bold">
{{ currency_format($sales->sum('totalAmount'), currency: business_currency()) }}
</td>
<td class="d-print-none"></td>
<td class="text-center fw-bold">
{{ currency_format($sales->sum('discountAmount'), currency: business_currency()) }}
</td>
@foreach ($vats as $vat)
@php
$grandVatTotal = (($salesVatTotals[$vat->id] ?? 0)
- ($salesReturnVatTotals[$vat->id] ?? 0))
+ $sales->where('vat_id', $vat->id)->sum('vat_amount');
@endphp
<td class="text-center fw-bold">
{{ currency_format($grandVatTotal, currency: business_currency()) }}
</td>
@endforeach
</tr>
@endif
@endif
<!-- Show purchase data if purchase tab is active -->
@if (Request::get('type') == 'purchases')
@foreach ($purchases as $purchase)
<tr>
<td>{{ formatted_date($purchase->created_at) }}</td>
<td>{{ $purchase->invoiceNumber }}</td>
<td>{{ $purchase->party->name ?? '' }}</td>
<td>{{ $purchase->party->tax_no ?? '' }}</td>
<td>{{ currency_format($purchase->totalAmount, currency: business_currency()) }}</td>
<td>
@if ($purchase->transactions && $purchase->transactions->isNotEmpty())
{{ $purchase->transactions->map(function($transaction) {
if ($transaction->transaction_type === 'bank_payment' && !empty($transaction->paymentType?->name)) {
return $transaction->paymentType->name;
}
return $transaction->transaction_type ? ucfirst(explode('_', $transaction->transaction_type)[0]) : '';
})->unique()->implode(', ') }}
@elseif ($purchase->payment_type_id)
{{ $purchase->payment_type?->name }}
@else
{{ $purchase->paymentType }}
@endif
</td>
<td>{{ currency_format($purchase->discountAmount, currency: business_currency()) }}</td>
@foreach ($vats as $vat)
@php
// Product level VAT
$productVat = $purchaseVatRowMap[$purchase->id][$vat->id] ?? 0;
// Returned VAT
$returnVat = $purchaseReturnVatRowMap[$purchase->id][$vat->id] ?? 0;
// Invoice level VAT
$invoiceVat = ($purchase->vat_id == $vat->id) ? $purchase->vat_amount : 0;
// Final VAT
$totalVat = $productVat + $invoiceVat - $returnVat;
@endphp
<td>{{ currency_format($totalVat, currency: business_currency()) }}</td>
@endforeach
</tr>
@endforeach
@if ($purchases->count() > 0)
<tr class="table-footer">
<td class="text-start fw-bold">{{ __('Total') }}</td>
<td></td>
<td></td>
<td></td>
<td class="text-center fw-bold">{{ currency_format($purchases->sum('totalAmount'), currency: business_currency()) }}</td>
<td class="d-print-none"></td>
<td class="text-center fw-bold">{{ currency_format($purchases->sum('discountAmount'), currency: business_currency()) }}</td>
@foreach ($vats as $vat)
@php
$grandVatTotal = (($purchasesVatTotals[$vat->id] ?? 0)
- ($purchaseReturnVatTotals[$vat->id] ?? 0))
+ $purchases->where('vat_id', $vat->id)->sum('vat_amount');
@endphp
<td class="text-center fw-bold">
{{ currency_format($grandVatTotal, currency: business_currency()) }}
</td>
@endforeach
</tr>
@endif
@endif
</tbody>
</table>