What AI work records should I pull together for tax season?

Pull four sets: the year's job index (every billed job with its invoice and date), the delivery record behind each invoice, the complete AI cost trail (passes, subscriptions, per-call charges, with dates), and any agent spend summaries. Review the receipt and actual deliverable before accepting a handover.

Last updated: 2026-10-17

Scope: general information about organising records for tax season, not tax advice. What must be filed, and how items are treated, depends on your situation and jurisdiction.

The tax-season problem with AI work is not exotic; it is the ordinary problem with better camouflage. Income arrived for work whose trail lives in chats. Costs left through a dozen small charges nobody labelled. The pull list works because each set answers one standard question: what did you earn and for what (the job index), can you show the work happened in the period claimed (the delivery records), what did the tools cost (the cost trail), and did agents spend anything on the business's behalf (the spend summaries).

If the job index was maintained quarterly, the pull is an export and an afternoon. If it was not, build it now from invoices downward: one row per invoice, then attach the delivery record where one exists and mark the rows where it does not. The marked rows are next year's system improvement, delivered to you by this year's pain, in writing.

Send the set to your preparer as one folder with the index on top. Preparers price disorganisation invisibly, in hours; a client whose AI work arrives indexed is a client whose return is straightforward, and whose questions from any authority can be answered from documents instead of recollection.

Checklist: the tax-season pull list

Set 1, job index: every billed job of the year, client, invoice number, amount, date, delivery link. Set 2, delivery records: the handover or record link per index row; missing ones marked. Set 3, AI cost trail: every tool charge with date and amount: passes, subscriptions, per-call and top-up charges, API costs. Set 4, agent spend summaries: spending by agents for the business, with refunds or credits noted. Assembly: one folder, index first, sets in order, exported to storage you control. Send to the preparer as one package, not as four emails across a month.

Worked example

One index row's delivery record, in the form a preparer can open: https://zambo.dev/handover/45434a17-4afc-486a-9646-e689bcee4297 shows the job's steps and its recorded acceptance with dates. A year of rows supported this way is the difference between a return that is filed and a return that is defended later from memory.

Frequently asked questions

When should I pull the sets, at year end or at filing time?

At year end, while the year's platforms and statements are all still open to you, and while gaps can still be honestly marked from fresh memory. Filing time is for filing; the pull is a December or January job.

My AI costs are mixed into personal cards. Can they still be listed?

List them with dates and amounts and note the card; completeness of identification is what the trail needs. How mixed-use costs are treated is your preparer's call under your rules, made possible by the list existing at all.

Do I need the actual receipts, or is the job index enough?

The index is the map; the delivery records are the territory a question would inspect. Keep both: the index for navigation, one link per row to the record that supports it.

By Brennan Zambo, founder of Zambo.

Last verified: 2026-10-17.

Pull the four sets this week; next year's pull is an export if the work runs recorded: https://zambo.dev/demo/ .

Try a handover

A handover gives your client one proof link with verifiable receipts to review, then Accept or Flag.

try it: say 'use zambo to hand this over to <client>' in your ai

Add Zambo · Handover docs · Real public handover · AER-1