Skip to content

Finance reports catalog

Reference table for every report in the Finance → Reports tab. One-line summary, endpoint, permission, and where to find it in the UI.

All reports live under /financeReports tab (src/pages/finance/Finance.tsx:6473). The button list is gated per-report by sectional permissions (Finance.tsx:6482-6501) — a user with finance.view reaches the tab; each button only shows when the user also holds its report permission.


1. Catalog

Report What it shows Endpoint (GET) View permission Export permission
Day Book Every voucher posted on a single date, with debit/credit lines expanded. The operator's daily audit view. /finance/day-book?date=YYYY-MM-DD finance.reports.day_book.view finance.reports.day_book.export
Trial Balance All accounts with opening, debit, credit, closing balances. The classical TB. /finance/trial-balance?asOf=YYYY-MM-DD finance.reports.trial_balance.view finance.reports.trial_balance.export
Balance Sheet Assets / Liabilities / Equity grouped by parent account. As-of date. /finance/balance-sheet?asOf=YYYY-MM-DD finance.reports.balance_sheet.view finance.reports.balance_sheet.export
Profit & Loss Revenue − Expense for a date range, grouped by account. /finance/profit-loss?from=&to= finance.reports.profit_loss.view finance.reports.profit_loss.export
Cash Flow Cash movement summarised from bank/cash account activity for a date range. /finance/cash-flow?from=&to= finance.reports.profit_loss.view finance.reports.profit_loss.export
Group P&L Per-group profitability — revenue, supplier cost, margin. Drives the Groups dashboard profitability panel. /finance/group-profitability finance.reports.group_profit_loss.view finance.reports.group_profit_loss.export
Aging Report (AR) Open customer invoices bucketed by days past due. Invoice + payer views. /finance/aging finance.reports.aging.view finance.reports.aging.export
AP Aging Open supplier + agent payables bucketed by days past due. /finance/aging-payables finance.reports.aging.view finance.reports.aging.export
Aging Summary (RPC) Bucketed totals as-of a date — used by the summary cards on both AR/AP aging. /finance/aging-report?asOf=YYYY-MM-DD finance.reports.aging.view
Receivables & Payables One-shot roll-up of all customer AR and supplier/agent AP with B2B partner receivables merged in. /finance/receivables-payables finance.reports.receivables_payables.view finance.reports.receivables_payables.export
GST Summary GST totals per rate × state for a date range — quick sanity check before filing. /finance/gst-summary?from=&to= finance.reports.gst_summary.view finance.reports.gst_summary.export
GST Returns GSTR-1 / GSTR-3B JSON payload generator (download or preview). /finance/gstr-1?period=, /finance/gstr-3b?period= finance.reports.gst_summary.view finance.reports.gst_summary.export
Stock Status Inventory valuation — hotel-room-nights + ground transfer stock on hand, with cost basis. finance.reports.stock_status.view finance.reports.stock_status.export
Group Status Per-group lifecycle status (bookings, inventory, settlements) — finance lens on the group state machine. finance.reports.group_status.view finance.reports.group_status.export
Pending Refunds Outstanding cancellation refunds awaiting finance action. /finance/pending-settlements finance.reports.settlements.view finance.reports.settlements.export
Settlements (by booking) Net settlement per booking — supplier paid vs customer paid, shortfall/surplus. /finance/settlement-report finance.reports.settlements.view finance.reports.settlements.export
Settlements (by ledger) Same data re-pivoted by ledger account. /finance/settlement-ledgerwise finance.reports.settlements.view finance.reports.settlements.export
Cancellations All cancellation vouchers in a period — airline + B2B combined. /finance/cancellation-report?from=&to= finance.reports.settlements.view finance.reports.settlements.export

2. Where they render

Each report is keyed in the buttons list at Finance.tsx:6482-6499 by a short key. The matching content block lives further down the same tab.

Button label Key UI handler
Day Book day-book Finance.tsxreportView === 'day-book'.
Trial Balance trial-balance Finance.tsxreportView === 'trial-balance'.
Balance Sheet balance-sheet Same pattern.
Profit & Loss pnl Same pattern.
Cash Flow cash-flow Same pattern.
Group P&L group-pnl Calls loadGroupPnl() lazily on first open.
Aging Report aging Fetches /finance/aging; renders the shared aging table (invoice + payer view).
AP Aging ap-aging Calls loadApAging() lazily; renders the same table component with partyType.
GST Summary gst-summary Calls loadGstSummary().
GST Returns gst-returns Calls loadGstReturns(); provides GSTR-1 / GSTR-3B downloads.
Receivables & Payables receivables-payables Calls loadReceivablesPayables().
Stock Status stock-status Calls loadInventoryStatus().
Group Status group-status Calls loadGroupStatus().
Pending Refunds pending-cancellations Fetches /finance/pending-settlements.
Settlements (by booking) settlements /finance/settlement-report.
Settlements (by ledger) settlements-ledger /finance/settlement-ledgerwise.
Cancellations cancellations /finance/cancellation-report.

3. Common conventions

  • Date params: from / to are YYYY-MM-DD. asOf is the point-in-time date.
  • Currency: all reports present INR by default. Source currency is captured on each journal line (originalDebit/Credit/Currency/fxRate) and surfaces in the voucher drill-down but not in the bulk reports.
  • Approved-only: most aggregations include only approved journals. Pending + rejected journals are excluded to avoid double-counting in-flight postings.
  • Caching: several reports (Group P&L, GST Summary, GST Returns, Receivables & Payables, Stock Status, Group Status, AP Aging) load lazily on first button click — check the !xxData && !xxLoading guards in the button onClick handlers (Finance.tsx:6510-6528).

4. Print / export

Every report renders a Print button that uses printReport(...) (internal helper) to open a clean stylesheet in a new window.

Export buttons (CSV / XLSX) call the endpoint with ?format=csv|xlsx and trigger a browser download. Export gates are separate permissions (see the table in §1).

The workbook export goes through src/lib/exportFinanceWorkbook.ts for multi-sheet exports.


  • AR aging, AP aging — detail pages.
  • GST — GSTR-1 / 3B generator details.
  • Journals — voucher drill-down behaviour.
  • docs/ALHUDA_ERP_FINANCE_REPORTS.md — older spec, reviewed for historical context. The table above supersedes it.