Direct answer

You fronted the money for their project. The bill for that is theirs.

Stock, fonts, travel, a tool subscription the project needed, printing, a courier: small project costs have a way of landing on the freelancer's card first, on the comfortable assumption that reimbursement is routine. Then the project ends and the client treats those costs as your overhead, or claims they never approved them, or simply goes quiet. Some of those claims are sometimes fair. Here is how to sort what was actually agreed, present the expenses as one checkable packet, and never front a cost again without a rule the client accepted first.

See the instrument first: the live demo runs one real call and hands you its verifiable receipt, no signup.

Updated October 26, 2026. The two delivery records quoted below are real and public, with their client decision states read back from the live service on publication day.

Step 1. Find what was agreed about expenses before you argue about amounts

The reimbursement question was answered, or left unanswered, long before the refusal. Look for the expense words wherever they live: the proposal line about costs billed at cost, the message where you asked before buying and got a yes, the budget cap the client set, the past project where the same client reimbursed the same kind of cost without blinking. Sort every expense into three piles by that evidence: agreed in advance, never discussed, and agreed with a limit that the purchase stayed inside or went past. Your strength is different in each pile, and mixing them into one indignant total is how a strong claim for most of the money gets argued down to nothing over the weakest item in it.

Step 2. Build one expense packet: every cost tied to the stage it served

For each expense, the packet carries four things: the seller's receipt for the purchase, the date, the amount, and the project stage or deliverable the cost served. That last link is the one people skip, and it is the one that answers the client's real objection, which is rarely the money itself. It is the suspicion that the cost was general overhead, or served another client, or bought something that outlives their project and now belongs to your business. A cost tied to a named stage, bought during that stage, in the size that stage needed, reads as their project's cost. A bare list of purchases reads as your shopping. Keep seller receipts separate in your mind from the work record: the seller's receipt proves you paid for the item, the project record proves why the project needed it.

Step 3. Concede the weak pile first, out loud

If some costs were never discussed and a fair reader could call them your overhead, say so and take them off the claim before the client finds them. It feels expensive and it is the cheapest credibility you will ever buy, because the agreed pile now arrives with a presenter who has already been honest against their own interest once. The record format is AER-1, published as an IETF Internet-Draft (draft-zambo-aer1-26), and each step carries a verifiable receipt: a receipt proves the saved result was not changed since it was saved. The two public records below show why stage states matter to this conversation:

Accepted: the decision is on the record

Pending: checked, and still waiting on a decision

An accepted record, 4 of 4 steps checked, decided_by client, release_hint ok_to_release, is a stage the client has already agreed was done, so an expense tied to that stage inherits its decided state. A pending record, 5 of 5 steps checked and release_hint hold, is work still waiting on a decision, and expenses tied to undecided work are harder to settle until the work itself is decided. Sequence your claim accordingly: expenses attached to accepted stages first, the rest behind the decision they depend on.

Step 4. Invoice the expenses as their own dated document, packet attached

Do not bury expenses inside a final invoice where they can be haggled line by line against the fee. Send them as their own invoice or a clearly separated section: the agreement line quoted, each cost with its date and stage, the packet attached, and a payment date. Ask for any objection to name the specific cost it disputes. A general refusal against an itemized packet is a weak position for a client to hold in front of their own accounts department, which is often the real audience: the person refusing you may simply be someone who cannot process an undocumented claim, and your packet is the document they were missing.

Step 5. If the refusal holds, use the leverage you actually have, calmly

Your honest leverage, in order: further work pauses until project costs are settled, final files or the next stage wait on the same settlement if your agreement supports that order, and the claim itself is documented well enough to take to whatever formal route fits its size where you work, which for most expense amounts is a small, paperwork-driven process where an itemized packet is exactly what wins. What not to do: do not threaten to misuse or withhold things the client has already paid for, and do not inflate the packet in retaliation. A clean packet with a calm sender is the strongest version of you in every one of those rooms.

