Someone spends a weekend with an AI assistant, a bank export and a spreadsheet, and replaces their accounting subscription. Categorization works. The reports look right. They save about $500 a year.
Here’s the honest assessment: that build probably works. For a solo business with one bank account and simple books, an AI assistant can categorize transactions, total them by account, and produce something that resembles a profit and loss. The people saying otherwise are usually selling accounting software.
The problem isn’t capability. It’s that bookkeeping isn’t really about producing numbers — it’s about producing numbers someone else can verify. And that requirement doesn’t show up until the moment you can’t meet it.
The four elements
Start here, because it’s the concrete thing and most builds fail it without anyone noticing.
The IRS requires that records substantiate every expense, and adequate records must show four elements:
| Element | What it means | Does a bank feed give it? |
|---|---|---|
| Amount | The exact cost | Yes |
| Time | The date incurred | Yes |
| Place | Vendor or location | Usually |
| Business purpose | Why it was a business expense | No |
Meals frequently require a fifth: business relationship— who you were with, and their titles.
View data
| Element | What it means | Does a bank feed supply it? |
|---|---|---|
| Amount | The exact cost | Yes |
| Time | The date incurred | Yes |
| Place | Vendor or location | Usually |
| Business purpose | Why it was a business expense | No |
| Business relationship | Who you were with, and their titles — frequently required for meals | No |
Substantiation elements per IRS guidance. Documentary evidence is generally expected for expenses at or above $75. General information, not tax advice.
Look at where the gap is. A bank feed hands you the three easy elements and none of the hard one. Business purpose isn’t in the transaction data — it’s in what you were doing, and it has to be captured deliberately, at the time, by a person who knows.
An AI assistant categorizing a bank export can infer a category. It cannot know that the hardware store run was for a client job rather than your kitchen, and neither can the transaction record. That’s the same limitation that affects AI inside accounting software — but here there’s no structure catching it.
Related: Where AI in accounting software actually fails
And a bank statement is not a receipt. For most expenses at or above $75, documentary evidence is expected — an actual receipt, bill or invoice. A line on a statement proves money moved. It doesn’t prove what it bought or why.
The phrase that should give you pause
When a taxpayer’s records are inadequate, courts sometimes permit an estimate. Sometimes.
Courts permit estimation where records are missing — but not where the failure to keep a proper system was the taxpayer’s own doing. If your records are thin because you designed the system yourself and it didn’t capture what was required, that’s the position you’re standing in. “The AI categorized it” isn’t a defense; it’s a description of how the inexactitude arose.
The condition attached is the reason this article exists. Estimation is allowed where records are missing — but not where the failure to keep a proper system was, in the courts’ language, “an inexactitude of their own making.”
Read that against a weekend build.
If your records are thin because a vendor’s system lost them, that’s one situation. If they’re thin because you designed the system yourself and it didn’t capture what was required, you have chosen the position you’re now standing in. The IRS can also issue a Notice of Inadequate Recordsunder the relevant Treasury regulation — a formal finding that your books don’t meet the standard.
The burden of proof sits with the taxpayer. It doesn’t move because the tooling was self-built, and “the AI categorized it” is not a defense — it’s a description of how the inexactitude arose.
This describes how substantiation requirements work in general terms. Specifics turn on facts and circumstances. If you’re relying on a self-built system for a business return, that’s a conversation with a professional rather than something to settle from an article.
What a ledger actually provides
Not features. Properties — and they’re the ones that matter when a record is challenged.
Related: What accountants actually complain about in QuickBooks Online
None of those are impossible to build. They’re just not what gets built in a weekend, because none of them are visible until they’re needed.
Where the line actually sits
Being specific, because “don’t do it” isn’t useful advice.
A DIY build is reasonable when:
That’s a real set of circumstances and it covers a lot of very small businesses. If that’s you, the $500 saving is genuine.
It stops being reasonable when any of these becomes true:
Related: When a spreadsheet is genuinely enough
The pattern: a DIY build serves you fine. It fails when someone else needs to trust it. And the transition from the first to the second usually isn’t announced.
We build these. Here’s what makes one work.
We’re a software company. We’ve spent eleven years building automation, we’re ISO 27001 certified, and we automate accounting workflows for a living. It would be straightforwardly against our interest to tell you automation can’t do this.
So here’s a build that did work, and why.
A trucking client received hundreds of carrier statements a week. Competing proposals put ten people on the data entry. We automated the read-to-ledger path instead and ran it with one technically capable accountant at roughly twice the rate.
Three things made it work, and all three are absent from a weekend build:
It posted into a real ledger. The automation handled extraction and matching; the destination was a proper double-entry system with an audit trail. We automated the entry, not the record.
Every judgment call was routed to a person. Exceptions, anything unmatched, anything outside expected parameters. The machine carried volume; a human made decisions. Nobody signed off on anything they hadn’t seen.
Someone owned whether the output was correct. Not whether the automation ran — whether the books were right. That’s a different job and it never went away.
The distinction that matters: automate the data entry, not the accounting. Data entry is mechanical and scales beautifully. The record itself has to be able to survive someone else’s scrutiny, and that requires structure the automation doesn’t provide.
Automate the data entry, not the accounting.
If you’ve already built one
Not a reason to tear it up. A reason to know where you stand.
- Test the four elements on ten transactions. Pick ten expenses at random and try to produce amount, time, place and business purpose for each. If you can’t produce the fourth, that’s the gap.
- Check whether you can prove a change. Take a transaction that was recategorized and try to show what it was before, when it changed, and why. If you can’t, you have no audit trail.
- Reconcile to the bank for one full month. Not “does the total look right” — line by line against the statement. This is what catches what the system never saw.
- Keep receipts regardless. Whatever the system does, documentary evidence for expenses at or above $75 is a separate obligation. Store them somewhere durable and organized by period.
- Write down business purpose at the time. A note on the transaction while you still remember. It’s the element nothing else can reconstruct later.
- Decide what happens at scale. If the business grows, the transition to a real ledger gets harder, not easier — the history has to come with you.
- Have a professional look at one period. Not an engagement. An hour, on one month, to find out whether what you’ve built holds. Far cheaper than finding out during an examination.
The short version
- The build probably works. For a solo business with simple books, AI-assisted categorization produces usable numbers, and the saving is real.
- The IRS requires four elements for every expense— amount, time, place, business purpose. A bank feed gives you three. Business purpose is the one nothing automates.
- A bank statement is not a receipt. Documentary evidence is generally expected at or above $75.
- Courts permit estimation where records are missing — but not where the failure to keep a proper system was “an inexactitude of their own making.” A self-built system that didn’t capture what was needed sits on the wrong side of that.
- A ledger provides four properties a flat file doesn’t: double-entry error detection, an audit trail, reconciliation against a third party, and immutability where it counts.
- You cannot audit a conversation. A recategorization in a chat leaves no record of what it was before.
- A DIY build serves you fine. It fails when someone else needs to trust it — a lender, a buyer, a partner, an examiner.
- Automate the data entry, not the accounting. That distinction is what separates a build that works from one that doesn’t.
Frequently asked questions
Can I use AI instead of accounting software for bookkeeping?
For a very small business with one bank account, no employees and no sales tax, an AI-assisted build can produce usable numbers and the cost saving is real. What it typically lacks is the properties that matter when someone else has to verify the records — double-entry error detection, an audit trail showing what changed and when, reconciliation against an independent source, and closed periods that can’t be silently edited.
What records does the IRS require for business expenses?
Adequate records must substantiate four elements for every expense: the amount, the time, the place or vendor, and the business purpose. Meals frequently require a fifth — the business relationship of the people present. Documentary evidence such as a receipt, bill or invoice is generally expected for expenses at or above $75, and the burden of proof sits with the taxpayer.
Is a bank statement enough to prove a business expense?
Generally not on its own. A statement shows that money moved; it doesn’t show what was bought or why it was a business expense. For most expenses at or above $75 the IRS expects documentary evidence — an actual receipt, bill or invoice — and the business purpose has to be recorded separately since it appears nowhere in the transaction data.
What happens if my bookkeeping records are inadequate?
The IRS can disallow deductions you can’t substantiate, and can issue a formal Notice of Inadequate Records. Courts sometimes permit estimation where records are missing, but not where the failure to maintain a proper system was, in their language, an inexactitude of the taxpayer’s own making — which is a difficult position to be in if you designed the system yourself.
What does a real ledger give me that a spreadsheet and AI don't?
Four things. Double-entry, which detects errors through the recording method itself. An audit trail showing who changed what and when. Reconciliation against an independent third-party source, which catches transactions the system never saw. And immutability for closed periods, so prior-year figures can be shown not to have been adjusted after filing.
When should I stop doing my own bookkeeping?
When you take on employees, start collecting sales tax, or reach the point where someone outside the business will need to verify your numbers — a lender, an investor, a buyer, or a business partner. Each of those turns bookkeeping from a tool for your own decisions into a record that has to withstand someone else’s scrutiny.
Can AI do bookkeeping accurately?
It can categorize transactions quickly and consistently, which is a real part of the job. What it can’t supply is the business purpose behind a transaction, because that information isn’t in the data — it’s in what you were doing. The workable division is to automate the data entry while a person owns the judgment calls and the record structure.
Founder of Nimblechapps Finance and CEO of Nimblechapps Pvt. Ltd. Eleven years building software and accounting operations for US and UK firms. EA/CPA in progress.
Built your own and want it checked?
An hour on one month tells you whether what you’ve built holds — before an examination does.
Book a call