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 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp