How It Works Features FAQ Blog Tools Pricing Log In Get Started Free
Product Update · March 2026

Journal Entry Import
for QuickBooks Online

We added Journal Entry import directly into RemitParse for Growth and Pro customers. Here's why we built it, why it matters, and how to use it.

Available on Growth & Pro

Remittance processing is what RemitParse was built around — parsing distributor deductions, coding them, and posting the full cash application to QuickBooks in one click. That core workflow is solid. But CPG finance teams spend time on a lot more than remittances.

Trade accruals. Spoilage reserves. Broker fee entries. Month-end adjustments. Period-close journal entries that someone has to get into QBO, one at a time, by hand. It's not glamorous work, and it eats time that should be going toward analysis.

We kept hearing about this from customers. The remittance workflow was saving them hours — but then they'd turn around and spend the saved time re-keying journal entries from spreadsheets into QuickBooks. We decided to fix that.

SPREADSHEET manual re-key QUICKBOOKS · NEW JE Account Debit Credit ⏱ 15–45 min per batch, error-prone VS REMITPARSE · JE IMPORT ✓ Upload · review · post in under 2 min
The old workflow vs. RemitParse Journal Entry Import

Why this is a gap in the market

QuickBooks Online has a native journal entry importer. Technically. It accepts a CSV, but the format is finicky, error messages are cryptic, and there's no preflight — you find out something went wrong after it's already in your books. The workaround most people use is SaasAnt or similar third-party tools, which work but add another subscription, another login, and another thing to manage.

The other category of solutions is full-blown ERP integrations — NetSuite, Sage, Dynamics. Those are built for companies 10x the size of most CPG brands, and they solve problems those brands don't have yet.

"There's a real gap between 'manually type it into QBO' and 'buy an enterprise integration.' CPG brands in the $2M–$30M range are stuck in that gap."

RemitParse already lives where CPG finance teams do their day-to-day accounting work. Adding journal entry import here — rather than as a standalone tool — means users don't have to context-switch. They're already in RemitParse managing their distributor accounting. The JE import is one more thing handled in the same place.

What makes this different

The key design decision was preflight validation with inline correction. Every other JE import tool we looked at follows the same pattern: upload, attempt import, get an error, go back to your file, fix it, re-upload. That loop can take 20 minutes if you have a complex entry with accounts that don't match exactly.

We built it differently. When you upload your file, RemitParse resolves every account name against your actual QuickBooks Chart of Accounts before anything is sent to QBO. Every vendor and customer entity name is looked up and validated. The balance is checked. All of this happens in a review modal — and if anything doesn't resolve, you can fix it directly in the modal without touching your spreadsheet.

Review Journal Entries 1 Journal Entry found — all lines resolved JE-001 1/31/2026 · Trade accrual ✓ Balanced ACCOUNT DEBIT CREDIT ENTITY LINE MEMO Expenses:Trade Spend ✓ Expenses:Trade Spend 5,000.00 Vendor: Distributor A ✓ Distributor A Q1 trade accrual Accounts Payable (A/P) ✓ Accounts Payable (A/P) 5,000.00 1 JE ready to post Cancel Post to QBO
The preflight review modal — every account and entity resolved before posting, with inline correction if anything doesn't match

The other thing we cared about was account matching. QuickBooks account names are inconsistent across the product — a P&L report might show "Trade Spend" while the Chart of Accounts shows "Expenses:Trade Spend." We fetch your actual COA via the QBO API and match against the canonical `FullyQualifiedName` — the same value QBO uses internally. You can also match by account number if your QBO setup uses them, which is usually faster for finance teams who think in account codes.

Who benefits from this

The users who will get the most out of this are CPG finance leads and controllers who are already using RemitParse for remittance processing and also own the period-close process. Specifically:

  • Trade spend accruals — you know roughly what you owe distributors for the period before the remittances arrive. Booking the accrual is a journal entry.
  • Spoilage and shortage reserves — standard JE work at month-end for brands with meaningful distributor deduction activity.
  • Broker fee entries — most CPG brands pay broker commissions and book them as JEs monthly.
  • Correction entries — when a remittance was miscoded and needs a reversing entry, this is faster than finding and editing the original transaction in QBO.
  • Intercompany and allocation entries — less common, but applicable for multi-entity CPG companies.
💡

