QuickBooks Online Journal Entry Import Checker

QuickBooks Online rejects a journal entry import for one wrong account name, a sub-account without its parent, or an A/R line with no customer. Check the file against your own chart of accounts first and get an import-ready CSV.

QuickBooks Online Journal Entry Import Checker cover

What it checks

SituationCodeLevel
Debits don't equal credits for a Journal No.unbalanced_journalerror
Debit and credit on the same linedebit_and_credit_on_one_lineerror
Account not in your chart (with a did-you-mean)unknown_accounterror
Sub-account name that exists under several parentssubaccount_without_parenterror
A/R or A/P line with no Namear_ap_line_without_nameerror
Two or three dates inside one entryseveral_dates_in_one_journalerror
One Journal No. used for entries weeks apartjournal_no_reusedwarning
Name not in your customer/vendor list (--names)unknown_namewarning
Sub-account written without its parent (unique)account_parent_addedfixed
Case-only differenceaccount_case_fixedfixed
"6100 Rent Expense" style account-number prefixaccount_number_removedfixed
Negative debit or creditnegative_amount_movedfixed
$, commas or parentheses in amountsamount_reformattedfixed

Proven on a labeled example

examples/fernwood-october-close/ is a fictional bakery's October adjusting entries as an accountant might type them in a spreadsheet: 24 lines in 11 entries, checked against the bakery's account list and customer/vendor list, with 16 planted problems (a transposed accrual, a payroll tax line with both columns filled, "Prepaid Expense" for "Prepaid Expenses", "Supplies" that exists under two parents, a catering accrual to A/R with no customer, a reused JE number and more). expected.json labels what QuickBooks would reject and what can be fixed safely; the tests assert exactly that, in any row order, and that every entry in the import-ready file balances.

What you get

Outputs in out/: je_import_ready.csv (QuickBooks column names, one date format, plain amounts, safe fixes applied), issues.csv, report.md, summary.json. Exit 0 = ready to import; 1 = errors to fix first; 2 = an input problem (the message says which flag fixes it).

Real QuickBooks Online Journal Entry Import Checker report and passing tests from the labeled example

Quick start

./run_tests.sh
python3 -m qbojeimport --je examples/fernwood-october-close/october_adjusting_entries.csv \
  --accounts examples/fernwood-october-close/account_list.csv --names examples/fernwood-october-close/names.csv --out out/

Inputs

  • Journal entry CSV: Journal No., Journal Date, Account Name, Debits, Credits (or one signed Amount column), Description, Name, optional Class/Location. Map odd headers with --map account="GL Account".
  • Chart of accounts: QuickBooks Online > Reports > Account List > Export to CSV (Account and Type columns). Without it, account names aren't checked.
  • Optional customer/vendor list CSV (a Name column) to check the Name field.

Use it from your agent

  • Claude Code plugin: this folder is a plugin (.claude-plugin/plugin.json). Try it with claude --plugin-dir ./quickbooks-journal-entry-import-checker, or add the folder to your own plugin marketplace.
  • Skill only: copy skills/qbo-je-import/ into ~/.claude/skills/ (or your agent's skills folder) and keep this folder where the agent can run python3 -m qbojeimport.
  • No agent: the CLI works on its own; --help lists every flag.

Honest limits

  • It checks the file; it doesn't log in to QuickBooks or import anything.
  • QuickBooks Online only (Desktop IIF imports are different).
  • Account names are matched to the chart you export; if you add accounts later, export again.
  • It fixes only what is unambiguous (case, a unique parent, a number prefix, amount formatting, negative signs). Everything else is listed for you to decide.
  • Whether an entry is correct accounting is your call; this checks that QuickBooks will accept it. Not accounting advice.

Requirements

Python 3.9+ (tested on 3.10 and 3.13), no dependencies. Not affiliated with Intuit or QuickBooks.

Format and license

Zip, 18 KB, v1.0, 15 files. Use and modify it for yourself and for clients you serve; no resale or redistribution of the kit itself. Full terms in LICENSE.txt.

FAQ

QuickBooks Desktop?
No; Online only.
Does it log in to QuickBooks?
No; you export the account list and import the file yourself.
Does it change my numbers?
Only formatting and unambiguous fixes; everything else is listed for you.
How do I get the files?
Right after payment, Stripe’s confirmation page shows your download link.
Refunds?
Email hello@youraitools.co within 14 days if it doesn’t work and we can’t fix it.
Can I pay with crypto?
Yes. Pay the same price in USDC or USDT on Base, Ethereum, Arbitrum, Optimism, Polygon or Solana from the "Pay with crypto" button, with no account or KYC. We check the payment on-chain and show your download links as soon as it confirms.

Get QuickBooks Online Journal Entry Import Checker

Check a journal entry CSV before importing it into QuickBooks Online: unbalanced entries, rejected account names, A/R and A/P lines with no name. $12.

Save with a bundle

Pairs well with

Download$29

Rent Roll Analysis Skill

Rent roll analysis in one command: occupancy, loss-to-lease, delinquency, lease expirations and the data errors that break underwriting. $29, offline.

View Rent Roll Analysis Skill
Download$29

CAM Reconciliation Skill

CAM reconciliation for every tenant: pro-rata shares, gross-up, caps, admin fee, base-year stops, statements that foot. $29 once, offline.

View CAM Reconciliation Skill
Download$29

Bid Leveling Skill

Level subcontractor bids in one command: plug exclusions and gaps, flag thin allowances and outlier prices, check totals, rank. $29 once, offline.

View Bid Leveling Skill

Related