Product Thinking

The expense report nobody filed

The receipt landed in an inbox and never became an entry. Proactive capture makes the chore finish itself, done before you'd have remembered to start.

ASR

Apollo Space Research

Apollo Space

· 10 min read

A receipt arrives by email on a Tuesday afternoon. A confirmation for a flight, a software renewal, a dinner with a client. It lands in an inbox, gets a glance, and then nothing happens to it. Three weeks later, at the end of the month, someone opens a spreadsheet to “do expenses” and that receipt, along with eleven others, has to be hunted down, re-read, categorized, and typed in by hand. Some of them are found. A couple aren’t.

The receipt was always going to become an expense entry. The only question was whether a tired human would do it on the last day of the month, or whether it would already be done by the time anyone thought to ask.

That gap, between the moment information arrives and the moment it becomes a record, is where most of a company’s small work goes to rot. The expense report nobody filed isn’t a discipline problem. It’s a design problem. The receipt was already a structured fact when it landed; we just built no path from the inbox to the ledger except a person remembering to walk it there.

This post is about closing that gap. The thesis is simple, and I’ll repeat it: the chore should be done before you’d have remembered to start it.

The naive version: a folder, a deadline, and a person who forgets

Here’s the workflow almost every company actually runs, no matter what their finance tool’s marketing says.

Receipts arrive scattered, in email, as PDFs, as photos of paper, as line items on a card statement. They accumulate somewhere loose: a folder, a forwarded thread, a shoebox of the digital kind. Then, on a fixed date, a human sits down and converts the pile into entries. They open each one, read the vendor and the amount, decide which budget it belongs to, and type it into a form. Multiply by everyone who spent money, and you have an end-of-month ritual that nobody enjoys and everybody postpones.

The ritual fails in three predictable ways, and they’re worth naming because each one feels like a personal failing when it’s really a structural one.

The first failure is the lost receipt. Something arrived, got glanced at, and slipped under forty other things before anyone filed it. By month-end it’s unfindable, so the expense is either reconstructed from memory or quietly dropped. Money that left the company leaves no trace in the company’s own books.

The second is the wrong category. The human doing the typing at the end of the month wasn’t in the room when the money was spent. They guess. The client dinner gets coded as “office supplies” because that’s the default the cursor landed on. The books balance and still describe a company that doesn’t exist.

The third is the timing. All of this work happens at once, on the worst possible day, performed by someone who would rather be doing literally anything else. The decision about what a transaction was gets made at maximum distance from the event, by minimum attention. The cost isn’t the half hour. The cost is that the company’s financial memory is assembled, once a month, by its most depleted self.

None of these are fixed by a better form. A better form still waits to be filled in. The whole model is reactive: the data sits inert until a person remembers to act on it. And remembering to act on a receipt that lives nowhere is a job humans are simply bad at.

Receipts arrive scattered across email, PDFs, and card statements, then pile up untouched until a fixed month-end date forces one tired person to hunt them down, guess each category by hand, and type them into a form, with some receipts lost and miscoded along the way.

Why “just remind me” doesn’t fix it

The obvious patch is a nudge. Set a reminder. Get a notification when a receipt arrives that says “file this.” Add a rule that pings you on the 28th.

It’s an improvement the way a louder alarm is an improvement over a quiet one. The alarm still needs a person to get up.

A reminder doesn’t do the work, it reassigns the work back to you, just with a deadline attached. Worse, a reminder for every receipt is its own kind of failure: now the system interrupts you forty times a month to tell you about things you already knew arrived, and you start ignoring the pings exactly the way you ignored the receipts. The naive fix for “the human forgets” is “remind the human,” and it loses for the same reason the original did. It keeps the human on the critical path for work the human adds nothing to.

Reading a vendor name off a receipt is not a judgment call. Recognizing that a recurring charge from the same provider is the same category as last month is not a judgment call. Pulling the amount, the date, and the merchant from a confirmation email is not a judgment call. These are the parts of “doing expenses” that consume all the time and require none of the wisdom.

So the question isn’t how do we remind the human to do the chore. It’s why is the human doing the chore at all.

