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 /finance → Reports 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.tsx — reportView === 'day-book'. |
| Trial Balance | trial-balance |
Finance.tsx — reportView === '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/toareYYYY-MM-DD.asOfis 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 && !xxLoadingguards in the buttononClickhandlers (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.