Step 6. Never front a cost again without the expense rule in writing

Four lines in the next agreement end this problem: which kinds of costs the client reimburses, the amount above which you ask before buying, how costs are documented and invoiced, and when they are paid. Under the limit, you buy and log without friction. Above it, the client approves the specific cost before your card comes out, and that approval sits on the project record next to the stage it serves. For genuinely large costs, the cleanest rule of all: the client pays the seller directly. Your card is not the project's bank, and a written rule is how you stop volunteering it as one.

What a record does not settle

A verifiable receipt proves the saved result was not changed since it was saved; it does not prove a client agreed to reimburse a cost, does not turn a seller's receipt into a project expense, and cannot move money back to you. The advance agreement, the per-cost link to a project stage, and the itemized packet are what the claim stands on. This page is general information, not legal advice.

Frequently asked questions

My client will not reimburse the expenses I paid for on their project. What do I do?

Work it as an evidence problem, not a fairness argument. First find what was agreed about expenses: the proposal line, the message where you asked and got a yes, the cap they set. Sort the costs into agreed in advance, never discussed, and over a limit, and concede the genuinely weak items yourself before the client finds them. Then build one packet: for each remaining cost, the seller's receipt, the date, the amount, and the project stage it served, and invoice the expenses as their own dated document with the packet attached and a request that any objection name the specific cost. Expenses tied to stages the client already accepted are the strongest and go first. If the refusal still holds, pause further work and keep the packet intact: an itemized, stage-linked claim is exactly what a formal small-claims route runs on where that route exists.

The client says they never approved these expenses. Are they right?

For some of them, they might be, and sorting honestly is your strength. Costs the client approved in a message, costs inside a written expense clause, and costs of a kind the same client reimbursed on a previous project stand on agreement. Costs you chose alone, that a fair reader could call your general overhead, or that bought an asset your business keeps using after their project, are weak, and claiming them loudly damages the strong items beside them. Present the piles separately, defend the agreed pile completely, and let the weak pile go if it buys settlement of the rest. Next project, the four-line expense rule and a pre-purchase yes above a set amount make the question disappear.

Should expenses go on the same invoice as my fee?

Send them as their own document, or as a clearly separated section with its own total and its own due date. Buried inside the fee invoice, expenses become haggling material, a line the client can trim to feel they negotiated, and a reason to delay the whole invoice including your fee. Standing alone with the packet attached, the expense claim is a simple factual question: were these the project's costs, agreed and documented? Keep the fee and the expenses on separate tracks so a dispute about one never holds the other hostage, and so their accounts department can process the documented one without waiting for the argument to end.

How much should I front for a client before it becomes a real risk?

Treat your card like a loan, because it is one. Small, agreed, same-month costs are routine. The risk starts when the amount would hurt if it never came back, when the purchase happens before any stage has been accepted, or when the cost buys something whose value the client controls, like event materials for a date they can cancel. Above your comfort line, the order flips: the client approves the specific cost in writing first, or pays the seller directly. If a client is offended by that for a large purchase, notice what they are asking: an unsecured loan from the smallest business in the arrangement. Declining that politely is not distrust, it is bookkeeping.

How do I keep expenses attached to the work so this never argues again?

Log each cost against the stage it served, on the same record the client uses to check and accept the work, with the seller's receipt kept beside it. When the work runs through Zambo, every step carries a verifiable receipt under AER-1, published as IETF Internet-Draft draft-zambo-aer1-26, so the stage states, accepted or pending, are already dated facts when the expense claim is assembled. New users get 20 free calls per day, then they upgrade when the job needs more. For $0.99, run the next project that way and let the expense packet build itself as the costs land: get the Day Pass. A Day Pass covers 24 hours, no subscription. Ongoing use is the Zambo Pass at $29 a month or $290 a year, and $19 a month for $ZAMBO holders, which adds private handover links, your branding, and the approval record as PDF and JSON files.

Related