Sign up today for free — no credit card down.Get started
    All articles
    26 min read

    21 AI Prompts Every Accountant Should Have Saved

    Most "AI prompts for accountants" lists are a waste of your time because they ask questions your accounting software already answers on the home screen. "What was revenue this month?" is a report, not an analysis. You don't need a language model for it.

    This is the opposite. Every prompt below does something a stock QuickBooks or Xero dashboard won't do on its own: compare across periods, rank by risk, surface an anomaly, catch a recurring entry that went missing, or flag a duplicate before it's paid. Each one turns a pile of ledger detail into a worklist you can act on, and each comes in two forms — a short version to paste when you already know what you want, and a full workflow version that names the report to load, what to flag, what format to hand back, and what to verify before you trust it.

    They work in QuickBooks' Intuit Assist, Xero's Just Ask Xero, Claude, or ChatGPT, and the most reliable pattern is always the same: export the report to CSV, attach it, and run the prompt against real data.

    What you'll learn in this article

    Skim for the one that matches the review you're about to run, or read it through once and save the set.


    Start with these if you only save a handful

    If you only save a handful, save these. They go after the work that eats the most time at month-end: the review tasks where you scroll hundreds of rows hoping to catch the one that's wrong. Hand the model the export, let it surface the candidates, and review the short list instead of the whole ledger. As one reader put it, it catches the stuff you'd miss scrolling by hand. Full instructions for each are in the sections below.

    Catching duplicates before (and after) they're paid

    • Prompt 4. Duplicate Bill and Payment Sweep. Finds re-keyed amounts, blank references, and cross-vendor matches that your software's exact-match warning lets through.
    • Prompt 13. Detect Potential Duplicate or Double-Paid Bills. The same check on open bills, before the second payment goes out the door.

    Weird transactions that need a human look

    • Prompt 8. Round-Dollar and Manual-Entry Anomalies. Round amounts, blank memos, and odd one-offs sitting in real spend.
    • Prompt 18. Round-Dollar and Manual JE Anomaly Scan. Manual journal entries posted straight to the P&L, plugs, and quiet reversals.
    • Prompt 19. After-Hours and Weekend Entry Review. Entries posted at odd hours or back-dated into a period you already closed.

    Cleaning up messy books

    • Prompt 5. Wrong-Account Classification Check. Transactions whose vendor or memo doesn't match the account they landed in.
    • Prompt 21. Reclassification Candidate Finder. The tax-impact and capitalization reclasses worth making before you file.

    Chasing the right money

    • Prompt 12. Spot Customers Slipping from On-Time to Slow. Customers whose payment behavior is quietly deteriorating.
    • Prompt 14. Catch Missed Early-Payment Discounts. Open bills whose 2/10-net-30 window is still open or was just missed.
    • Prompt 16. Surface Unapplied Credits and Payments Sitting Idle. Credits and overpayments parked on accounts that should be applied or refunded.

    The common thread is scale. Any one of these is something you could do by hand. None of them is something you want to do by hand across a thousand rows, every month.


    How to use these prompts

    Most "AI prompts for accountants" lists are a waste of your time because they ask questions your accounting software already answers on the home screen. "What was revenue this month?" is a report, not an analysis. You don't need a language model for it.

    This guide is the opposite. Every prompt here does something a stock QuickBooks or Xero dashboard won't do on its own: compare across periods, rank by risk, surface an anomaly, catch a recurring entry that went missing, or flag a duplicate before it's paid. Each one turns a pile of ledger detail into a worklist you can act on.

    Each of the 21 comes in two parts:

    • Quick prompt. A short version you can paste when you already know what you want.
    • Full workflow prompt. The longer version. It tells the AI which report to load, what to look for, what format to hand back, and what to check before you trust the result. This is the one worth saving.

    They're written to work across QuickBooks, Xero, Claude, ChatGPT, and plain CSV/Excel exports. The most reliable pattern is almost always the same: export the relevant report to CSV, attach it (or paste it), and run the prompt against real data rather than asking the model to reason about your business from memory.

    Some prompts ask for a value of your own, like a materiality threshold, an as-of date, or an approval limit. Set it before you run. The bracketed placeholders such as [INSERT AMOUNT] are yours to replace.


    A note on letting AI touch your numbers

    One principle runs through this entire guide, and it's worth internalizing before you paste a single prompt:

    AI is good at language about numbers. It is not good at being the calculator.

    Language models are unreliable at arithmetic across many rows, at keeping totals consistent through a long answer, and at re-footing a trial balance. So none of these prompts ask the model to be the source of truth for a computed figure. Instead they ask it to do what it's genuinely good at: flag, group, compare, rank, and explain. Where a number does get produced, every prompt instructs the model to show its inputs and tells you to reconcile that number back to the source report before you rely on it.

    Think of the output as a set of leads and review candidates, not confirmed findings. A flagged duplicate is an invoice to go look at, not a proven double-payment. A flagged miscoding is a reclass to consider, not one to book. You stay in the loop on every judgment call and every journal entry. Used that way, these prompts save real hours at month-end without ever putting a made-up number on a financial statement.


    What QuickBooks and Xero already do

    To be straight with you: QuickBooks Online and Xero are not empty dashboards. Both ship a full standard report library (P&L and Balance Sheet with prior-period and % change columns, aged receivables and payables, sales by customer, expenses by vendor), and both have added AI on top of it. As of mid-2026:

    • QuickBooks has Intuit Assist and a Cash Flow Planner (30/90-day projection, all tiers), plus, on Plus/Advanced, AI Anomaly Detection (flags account-level P&L/Balance-Sheet shifts) and, on Advanced, a Finance Agent that forecasts and writes monthly summaries. It also warns on a duplicate bill or check number for the same vendor.
    • Xero shows debtor days and creditor days (DSO/DPO) right on its free Business Snapshot, has Short-term cash flow and (paid) Analytics Plus projections, Just Ask Xero for drafting, an adviser Assurance Dashboard that flags back-dated and altered entries, and duplicate-bill detection on by default.

    So why this guide? Because those tools stop where the real review starts. A native report shows you the aged-receivables list. It won't rank those customers by collection risk, spot the one sliding from on-time to slow, or separate the stale residuals worth chasing. The dashboard shows this month's customer mix. It won't build the cumulative-% Pareto curve or tell you a dependency is forming. The duplicate warning catches an exact same-vendor bill number. It misses a re-keyed near-amount, a blank reference, a cross-vendor match, or a bill that was already posted and paid. The variance report hands you the columns. It won't write the flux memo or suggest what drove each swing. And the AI features that come closest, QuickBooks' Finance Agent and Anomaly Detection, sit on the Advanced and Plus tiers that most small businesses don't pay for.

    Two things make these prompts additive rather than redundant:

    1. They do the interpretation layer both platforms leave to you: ranking, trend, anomaly-flagging, finding the driver, writing the narrative.
    2. They run on exported CSV/Excel in Claude or ChatGPT, so they work identically across QuickBooks and Xero, across old archived data, and without paying for the top tier.

    Throughout the guide, wherever a native report gets you partway, the prompt says so up front with an "Already in your dashboard / What this adds" line, so you always know exactly what you're gaining over a click you already have.


    Part 1 — Financial health

    The solvency, coverage, and quality checks no standard report runs for you.

    1. Debt-Service Pressure Check

    Quick prompt:

    Using my P&L and loan/interest accounts, estimate how much of operating income is consumed by interest expense (interest-only debt-service pressure — principal repayment isn't on the P&L) each quarter, and flag rising coverage strain.

    Full workflow prompt:

    I'm attaching my P&L by quarter (last 4–8 quarters) and, separately, my General Ledger detail for loan, note-payable, and interest-expense accounts (or a Balance Sheet showing loan balances by period). I want a debt-service pressure read that a standard report won't assemble.

    First, list every account that looks like debt (loans, notes payable, lines of credit, related interest expense) and ask me to confirm the list before analyzing — don't assume which accounts are financing.

    Then build: Period | Operating Income | Interest Expense | Interest Coverage (Operating Income ÷ Interest) | Total Debt Balance | Debt ÷ Operating Income. Show inputs for each computed cell.

    Interpret whether coverage is thinning across periods and whether debt is growing faster than the income servicing it. Flag any period where interest coverage falls below roughly 2x.

    Caveats to honor: principal repayments don't appear on the P&L (they're balance-sheet/cash-flow), so if I haven't given you cash-flow data, state that your view of true debt service is interest-only and incomplete. Don't fabricate loan balances for missing periods. Tell me to reconcile the debt balances to the Balance Sheet before relying on this.

    2. Reserve Adequacy for Fixed Obligations

    Quick prompt:

    Compare my current cash reserves against average monthly fixed obligations (payroll, rent, loan payments) and tell me how many months I could cover if revenue stopped. This is a stress test that assumes income pauses and measures only committed fixed costs.

    Full workflow prompt:

    I'm attaching my latest Balance Sheet (for cash on hand) and my P&L by month for the last 6 months so we can identify recurring fixed obligations. I want a defensive-reserve read: how long fixed costs are covered if income paused.

    First, from the monthly P&L, help me separate fixed/committed costs (rent, payroll, insurance, subscriptions, loan interest) from variable costs — list what you classified as fixed and ask me to confirm before computing, since misclassification breaks this entirely.

    Then produce: Fixed Obligation Category | Avg Monthly Amount (trailing 6 mo) | Notes, plus a summary line: Total Avg Monthly Fixed Cost, Current Cash, and Months of Reserve (Cash ÷ Monthly Fixed Cost). Show the inputs for each average.

    Interpret against a rough benchmark (e.g. under 3 months of fixed-cost coverage is thin for most small businesses), but frame it as context, not a rule. Note that undrawn credit lines and receivables aren't in this figure, so the true cushion may be larger — mention that rather than ignoring it. Don't invent amounts for missing categories. Tell me to reconcile the cash figure and the fixed-cost averages to source before relying on the reserve months.

    3. Balance-Sheet Quality and Stale Accounts

    Quick prompt:

    Scan my Balance Sheet for accounts that haven't moved in months, round-number or negative balances that shouldn't be negative, and clearing/suspense accounts carrying a balance.

    Full workflow prompt:

    Here is my Balance Sheet by month (last 6–12 months) and, if available, the General Ledger detail behind suspicious accounts. This isn't a solvency ratio task — I want a quality review that surfaces bookkeeping issues distorting my financial health signals.

    Analyze and return a findings table: Account | Current Balance | Issue Flagged | Why It Matters. Look specifically for: (a) accounts carrying the wrong sign for their type — e.g. a negative bank balance, a credit balance in a normal asset, or a debit balance in a liability. Do NOT flag legitimate contra accounts: Accumulated Depreciation and Allowance for Doubtful Accounts are normally negative (contra-asset), so a negative balance there is expected, not an error; (b) "Undeposited Funds," "Uncategorized Asset/Income," "Ask My Accountant," clearing, or suspense accounts carrying a nonzero balance; (c) accounts whose balance hasn't changed at all for many months (possible stale/abandoned); (d) suspiciously round numbers that suggest a manual plug; (e) Opening Balance Equity holding a balance.

    For each flag, quote the balance you saw and the month(s) — don't assert a problem without the number in front of you. Rank findings by how much they could distort the overall picture.

    Don't invent account names that aren't in my data, and don't assume an account is stale if I only gave you one month — say you need multiple periods to judge that. Close by telling me these are review candidates to verify in the ledger, not confirmed errors, and to reconcile every balance you quoted back to the source Balance Sheet / GL before acting.


    Part 2 — Expense analysis

    Duplicate payments, miscoding, split transactions, and personal spend that no report flags.

    4. Duplicate Bill and Payment Sweep

    Already in your dashboard: both platforms warn on an exact same-vendor duplicate bill or check number (Xero's is on by default). What this adds: the matches that warning misses. Re-keyed or near amounts (1,240.00 vs 1,204.00), blank or altered reference numbers, cross-vendor duplicates, and the same amount already posted and paid down two different paths.

    Quick prompt:

    Here is my GL/check-register export. Find likely duplicate bills or payments — same or near-same amount to the same vendor within a short window — and list them as review candidates with the evidence, don't just give me a count.

    Full workflow prompt:

    I'm giving you a General Ledger detail or Transaction Detail by Account export (CSV) covering AP and cash disbursement accounts, with columns: Date, Vendor/Name, Account, Memo/Description, Ref/Check No, Amount. I want to catch duplicate payments and double-entered bills before they age into the ledger.

    Analyze for these patterns and treat each as a candidate, not a confirmed error:

    • Same vendor + identical amount within 14 days (classic double-pay)
    • Same vendor + identical amount + identical invoice/ref number anywhere in the file
    • Same amount + same memo/invoice text across two different check or bill numbers
    • Near-identical amounts to the same vendor within a few days (partial re-key, e.g. 1,240.00 vs 1,204.00)

    Output a table sorted by descending amount: Candidate Group | Vendor | Amount | Dates | Ref/Check Nos | Why Flagged | Confidence (High/Med/Low). Group the matching rows together so I can see the pair/triplet.

    Rules: do not merge vendors with different names even if they look similar — list them separately and note the name mismatch. Do not invent vendors, amounts, or ref numbers that aren't in the file. Recurring identical charges (rent, subscriptions, loan payments) are usually expected duplicates by nature, so put those in a separate "likely legitimate recurring" list rather than the main flag list — but be cadence-aware: a recurring charge that appears twice within its normal cycle (e.g. two monthly rents in the same month, or two identical hits inside the 14-day window) stays a duplicate candidate, don't auto-clear it as legitimate. Do not compute account totals or re-sum my ledger; only compare individual rows. Everything you surface is a lead for me to verify against the source bills — say so. This prompt targets already-posted double-payments; for duplicates on open, unpaid bills before payment, see Prompt 13.

    5. Wrong-Account Classification Check

    Quick prompt:

    Review this expense export and flag transactions whose vendor or memo doesn't match the GL account they're coded to — likely miscodings — as a review list with a suggested account.

    Full workflow prompt:

    Attached is a Transaction Detail by Account or GL detail export (CSV) with: Date, Vendor/Name, Account (the GL account it's posted to), Memo/Description, Amount. I want to find transactions coded to the wrong expense account.

    For each row, compare the vendor name and memo against the account it's booked to, and flag only cases where the vendor or memo plainly contradicts the account it's coded to. Examples of the logic: a fuel/airline/hotel vendor sitting in "Office Supplies," a software/SaaS vendor in "Meals," an obvious utility in "Miscellaneous," professional-fee vendors in "Repairs." This is the broad vendor-doesn't-match-account sweep. For tax-impact reclasses like capitalization and meals-vs-travel deductibility, use Prompt 21.

    Output: Date | Vendor | Amount | Current Account | Suspected Correct Account | Why Flagged | Confidence. Sort so the highest-dollar items are at the top.

    Warnings: base the suspected account only on clear vendor/memo evidence — where the vendor is ambiguous or could legitimately belong to multiple accounts, mark Confidence Low and say "needs human judgment" rather than guessing. Don't invent vendor names or amounts that aren't in the file. A vendor can sell across categories (e.g. a warehouse club), so treat those as low-confidence. These are reclassification candidates for me to confirm, not instructions to rebook.

    6. Threshold-Skirting and Split Transactions

    Quick prompt:

    Scan this expense detail for payments that appear split to stay under an approval limit, or clustered just below a round threshold, and list them as control-risk candidates.

    Full workflow prompt:

    I'm attaching a GL / bill / disbursement detail export (CSV): Date, Vendor, Account, Memo, Ref/Check No, Amount. My approval threshold is [INSERT AMOUNT, e.g. $5,000] — flag activity that looks structured to avoid it. If I didn't give a threshold, infer likely ones from clustering and ask me to confirm.

    Look for:

    • Multiple payments to the same vendor on the same day or within a few days that individually sit below the threshold but together exceed it (possible split to avoid approval)
    • A cluster of amounts landing just under a round number (e.g. many charges at 4,900–4,999 against a 5,000 limit)
    • The same invoice/PO paid across two smaller payments

    Output: Vendor | Dates | Individual Amounts | Combined Total | Threshold | Pattern | Confidence, with the split components grouped together.

    Important framing: splitting can be completely legitimate (progress billing, deposits, partial shipments) — this is a control-risk screen, not an accusation. Mark confidence and note the innocent explanation for each. Do not sum the entire ledger; only total the specific grouped candidates and show the components. Don't guess a threshold I didn't set without labeling it an assumption. Every item is a lead for me to investigate against source documents.

    7. Personal-vs-Business Expense Screen

    Quick prompt:

    Review this expense detail for charges that look personal or owner-related rather than business, and list them as review candidates for reclassification to owner's draw.

    Full workflow prompt:

    Here's my card/expense transaction detail (CSV): Date, Vendor, Account, Memo, Amount. Especially for a small business or sole proprietor, I want to catch personal spending mixed into business expenses before it distorts the P&L or creates a tax problem.

    Flag rows where the vendor/memo suggests personal rather than ordinary-and-necessary business use: grocery stores, personal-care/retail, restaurants on weekends or holidays, streaming/consumer subscriptions, travel that isn't clearly business, cash withdrawals, and unusually round personal-looking amounts. Treat weekend/holiday timing as a weak, low-confidence signal only — raise it when it coincides with a consumer-looking vendor, not on timing alone (plenty of legitimate business spend happens on weekends).

    Output: Date | Vendor | Amount | Account | Why Flagged (personal indicator) | Suggested Treatment (e.g. Owner's Draw / needs receipt) | Confidence.

    Critical cautions: many of these are legitimately business (client meals, a working-weekend purchase, supplies from a general retailer) — you cannot determine intent from the ledger, so mark confidence and frame everything as "verify with a receipt or ask the owner." Do not accuse; this is a documentation-and-classification screen. Don't invent transactions. Weekend/holiday logic requires real dates — if the date format is ambiguous (MM/DD vs DD/MM), say so and ask before relying on day-of-week. All items are review candidates.

    8. Round-Dollar and Manual-Entry Anomalies

    Already in your dashboard: QuickBooks' AI Anomaly Detection (Plus/Advanced) flags account-level P&L and Balance-Sheet swings, not entry-level hygiene. What this adds: transaction-level round-dollar, odd-amount, and blank-memo screening on real spend, which no native feature does at any tier.

    Quick prompt:

    Find spend transactions (bills, checks, card charges) that are suspiciously round or have blank/vague memos on material amounts, and list them as anomalies to review. For manual journal-entry and entry-timing anomalies, see Prompt 18.

    Full workflow prompt:

    Attached is a GL detail / disbursement export (CSV) with Date, Type (Bill, Check, Expense, card charge, etc. if available), Vendor/Name, Account, Memo, Amount. I want to surface transaction-level anomalies on real spend — bills, checks, and card charges — that deviate from normal hygiene, the kind of thing worth a second look at month-end.

    Flag (on real spend transactions only):

    • Suspiciously round amounts (e.g. exactly 1,000 / 2,500 / 5,000) that are uncommon for real invoices, especially with no vendor or a vague memo
    • Entries with blank/generic memos or no vendor on a material amount
    • The same round amount recurring to the same vendor/account in a way that looks like a placeholder rather than a real invoice

    Output: Date | Type | Vendor | Account | Amount | Anomaly Reason | Confidence, highest dollar first.

    Framing: round numbers are routine and often correct (deposits, retainers, estimates) — this is a hygiene screen, not a fraud claim. Note the benign explanation per item. This prompt covers bills/checks/card charges; for manual journal-entry anomalies and entry-timing hygiene (direct JEs to income-statement accounts, back-dated or last-day-of-period posts), use Prompt 18. Only use fields actually present in the export. Do not total the ledger. Review candidates for me to trace to support.


    Part 3 — Revenue analysis

    Cutoff, discount leakage, and the missing invoices the sales reports won't surface.

    9. Revenue Recognition Cutoff Check

    Quick prompt:

    Here is my invoice detail export for the last 5 business days of the period and first 5 business days of the next. Flag invoices dated near the cutoff whose service/description suggests the work spans a different period, so I can review for revenue recognition timing.

    Full workflow prompt:

    Load my invoice detail export covering the last 5 business days of the closing period and the first 5 business days of the next period (columns: Invoice #, Date, Customer, Item/Description, Amount, and if available Service Date or memo). I'm reviewing period-end cutoff — whether revenue landed in the correct period.

    Identify and list, for manual review:

    • Invoices dated at period-end but with descriptions implying delivery or service in the following period (e.g. "January retainer," "deposit," "prepaid," "annual," "setup for Feb").
    • Large or round-dollar invoices clustered in the final 1–2 days of the period.
    • Any Service Date that falls in a different period than the Invoice Date.

    Output a table: Invoice # | Date | Customer | Description | Amount | Why Flagged | Suggested Review.

    Rules: You are a pattern flagger, not an auditor — do not conclude an entry is misstated, only that its timing warrants a human look at the source document. Note whether the books are accrual (cutoff matters most) or cash (recognition follows payment). Do not total the flagged amounts as an "adjustment"; if you show any sum, label it as informational and tell me to tie it to the source report.

    10. Discount Leakage and Price Realization

    Quick prompt:

    Here is my invoice line detail with list price and actual price charged. Show me realized price vs. list by customer and by item, rank the biggest discount gaps, and flag anything discounted far above our norm.

    Full workflow prompt:

    Load my invoice line-item export (columns: Date, Customer, Item, Qty, List/Standard Rate, Actual Rate or Amount, Discount if present). I want to find price leakage — where realized price drifts below list without a clear reason.

    Analyze:

    • For each line, derive the effective discount % = (List − Actual) / List. If Discount is already a column, use it and note that. If there is no List/Standard Rate column, derive an implied list per Item as the modal (most common) or max realized rate for that Item, compute discount against that, and clearly label the discount % as inferred, not contractual.
    • Summarize realized price vs. list by Item and by Customer, but weight the discount % by revenue or quantity (a revenue-weighted average discount) rather than a simple average of line-level percentages — and show the absolute discount dollars alongside it, since a small % on a large customer can dwarf a big % on a tiny one.
    • Rank the customers and items with the deepest weighted discounts (and largest discount dollars) and the widest spread between their best and worst realized price.
    • Flag lines discounted more than 20% (or well above the dataset's typical discount) as leakage candidates.

    Output two tables — By Item and By Customer — each: Name | Avg List (or inferred) | Avg Realized | Wtd Discount % | Discount $ | Max Discount % | Leakage Flag. Then a short bullet list of the top 10 individual leakage lines.

    Cautions: Generate the discount formula and apply it row-wise, but treat any averages as directional — show the inputs and tell me to reconcile revenue totals to the source. Exclude or separately label negative-amount lines (credit memos/refunds) so they don't distort discount math. Do not recommend pricing changes; only surface where realization is slipping.

    11. Missing Invoice Detection (Customers Who Normally Bill)

    Quick prompt:

    Here is my monthly Sales by Customer for the last 12 months. Find customers who bill on a regular cadence but have a gap this month or last, so I can catch invoices we forgot to send.

    Full workflow prompt:

    Load my Sales by Customer Summary by Month, trailing 12 months (a matrix of Customer rows and monthly columns, or an export with Customer, Month, Amount). I want to catch invoicing gaps — recurring customers who should have been billed but weren't. This keys on cadence inference plus a 1–2 month gap that breaks an established billing rhythm (an operational miss — an invoice we forgot to send). It is not for customers who are genuinely leaving or declining year-over-year.

    Analyze:

    • For each customer, infer their billing cadence (e.g. bills every month, or roughly quarterly) from the pattern of non-zero months.
    • Flag customers who billed consistently in prior months but show $0 in the most recent 1–2 months, breaking their pattern.
    • Distinguish likely missed invoices (steady monthly biller suddenly at zero) from normal gaps (a customer who always bills irregularly).

    Output a table: Customer | Typical Cadence | Last Billed Month | Months Since | Expected This Period? | Flag, sorted with the most suspicious gaps first.

    Rules: Infer cadence from the observed pattern only — do not assume a schedule I didn't give you, and label low-confidence cadence calls. A gap may be legitimate churn (cross-check against known cancellations) rather than a missed invoice — flag, don't conclude. Do not fabricate customers or months not in the data. Note that cash-basis reports can show gaps purely from payment timing, not missing invoices.


    Part 4 — AP, AR and cash timing

    Collection-risk timing, unapplied credits, and the cash-conversion gaps aging reports leave out.

    12. Spot Customers Slipping from On-Time to Slow

    Quick prompt:

    Compare these two AR Aging Detail exports (older period vs. current). Tell me which customers have moved into older aging buckets or whose days-past-due is trending worse, and flag them as deteriorating payers for me to confirm.

    Full workflow prompt:

    I'll provide two AR Aging Detail exports for the same book: one from <prior as-of date> and one from <current as-of date>. Both have Customer, Invoice #, Due Date, Open Balance, and Aging Bucket.

    I want to catch customers sliding from consistent-payer to slow-payer before it becomes a write-off. Compare the two periods per customer and classify each customer's trend as: Improving, Stable, Deteriorating, or New Delinquency.

    Output a table: Customer | Prior oldest bucket with a balance | Current oldest bucket with a balance | Direction of change | # of invoices that moved into an older bucket | Notes. Sort with Deteriorating and New Delinquency at the top.

    Base "moved into an older bucket" on the same invoice appearing in an older bucket across the two files, or on new past-due invoices where that customer previously had none. Do NOT compute total balances or a blended DSO — I only want the directional movement and the named customers.

    Warnings: a customer can look worse simply because they were invoiced more recently — note that possibility rather than asserting deterioration. Ignore/segregate negative balances (credits/unapplied payments). Everything you surface is a candidate for me to verify against payment history, not a verdict. Do not fabricate a prior-period position for a customer that isn't in the older file.

    13. Detect Potential Duplicate or Double-Paid Bills

    Already in your dashboard: both platforms warn on an exact same-vendor duplicate bill number (Xero matches contact + reference + amount, on by default). What this adds: the duplicates that warning misses on open bills before payment, like near-amounts, blank or altered references, and cross-vendor matches. (For already-posted double-payments in the ledger, use Prompt 4.)

    Quick prompt:

    Scan this AP export for likely duplicate bills — same vendor with matching or near-matching amounts, invoice numbers, or dates — and list the suspected pairs for me to verify before I flag a double payment.

    Full workflow prompt:

    Here is my AP / vendor bills export (from Unpaid Bills, Bill list, or a transaction export) with columns: Vendor, Bill/Ref #, Bill Date, Due Date, Amount, and Status (open/paid) if available, as of <as-of date>. This prompt catches duplicates on open, unpaid bills before payment goes out; for already-posted double-payments in the ledger, see Prompt 4.

    Find suspected duplicate or double-entered bills. Group by vendor and flag likely duplicates where you see: identical amounts within a short date window, the same or near-identical Bill/Ref # (watch for a trailing letter, a leading zero, or a dash difference), or the same amount entered under slightly different vendor spellings.

    Output a table of suspected pairs/clusters: Vendor | Bill #(s) | Bill Date(s) | Amount(s) | Why flagged (match type) | Confidence (high/medium/low) | Action to verify. Sort highest confidence first.

    Critical warnings: recurring bills (rent, subscriptions, retainers) legitimately repeat at the same amount — do NOT assert these are duplicates; flag them as "recurring, likely legitimate — confirm." A duplicate flag is a lead for me to check against the actual bill and payment record, never a confirmed double-payment. Do not compute a "total overpaid" figure. Do not merge vendors or invent bills; only report what's in the data.

    14. Catch Missed Early-Payment Discounts

    Quick prompt:

    From this Unpaid Bills export, flag any open bills whose terms include an early-payment discount (like 2/10 net 30) where the discount window is still open or was recently missed, and estimate the discount amount with the math shown for me to confirm.

    Full workflow prompt:

    I'll paste my Unpaid Bills / AP Aging Detail export with Vendor, Bill #, Bill Date, Due Date, Terms (if present), and Amount, as of <as-of date>.

    Identify early-payment discount opportunities and misses. For each bill where Terms indicate a discount (e.g. 2/10 net 30, 1/15), determine from the Bill Date whether the discount window is: Still open (act now), Closing within 3 days, or Already missed.

    Output: Vendor | Bill # | Bill Date | Terms | Discount deadline | Window status | Bill Amount | Estimated discount (show the calc: rate × amount) | Priority. Put still-open, closing-soon windows at the top.

    Handle carefully: if the Terms column is blank or free-text, do NOT assume a discount exists — list those bills separately as "terms unknown, check vendor agreement." Show the arithmetic for every estimated discount (e.g. "2% × $4,000 = $80") and label it estimate to verify — don't present it as booked savings. Don't sum the discounts into a grand total. Don't fabricate terms that aren't in the data.

    15. Reconcile AR/AP Aging to the GL Control Accounts

    Quick prompt:

    I'll give you my AR Aging Summary total and my Balance Sheet Accounts Receivable balance for the same date. Compare the two, tell me if they tie, and if not, give me a checklist of what causes an AR-subledger-to-GL mismatch — don't guess the difference.

    Full workflow prompt:

    For the same as-of date <date>, I'll give you: (a) the total from my AR Aging Summary and (b) the Accounts Receivable balance from my Balance Sheet (and, in a second pass, the same pair for AP Aging Summary vs. Accounts Payable).

    Step 1: State the two figures back to me and tell me whether they match. If they differ, show the difference as a simple subtraction (A − B =), and label it as a reported variance to investigate, not a diagnosis.

    Step 2: Give me a prioritized reconciliation checklist of the usual reasons an aging report won't tie to its GL control account: journal entries posted directly to the AR/AP control account (bypassing invoices/bills), transactions dated outside the aging report's range, the aging run on a different basis (cash vs. accrual) than the balance sheet, unapplied payments or credits, and multi-currency revaluation.

    Rules: do NOT invent either balance — if I only give you one number, ask for the other. Do not attempt to "find" the reconciling items from a summary total; you don't have the detail. Every possible cause is a lead for me to check in the transaction detail. Keep the arithmetic to the single visible subtraction and flag it for my verification.

    16. Surface Unapplied Credits and Payments Sitting Idle

    Quick prompt:

    Scan this AR (and AP) detail for credit memos, unapplied payments, and negative open balances that are just sitting there, and list them by customer/vendor so I can apply or refund them. Don't net them against unrelated invoices yourself.

    Full workflow prompt:

    I'll provide an AR Aging Detail / Open Invoices export and/or an AP Aging Detail / Unpaid Bills export, with Customer or Vendor, Transaction Type (if present), Doc #, Date, and Open Balance, as of <as-of date>.

    Find unapplied credits and payments parked on accounts — money that should have been applied, refunded, or cleared but is still floating. Flag:

    • Negative open balances (credit memos, customer overpayments, vendor credits).
    • Payment or credit lines with no offsetting invoice/bill for that same customer/vendor.
    • Customers/vendors who have BOTH an open positive invoice/bill AND an open credit — a likely un-applied match.

    Output: Customer/Vendor | Doc Type | Doc # | Date | Open Balance | Situation (unapplied credit / overpayment / has offsetting open item) | Suggested action (apply / refund / investigate).

    Do NOT actually net or apply anything — where a customer has both a credit and an open invoice, present them side by side as a suggested match for me to confirm, because the credit may belong to a different job or period. Don't total the credits. Don't assume a negative balance is an error; some are legitimate deposits. Report only what's in the data.

    17. Check Vendor Terms and Map the Cash-Conversion Cycle

    Quick prompt:

    Compare each vendor's stated payment terms to the Bill-Date-to-Due-Date gap and how their open bills are aging against the due date in this AP export, and flag where the terms and the scheduled due dates don't line up. Note that this shows the planned timing, not the days I actually took to pay (that needs a paid-bills export). Then lay out the inputs I need to calculate my cash-conversion cycle, with the formula — don't compute DPO from guesses.

    Full workflow prompt:

    Two parts, using my AP Aging Detail / Unpaid Bills export (Vendor, Bill #, Bill Date, Due Date, Terms if present, Amount) as of <as-of date>.

    Part A — Terms vs. scheduled timing (planned, not realized): This is an open/unpaid AP export, so it cannot tell you the actual days you took to pay — that requires a paid-bills / bill-payments export. What it can show: for each vendor, compare the stated Terms (e.g. Net 30, Net 45) to the Bill-Date-to-Due-Date gap the bill was set up with, and to the current aging vs. the due date. Flag mismatches — a Due Date tighter or looser than the stated Terms imply, or bills already past their due date (late risk) or with lots of runway before due. Output: Vendor | Terms | Bill-to-Due gap (days) | Current status vs. due date (not yet due / due soon / past due) | Terms match? | Note. State plainly that any realized "days I'm taking to pay" figure needs the paid-bills export.

    Part B — Cash-conversion-cycle setup: Don't compute this from the aging alone. Instead, give me the cash-conversion cycle (CCC) worksheet: list the three components (DSO, DIO for inventory, DPO) and, for each, the exact inputs I must pull and from which report, plus the formula. Then give me the CCC formula (DSO + DIO − DPO) and the Excel formulas. Only interpret the result after I paste in my numbers.

    Rules: if Terms are missing, mark the vendor "terms unknown — confirm agreement" rather than assuming Net 30. Every days-taken figure and any DPO/CCC number is an estimate to verify against actual payment dates and source reports — show the inputs behind each. Don't fabricate terms, and don't produce a CCC number from data I haven't supplied.


    Part 5 — General ledger and month-end

    Manual-entry anomalies, after-hours postings, accrual consistency, and reclass candidates.

    18. Round-Dollar and Manual JE Anomaly Scan

    Already in your dashboard: neither platform screens the manual-JE population. QuickBooks' AI Anomaly Detection works at the account level, not the entry level. What this adds: entry-level plug and segregation-of-duties screening: who posted, direct income-statement posts that bypass AR/AP, and same-account reversals.

    Quick prompt:

    Here's my Journal report (manual entries only) for the month. Flag every entry that looks unusual — round-dollar amounts, entries to income-statement accounts posted directly, or entries with blank/vague memos — as review candidates, not confirmed errors. Don't re-total anything.

    Full workflow prompt:

    I'm screening the manual journal-entry population specifically — the entries most exposed to plugs and segregation-of-duties risk (who posted them, same-account reversals, direct posts to income-statement accounts that bypass the normal AR/AP flow). That focus is what sets this apart from a broad transaction scan. Load the Journal report (or GL detail) filtered to "Journal Entry" / manual entry type only, with columns: Entry No., Date, Created/Modified By, Account, Name, Memo/Description, Debit, Credit. For round-dollar and other anomalies across ordinary bills/checks/card charges (not manual JEs), use Prompt 8.

    Analyze each entry and flag it as a review candidate if it matches any of these patterns:

    • Round-dollar amounts ($500, $1,000, $2,500 exactly) — often estimates or plugs
    • Direct manual posts to revenue, COGS, or expense accounts (bypassing normal AR/AP flow)
    • Blank, one-word, or vague memos ("adjustment," "correction," "reclass," "per client")
    • Entries where debit and credit hit the same account family or look like a reversal
    • Any entry over a materiality threshold I will set — ask me for the threshold before finalizing; do not assume one

    Output a table with columns: Entry No. | Date | Account(s) | Amount | Anomaly Type | Why It's Flagged | Suggested Follow-Up Question for Preparer. Do NOT re-sum or re-foot anything — echo the Debit/Credit exactly as they appear in my file. Every flag is a candidate for human review, not a confirmed error. Do not invent entries, amounts, or account names that aren't in the data; if a field is blank, say "blank," don't guess.

    19. After-Hours and Weekend Entry Review

    Quick prompt:

    From this Journal report that includes Created Date/time and user, list every entry posted on a weekend, on a holiday, or outside business hours, and every back-dated entry (posting date earlier than created date). Present as review candidates with no re-calculation.

    Full workflow prompt:

    I want to review journal entries by when and how they were entered, not just amount. Load the Audit Log / Journal export with these columns: Entry No., Posting Date, Created (Entered) Timestamp, Last Modified Timestamp, User, Account, Amount, Memo. (In QuickBooks this is the Audit Log; in Xero, the Journal report plus History & Notes.)

    Flag as review candidates any entry where:

    • The created timestamp falls on a Saturday/Sunday, a US holiday, or outside 7am–7pm local
    • The posting date is materially earlier than the created date (back-dated into a prior period or an already-reviewed month) — ask me how many days earlier counts as back-dated before flagging (anchored to the close date I give you; e.g. any post dated before the close date, or more than N days before its created date), and don't assume a threshold
    • An entry was modified after the period close date I give you
    • The same user both created and later edited the amount

    Output columns: Entry No. | Posting Date | Created Timestamp | User | Account | Amount | Timing Flag | Suggested Follow-Up. Sort by most unusual timing first. Treat these as segregation-of-duties / timing review candidates — unusual timing is not proof of error. Do not compute totals or balances. Do not fabricate timestamps or users; if a timestamp is missing, mark it "not in export" rather than inferring one.

    20. Prepaid and Accrual Consistency Across Months

    Quick prompt:

    Compare my prepaid and accrual account activity across the last several months from this GL/Balance Sheet by month. Flag months where an expected amortization or accrual entry is missing, changed size unexpectedly, or the balance moved the wrong direction. Explain each flag; don't recompute schedules.

    Full workflow prompt:

    I'm checking that prepaids and accruals are being amortized/booked consistently. Load a Balance Sheet by Month (last 6–12 columns) plus the GL detail for each prepaid, accrued-expense, and accrued-liability account, with Date, Memo, Debit, Credit.

    This prompt is about schedules that are present but behaving inconsistently — not about an entry that's entirely absent this month. For each account, look across months and flag as review candidates:

    • An entry whose amount jumped or dropped materially vs. its usual monthly figure
    • A prepaid balance that increased in a month with no new prepayment memo, or an accrual that isn't reversing when it should
    • A prepaid that isn't amortizing (balance flat when it should be stepping down), or a movement in the wrong direction
    • A balance trending toward zero that suddenly reverses direction

    Output a table: Account | Month | Expected Pattern | What Happened | $ Difference vs. Typical | Flag Reason | Follow-Up. State whether you're assuming accrual-basis (confirm with me if unsure). Show the month-over-month figures you're comparing so I can tie them back to the GL — do not present a re-derived amortization schedule as authoritative; flag amounts for me to reconcile to the source detail. Note the materiality threshold I provide. Do not fabricate months or amounts not in the export.

    21. Reclassification Candidate Finder

    Quick prompt:

    Review this expense GL detail and flag transactions that look mis-coded — office supplies that are really equipment, meals coded to travel, contractor pay in the wrong account, capital items expensed. Give each as a reclass suggestion with reasoning, for my approval.

    Full workflow prompt:

    Scan my expense accounts for likely mis-classifications that carry a tax or capitalization consequence before I finalize the P&L — this is the tax-impact reclass pass, not a general coding sweep. Load the General Ledger detail for all expense (and relevant COGS/fixed-asset) accounts, with columns: Date, Payee/Name, Memo/Description, Account, Amount. (For the broad "vendor doesn't match its account" review with no specific tax angle, use Prompt 5.)

    Flag transactions that appear coded to the wrong account based on the payee and memo, such as:

    • Purchases that look like fixed assets (over my capitalization threshold — ask me for it) expensed to supplies/repairs
    • Meals/entertainment sitting in travel or office expense (different tax treatment)
    • Contractor/1099 payments in a generic expense account instead of contract labor
    • Personal-looking charges, owner expenses, or transfers coded as operating expense
    • Same vendor split inconsistently across multiple accounts month to month

    Output: Date | Payee | Amount | Current Account | Suggested Account | Reason | Tax/Reporting Impact | Confidence. These are reclass candidates for my review, not corrections to book — I confirm each against the underlying receipt/invoice. Do not guess when the payee/memo is uninformative; list those under "insufficient detail." Do not invent transactions, amounts, or vendor names. Do not total the accounts.


    Glossary

    Plain-English definitions for the terms used across these prompts.

    TermWhat it means
    Accrual vs. cash basisAccrual books revenue and expenses when they are earned or incurred. Cash basis books them when money actually moves. It changes what "current" and "cutoff" mean.
    Aging / aging bucketsHow long an invoice or bill has been outstanding, grouped into ranges like current, 1–30, 31–60, 61–90, and 90+ days.
    DSO (Days Sales Outstanding)The average number of days it takes to collect a receivable after a sale.
    DPO (Days Payable Outstanding)The average number of days you take to pay a supplier bill.
    Cash-conversion cycleHow long cash is tied up in operations, roughly DSO plus inventory days minus DPO.
    Contra accountAn account that normally carries the opposite balance to its type, such as Accumulated Depreciation or Allowance for Doubtful Accounts. A negative balance there is expected, not an error.
    CutoffWhether a transaction landed in the correct period. A December invoice for January work is a cutoff problem.
    Deferred revenueMoney collected before the work is delivered. It sits as a liability and turns into revenue over time.
    Flux / variance analysisComparing this period against a prior period or budget and explaining what drove each meaningful change.
    Materiality thresholdThe dollar or percentage size below which a difference isn't worth chasing. You set it.
    Concentration (Pareto, 80/20)How much of your revenue, spend, or receivables sits with a small handful of customers or vendors.
    Reclassification (reclass)Moving a transaction out of the wrong account and into the right one.
    Roll-forwardChecking that an account's beginning balance plus the period's activity equals its ending balance, and that the movement makes sense.
    Segregation of duties (SOD)Splitting who can enter, approve, and pay, so no single person controls a whole transaction.
    Suspense / clearing accountA holding spot for transactions you haven't coded yet. QuickBooks calls one of these "Ask My Accountant." It should be emptied before close.
    Unapplied credit or paymentA credit memo or payment sitting on an account without being matched to an invoice or bill.
    Undeposited FundsPayments you've received but not yet deposited to the bank. A balance here is normal until the deposit clears.
    Working capitalCurrent assets minus current liabilities. A rough read on short-term financial cushion.

    Where DocStreamAI fits

    We build document automation, not analysis, so most of this guide has nothing to do with our product and we would rather say that plainly than imply otherwise.

    The overlap is narrow and it is upstream. Several prompts above only work if the underlying ledger is complete and clean — the duplicate sweep in Prompt 4 finds re-keyed near-amounts, but it cannot find a bill that never got entered because the vendor emailed it to somebody's inbox in March. The cutoff check in Prompt 9 tests whether invoices landed in the right period, which assumes they landed at all. Prompt 21's reclass candidates are only as good as the coding they are reviewing.

    DocStreamAI handles that intake step: it captures invoices, receipts and credit memos out of email or upload, extracts them, and posts them to QuickBooks Online or Xero with the original file attached. If you are running these prompts and finding the answer is repeatedly "the data is missing or coded wrong," that is the gap we work on. If your books are already clean and you just want better review, the prompts stand on their own — use them and ignore us.


    Treat these like SOPs

    The accountants who get real leverage out of AI aren't the ones typing a fresh question every time. They save the prompts that work, tune them to their own chart of accounts and thresholds, and run the same ones every close. The point is to turn a good prompt into a repeatable procedure.

    A few habits that make these hold up in practice:

    • Feed real exports, not descriptions. Every one of these is stronger when you attach the actual CSV. The model reasons about your numbers instead of a generic business.
    • Set your thresholds once. Materiality, approval limits, capitalization floors, aging cutoffs. Fill in the brackets and the prompts become yours.
    • Keep the human on every number. The output is a worklist of leads and review candidates. The reconciliation, the reclass, the write-off, and the journal entry all stay with you. AI narrows where to look. It doesn't sign the return.
    • Anything numeric, verify to source. If a prompt hands you a computed figure, tie it back to the report before it leaves your desk. When the analysis has to be exact, push the math into Excel or code and let the model interpret the result.

    If you would rather have the set as a file you can keep next to your close checklist, the same 21 prompts are available as a free PDF, bundled with a QuickBooks skill for Claude.

    None of this replaces judgment. It gives you a faster start. The anomalies are already surfaced, the duplicates grouped, the reclass candidates lined up, so your time goes to deciding instead of hunting for what to look at.

    See DocStreamAI on your own documents

    Book a demo and we'll walk through how your invoices and receipts would be captured, extracted and posted to QuickBooks or Xero, using your setup rather than a sample file.

    Or start a free 14-day trial instead.