I Don't Have a Receipt for That

Missing receipts, forgotten transactions, and expenses you paid in cash are the gaps that make year-end reconciliation painful. Here's how to fill them without digging through your email.

The receipts you save are usually the big ones — project deposits, contractor invoices, software renewals. The ones that slip through are the small ones: the $12 stock photo, the $25 domain renewal, the $8 font license you bought on a Saturday.

By April, you have a transaction history with a handful of entries that just say "online purchase" because that's what your bank statement showed and you couldn't be bothered to look it up.

This is where AI import's text command mode is more useful than the document upload.

Reconstructing transactions from memory

If you remember a transaction but don't have the document, type a description into the AI import command field. Be specific about what you can recall:

"Bought Unsplash Pro subscription for $99 in February, used for client social media project" "Paid a copywriter $300 on March 2 for landing page work on the Acme rebrand" "Domain renewal for mypersonalsite.com, about $15, sometime in January"

The parser extracts date, amount, type, and description. For vague dates ("sometime in January") it will ask you to confirm or will default to a date — you can adjust it before saving. For approximate amounts, enter your best estimate and add a note that the exact figure needs confirmation.

An approximate record is better than no record. You can update the amount when you find the actual charge. You can't recreate a tax deduction you never captured. For how to tag those records correctly when you do confirm them, see freelance transaction categorization: a practical guide.

Using forwarded emails as source documents

Most subscription services send receipts by email. Instead of uploading PDFs one at a time, screenshot the email receipt and upload the image. The parser reads:

  • The amount from the billing line
  • The service name and date
  • Any invoice or order number in the email

This works for Stripe-powered SaaS tools, Adobe, Google Workspace, AWS, and most standard billing emails. It won't work well for HTML-heavy marketing emails where the billing detail is buried — in those cases, forward yourself the plain-text version or just use the text command instead.

Handling cash expenses

Cash transactions leave no digital trace. A parking fee before a client meeting, a printed brochure from a local shop, a co-working day pass — these are legitimate business expenses that disappear completely if you don't record them.

The habit that works: photograph the receipt immediately, before it goes in your wallet. If there's no receipt, type a quick description into AI import from your phone while the details are still fresh. Thirty seconds at the point of purchase beats ten minutes of guesswork later.

When a document produces the wrong result

The AI parser can misread:

  • Amounts that include tax as separate lines (it may grab the total or the subtotal: check which you want)
  • Vendor names that are legal entity names rather than the trading name
  • Dates in non-standard formats (e.g., "15 APR 26" vs "2026-04-15")

The review step exists for exactly this reason. The parser makes a structured guess; you confirm or correct before saving. If the same document type consistently misreads a specific field, train yourself to check that field first in the preview.

The one use case where AI import beats everything else

You receive a multi-page invoice PDF from a client or vendor that lists 10 line items. Instead of entering each one manually, upload the PDF. The parser extracts all line items as separate transaction suggestions. Review, confirm, done.

Manually entering a 10-line invoice takes about four minutes. Uploading and reviewing the AI-extracted version takes about 45 seconds.

How to Handle Split Payments and Partial Invoices in AI Import

Some transactions don't arrive as a single clean payment. A project with a 50% deposit and 50% on delivery is two transactions, not one. AI import handles these, but the setup matters.

For document-based split payments: If you have the client's payment confirmation for each installment, upload them separately. Each becomes its own income transaction tagged to the same client and project. The project's total income view accumulates them correctly.

For the final invoice that shows prior deposits: An invoice showing gross amount, deposits already received, and the balance due will extract the full invoice amount. Review carefully — decide whether to record the full invoice (then record deposits as separate income transactions against it) or record only the balance due.

For partial payments: If a client pays $800 against a $1,000 invoice, record $800 as income and flag the outstanding $200 in your invoice tracking. Don't record $1,000 and assume the rest will follow — that overstates your income until the remainder actually arrives.

The text command is often cleaner for split payments you remember clearly: "Received $800 partial payment from Acme Corp on April 10, invoice #0014, $200 outstanding." The parser structures that into a transaction record, and you can add a note for the pending balance.

Recovering Old Freelance Receipts for Previous Tax Years

If you're doing retroactive bookkeeping — building records for a year already passed — the absence of receipts is the main obstacle. Here's how to work through it systematically.

Email search first. Search your inbox for "receipt," "invoice," "payment," and the names of every subscription service you used. Email receipts from Stripe, PayPal, and most SaaS billing systems include the amount, date, and vendor. Screenshot these and upload them in batches to AI import.

Bank and card statement review. Export statements for the relevant period. Go line by line and identify every business expense. For entries where you have a receipt, use AI import. For entries where you don't — "Adobe Systems $59.99" — use the text command with the bank statement entry as your source.

Platform transaction histories. Upwork, Fiverr, and similar platforms keep multi-year histories. Export the full period CSV to capture all earnings and service fees with exact dates.

An approximate record is better than no record. If you're reconstructing a $50 stock photo purchase from nine months ago without a receipt, a text command entry with your best approximation is still meaningful documentation. You can't claim what you can't document, but documented approximations are better than lost deductions, particularly for small recurring expenses that add up over a year.

Building a Receipt Capture Habit Before Expenses Go Missing

The retroactive effort described above is avoidable with a small consistent habit.

At the point of purchase: Take a photo of the receipt before it leaves your hands. For digital purchases, screenshot the confirmation screen or email before you close the tab. It takes 10 seconds and is the difference between a clean record and a guesswork exercise months later.

Weekly batch processing: Once a week, upload everything you've accumulated — receipt photos from your phone, PDF invoices from your downloads folder, email screenshots. Process the week in one 5–10 minute session rather than a daily drip.

A dedicated folder for receipts: Create a folder in your phone photos and one in your email for business receipts. When an expense receipt arrives, move it there immediately. When it's processed in AI import, archive or delete it. The folder should be empty at the start of each month.

This habit takes about two weeks to become automatic. After that, retroactive bookkeeping becomes something that happens to other freelancers.


AI import isn't a magic bookkeeping solution. It's a fast path from "document exists somewhere" to "transaction is in my records." The judgment — whether the category is right, which project it belongs to, whether the amount is correct — is still yours. The tedious part is handled.