Xero reports but no cash is one of the most common SME complaints.
Your P&L looks “fine”. The bank looks “ok”. Then a crazy week hits, and suddenly everything feels tight.
Xero reports but no cash: what it actually means
It means your business is profitable on paper, but cash is being squeezed by timing gaps and default behaviour.
Typical squeeze points
- money stuck in unpaid invoices (AR)
- stock or project costs paid upfront (before you collect)
- GST and tax timing (cash out before you “feel” it)
- supplier bills piling up (AP pressure)
- spending has no weekly boundary
Reason 1: cash timing is different from profit
Profit is earned on the invoice. Cash is earned when the money actually lands.
If your collections slow down by even 1–2 weeks, “Xero reports but no cash” shows up fast, even if sales look healthy.
Reason 2: spending has no weekly limit
Most owners make spending decisions daily, under pressure, in the middle of a busy week.
Without this, the “extras” quietly eat the buffer that was supposed to carry you to month-end.
Reason 3: profit is treated as leftover
When profit has no protected place to go, it gets used. Not maliciously. Just by default.
That’s why “Xero reports but no cash” often happens in businesses that are busy, growing, and always “reinvesting”.
What to do this week (10-minute reset)
This is not “more admin”. This is one short routine that reduces decision fatigue.
Minute 1–3: runway check
- what must be paid in the next 7–14 days?
- do you have enough cash for essentials?
Minute 4–6: collections push
- top 5 overdue invoices: who owes you money?
- one action: call, message, resend, or set payment link today
Minute 7–9: spend cap
- set a weekly cap for non-essential spending
- freeze extras if runway feels tight
Minute 10: protect profit (yes/no)
Did you move any profit to a protected place? If not, start small and make it consistent.
How Xero helps (only when you use it weekly)
- bank feeds + reconciliation keep the file current
- AR/AP visibility shows timing risk early
- consistent coding makes your “signals” reliable