A note on scope: This is a general-purpose JE import tool, not limited to distributor accounting. Any journal entry your finance team would otherwise type into QBO manually is a candidate. That said, it's not a replacement for your accounting software — it's a faster way to get structured entries into QBO without re-keying them.


How to use it: step-by-step

Journal Entry Import is available on Growth and Pro plans. You'll find it in your Account page under the QuickBooks Online section — it only appears when your QBO account is connected.

01

Download your Chart of Accounts reference

Before filling out the template, click My QBO Chart of Accounts. This downloads a CSV of every active account in your QBO company — including the exact FullyQualifiedName, account number, type, and sub-type. Use this as your lookup when filling out the Account Name column in your JE file. Account names need to match QBO exactly, and this gives you the right values without guessing.

02

Fill out the JE template

Click Download JE Template to get the CSV template. Each row is one line of a journal entry. The required columns are Date, Account Name, Debit, and Credit. All other columns are optional.

Use Journal No to group multiple rows into a single JE — rows sharing the same Journal No are posted as one entry. Leave it blank if you're importing a single JE. You can import multiple JEs in one file by using different Journal No values.

For Account Name, use the FullyQualifiedName from your COA download (e.g. Expenses:Trade Spend). Or, if your QBO company uses account numbers, fill in the Account No column instead — it takes priority.

For Entity Name and Entity Type, use the exact DisplayName from QBO and specify whether it's a Customer, Vendor, or Employee. Both columns are required together — if you fill one, fill both. Both are optional if you don't need entity tracking on the line.

03

Upload and review preflight

Click Upload JE CSV (or drag your Excel file — both .csv and .xlsx are supported). RemitParse immediately runs a preflight: it fetches your QBO accounts and entities, resolves every row, and opens a review modal showing the results.

Each line shows the account as a dropdown pre-selected to the resolved account, a green confirmation below it, and the entity resolution status. If anything doesn't resolve — wrong account name, vendor not found in QBO, unbalanced totals — it highlights in red.

You can fix errors directly in the modal. Select the correct account from the dropdown, update the entity name and hit Check to validate it against QBO, adjust amounts. The balance recalculates live. The Post button stays locked until everything resolves.

04

Post to QuickBooks

Once all lines are green and every JE is balanced, click Post JEs to QuickBooks. RemitParse sends each JE to QBO via the API — one API call per JE, in sequence. On success, a banner appears with a direct link to each posted Journal Entry in QuickBooks. If any JE fails (rare, but can happen if QBO returns an error), the others still post and the failure is reported clearly with the QBO error message.

✓ Posted 2 Journal Entries to QuickBooks JE-001 — View in QuickBooks → JE-002 — View in QuickBooks →
After posting — direct links to each Journal Entry in QuickBooks Online

A few things worth knowing

  • Entries must balance. Total debits must equal total credits within each JE group. The Post button will not unlock until they do. This is enforced both in the preflight check and validated again before the API call.
  • Excel files work too. Upload .xlsx files directly — you don't need to export to CSV first. The column structure is the same.
  • Account number wins. If you fill in both Account Name and Account No, the account number takes priority. If your QBO setup uses account codes, you can skip the FullyQualifiedName entirely.
  • Entity resolution blocks posting. If you enter an Entity Name and it can't be found in QBO, the line errors until you fix it. This is intentional — a mislinked entity creates reporting problems downstream.
  • Class and Location are optional. If your QBO company uses Class or Location tracking, include those column values exactly as they appear in QBO. They'll be applied to the JE line. If you don't use these dimensions, leave the columns blank.
  • QBO DocNumber is capped at 21 characters. If your Journal No is longer than 21 characters it gets truncated. Keep them short.

What's next

This is the first version. The core workflow — upload, review, fix inline, post — is solid. A few things we're thinking about for future iterations:

  • Saved JE templates for recurring entries (monthly accruals, broker fees) so you don't need to rebuild the file each period
  • Reversing JE support — post an entry dated one period and auto-generate the reversal for the next
  • Better entity search in the modal — type to search instead of free-text entry

If you run into something unexpected or have a use case we haven't thought of, reach out through the app. This feature exists because customers told us what they needed — that feedback loop matters.

Related guides

Ready to try it?

Journal Entry Import is live now for Growth and Pro customers. Find it in your Account page under QuickBooks Online.

Go to Account →