
Best AI tools for CPA firms: Four Real Scenarios Across QuickBooks Online, Bill.com, Excel, and Expensify
AI accounting tools or AI bookkeeping software often promise to save time, but their real value shows up when you face real-world problems, like finding a discrepancy during a busy close. Here are four common scenarios: a discrepancy comes up, the AI suggests an explanation, and you decide whether to accept it before it goes into the client’s books.
Each scenario concludes with a brief reference table you can use as a checklist for similar situations. A summary table comparing all four tools is provided at the end.

AI Accounting Automation Tools: Each scenario follows the same four-step process. AI handles the initial two steps, while you are responsible for the final two.
QuickBooks Online AI Reconciliation: The Bank Reconciliation That Wouldn’t Balance
On May 31, you are reconciling a client’s operating account with approximately 50 monthly transactions, but the reconciliation does not balance. The $1,240 difference is too precise to be a rounding error, indicating a genuine issue. Previously, this required a manual, line-by-line review. Now, the first step is to let QuickBooks’ reconciliation matching process run before manual intervention.
Step-by-step
- Open the Reconcile screen for the account and go straight to the unmatched transactions view, rather than starting a manual line-by-line comparison.
- Let the built-in matching pass run. It compares the bank feed against your GL using description, amount, and date proximity, not just exact text matches.
- Review the flag it surfaces: a payment to a recurring vendor that cleared twice in the bank feed, 3 days apart, but was posted only once in the GL.
- Obtain the actual bank statement and independently verify both clearing dates and amounts. Do not consider the AI’s flag confirmed until you have reviewed the source document.
- Once verified, record the appropriate correcting entry, such as a refund-in-transit or a request to the bank for an ACH reversal, and complete the reconciliation.
- Document the resolution in the workpaper to ensure future reviewers understand the reason for the discrepancy.
| Step | What the AI Did | What You Verified |
| 47 bank lines vs. 46 GL entries | Matched all 47 transactions against the GL by description, amount, and date proximity in seconds | Nothing yet – this step is pure pattern matching, no judgment required |
| Flagged a duplicate-looking payment | Surfaced one suspect pair instead of requiring a manual scroll through every line | Pulled the actual bank statement and confirmed both clearing dates and amounts independently |
| Suggested it was a resent ACH payment | Proposed a likely cause based on the pattern: same vendor, same amount, short gap between clearings | Decided how to correct it – refund-in-transit entry vs. requesting a bank reversal |
| Reconciliation now balances | – | Documented the resolution in the workpaper for the next reviewer |
Where AI added value: Quickly narrowed 47 transactions to one suspect pair, eliminating the need for manual review.
Where your expertise was required: Confirming details against the actual bank statement before posting any entries.
Bill.com duplicate invoice detection: The Invoice That Almost Got Paid Twice
A vendor’s billing system malfunctions, resulting in the same invoice arriving twice, three days apart. The second invoice includes a “-R” suffix in the invoice number, likely indicating a resend. This issue may go unnoticed during a busy approval process.
Step-by-step
- Both invoices land in Bill.com by email and get auto-captured, with the AI extracting vendor name, amount, and invoice number from each.
- Bill.com’s duplicate-detection logic compares vendor, amount, and near-identical invoice numbers across the queue, and flags the second invoice before it reaches approval.
- You get a flag, not a silent block. Bill.com surfaces both invoices side by side for comparison rather than You receive a flag rather than an automatic block. Bill.com displays both invoices side by side for comparison instead of auto-rejecting either one.the “-R” suffix and the three-day gap.
- Reject the duplicate invoice with a note for your records, and allow the original to proceed through the standard approval and payment process.
| Step | What the AI Did | What You Verified |
| Two near-identical invoices in the queue | Extracted vendor, amount, invoice number, and date from each via automated capture | Nothing yet – capture accuracy still gets spot-checked against the PDF |
| Flagged the second invoice before payment | Compared invoice numbers and amounts across the queue and caught the near-match | Reviewed the vendor’s invoice history to confirm it was a resend, not two legitimate charges |
| Surfaced both invoices side by side | Made the comparison visible instead of silently blocking either invoice | Made the call to reject the duplicate rather than the AI making it automatically |
| Duplicate rejected, original paid | – | Logged a note explaining the rejection for the audit trail |
Where AI added value: Detected a near-identical invoice number before any funds were disbursed.
Where your expertise was required: Determining whether the invoices were duplicates or represented separate legitimate charges.
Excel + Copilot: The AR Subledger That Wouldn’t Tie to the GL
At month-end, the client’s AR subledger total does not match the GL AR control account, with a $5,612 difference. Previously, resolving this timing difference required exporting two reports and manually searching for mismatches across hundreds of rows.
Step-by-step
- Export both the subledger detail and the GL AR activity into separate tabs in the same workbook.
- Open Copilot for Finance, select “Reconcile data,” and define the matching criteria – typically customer ID plus invoice number, with amount as the comparison field.
- Let Copilot run the match. It produces a reconciliation report with matched items separated from a short list of exceptions.
- Review the exceptions: three invoices exist in the subledger but haven’t synced to the GL yet.
- Review Copilot’s draft explanation, which suggests a timing difference: all three invoices were posted on the last day of the month, likely before the nightly GL sync occurred.
- Verify this explanation against the actual sync log, and confirm that the three invoices posted the following day.
- Use Copilot to draft the reconciliation note for the workpaper, and edit it for accuracy and appropriate tone before finalizing.
| Step | What the AI Did | What You Verified |
| $5,612 difference between subledger and GL | Matched line items by customer ID and invoice number across both exports | Nothing yet – matching logic still depends on you choosing the right keys |
| Isolated three unmatched invoices | Narrowed a few hundred rows down to three exceptions in under a minute | Confirmed those three were the only real exceptions, not a broader pattern |
| Drafted a timing-difference hypothesis | Proposed a plausible cause: late-month postings missed the nightly sync | Checked the actual sync log to confirm the hypothesis before relying on it |
| Drafted the workpaper note | Produced a first-pass written explanation | Edited for accuracy and firm tone before it went into the client file |
Where AI added value: Reduced a 90-minute manual reconciliation to approximately 20 minutes.
Where your expertise was required: Reviewing the sync log, since Copilot’s explanation was a hypothesis rather than a confirmed fact.
Expensify: The Card Reconciliation With a Duplicate Receipt Hiding in It
At month-end for a 35-person client, the corporate card statement lists 92 transactions, but only 88 have corresponding submitted expense reports. The discrepancy may be due to a missing receipt, an unsubmitted report, or another issue. Previously, identifying the cause required several hours of manual cross-referencing between a PDF statement and a spreadsheet export.
Step-by-step
- Open Expensify’s reconciliation dashboard instead of manually cross-referencing the card statement against submitted reports line by line.
- Review the auto-match results. The platform already paired most of the 92 card transactions to submitted expenses throughout the month, using SmartScan-extracted merchant, date, and amount data as receipts came in, not just at month-end.
- Open the exception queue showing the four unmatched transactions.
- Review the audit trail for three of the unmatched transactions. Concierge, Expensify’s AI assistant, has already contacted the cardholders in real time when the charges posted, requesting a receipt and business memo. Two cardholders have responded.
- Follow up directly with the cardholder who has not responded, as an AI prompt may not always receive a reply.
- Review the duplicate-detection flag on the fourth transaction. The same receipt image was submitted in two different expense reports associated with separate client trips.
- Confirm with the employee which trip the expense pertains to, then void the duplicate report line instead of deleting it to maintain a record of the adjustment.
- Once all 92 transactions tie to a report, export the reconciled batch to QuickBooks (or NetSuite) as a single journal entry, with the card clearing account zeroing out exactly.
| Step | What the AI Did | What You Verified |
| 92 card transactions, 88 matched reports | Auto-matched transactions to submitted expenses throughout the month using SmartScan-extracted data, not just at month-end | Nothing yet – matching ran continuously, not as a single batch process |
| Four transactions left in the exception queue | Narrowed 92 transactions down to four real exceptions | Reviewed why each one was unmatched before treating any of them as resolved |
| Concierge already nudged three cardholders | Sent real-time requests for receipts and memos as charges posted, with two already answered | Followed up directly with the cardholder who hadn’t responded to the AI |
| Flagged a duplicate receipt across two trips | Matched the receipt image across two separate expense reports | Confirmed with the employee which trip the expense belonged to before voiding the duplicate |
Where AI added value: Detected the duplicate receipt and automatically contacted three cardholders before the month-end.
Where your expertise was required: Following up with the employee who did not respond and determining the correct trip for the expense.
Quick Reference: AI Across Your Stack
This approach is the same for all the tools we talked about. The AI handles matching, flagging, and giving initial explanations. Your job is to check that these explanations are correct before adding them to the client’s records. Below, you’ll see a side-by-side summary of the four scenarios.
| Tool | What AI Caught | Time Saved (approx.) | What Required Your Judgment |
| QuickBooks Online | A duplicate ACH payment hiding in 47 bank feed lines | Minutes vs. a manual scroll | Confirming against the bank statement before posting a correction |
| Bill.com | A near-duplicate vendor invoice before payment went out | Immediate – caught at intake | Verifying it was a duplicate, not two separate legitimate charges |
| Excel + Copilot | Three invoices missing from the GL sync, with a timing-difference hypothesis | ~70 minutes (90 min → ~20 min) | Confirming the hypothesis against the actual sync log |
| Expensify | A duplicate receipt submitted across two different client trips | A half-day cross-reference job avoided | Following up with the one non-responsive cardholder; deciding which trip kept the expense |
These processes do not change what auditors and reviewers require. They expect to see that a person has reviewed the explanation and confirmed it against a source document, rather than relying solely on software flags. AI streamlines the process, but final sign-off and responsibility remain with you.
Each tool in this guide provides a quick and effective initial review. However, they cannot replace the expertise required to understand a client’s unique chart of accounts, identify subtle errors, and take responsibility for the final figures. That essential work cannot be automated, and it is precisely what we deliver.
Work With SA Globus
See the value before you invest. Get up to 30 hours of free trial and experience our expertise, responsiveness, and quality firsthand with no commitment and no long-term contracts.
Discover more from SA Globus
Subscribe to get the latest posts sent to your email.
