Post a double-entry JournalEntry in QuickBooks Online via the API
domain: developer.intuit.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
QuickBooks OAuth refresh token rotation — the full failure-mode walkthrough related to developer.intuit.com, checked against official docs, with linked verified routes.
Steps
Authenticate with OAuth 2.0 and obtain an access token and realmId for the target company.
POST to https://quickbooks.api.intuit.com/v3/company/{realmId}/journalentry with a body containing a Line array where each element has JournalEntryLineDetail specifying PostingType (Debit or Credit), AccountRef, and Amount.
Ensure the sum of all Debit line amounts equals the sum of all Credit line amounts; the API enforces balanced entries.
Include a TxnDate field (YYYY-MM-DD) and optionally a DocNumber (memo reference) at the top level of the body.
Capture the returned Id and SyncToken from the response for future sparse updates or deletion.
To void a posted journal entry, issue a POST to the journalentry/{id} endpoint with the operation=void query parameter.
Known gotchas
AccountRef must reference accounts that exist in the company chart of accounts; passing a non-existent account Id returns a validation error.
Journal entries posted to accounts payable or accounts receivable typically require an EntityRef (vendor or customer); omitting it can cause posting failures.
QBO does not allow editing certain auto-generated journal entries (e.g., those created by inventory adjustments); attempting to update them returns an error.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?