@extends('layouts.app') @section('title', 'Accountant Report') @section('content')
{{ implode(' · ', $chartFilterBits) }}
| Month | Sales | Amount |
|---|---|---|
| {{ $point['label_full'] }} | {{ $point['count'] }} | ${{ number_format($point['amount'], 2) }} |
{{ $settings->lastSentAtDisplay() }}
@elseNot sent yet
@endifPDF + CSV archives by month · delivery/open from Brevo + open pixel
| When | Month | Mode | Status | Rows | Amount | Invoices | Files |
|---|---|---|---|---|---|---|---|
| {{ $send->sentAtDisplay() }} | {{ $send->month_label }} | {{ $send->modeLabel() }} |
{{ $send->statusLabel() }}
@if($send->status === \App\Models\AccountantReportSend::STATUS_FAILED && $send->error_message)
{{ \Illuminate\Support\Str::limit($send->error_message, 80) }}
@endif
@if($send->opened_at)
@elseif($send->delivered_at)
@endif
|
{{ (int) $send->row_count }} | ${{ number_format((float) $send->total_amount, 2) }} |
{{ (int) $send->invoices_included }}/{{ (int) $send->invoices_expected }}
@if($send->hasIncompleteInvoices() && is_array($send->invoices_missing) && count($send->invoices_missing))
missing
@endif
|
@if($send->pdfAbsolutePath()) PDF @else — @endif · @if($send->csvAbsolutePath()) CSV @else — @endif |
| Date | Source | Name | Shopify order | NMI txn | Amount | City | State | Tax | Invoice / Receipt |
|---|---|---|---|---|---|---|---|---|---|
| {{ $row['occurred_at_display'] }} |
{{ $row['source_label'] }}
{{ $row['source_detail'] }}
@if(!empty($row['is_test']))
Test
@endif
|
{{ $row['customer_name'] }} | {{ !empty($row['shopify_order_ref']) ? $row['shopify_order_ref'] : '—' }} | {{ !empty($row['nmi_transaction_id']) ? $row['nmi_transaction_id'] : '—' }} |
${{ number_format($row['amount'], 2) }}
@if($row['is_partial_refund'])
Partial refund −${{ number_format($row['refunded_amount'], 2) }}
· original ${{ number_format((float) $row['amount'] + (float) $row['refunded_amount'], 2) }}
@endif
|
{{ $row['city'] }} | {{ $row['state'] }} | @if($row['has_tax']) ${{ number_format($row['tax_amount'], 2) }} @else No tax @endif | @if(!empty($row['invoice_url'])) {{ $row['invoice_label'] }} @else {{ $row['invoice_label'] }} @endif |
| @if($summary['total_count'] === 0) No reportable paid transactions for {{ $filter['label'] }}. Use Setting → Accountant Report → Run year-to-date sync, or wait for the hourly auto-sync. @elseif($onlyNoTax && $summary['no_tax_count'] === 0) No no-tax sales in {{ $filter['label'] }}. This month has {{ $summary['total_count'] }} reportable sale(s), all with tax collected. Uncheck “Only no-tax” to see them. @elseif($onlyNoTax && $hideFlNoTax && $summary['no_tax_count'] > 0 && $summary['no_tax_count'] === $summary['no_tax_florida_count'] && $summary['no_tax_test_count'] === 0) All {{ $summary['no_tax_florida_count'] }} no-tax sale(s) in {{ $filter['label'] }} are Florida no-tax (billing errors) and are hidden. Uncheck “Hide Florida no-tax” to view them — they are never emailed to the accountant. @elseif($onlyNoTax && $hideTest && $summary['no_tax_count'] > 0 && $summary['no_tax_count'] === $summary['no_tax_test_count']) {{ $summary['no_tax_test_count'] }} no-tax row(s) in {{ $filter['label'] }} are test orders ({{ $testEmail }} / {{ $testPhone }}) and are hidden. Uncheck “Hide test orders” to view them — they are never emailed to the accountant. @elseif($hideTest && $summary['test_count'] === $summary['total_count']) All {{ $summary['total_count'] }} sale(s) in {{ $filter['label'] }} are test orders and are hidden. Uncheck “Hide test orders” to view them. @else No rows match the current filters for {{ $filter['label'] }}. @if($onlyNoTax && $hideFlNoTax && ($summary['no_tax_florida_count'] ?? 0) > 0) ({{ $summary['no_tax_florida_count'] }} Florida no-tax billing error(s) are hidden.) @endif @endif | |||||||||