Cash Flow Statement (Indirect Method)
Built from TB: PAT + non-cash add-backs ± working-capital changes. Reconciles to opening + closing bank balance.
March 2025
Consultant view — includes per-ledger inflows/outflows, voucher counts, skipped journals, per-ledger variance, and cross-checks.
The business burned ₹181,449 of cash this period — bank + petty cash shrank by this amount.
Cash Reconciliation
Opening + Net CF = Closing · the identity that proves every ₹ is accounted for
Indirect Cash Flow Statement
Full line-by-line build from PAT — including per-ledger detail for every working-capital and non-cash adjustment
Starts from PAT (from the P&L). Non-cash items are added back. WC deltas are computed from opening vs closing balances in the TB. Tax & interest paid come from the Payments Register (voucher-level).
| Profit After Tax (PAT) | −₹867,016.28 |
| +Depreciation (non-cash) | +₹4,119.28 |
| +Interest / Finance Cost (reclassified to Financing) | +₹649.00 |
| = Operating profit before WC changes | −₹862,248.00 |
|
+(Increase) / Decrease in Trade Receivables
Δ (TB opening→closing) = -55,700.00 across 1 ledger(s). Non-cash components excluded from working capital to avoid double counting (e.g. bad-debt write-offs reduce Debtors without affecting cash)
Ledgers: Sundry Debtors
|
₹55,700.00 |
|
+Increase / (Decrease) in Trade Payables
Δ (TB opening→closing) = 377,210.79 across 3 ledger(s)
Ledgers: Provisions, Sundry Creditors, Partner Reimbursement (Rahul)
|
₹377,210.79 |
|
−(Increase) / Decrease in Tax Prepayments (TDS Recv / Advance Tax)
Δ = 26,500.00 across 2 ledger(s)
Ledgers: TDS Receivable 24-25, TDS Reveivable 23-24
|
−₹26,500.00 |
|
+Increase / (Decrease) in Duties & Taxes (aggregate)
Δ = 25,200.00 across 1 ledger(s)
Ledgers: Duties & Taxes
|
₹25,200.00 |
| = Cash generated from operations | −₹430,637.21 |
| Net Cash from Operating Activities | −₹430,637.21 |
| Net Cash from Investing Activities | ₹0.00 |
|
+Capital introduced / PAT share — Prateek Agrawal
Cr movement − Dr movement = 107,996.18
Ledgers: Prateek Agrawal
|
₹107,996.18 |
|
−Profit & Loss A/c (current-year PAT sits here until appropriated)
Cr movement − Dr movement = -57,277.34
Ledgers: Profit & Loss A/c
|
−₹57,277.34 |
|
+Capital introduced / PAT share — Rahul Nathani
Cr movement − Dr movement = 149,312.54
Ledgers: Rahul Nathani
|
₹149,312.54 |
|
+Capital introduced / PAT share — Sakshi Nathani Partner A/c
Cr movement − Dr movement = 49,805.83
Ledgers: Sakshi Nathani Partner A/c
|
₹49,805.83 |
|
+(No PAT adjustment — profit not yet appropriated)
PAT of ₹-867,016.28 is NOT reflected in any equity ledger Δ (P&L A/c / Reserves Δ ≈ 0 and partner capital net Δ is pure drawings). ΔEquity already equals −Drawings, so no PAT subtraction needed. If your firm DOES appropriate profit at year-end, post a journal: Dr P&L A/c, Cr Partner Capital — then re-run this report.
|
₹0.00 |
| −− Interest on Borrowings paid | −₹649.00 |
| Net Cash from Financing Activities | ₹249,188.21 |
| Net Increase / (Decrease) in Cash | −₹181,449.00 |
Direct ↔ Indirect reconciliation
Section-by-section — voucher-sourced Direct vs TB-Δ Indirect. Large variance ⇒ specific mapping/tagging gap
| Section | Direct (voucher) | Indirect (TB Δ) | Variance | Likely cause if variance ≠ 0 |
|---|---|---|---|---|
| Operating net | -430,637.21 | -430,637.21 | 0.00 | — reconciles cleanly |
| Investing net | 0.00 | 0.00 | -0.00 | — reconciles cleanly |
| Financing net | 249,188.21 | 249,188.21 | -0.00 | — reconciles cleanly |
| Net Cash Flow (all sections) | -181,449.00 | -181,449.00 | 0.00 | |
| TB Bank/Cash period movement (ground truth) | -181,449.00 | |||
Financing drill-down
| Partner / Capital outflow (Direct — from payment vouchers) | 120,089.13 |
| Partner / Capital inflow (Direct — contributions) | 369,277.34 |
| Direct net (Capital contributions − Drawings) | 249,188.21 |
| Loan taken (Direct) | 0.00 |
| Loan repaid (Direct) | 0.00 |
| Direct net (Borrowings) | 0.00 |
Operating reconciliation — line-by-line variance: -0 (Indirect too low)
(Indirect build vs Direct voucher breakdown) If Indirect Operating ≠ Direct Operating, the gap lives in exactly one (or two) of the lines below.
| Indirect Operating build | Amount |
|---|---|
| Profit After Tax (PAT) | -867,016.28 |
| + Depreciation (non-cash) | 4,119.28 |
| + Interest / Finance Cost (reclassified to Financing) | 649.00 |
| = Operating profit before WC changes | -862,248.00 |
|
(Increase) / Decrease in Trade Receivables
Δ (TB opening→closing) = -55,700.00 across 1 ledger(s). Non-cash components excluded from working capital to avoid double counting (e.g. bad-debt write-offs reduce Debtors without affecting cash)
Ledgers: Sundry Debtors
|
55,700.00 |
|
Increase / (Decrease) in Trade Payables
Δ (TB opening→closing) = 377,210.79 across 3 ledger(s)
Ledgers: Provisions, Sundry Creditors, Partner Reimbursement (Rahul)
|
377,210.79 |
|
(Increase) / Decrease in Tax Prepayments (TDS Recv / Advance Tax)
Δ = 26,500.00 across 2 ledger(s)
Ledgers: TDS Receivable 24-25, TDS Reveivable 23-24
|
-26,500.00 |
|
Increase / (Decrease) in Duties & Taxes (aggregate)
Δ = 25,200.00 across 1 ledger(s)
Ledgers: Duties & Taxes
|
25,200.00 |
| = Cash generated from operations | -430,637.21 |
| Net Cash from Operating Activities | -430,637.21 |
| Direct Operating (from vouchers) | Amount |
|---|---|
| Inflows | |
|
Trade Receivables
2 ledger(s): ECOGLOBE PACKAGING PRIVATE LIMITED, GALLEON SHIPPING LTD
|
194,400.00 |
|
Statutory & Tax
1 ledger(s): Income Tax Expense
|
12,252.00 |
| Outflows | |
|
Employee Cost
2 ledger(s): Salary To Partner, Staff Welfare Expenses
|
−379,513.44 |
|
Operating Expense
2 ledger(s): Dhwani Kunal Shah, Expenses Payable
|
−110,950.00 |
|
Office & Admin
4 ledger(s): Office Expenses, Printing and Stationary, Telephone Expenses, Training Expenses
|
−81,667.96 |
|
Travel & Field
2 ledger(s): Business Meeting Expenses, Travelling Expense
|
−58,657.81 |
|
TDS Payable
1 ledger(s): TDS Payable
|
−6,500.00 |
| Direct Operating Net | -430,637.21 |
How to use this: scan for the component on the
Indirect side whose sign/magnitude doesn't match a corresponding
category on the Direct side. Common suspects:
(a) a "Provisions / Bad Debts / Write-offs" add-back that's
larger than expected — means an expense got tagged non-cash
that actually hit the bank;
(b) a WC line whose Δ is big but the matching Direct category is
small (mis-tagged wc_component);
(c) "Income Tax paid" line smaller than the Direct "Tax Paid"
category — means some tax payments used ledger names the
Indirect regex doesn't catch (e.g. "TCS", "Professional Tax").
Per-ledger Operating variance 23 ledgers · every rupee traced
Sum of the Δ column equals the Operating variance between methods. Rows with Δ > 0 = Indirect over-counts; Δ < 0 = Indirect under-counts. Sort: biggest absolute variance first.
| Ledger | Nature | Category | Indirect Op | Direct Op | Δ (Ind − Dir) | Indirect classification rule applied |
|---|---|---|---|---|---|---|
| Provisions | liability | Provisions | 387,550.00 | 0.00 | 387,550.00 | liability Payable — +(Cr−Dr) = +(440,000.00−52,450.00) |
| Professional Expense | expense | Professional Fees | -305,000.00 | 0.00 | -305,000.00 | expense (−(Dr−Cr) = −(305,000.00−0.00)) |
| GALLEON SHIPPING LTD | — | — | 0.00 | 140,400.00 | -140,400.00 | (ledger seen only in Direct) |
| Professional Fees | income | Revenue | 140,000.00 | 0.00 | 140,000.00 | income (+Cr−Dr = 140,000.00−0.00) |
| Professional Services | expense | Direct Cost | -140,000.00 | 0.00 | -140,000.00 | expense (−(Dr−Cr) = −(140,000.00−0.00)) |
| Staff Salary | expense | Employee Cost | -60,000.00 | 0.00 | -60,000.00 | expense (−(Dr−Cr) = −(60,000.00−0.00)) |
| Dhwani Kunal Shah | — | — | 0.00 | -58,500.00 | 58,500.00 | (ledger seen only in Direct) |
| Sundry Debtors | asset | Trade Receivables | 55,700.00 | 0.00 | 55,700.00 | asset Receivable — −(Dr−Cr) = −(165,200.00−220,900.00) |
| ECOGLOBE PACKAGING PRIVATE LIMITED | — | — | 0.00 | 54,000.00 | -54,000.00 | (ledger seen only in Direct) |
| Expenses Payable | — | — | 0.00 | -52,450.00 | 52,450.00 | (ledger seen only in Direct) |
| TDS Receivable 24-25 | asset | TDS Receivable | -26,500.00 | 0.00 | -26,500.00 | asset nan — −(Dr−Cr) = −(26,500.00−0.00) |
| Duties & Taxes | liability | Duties & Taxes | 25,200.00 | 0.00 | 25,200.00 | liability nan — +(Cr−Dr) = +(31,700.00−6,500.00) |
| Income Tax Expense | expense | Statutory & Tax | 0.00 | 12,252.00 | -12,252.00 | expense Tax (below PBT line, no Op impact) |
| Partner Reimbursement (Rahul) | liability | Partner Reimbursement | -10,339.21 | 0.00 | -10,339.21 | liability Payable — +(Cr−Dr) = +(49,750.00−60,089.21) |
| TDS Payable | — | — | 0.00 | -6,500.00 | 6,500.00 | (ledger seen only in Direct) |
| Travelling Expense | expense | Travel & Field | -48,200.00 | -51,410.87 | 3,210.87 | expense (−(Dr−Cr) = −(48,200.00−0.00)) |
| Staff Welfare Expenses | expense | Employee Cost | -64,500.00 | -67,513.44 | 3,013.44 | expense (−(Dr−Cr) = −(64,500.00−0.00)) |
| Office Expenses | expense | Office & Admin | -59,500.00 | -61,474.32 | 1,974.32 | expense (−(Dr−Cr) = −(59,500.00−0.00)) |
| Business Meeting Expenses | expense | Travel & Field | -6,000.00 | -7,246.94 | 1,246.94 | expense (−(Dr−Cr) = −(6,000.00−0.00)) |
| Telephone Expenses | expense | Office & Admin | -2,500.00 | -3,019.56 | 519.56 | expense (−(Dr−Cr) = −(2,500.00−0.00)) |
| Training Expenses | expense | Office & Admin | -1,800.00 | -2,174.08 | 374.08 | expense (−(Dr−Cr) = −(1,800.00−0.00)) |
| Salary To Partner | expense | Employee Cost | -312,000.00 | -312,000.00 | 0.00 | expense (−(Dr−Cr) = −(312,000.00−0.00)) |
| Printing and Stationary | expense | Office & Admin | -15,000.00 | -15,000.00 | 0.00 | expense (−(Dr−Cr) = −(15,000.00−0.00)) |
| Totals | -442,889.21 | -430,637.21 | -12,252.00 | |||
| Engine's Indirect Op (from `indirect_operating_net`) | -430,637.21 | -430,637.21 | -0.00 | Must match the Totals row above (within paisa of rounding). Any mismatch ⇒ attribution rule bug. | ||
How to read this: each ledger contributes a specific amount to Indirect Operating (per accrual rules: income ⇒ +Cr−Dr, expense ⇒ −(Dr−Cr), asset WC ⇒ −(Dr−Cr), liability WC ⇒ +(Cr−Dr)). Direct attributes cash flow per actual voucher processing. Where the two diverge by a non-trivial amount, it's a specific mapping / classification / treatment issue on that ledger — not "rounding". Click a row's ledger name in a future version to see every voucher that touched it.
Equity ledgers pulled into Indirect engine 4 ledger(s) · debug Financing variance
Everything here contributes to raw_eq_delta; PAT is subtracted at end. If your P&L A/c or Reserves ledger is missing from this list, that's why Financing variance = PAT — my mask didn't catch it.
| Ledger | Nature tag | Category | Δ (Cr − Dr) | Included because |
|---|---|---|---|---|
| Prateek Agrawal | equity | Partner's Capital | 107,996.18 | nature=equity |
| Rahul Nathani | equity | Partner's Capital | 149,312.54 | nature=equity |
| Sakshi Nathani Partner A/c | equity | Partner's Capital | 49,805.83 | nature=equity |
| Profit & Loss A/c | equity | Retained Earnings | -57,277.34 | nature=equity + name matches P&L/Reserves pattern + category='Retained Earnings' matches |
| raw_eq_delta (sum of above) | 249,837.21 | |||
If Direct's partner-drawings figure ≠ Indirect's equity Δ (after PAT
adjustment), that's a mapping/tagging problem. The Direct figure
comes from actual Dr <Partner> / Cr Bank voucher lines —
this is ground truth. If Indirect says something different,
investigate the partner-ledger TB classification or PAT value.