Our way: capture at the moment of arrival, not the moment of deadline

Here is the shift. Instead of waiting for a date and a person, the system acts when the receipt arrives, because that’s the moment the information is freshest, the context is richest, and the work is smallest.

A receipt lands. A connected agent reads it, not as an image to be stored, but as a fact to be understood. It extracts the merchant, the amount, the date, the currency. It looks at the company’s own brain, past entries, recurring vendors, the budgets that exist, and proposes the category the way someone who’d seen the last six months of spending would. It assembles a draft expense entry that is correct far more often than the end-of-month guess, because it’s made at the moment of the event by something that doesn’t forget what last month looked like.

Then it does the one thing that separates an assistant from an autocomplete: it doesn’t silently write to the books. Money is involved, so the entry waits for a yes. The proposal surfaces, here’s the receipt, here’s the entry I drafted, here’s why I categorized it this way, and a human approves it in the time it takes to read one line. The judgment stays human. The typing, the hunting, the categorizing, the remembering, all of that is already done.

Walk the three failures back through this design and watch them disappear.

The lost receipt can’t be lost, because it was captured the instant it arrived, not three weeks later when it had already slipped away. The wrong category gets rarer, because the categorization happens with the company’s full history in view instead of a cursor’s default. And the timing stops being a ritual, because there is no pile to process at month-end, the pile turned into reviewed entries one at a time, on the day each one arrived, while nobody was thinking about expenses at all.

The chore should be done before you’d have remembered to start it. By the time month-end arrives, the report isn’t a chore. It’s a confirmation.

Two paths for the same receipt. In the reactive path it sits in the inbox until a deadline forces manual entry. In the proactive path an agent reads it on arrival, drafts an entry against the company brain, and surfaces it for a one-line human approval before it reaches the books.

The part that isn’t about expenses

Step back from receipts and you’ll notice the shape repeats everywhere in a company.

A meeting ends and the action items live only in someone’s memory until they evaporate. A contract clause sets a renewal date that nobody transfers to a calendar until it’s already lapsed. A customer says something that matters in a support thread and it dies in the thread because no one carried it to the place decisions get made. Every one of these is the same failure as the unfiled expense: a structured fact arrives, and there’s no path from arrival to record except a human remembering to walk it there. The work was never hard. The walking was the whole problem.

This is why we don’t think of expense capture as a finance feature. It’s one instance of a general principle: information that arrives in a form a machine can read should not wait for a human to transcribe it. The human’s job was never the transcription. The human’s job is the judgment, is this entry right, is this category honest, should this money have been spent at all. Make the machine do the part it’s good at, surface the part that needs a person, and the company’s records start keeping themselves.

That’s the model. Not a smarter form you fill in faster. A system that reads what arrives, drafts the record, and asks you a single yes-or-no question at the one moment a human actually adds something.

The turn: month-end was never supposed to be a day of dread

Here’s the part that isn’t about software.

In most companies, the person doing expenses at the end of the month is one of the last people you’d want spending an evening on it. A founder reconstructing a quarter of receipts from a credit card statement. An operator who’d rather be talking to customers, typing vendor names into a form. The very people whose attention is worth the most, spending it on the work that requires the least.

That work feels like diligence. It’s a tax. Every receipt hunted down and hand-typed is a small withdrawal from the same account that funds the decisions only a person can make. You started doing your own expenses by hand because no system would do it for you, and that was never a good use of you.

The promise isn’t a finance tool with a nicer interface. It’s that the report writes itself as the month happens, so the most capable person in the company stops being the one who remembers to file the receipt, and gets to be the one who decides whether the spending was worth it in the first place.


That’s what we’re building at Apollo Space, not a tidier form, but a system that reads what arrives, drafts the record, and waits for your yes. The expense report nobody filed was never a failure of discipline. It was a job we kept handing to the one part of the system that forgets. If you’ve ever found a receipt three weeks too late, you already know it should have been done the day it arrived.

Apollo runs your company's repetitive ops so your team doesn't.

Join the waitlist for early access, founding-user pricing, and a front-row seat as we ship.

Join the waitlist