156 lines
7.7 KiB
PHP
156 lines
7.7 KiB
PHP
|
|
<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>
|