FlowParse
Reporting 11 August 2026 15 min read

Time and expense recovery report

The time half of this report comes out of your practice system already structured, because time was captured as it happened. The expense half is a pile of PDFs from third parties — which is why most firms report recovery on time properly and estimate the rest.

FlowParse
flowparse.io

Two halves, and one of them is harder

A recovery report sets what a firm put into client work against what it got back for it. Time on one side, expenses on the other, billed against incurred.

The two halves arrive from completely different places. Time is entered by the person doing the work, into a system built for it, usually the same week. It comes out as structured data because it went in as structured data.

Expenses arrive from third parties, at unpredictable intervals, in whatever format each of them uses — an emailed PDF, a portal download, a photograph of a till receipt, a monthly statement covering forty matters. None of it is data until somebody reads it.

So the report gets built with a precise time half and an approximate expense half, and the approximation is not random: it is biased downwards, because the costs missing from it are exactly the ones that were never captured. A firm reporting 94% expense recovery on a base that is missing a tenth of its costs is reporting a number that means nothing at all.

FlowParse
flowparse.io

What we do not do

We do not record time

There is no timer, no timesheet and no matter clock here. Time lives in your practice management system, and this page is about the other column.

We do not raise bills

What was billed comes from whatever raises your bills. We supply what was spent, which is the side that is usually incomplete.

We do not set a target

Any published benchmark for recovery is meaningless without knowing your engagement terms. The useful comparison is your own number over time.

We do not decide what should have been recovered

That is a judgement made against your engagement letter. We make sure the cost is in the report so the judgement is possible.

The question it is supposed to answer

Not “how profitable are we”, which is a different and larger question, but something much narrower: of the money we laid out on clients' behalf, how much came back?

That number is interesting in itself and far more interesting when it is split. A firm at 88% overall could be at 99% in one team and 71% in another; it could be losing everything on one supplier whose statements are posted as a total; it could be recovering almost all of it late, which is a cash problem rather than a revenue one.

None of those distinctions are visible in a headline figure, and all of them have different fixes. That is why the report is worth building properly rather than estimating — an estimate can only ever produce the headline.

It also answers a question nobody asks out loud: is our leakage a decision or an accident? Firms usually assume the first, because the alternative implies a process failure. The report is the only thing that can tell them.

Build the expense half now

Upload a period's cost documents — invoices, receipts, fee notes, supplier statements — and see them come back as rows. Free tier, no registration.

Loading quota…

Upload a document

or import from cloud
Smart Merge — drop many PDFs and combine them into one Excel (up to 5 files)

Free: 10 pages / month · Upgrade for more

Files encrypted in transit · auto-deleted after processing · GDPR compliant

The columns the report needs

ColumnComes fromWhat it makes possible
MatterYouAny per-matter or per-client view at all
Date incurredThe documentAgeing, and putting costs in the right period
Date document arrivedThe documentSeparating a slow supplier from a slow firm
SupplierThe documentFinding the account that leaks
Net / VAT / grossThe documentReporting on whichever your treatment makes correct
Recoverable flagYouTelling a waiver apart from an omission
Billed, and on which billYour billing systemThe recovery half of the ratio
Who incurred itYouTurning a firm number into something actionable

Five of the eight come off the document and can be read. Three cannot — matter, flag and billing status — and no tool should pretend otherwise, because a supplier has no idea which of your matters their invoice relates to.

The two date columns are the ones most often collapsed into one, and it is a false economy. With both, a poor recovery number can be traced to a supplier who invoices six weeks late or to a firm that sat on documents for six weeks. With one, those two look identical and get the same wrong fix.

The missing denominator

Here is the failure that makes most recovery reporting worthless, and it is entirely structural.

The report divides what was recovered by what was spent. The numerator comes from the billing system, and it is complete — every bill raised is in there, because raising a bill is what the system is for.

The denominator comes from whatever costs were captured, and it is not complete. It is missing the receipt that never got submitted, the portal invoice nobody downloaded and the forty lines inside a supplier statement that was posted as one figure.

Every one of those omissions makes the ratio look better. A firm that captures 90% of its costs and recovers all of them reports 100% recovery, and is losing a tenth of its outlay. Meanwhile a firm that captures everything and recovers 92% reports a worse number while being in a considerably better position.

