Bill Reports
Bill Reports is the accounting-style view of your billing data — nine tabs covering sales/purchase summaries, a daily day book, a full transaction ledger, and full financial statements (P&L, Cash Flow, Trial Balance, Balance Sheet).
Overview
Bill Reports groups nine report tabs behind one tab bar: Sale, Purchase, Day Book, All Transactions, Profit & Loss, Bill Wise, Cash Flow, Trial Balance and Balance Sheet.
The first few tabs (Sale, Purchase, Day Book, All Transactions, Bill Wise) are transaction-level views with filters and export. The later tabs (Profit & Loss, Cash Flow, Trial Balance, Balance Sheet) are proper accounting statements built from the same underlying sales, purchase and expense data.
Trial Balance and Balance Sheet both show a "Balanced ✓" indicator when debits equal credits (or assets equal liabilities + equity) for the period/date you selected, so you can sanity-check your books at a glance.
Before You Start
- Requires a role with Reports permission and the store on the Advanced plan tier or above (reports feature).
- Export buttons on each tab only appear for roles with Export permission.
- Cash Flow, Trial Balance and Balance Sheet are computed from recorded sales, purchases and expenses — the app does not track separate Investing or Financing activities, so those sections show "Not tracked".
Step-by-Step Guide
1 Review Sale and Purchase summaries
- Open the Sale tab, pick a date range (or Daily/Weekly/Monthly grouping) and read Total Revenue, Avg Order Value, Total Discount and Total Tax (GST) cards, the Revenue Trend chart, Payment Method Breakdown and Top Customers table.
- Open the Purchase tab for the mirror view on the buying side: Total Orders, Total Spend, Total Tax, Discount, Received and Pending counts, a Purchase Trend chart, Supplier-wise Spend and Orders by Status.
2 Use the Day Book and All Transactions ledger
- Open Day Book and pick one date (or use the Today/Yesterday quick buttons); it lists every entry for that single day — sales, sale returns, expenses and purchases — colour-coded by type, with Total In, Total Out, Net Cash and Expenses summary cards and a Debit/Credit total row.
- Open All Transactions for a date-range version that mixes Sale, Sale Return, Purchase and Expense entries; use the ALL/Sale/Sale Return/Purchase/Expense chip filters to narrow the list, and read the Total Credit (In), Total Debit (Out) and Net cards.
3 Read the accounting statements
- Open Profit & Loss to see an income-statement waterfall: Sales Revenue → Less Discount → Net Revenue → Less COGS → Gross Profit → Less Expenses → Operating Profit → Net Profit/Loss, plus an Expense Breakdown table by category.
- Open Trial Balance; accounts are grouped under Assets, Revenue, Liabilities and Expenses with Debit/Credit columns, and a "Balanced ✓" or difference amount is shown at the top.
- Open Balance Sheet, pick an "as of" date (Today / Month End / Last Year End quick buttons), and review Assets (Cash, Accounts Receivable, Inventory) against Liabilities (Accounts Payable, Unpaid Expenses) and Equity, with a balance check at the bottom.
4 Check Bill Wise detail and Cash Flow
- Open Bill Wise, optionally filter by status (Completed/Pending/Credit/Refunded/Cancelled) with the dropdown, and read Total Bills, Total Amount, Amount Paid, Balance Due, Discount Given and Tax Collected cards above the full bill table.
- Open Cash Flow to see Operating Activities split into Cash Inflows (by payment method plus credit received) and Cash Outflows (by expense category plus inventory purchases), ending in a Net Cash Flow statement; Investing and Financing sections are labelled "Not tracked" since the app does not record those separately.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Sale tab | Revenue/discount/tax summary with trend chart, payment breakdown and top customers, filtered by date range and Daily/Weekly/Monthly grouping. |
Purchase tab | Spend/tax/discount summary with purchase trend chart, supplier-wise spend and orders-by-status breakdown. |
Day Book tab | Single-date ledger of every sale, sale return, expense and purchase entry with a debit/credit total row; has Today/Yesterday quick-date buttons. |
All Transactions tab | Date-range ledger of the same entry types with ALL/Sale/Sale Return/Purchase/Expense filter chips. |
Profit & Loss tab | Income statement from Sales Revenue down to Net Profit/Loss, plus an expense-by-category breakdown table. |
Bill Wise tab | Full bill list with a payment-status filter dropdown and Total/Paid/Balance/Discount/Tax summary cards. |
Cash Flow tab | Operating cash inflows (by payment method, credit received) vs outflows (by expense category, inventory purchases), ending in a net cash flow statement. |
Trial Balance tab | Accounts grouped by Assets/Revenue/Liabilities/Expenses with Debit/Credit columns and a balanced/difference indicator. |
Balance Sheet tab | Assets vs Liabilities + Equity as of a chosen date, with Today/Month End/Last Year End quick buttons and a balance check. |
Date range / single-date pickers | Each tab has its own date controls — most use a From/To range, Day Book and Balance Sheet use a single date. |
Export button | Downloads the current tab's data (trend table, ledger entries, P&L line items, trial balance accounts, etc.) as a spreadsheet where Export permission is granted. |
Tips & Best Practices
- Watch for the "Balanced ✓" badge on Trial Balance and Balance Sheet — if it shows a difference amount instead, something in your bookkeeping needs investigation before you trust the numbers.
- Use Day Book at the end of every shift and All Transactions at the end of every week — Day Book is the fast single-day check, All Transactions is the wider audit trail.
- Cash Flow only tracks Operating Activities from recorded sales/purchases/expenses — do not expect Investing or Financing rows to populate.
Troubleshooting & FAQ
Trial Balance or Balance Sheet is not balanced.
Day Book shows nothing for today.
Cash Flow's Investing and Financing Activities sections just say "Not tracked".
Bill Wise Balance Due column shows amounts even for "Completed" bills.
🧑💻 Developer Notes
Source component(s):
frontend-app/packages/pos-react-lib/src/pages/TransactionReports.jsx
Backend endpoints used:
GET /reports/sales (params: from, to, groupBy) — Sale tabGET /reports/purchases (params: from, to) — Purchase tabGET /reports/daybook (params: date) — Day Book tabGET /reports/transactions (params: from, to) — All Transactions tabGET /reports/profit-loss-statement (params: from, to) — Profit & Loss tabGET /reports/billwise (params: from, to, status) — Bill Wise tabGET /reports/cash-flow-statement (params: from, to) — Cash Flow tabGET /reports/trialbalance (params: from, to) — Trial Balance tabGET /reports/balance-sheet-report (params: asOfDate) — Balance Sheet tab
Related tables (db-core repositories):
SaleSaleItemPurchaseOrderExpenseCustomerSupplier
Redux slices:
scope (selectCurrentScope / getScopeQueryParams)
Feature flag key: reports (requires advanced plan tier or above)
All nine tabs live in one file and share common presentational helpers (StatCard, SectionCard, DateBar, statusBadge). Each tab component owns its own data fetch and AbortController, so switching tabs cancels any pending request from the previous tab rather than letting it resolve into a stale view.