Tax-Ready Books Check — Instant Demo
See the check work before connecting anything: sample books are built in, seeded with the classic pre-filing landmines. Hit Run to watch it catch them, ship the Excel deliverable, then connect your own QuickBooks Online and run the same check on a real entity.
9 steps · shared by Klajdi · September 5, 2026
No data is shared in this template. It contains only the recipe — column names and SQL logic. When you run it, your data is processed in your own browser and never leaves your machine.
What data it expects
QBO_GeneralLedger.csv
account_number · VARCHARaccount_type · VARCHARaccount · VARCHARdate · DATEname · VARCHARmemo · VARCHARamount · DOUBLE
QBO_ProfitAndLoss_Month.csv
section · VARCHARaccount · VARCHAR<one column per month, YYYY-MM> · DOUBLE
QBO_TrialBalance.csv
account_number · VARCHARaccount · VARCHARtype · VARCHARdebit · DOUBLEcredit · DOUBLE
Connect QuickBooks Online or drop a CSV / Excel export with a similar layout — the AI adapts the workflow if your columns differ.
How it works — every step, readable
- 01Demo company — 2025 general ledgerfilters to the relevant rows
SELECT * FROM (VALUES ('6000', 'Expense', 'Rent', DATE '2025-01-01', 'Bayfront Properties LLC', '2025-01 rent', 2400.0), ('4000', 'Income', 'Sales', DATE '2025-01-08', 'Northgate Retail Center', 'Invoice 1011', 3296.04), ('6500', 'Expense', 'Utilities', DATE '2025-01-08', 'City Water & Sewer', 'Monthly service', 378.24), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-01-08', 'Blue Ridge Equipment Repair', 'Equipment service', 359.96), ('6400', 'Expense', 'Insurance', DATE '2025-01-10', 'Hartwell Insurance Group', 'Quarterly premium', 1860.0), ('4000', 'Income', 'Sales', DATE '2025-01-12', 'Kestrel Office Park', 'Invoice 1010', 2259.75), ('4000', 'Income', 'Sales', DATE '2025-01-15', 'Stonebridge Condos', 'Invoice 1012', 2513.87), ('6100', 'Expense', 'Payroll', DATE '2025-01-15', 'Gusto Payroll', 'Payroll run 1', 4936.55), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-01-17', 'Midwest Nursery Supply', 'Materials', 2313.72), ('6200', 'Expense', 'Office Supplies', DATE '2025-01-17', 'WebHost Pro', 'Supplies', 122.36), ('4100', 'Income', 'Service Revenue', DATE '2025-01-26', 'Lakeside Dental', 'Maintenance contract 2025-01', 2199.69), ('6100', 'Expense', 'Payroll', DATE '2025-01-28', 'Gusto Payroll', 'Payroll run 2', 5001.3), ('6000', 'Expense', 'Rent', DATE '2025-02-01', 'Bayfront Properties LLC', '2025-02 rent', 2400.0), ('4000', 'Income', 'Sales', DATE '2025-02-09', 'Northgate Retail Center', 'Invoice 1021', 2335.78), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-02-11', 'Midwest Nursery Supply', 'Materials', 2538.63), ('6500', 'Expense', 'Utilities', DATE '2025-02-11', 'City Water & Sewer', 'Monthly service', 414.91), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-02-11', 'Blue Ridge Equipment Repair', 'Equipment service', 378.49), ('6200', 'Expense', 'Office Supplies', DATE '2025-02-13', 'WebHost Pro', 'Supplies', 119.47), ('6100', 'Expense', 'Payroll', DATE '2025-02-15', 'Gusto Payroll', 'Payroll run 1', 4961.0), ('4000', 'Income', 'Sales', DATE '2025-02-18', 'Lakeside Dental', 'Invoice 1020', 2410.68), ('4000', 'Income', 'Sales', DATE '2025-02-20', 'Willow Creek Church', 'Invoice 1022', 2950.5), ('4100', 'Income', 'Service Revenue', DATE '2025-02-25', 'Willow Creek Church', 'Maintenance contract 2025-02', 2051.92), ('6100', 'Expense', 'Payroll', DATE '2025-02-27', 'Gusto Payroll', 'Payroll run 2', 5327.97), ('6000', 'Expense', 'Rent', DATE '2025-03-01', 'Bayfront Properties LLC', '2025-03 rent', 2400.0), ('6200', 'Expense', 'Office Supplies', DATE '2025-03-07', 'WebHost Pro', 'Supplies', 117.71), ('6500', 'Expense', 'Utilities', DATE '2025-03-08', 'DTE Energy', 'Monthly service', 458.5), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-03-14', 'Mowtown Small Engine', 'Equipment service', 435.63), ('6100', 'Expense', 'Payroll', DATE '2025-03-15', 'Gusto Payroll', 'Payroll run 1', 5261.31), ('4000', 'Income', 'Sales', DATE '2025-03-16', 'Stonebridge Condos', 'Invoice 1032', 4133.08), ('', 'Other Expense', 'Ask My Accountant', DATE '2025-03-17', 'TRANSFER', 'Zelle from owner - purpose unknown', 1250.0), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-03-18', 'GreenStone Materials', 'Materials', 2677.39), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-03-21', 'Midwest Nursery Supply', 'Restock', 1415.62), ('4000', 'Income', 'Sales', DATE '2025-03-24', 'Northgate Retail Center', 'Invoice 1030', 3709.69), ('4000', 'Income', 'Sales', DATE '2025-03-24', 'Maple Grove Apartments', 'Invoice 1031', 4369.87), ('4100', 'Income', 'Service Revenue', DATE '2025-03-27', 'Birchwood Estates', 'Maintenance contract 2025-03', 2297.89), ('6100', 'Expense', 'Payroll', DATE '2025-03-28', 'Gusto Payroll', 'Payroll run 2', 5224.71), ('6000', 'Expense', 'Rent', DATE '2025-04-01', 'Bayfront Properties LLC', '2025-04 rent', 2400.0), ('4000', 'Income', 'Sales', DATE '2025-04-07', 'Lakeside Dental', 'Invoice 1040', 4005.39), ('6400', 'Expense', 'Insurance', DATE '2025-04-10', 'Hartwell Insurance Group', 'Quarterly premium', 1860.0), ('6500', 'Expense', 'Utilities', DATE '2025-04-12', 'City Water & Sewer', 'Monthly service', 342.85), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-04-13', 'Blue Ridge Equipment Repair', 'Equipment service', 518.22), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-04-14', 'Blue Ridge Equipment Repair', 'Mower deck rebuild', 850.0), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-04-14', 'Blue Ridge Equipment Repair', 'Mower deck rebuild', 850.0), ('6100', 'Expense', 'Payroll', DATE '2025-04-15', 'Gusto Payroll', 'Payroll run 1', 5126.78), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-04-18', 'Midwest Nursery Supply', 'Materials', 2851.68), ('4000', 'Income', 'Sales', DATE '2025-04-19', 'Willow Creek Church', 'Invoice 1041', 3961.39), ('4100', 'Income', 'Service Revenue', DATE '2025-04-21', 'Northgate Retail Center', 'Maintenance contract 2025-04', 2861.65), ('6200', 'Expense', 'Office Supplies', DATE '2025-04-21', 'WebHost Pro', 'Supplies', 99.37), ('4000', 'Income', 'Sales', DATE '2025-04-23', 'Stonebridge Condos', 'Invoice 1042', 3983.9), ('6100', 'Expense', 'Payroll', DATE '2025-04-28', 'Gusto Payroll', 'Payroll run 2', 5385.57), ('6000', 'Expense', 'Rent', DATE '2025-05-01', 'Bayfront Properties LLC', '2025-05 rent', 2400.0), ('4000', 'Income', 'Sales', DATE '2025-05-03', 'Maple Grove Apartments', 'Invoice 1052', 4971.29), ('6500', 'Expense', 'Utilities', DATE '2025-05-08', 'City Water & Sewer', 'Monthly service', 352.04), ('6200', 'Expense', 'Office Supplies', DATE '2025-05-08', 'WebHost Pro', 'Supplies', 109.0), ('4000', 'Income', 'Sales', DATE '2025-05-10', 'Maple Grove Apartments', 'Invoice 1051', 5466.95), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-05-13', 'GreenStone Materials', 'Materials', 3553.67), ('6100', 'Expense', 'Payroll', DATE '2025-05-15', 'Gusto Payroll', 'Payroll run 1', 4981.17), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-05-16', 'Blue Ridge Equipment Repair', 'Equipment service', 352.43), ('4000', 'Income', 'Sales', DATE '2025-05-17', 'Willow Creek Church', 'Invoice 1050', 5405.65), ('4100', 'Income', 'Service Revenue', DATE '2025-05-22', 'Northgate Retail Center', 'Maintenance contract 2025-05', 3220.7), ('', 'Expense', 'Uncategorized Expense', DATE '2025-05-22', 'SQ *UNKNOWN', 'Bank feed auto-add', 312.4), ('6100', 'Expense', 'Payroll', DATE '2025-05-28', 'Gusto Payroll', 'Payroll run 2', 5304.72), ('6000', 'Expense', 'Rent', DATE '2025-06-01', 'Bayfront Properties LLC', '2025-06 rent', 2400.0), ('6200', 'Expense', 'Office Supplies', DATE '2025-06-05', 'WebHost Pro', 'Supplies', 130.79), ('6500', 'Expense', 'Utilities', DATE '2025-06-08', 'DTE Energy', 'Monthly service', 465.16), ('', 'Other Expense', 'Ask My Accountant', DATE '2025-06-09', 'CHECK 2214', 'No memo on check', -480.0), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-06-14', 'GreenStone Materials', 'Materials', 3845.46), ('6100', 'Expense', 'Payroll', DATE '2025-06-15', 'Gusto Payroll', 'Payroll run 1', 4958.23), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-06-17', 'Blue Ridge Equipment Repair', 'Equipment service', 383.17), ('4000', 'Income', 'Sales', DATE '2025-06-19', 'Stonebridge Condos', 'Invoice 1060', 5229.14), ('4000', 'Income', 'Sales', DATE '2025-06-19', 'Harborview HOA', 'Refund for June overbilling - posted backwards?', -450.0), ('4000', 'Income', 'Sales', DATE '2025-06-21', 'Willow Creek Church', 'Invoice 1061', 5189.93), ('4000', 'Income', 'Sales', DATE '2025-06-22', 'Harborview HOA', 'Invoice 1062', 5336.44), ('4100', 'Income', 'Service Revenue', DATE '2025-06-26', 'Northgate Retail Center', 'Maintenance contract 2025-06', 3613.62), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-06-26', 'Midwest Nursery Supply', 'Restock', 1401.23), ('6100', 'Expense', 'Payroll', DATE '2025-06-28', 'Gusto Payroll', 'Payroll run 2', 5383.4), ('6000', 'Expense', 'Rent', DATE '2025-07-01', 'Bayfront Properties LLC', '2025-07 rent', 2400.0), ('6200', 'Expense', 'Office Supplies', DATE '2025-07-02', 'WebHost Pro', 'Annual hosting', 119.99), ('6200', 'Expense', 'Office Supplies', DATE '2025-07-02', 'WebHost Pro', 'Annual hosting', 119.99), ('4000', 'Income', 'Sales', DATE '2025-07-08', 'Kestrel Office Park', 'Invoice 1071', 4704.69), ('6400', 'Expense', 'Insurance', DATE '2025-07-10', 'Hartwell Insurance Group', 'Quarterly premium', 1860.0), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-07-11', 'TurfPro Wholesale', 'Materials', 4161.64), ('6500', 'Expense', 'Utilities', DATE '2025-07-12', 'DTE Energy', 'Monthly service', 443.48), ('6100', 'Expense', 'Payroll', DATE '2025-07-15', 'Gusto Payroll', 'Payroll run 1', 5002.54), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-07-21', 'Mowtown Small Engine', 'Equipment service', 389.03), ('4100', 'Income', 'Service Revenue', DATE '2025-07-23', 'Maple Grove Apartments', 'Maintenance contract 2025-07', 3591.98), ('6200', 'Expense', 'Office Supplies', DATE '2025-07-23', 'WebHost Pro', 'Supplies', 138.62), ('4000', 'Income', 'Sales', DATE '2025-07-25', 'Maple Grove Apartments', 'Invoice 1070', 5587.63), ('4000', 'Income', 'Sales', DATE '2025-07-25', 'Birchwood Estates', 'Invoice 1072', 4758.12), ('6100', 'Expense', 'Payroll', DATE '2025-07-28', 'Gusto Payroll', 'Payroll run 2', 5248.22), ('6000', 'Expense', 'Rent', DATE '2025-08-01', 'Bayfront Properties LLC', '2025-08 rent', 2400.0), ('6200', 'Expense', 'Office Supplies', DATE '2025-08-07', 'Staples', 'Supplies', 174.78), ('4000', 'Income', 'Sales', DATE '2025-08-09', 'Lakeside Dental', 'Invoice 1081', 5263.66), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-08-11', 'GreenStone Materials', 'Materials', 4009.53), ('6500', 'Expense', 'Utilities', DATE '2025-08-11', 'DTE Energy', 'Monthly service', 380.7), ('4000', 'Income', 'Sales', DATE '2025-08-14', 'Northgate Retail Center', 'Invoice 1080', 4885.88), ('6100', 'Expense', 'Payroll', DATE '2025-08-15', 'Gusto Payroll', 'Payroll run 1', 5142.12), ('4000', 'Income', 'Sales', DATE '2025-08-19', 'Stonebridge Condos', 'Invoice 1082', 5447.27), ('4100', 'Income', 'Service Revenue', DATE '2025-08-20', 'Stonebridge Condos', 'Maintenance contract 2025-08', 3769.11), ('6200', 'Expense', 'Office Supplies', DATE '2025-08-21', 'Staples', 'Return - vendor credit or misposting?', -89.99), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-08-22', 'Blue Ridge Equipment Repair', 'Equipment service', 353.34), ('6100', 'Expense', 'Payroll', DATE '2025-08-28', 'Gusto Payroll', 'Payroll run 2', 5071.14), ('', 'Expense', 'Uncategorized Expense', DATE '2025-08-30', 'PAYPAL *MISC', 'Bank feed auto-add', 96.75), ('6000', 'Expense', 'Rent', DATE '2025-09-01', 'Bayfront Properties LLC', '2025-09 rent', 2400.0), ('4000', 'Income', 'Sales', DATE '2025-09-06', 'Northgate Retail Center', 'Invoice 1090', 3656.89), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-09-08', 'Mowtown Small Engine', 'Equipment service', 468.83), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-09-10', 'GreenStone Materials', 'Materials', 2744.32), ('6500', 'Expense', 'Utilities', DATE '2025-09-12', 'DTE Energy', 'Monthly service', 427.33), ('6200', 'Expense', 'Office Supplies', DATE '2025-09-13', 'WebHost Pro', 'Supplies', 142.68), ('4000', 'Income', 'Sales', DATE '2025-09-14', 'Birchwood Estates', 'Invoice 1092', 4105.87), ('6100', 'Expense', 'Payroll', DATE '2025-09-15', 'Gusto Payroll', 'Payroll run 1', 5051.87), ('4100', 'Income', 'Service Revenue', DATE '2025-09-21', 'Birchwood Estates', 'Maintenance contract 2025-09', 2260.28), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-09-21', 'GreenStone Materials', 'Restock', 1339.6), ('4000', 'Income', 'Sales', DATE '2025-09-26', 'Birchwood Estates', 'Invoice 1091', 4067.4), ('6100', 'Expense', 'Payroll', DATE '2025-09-28', 'Gusto Payroll', 'Payroll run 2', 5292.53), ('', 'Other Expense', 'Ask My Accountant', DATE '2025-09-28', 'AMEX POINTS ADJ', 'Card rewards - where does this go?', 2210.55), ('4100', 'Income', 'Service Revenue', DATE '2025-09-30', 'Lakeside Dental', 'Contract credit - check the sign', -975.0), ('6000', 'Expense', 'Rent', DATE '2025-10-01', 'Bayfront Properties LLC', '2025-10 rent', 2400.0), ('6200', 'Expense', 'Office Supplies', DATE '2025-10-02', 'Staples', 'Supplies', 98.9), ('4000', 'Income', 'Sales', DATE '2025-10-06', 'Willow Creek Church', 'Invoice 1101', 3701.05), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-10-09', 'TurfPro Wholesale', 'Materials', 3071.87), ('6500', 'Expense', 'Utilities', DATE '2025-10-10', 'DTE Energy', 'Monthly service', 382.69), ('6400', 'Expense', 'Insurance', DATE '2025-10-10', 'Hartwell Insurance Group', 'Quarterly premium', 1860.0), ('4000', 'Income', 'Sales', DATE '2025-10-14', 'Northgate Retail Center', 'Invoice 1102', 3753.33), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-10-14', 'Mowtown Small Engine', 'Equipment service', 697.02), ('6100', 'Expense', 'Payroll', DATE '2025-10-15', 'Gusto Payroll', 'Payroll run 1', 5148.59), ('4100', 'Income', 'Service Revenue', DATE '2025-10-19', 'Lakeside Dental', 'Maintenance contract 2025-10', 2603.77), ('4000', 'Income', 'Sales', DATE '2025-10-20', 'Willow Creek Church', 'Invoice 1100', 3252.71), ('6100', 'Expense', 'Payroll', DATE '2025-10-28', 'Gusto Payroll', 'Payroll run 2', 5156.93), ('6000', 'Expense', 'Rent', DATE '2025-11-01', 'Bayfront Properties LLC', 'November rent', 2400.0), ('4000', 'Income', 'Sales', DATE '2025-11-05', 'Harborview HOA', 'Invoice 1141', 4200.0), ('6000', 'Expense', 'Rent', DATE '2025-12-01', 'Bayfront Properties LLC', '2025-12 rent', 2400.0), ('6500', 'Expense', 'Utilities', DATE '2025-12-09', 'City Water & Sewer', 'Monthly service', 350.79), ('6200', 'Expense', 'Office Supplies', DATE '2025-12-10', 'OfficeMax', 'Supplies', 128.98), ('4000', 'Income', 'Sales', DATE '2025-12-11', 'Northgate Retail Center', 'Invoice 1120', 3102.04), ('6100', 'Expense', 'Payroll', DATE '2025-12-15', 'Gusto Payroll', 'Payroll run 1', 5227.69), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-12-17', 'GreenStone Materials', 'Materials', 2492.41), ('4000', 'Income', 'Sales', DATE '2025-12-20', 'Northgate Retail Center', 'Invoice 1121', 3178.0), ('4100', 'Income', 'Service Revenue', DATE '2025-12-20', 'Kestrel Office Park', 'Maintenance contract 2025-12', 1707.82), ('6300', 'Expense', 'Repairs & Maintenance', DATE '2025-12-20', 'Blue Ridge Equipment Repair', 'Equipment service', 615.61), ('5000', 'Cost of Goods Sold', 'Cost of Goods Sold', DATE '2025-12-22', 'GreenStone Materials', 'Restock', 1615.59), ('4000', 'Income', 'Sales', DATE '2025-12-24', 'Maple Grove Apartments', 'Invoice 1122', 2963.09), ('6100', 'Expense', 'Payroll', DATE '2025-12-28', 'Gusto Payroll', 'Payroll run 2', 5266.53) ) AS gl(account_number, account_type, account, date, name, memo, amount) - 02Demo company — 2025 P&L sections
SELECT * FROM (VALUES ('Income', 'Sales', 8069.66, 7696.96, 12212.64, 11950.68, 15843.89, 15305.51, 15050.44, 15596.81, 11830.16, 10707.09, 4200.0, 9243.13), ('Income', 'Service Revenue', 2199.69, 2051.92, 2297.89, 2861.65, 3220.7, 3613.62, 3591.98, 3769.11, 1285.28, 2603.77, 0, 1707.82), ('Cost of Goods Sold', 'Cost of Goods Sold', 2313.72, 2538.63, 4093.01, 2851.68, 3553.67, 5246.69, 4161.64, 4009.53, 4083.92, 3071.87, 0, 4108.0), ('Expenses', 'Rent', 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0, 2400.0), ('Expenses', 'Payroll', 9937.85, 10288.97, 10486.02, 10512.35, 10285.89, 10341.63, 10250.76, 10213.26, 10344.4, 10305.52, 0, 10494.22), ('Expenses', 'Office Supplies', 122.36, 119.47, 117.71, 99.37, 109.0, 130.79, 378.6, 84.79, 142.68, 98.9, 0, 128.98), ('Expenses', 'Repairs & Maintenance', 359.96, 378.49, 435.63, 2218.22, 352.43, 383.17, 389.03, 353.34, 468.83, 697.02, 0, 615.61), ('Expenses', 'Insurance', 1860.0, 0, 0, 1860.0, 0, 0, 1860.0, 0, 0, 1860.0, 0, 0), ('Expenses', 'Utilities', 378.24, 414.91, 458.5, 342.85, 352.04, 465.16, 443.48, 380.7, 427.33, 382.69, 0, 350.79) ) AS pl(section, account, "2025-01", "2025-02", "2025-03", "2025-04", "2025-05", "2025-06", "2025-07", "2025-08", "2025-09", "2025-10", "2025-11", "2025-12") - 03Demo company — 2025 trial balance
SELECT * FROM (VALUES ('1000', 'Chase Checking', 'BS', 24180.44, 0), ('1100', 'Accounts Receivable', 'BS', 8905.0, 0), ('1500', 'Machinery & Equipment', 'BS', 45000.0, 0), ('1510', 'Accumulated Depreciation', 'BS', 0, 12500.0), ('2000', 'Accounts Payable', 'BS', 0, 6240.18), ('2100', 'Visa Business Card', 'BS', 0, 2914.77), ('2500', 'Equipment Loan', 'BS', 0, 28000.0), ('3000', 'Owner''s Equity', 'BS', 0, 52224.09), ('3900', 'Retained Earnings', 'BS', 0, 15000.0), ('4000', 'Sales', 'IS', 0, 137706.97), ('4100', 'Service Revenue', 'IS', 0, 29203.43), ('5000', 'Cost of Goods Sold', 'IS', 40032.36, 0), ('6000', 'Rent', 'IS', 28800.0, 0), ('6100', 'Payroll', 'IS', 113460.87, 0), ('6200', 'Office Supplies', 'IS', 1532.65, 0), ('6300', 'Repairs & Maintenance', 'IS', 6651.73, 0), ('6400', 'Insurance', 'IS', 7440.0, 0), ('6500', 'Utilities', 'IS', 4396.69, 0), ('', 'Ask My Accountant', 'IS', 2980.55, 0), ('', 'Uncategorized Expense', 'IS', 409.15, 0) ) AS tb(account_number, account, type, debit, credit) - 04Check 1 - Parked & uncategorized balancesaggregates rows into summary totals · filters to the relevant rows · sorts the output
SELECT account, COUNT(*) AS transactions, ROUND(SUM(amount), 2) AS total_amount, MIN(date) AS first_seen, MAX(date) AS last_seen FROM input_1 WHERE TRY_CAST(date AS DATE) IS NOT NULL AND ( account ILIKE '%uncategor%' OR account ILIKE '%ask my account%' OR account ILIKE '%suspense%' OR account ILIKE '%miscellan%' OR account ILIKE '%opening balance%') GROUP BY account ORDER BY ABS(SUM(amount)) DESC - 05Check 2 - Duplicate-looking entriesaggregates rows into summary totals · filters to the relevant rows · sorts the output
SELECT account, date, name AS payee, amount, COUNT(*) AS times_recorded, ROUND(SUM(amount), 2) AS combined_total FROM input_1 WHERE TRY_CAST(date AS DATE) IS NOT NULL AND amount <> 0 GROUP BY account, date, name, amount HAVING COUNT(*) > 1 ORDER BY ABS(SUM(amount)) DESC - 06Check 3 - Wrong-sign amountscombines data from multiple inputs · buckets values by condition · filters to the relevant rows
WITH sections AS (SELECT DISTINCT section, account FROM input_2) SELECT g.account, s.section, g.date, g.name AS payee, g.amount, CASE WHEN s.section ILIKE 'income%' THEN 'Negative amount on an income account - customer refund or misposting?' ELSE 'Negative amount on an expense account - vendor credit or misposting?' END AS why_flagged FROM input_1 g JOIN sections s ON s.account = g.account WHERE g.amount < 0 AND ( s.section ILIKE 'income%' OR s.section ILIKE 'expense%' OR s.section ILIKE 'cost of goods%' OR s.section ILIKE 'other expense%') ORDER BY g.amount ASC - 07Check 4 - Month-by-month coverageaggregates rows into summary totals · buckets values by condition · filters to the relevant rows
WITH m AS ( SELECT STRFTIME(TRY_CAST(date AS DATE), '%Y-%m') AS month, COUNT(*) AS transactions, ROUND(SUM(ABS(amount)), 0) AS total_activity FROM input_1 WHERE TRY_CAST(date AS DATE) IS NOT NULL GROUP BY 1), med AS (SELECT MEDIAN(transactions) AS typical FROM m) SELECT m.month, m.transactions, m.total_activity, CASE WHEN m.transactions < 0.25 * (SELECT typical FROM med) THEN 'LOW - was this month fully entered and reconciled?' ELSE 'OK' END AS coverage_check FROM m ORDER BY m.month - 08Check 5 - Trial balance ties to zerocomputes running / windowed totals · appends result sets (e.g. a TOTAL row) · sorts the output
SELECT account_number, account, type, debit, credit FROM ( SELECT 1 AS ord, ROW_NUMBER() OVER () AS rn, CAST(account_number AS VARCHAR) AS account_number, account, type, ROUND(COALESCE(debit, 0), 2) AS debit, ROUND(COALESCE(credit, 0), 2) AS credit FROM input_1 UNION ALL SELECT 2, 0, '', 'TOTAL', '', ROUND(SUM(COALESCE(debit, 0)), 2), ROUND(SUM(COALESCE(credit, 0)), 2) FROM input_1 UNION ALL SELECT 3, 0, '', 'DIFFERENCE (must be 0.00)', '', ROUND(SUM(COALESCE(debit, 0)) - SUM(COALESCE(credit, 0)), 2), 0.00 FROM input_1 ) t ORDER BY t.ord, t.rn - 09PUNCH LIST - fix these, then filebuckets values by condition · appends result sets (e.g. a TOTAL row) · filters to the relevant rows
SELECT ord, area, finding, next_step FROM ( SELECT 1 AS ord, 'COVERAGE' AS area, 'Books cover ' || (SELECT COUNT(*) FROM input_4) || ' of 12 months of 2025' AS finding, CASE WHEN (SELECT COUNT(*) FROM input_4) < 12 THEN 'Missing months block filing - enter and reconcile them first' ELSE 'All 12 months present' END AS next_step UNION ALL SELECT 2, 'PARKED BALANCES', (SELECT COUNT(*) FROM input_1) || ' uncategorized/suspense account(s) holding $' || COALESCE((SELECT ROUND(SUM(ABS(total_amount)), 0) FROM input_1), 0), CASE WHEN (SELECT COUNT(*) FROM input_1) > 0 THEN 'Recategorize every parked transaction before the preparer sees the books' ELSE 'Clean - nothing parked' END UNION ALL SELECT 3, 'DUPLICATES', (SELECT COUNT(*) FROM input_2) || ' duplicate-looking entries (same date, payee, amount)', CASE WHEN (SELECT COUNT(*) FROM input_2) > 0 THEN 'Review each - delete true duplicates, document the rest' ELSE 'None found' END UNION ALL SELECT 4, 'WRONG-SIGN AMOUNTS', (SELECT COUNT(*) FROM input_3) || ' negative amounts on income/expense accounts', CASE WHEN (SELECT COUNT(*) FROM input_3) > 0 THEN 'Confirm each is a real refund/credit - repost any mispostings' ELSE 'None found' END UNION ALL SELECT 5, 'UNDER-ENTERED MONTHS', (SELECT COUNT(*) FROM input_4 WHERE coverage_check LIKE 'LOW%') || ' month(s) with unusually low activity', CASE WHEN (SELECT COUNT(*) FROM input_4 WHERE coverage_check LIKE 'LOW%') > 0 THEN 'Check bank feeds and reconciliations for those months' ELSE 'Activity looks consistent' END UNION ALL SELECT 6, 'TRIAL BALANCE', 'Debits vs credits differ by $' || COALESCE((SELECT ABS(debit) FROM input_5 WHERE account LIKE 'DIFFERENCE%'), 0) || ' (YTD through Dec 2025)', CASE WHEN COALESCE((SELECT ABS(debit) FROM input_5 WHERE account LIKE 'DIFFERENCE%'), 0) > 0.005 THEN 'Books do not balance - resolve before anything else' ELSE 'Ties to zero - the handoff artifact is clean' END UNION ALL SELECT 7, 'VERDICT', CASE WHEN (SELECT COUNT(*) FROM input_1) + (SELECT COUNT(*) FROM input_2) + (SELECT COUNT(*) FROM input_3) + (SELECT COUNT(*) FROM input_4 WHERE coverage_check LIKE 'LOW%') + CASE WHEN (SELECT COUNT(*) FROM input_4) < 12 THEN 1 ELSE 0 END + CASE WHEN COALESCE((SELECT ABS(debit) FROM input_5 WHERE account LIKE 'DIFFERENCE%'), 0) > 0.005 THEN 1 ELSE 0 END = 0 THEN 'READY - these books look tax-ready. Export and hand off.' ELSE 'NOT YET - clear the items above before a clean handoff to the tax preparer.' END, 'Fix in QuickBooks, then rerun this check in one click' ) ORDER BY ord
Run this on your books
Free to try — no sign-up, no card. The workflow runs in your browser; your data never leaves your machine.
Make it your own →