@extends('layouts.app') @section('title', 'Financial & Operational Reporting Suite - Pavitram Agroz') @section('content')

Enterprise Reporting & Financial Analytics

Cross-store retail sales velocity, tax liabilities, cashier settlements, and inventory balance.

Export Product Sales CSV Export Store Breakdown CSV
@if(auth()->user()->isSuperAdmin())
@endif
Net Sales Revenue
₹{{ number_format($metrics['net_revenue'], 2) }}
Gross: ₹{{ number_format($metrics['gross_revenue'], 2) }}
Units Sold / Volume
{{ number_format($metrics['total_units_sold']) }}
{{ $metrics['total_invoices'] }} bills | AOV: ₹{{ number_format($metrics['avg_order_value'], 2) }}
Total GST Collected
₹{{ number_format($metrics['total_tax'], 2) }}
Taxable Base: ₹{{ number_format($metrics['taxable_amount'], 2) }}
Customer Refunds
₹{{ number_format($metrics['total_refunds'], 2) }}
{{ $metrics['total_returns_count'] }} returns processed
@if(auth()->user()->isSuperAdmin())
@forelse($storeSales as $stSale) @empty @endforelse
Store Name Code Invoices Units Sold Taxable Amount (₹) GST Collected (₹) Total Revenue (₹)
{{ $stSale->store_name }} {{ $stSale->store_code }} {{ number_format($stSale->invoice_count) }} {{ number_format($stSale->units_sold) }} ₹{{ number_format($stSale->taxable_amount, 2) }} ₹{{ number_format($stSale->total_tax, 2) }} ₹{{ number_format($stSale->grand_total, 2) }}
No store sales recorded in selected timeframe.
@endif
@forelse($productSales as $pSale) @empty @endforelse
Product Name SKU / Code Units Sold Base Revenue (₹) GST Collected (₹) Gross Revenue (₹)
{{ $pSale->product_name }} {{ $pSale->product_sku }} {{ $pSale->product_code }} {{ number_format($pSale->units_sold) }} ₹{{ number_format($pSale->base_revenue, 2) }} ₹{{ number_format($pSale->tax_collected, 2) }} ₹{{ number_format($pSale->total_revenue, 2) }}
No product units sold in selected timeframe.
@forelse($batchSales as $bSale) @empty @endforelse
Batch Number Product Expiry Date Units Sold Total Revenue (₹)
{{ $bSale->batch_number }} {{ $bSale->product_name }} {{ \Carbon\Carbon::parse($bSale->expiry_date)->format('d M Y') }} {{ number_format($bSale->units_sold) }} ₹{{ number_format($bSale->revenue, 2) }}
No batch sales recorded.
@forelse($cashierStats as $cStat) @empty @endforelse
Cashier Name Store Bills Handled Items Sold Total Collected (₹)
{{ $cStat->cashier_name }}
{{ $cStat->cashier_email }}
{{ $cStat->store_name }} {{ number_format($cStat->bills_processed) }} {{ number_format($cStat->items_sold) }} ₹{{ number_format($cStat->total_collected, 2) }}
No cashier activity recorded.
@forelse($paymentBreakdown as $pmt) @empty @endforelse
Payment Method Transactions Count Total Amount (₹)
{{ $pmt->payment_method }} {{ number_format($pmt->transaction_count) }} ₹{{ number_format($pmt->total_amount, 2) }}
No payment settlements found.
@forelse($expiringProducts as $expUnit) @php $daysRemaining = round(now()->diffInDays($expUnit->expiry_date, false)); @endphp @empty @endforelse
Serial # / QR Product Batch Location Expiry Date Days Remaining
{{ $expUnit->serial_number }} {{ $expUnit->product->name }} {{ $expUnit->batch->batch_number }} {{ $expUnit->current_location_display }} {{ $expUnit->expiry_date->format('d M Y') }} @if($daysRemaining <= 0) EXPIRED @elseif($daysRemaining <= 30) {{ $daysRemaining }} days @else {{ $daysRemaining }} days @endif
No units expiring within the next 90 days.
@forelse($damagedProducts as $dmgUnit) @empty @endforelse
Serial # Product Batch Status Current Holding Location Last Updated
{{ $dmgUnit->serial_number }} {{ $dmgUnit->product->name }} {{ $dmgUnit->batch->batch_number }} {{ $dmgUnit->status }} {{ $dmgUnit->current_location_display }} {{ $dmgUnit->updated_at->format('d M Y H:i') }}
No damaged or quarantined units recorded.
@endsection