Skip to content

Search documentation

Search documentation pages, sections, and topics.

On this page

Cash flow statement

The cash flow statement explains why your bank balance and your profit disagree. It reconciles the cash you held at the start of a period to the cash you held at the end, and shows what every movement in between was for.

If you hold money on behalf of other people - a marketplace collecting for sellers, a payroll product holding a payrun, a savings app holding deposits - the two numbers never agree, and the gap is not an error. Collect $1,000 on a booking and keep $150 of it: your profit and loss says you earned $150, your bank says $1,000 arrived. Both are right. This report is where the other $850 shows up.

What it answers

The statement runs top to bottom as one document: opening cash, then every movement grouped into three activities, then the net change, then closing cash. The last line is the balance you can actually spend.

  • Operating - money moving because the business is doing what it does. Collecting from customers, paying suppliers, settling what you owe onward.
  • Investing - money spent on or returned from things you own for the long term, like equipment.
  • Financing - money from or to whoever funds you. An investment round, a loan drawn down, a loan repaid.

Ledfra uses the direct method: it lists the cash movements that actually happened. The alternative, the indirect method, starts from net profit and works backwards through adjustments until it arrives at cash. Both are permitted, and the indirect method is more common in published accounts because most systems cannot see individual movements. Ledfra can see every one, so it shows you them.

Reading the report

A marketplace month, as the statement renders it. The platform collects from buyers, holds the sellers’ share until payout, and keeps a commission.

AccountAmount
Opening cash$412,900
Operating activities
Seller payables$150,000
Commission income$186,000
Payment processing fees−$38,600
Salaries−$120,000
Marketing−$24,000
Net cash from operating activities$153,400
Investing activities
Equipment−$18,000
Net cash used in investing activities−$18,000
Financing activities
Term loan−$25,000
Net cash used in financing activities−$25,000
Net change in cash$110,400
Closing cash$523,300

The bank balance grew by $110,400 this month. The profit and loss for the same month reports a profit of $3,400: commission of $186,000 less $38,600 of processing fees, $120,000 of salaries and $24,000 of marketing. Nothing else on this statement is income or expense.

Those two numbers are thirty times apart, and both are correct. The statement above accounts for every dollar between them:

  • +$150,000 of seller money. The platform collected $1,240,000 for sellers and paid out $1,090,000, so it is sitting on $150,000 more of other people’s money than it was a month ago. That is cash in the bank and a liability on the balance sheet, never revenue. It is also the single most common way a platform mistakes itself for profitable.
  • −$18,000 on equipment. Cash left the building, but buying an asset is not an expense, so the P&L never sees it.
  • −$25,000 repaying a loan. Repaying principal reduces what you owe. It is not a cost of doing business, so it does not touch profit either.

$3,400 of profit, plus $150,000 held for sellers, less $18,000 of equipment and $25,000 of loan repayment, is $110,400. That is the whole reconciliation, and it is the question this report exists to answer: we earned this much and the bank moved by that much, so where is the difference?

The seller line is the one to watch
A platform holding customer money can look healthy for months on cash alone while earning almost nothing, because the float grows faster than the commission. Read the seller payables line and the commission line as two different facts. Only one of them is yours.

Cash is attributed to what it moved against

Every line on this report names a counterparty account, never a bank account. That is deliberate: your bank is where the money is, and the question the report answers is what it was for.

How cash is attributed on the statementA $1,000 card payment into the Stripe balance splits on the cash flow statement into $850 against the seller payable and $150 against commission income.CASH INassets:stripe+$1,000.00attributed toliabilities:payables-sellers$850.00income:commission$150.00
One payment, two lines. The statement names what the cash was for, not where it landed - your bank already told you that.

One $1,000 booking, paid by card, splits across two lines. $850 lands against the payable you owe the seller and $150 against your commission income, because that is what the money was collected for. A report that simply said “Stripe +$1,000” would tell you nothing you did not already know from your bank.

When a movement touches several accounts at once, the cash is split across them in proportion to their amounts, to the cent. Nothing is rounded away and nothing is invented.

Tell Ledfra which accounts hold cash

Ledfra cannot guess this. An account called “Stripe” holds real money, and one called “Receivables” holds a promise of money, and only you know which is which in your chart of accounts.

Open an account in the chart of accounts editor and turn on Holds cash. It is available on asset accounts only, because cash is money you have. Mark your bank accounts and your payment processor balances. Do not mark receivables, and never mark an escrow or payable account - that is money you are holding for someone else, and it belongs on the other side of the report.

An empty statement usually means nothing is marked as cash
If the report shows no movement on a ledger you know is busy, the cash flag is almost always the reason. The statement sums only the accounts carrying it.

Classifying a branch of your chart

Ledfra classifies most of your chart on its own. Income and expenses are operating, equity is financing, and that is right for the great majority of accounts. You do not have to take that on trust: the chart of accounts editor shows the activity on each of the five top-level categories, and on any category you have classified yourself. Anything without a label inherits from the nearest one above it.

Two cases it cannot work out from structure alone. A loan sits under Liabilities next to your ordinary payables and looks identical, but repaying it is financing, not operating. Equipment sits under Assets next to your receivables, but buying it is investing. Both are things only you know.

Set Cash flow activity on the category, not on each account. Everything below it inherits, including accounts you add later, and a category further down can override it. Marking a “Debt” category as Financing once is enough - every loan you file under it afterwards is classified correctly the day it is created.

It reconciles, and says so

At the top of the report, two figures sit side by side: the movements added up, and the change in your cash balances. They are worked out independently - one from the movements, one from the balances at each end - so when they agree, that agreement means something.

When they disagree the report says so plainly rather than quietly showing you a number. That is the same posture as the trial balance, which proves debits equal credits rather than asking you to take it on faith.

Limitations
  • It reports history, not a forecast. This is a statement of a period that has already happened. Ledfra does not project cash forward and has no runway or planning features.
  • Direct method only. If your accountant needs the indirect presentation for a filing, they will need to prepare it from these figures.
  • It depends on the flags you set. The report is only as right as your cash accounts and category classifications. Nothing else in Ledfra depends on them, so a mistake here is invisible until you read this page.
  • It is available in the app, not the API. The public REST API covers ledgers, accounts, account balances, and transactions. There is no cash flow endpoint yet.
  • One ledger, one currency. There is no consolidation across ledgers, and a ledger holds a single currency, so the statement is single-currency too.

Where to go next

  1. Profit & loss - what you earned in the period, which this report exists to reconcile against.
  2. Balance sheet - where you stand at one instant. Its cash figure is the closing line here.
  3. Chart of accounts - how to structure the accounts this report reads, including why held money is a liability.
  4. What is Ledfra? - how the ledger underneath all of these works.