So the first useful thing any firm can do with this report is not to compute it. It is to compare a period's payments against a period's documents and find out how complete the denominator actually is. Until that is known, the ratio is measuring the quality of the record-keeping rather than the quality of the billing.

FlowParse
flowparse.io

Reading a recovery rate honestly

What you seeInnocent explanationThe one worth checking
Above 100%Mark-up, or last period's costs billed nowCosts recharged twice
Suspiciously highGenuinely tight billingCosts missing from the denominator
A sudden dropOne large absorbed costA supplier account that stopped being split
Steady, slightly lowDeliberate waiversA category nobody ever flags
Fine overall, poor in one teamDifferent work, different termsOne person's costs never reaching a matter
Good rate, ageing balanceNothing wrong yetRecovery happening too late to count

The second row is the one that should make a finance lead uncomfortable rather than pleased. An unusually good recovery rate in a firm that has never checked its denominator is the expected result of poor cost capture, not of good billing.

The last row is the subtle one. Costs recovered eventually still show up as recovered; the report has no opinion about when. A firm with an excellent rate and a growing pile of six-month-old unbilled costs is heading somewhere the ratio will not show for another two quarters.

Four ways to cut it, in order of usefulness

By supplier. The most actionable cut and the least used. Leakage concentrates: it is usually one or two accounts, almost always the ones that send monthly statements covering many matters. Fixing how one document is processed can move the firm-wide number.

By person. Uncomfortable and informative. Recovery differences between fee earners are rarely about carelessness — they are usually about one person having a different understanding of what is recoverable, which is a policy gap wearing a personal disguise.

By cost type. Travel, couriers and printing behave differently from fees and searches. A firm that recovers court fees perfectly and travel not at all does not have a recovery problem; it has an unwritten policy on travel.

By matter or client. The cut everyone builds first and the least diagnostic, because it mixes everything together. Useful for the biggest relationships, noisy everywhere else.

FlowParse
flowparse.io

Written off, or simply never billed

These produce the same accounting outcome and require opposite responses, which is why separating them is the single most valuable thing the report does.

A write-off is a decision. Somebody looked at a cost and chose not to charge it — for a good client, on a fixed fee, after a mistake of the firm's own. It is a commercial lever and firms should use it.

A cost never billed is not a decision. It is a receipt that stayed in a pocket, a statement posted as a total, a late invoice on a closed matter. Nobody weighed anything.

A firm that cannot tell them apart sees one number and reaches for the only lever it can see: tighten the policy, waive less, charge more of what is chargeable. If the actual problem was capture, that response annoys clients and changes nothing, and the money keeps leaving.

The flag that separates them costs a second per cost and is described on recoverable cost flagging. Without it, this report has one number where it needs two.

Periods, and the lag nobody adjusts for

Costs and their recovery do not happen in the same month, and a report that ignores that produces noise dressed as signal.

A cost incurred in March, invoiced by the supplier in April and billed to the client in May appears as an unrecovered cost in March, an unrecovered cost in April, and a recovery in May with no matching cost. Three months, three misleading pictures, one perfectly normal sequence.

Two things make this manageable. Report on the date incurred rather than the date the document arrived, so a cost sits in the period the work happened. And look at a rolling window — a quarter, or three months trailing — rather than a single month, because a single month is mostly lag.

The exception worth watching monthly is the ageing, not the ratio. How old is the oldest unbilled cost is a question that does not care about lag and answers a different problem.

FlowParse
flowparse.io

Building it every month

1 · Read the documents

A period's invoices, receipts, fee notes and statements, up to 100 files in a pass.

2 · Split the statements

Multi-matter accounts become lines. Left as totals, they are a hole in the denominator.

3 · Allocate and flag

Matter, and recoverable / absorbed / undecided. The two things a document cannot supply.

4 · Reconcile to the bank

Payments without documents are the measure of how complete the denominator is.

5 · Join to billing

Bring in what was billed, per matter, from wherever your bills are raised.

6 · Cut it four ways

Supplier, person, cost type, matter — in that order of usefulness.

Step four is the one that makes the rest honest, and it is the one usually skipped because it is the only step that can produce bad news. The full monthly sequence, with the allocation and chasing around it, is in how to track disbursements on a matter.

FlowParse
flowparse.io

Six traps in the numbers

Mixing net and gross. Recharge net, measure gross, and the report shows a permanent shortfall that is really the VAT.

Counting a supplier statement as one cost. One line in, forty costs missing, and the ratio improves.

Using the document date as the incurred date. Slow suppliers then look like a billing problem.

Averaging across teams doing different work. A litigation team and a compliance team have no business sharing a benchmark.

Treating a partial recharge as a full one. The row needs both the amount charged by the supplier and the amount recovered.

Reporting a single month. Mostly lag, occasionally alarming, rarely meaningful.

The first and the last are the most common, and both produce a number that somebody then acts on. A report that is wrong in a stable direction is more dangerous than no report, because it survives scrutiny by being consistent.

A worked example, and what fixing the denominator does to it

An illustrative practice — the figures are made up, the shape is not. It spends around £14,000 a month on client costs and has always reported recovery from what its billing system knew about.

LineAs reportedAfter one honest month
Costs captured£12,050£14,180
— of which found inside supplier statements£0£1,640
— of which unclaimed personal spend£0£310
— of which portal invoices never downloaded£0£180
Costs billed to clients£11,570£11,570
Reported recovery rate96%82%

Nothing about the practice changed between those two columns. No client paid less, no partner waived anything, no supplier put its prices up. The only difference is that the second column counted costs the first column never knew existed.

And the number got worse. This is the part that makes recovery reporting politically awkward: doing it properly for the first time always looks like a deterioration, and somebody in the room will say the old figure was fine. It was not fine; it was flattering, which is a different thing.

What the second column also produces is a target. £2,130 of cost was found that had never reached a bill. Some of it will turn out to be legitimately absorbed, and the rest is recoverable revenue that was previously invisible — worth more every month than the reporting exercise costs to run.

FlowParse
flowparse.io

The ageing view, which matters more than the ratio

If a practice produces only one number from all of this, it should not be the recovery rate. It should be the age of the oldest unbilled cost.

The ratio is a backward-looking average that a good month can mask. The ageing is a live picture of what is currently at risk, and unlike the ratio it cannot be improved by leaving costs out — an omitted cost simply is not in the bucket, which is exactly what you want it not to be.

BucketWhat it usually meansAction
0–30 daysNormal billing cycleNothing
31–60 daysWaiting for a bill, or an undecided flagCheck the flag, not the cost
61–90 daysThe matter is quiet or the decision was deferredA named person decides this month
90+ daysIn practice, already lostBill it or write it off deliberately

The last row is the one worth being blunt about. A cost that has sat unbilled for three months is almost never billed afterwards — not because it could not be, but because nobody wants to send a client an invoice for something they have forgotten agreeing to. Writing it off on purpose at least records a decision and puts the number in front of someone.

Practices that review the 61–90 bucket monthly find it stays small. Practices that only look at the ratio find the 90+ bucket grows quietly until somebody asks what the unbilled balance is made of, and nobody can answer.

Who actually reads it

The finance lead, monthly, for the ageing and the denominator completeness rather than the headline ratio.

Partners or directors, quarterly, for the split between what was waived on purpose and what was lost — which is a management question rather than an accounting one.

Whoever owns supplier relationships, because the supplier cut is where the actionable finding usually is, and it is normally one or two accounts.

Nobody, if it is a single number on a slide. A recovery percentage with no cuts underneath it gets glanced at, not used — which is the fate of most of these reports and the reason they stop being produced.

FlowParse
flowparse.io

Where to start

Not with the ratio. Take one month, read every cost document into rows, and put the bank and card statements next to them. The gap between those two lists is the only number that tells you whether any recovery figure you have ever produced meant anything.

If the gap is small, compute the ratio and start cutting it by supplier. If the gap is large — and it usually is the first time — fix the capture before measuring anything, because measuring an incomplete denominator produces a number that flatters the firm in exactly the wrong direction.

The capture side is on client disbursement tracking, and how it fits a whole practice is on billing for professional services.

Frequently asked questions

Start with the denominator

One month of cost documents as rows, next to the bank statement. The gap is the number that decides whether your recovery rate means anything.

Keep reading