API Reference
Journal Entries
Journal entries are manual double-entry postings to the general ledger. Each posting has a memo, date, optional reference number, and balanced debit/credit lines that reference chart-of-accounts UUIDs.
Last updated 2026-06-21
Overview
The Journal Entries API lets your integration list, create, bulk-create, update, and delete manual journal postings in a workspace. Each posting must balance: every line carries exactly one of `amountDebit` or `amountCredit`, never both and never neither.
Partner mutation bodies use `accountUuid` on each line (the `id` from chart of accounts). System-generated entries from invoices, bills, payroll, and other integrations are read-only — update and delete return 400 for those sources.
Key concepts
Balanced lines
Each line requires `accountUuid` plus exactly one of `amountDebit` or `amountCredit`. The server validates that debits equal credits for the posting.
Account UUID resolution
Copy account UUIDs from chart of accounts (`id`, `accUuid`, or `accountUuid` fields — any UUID-shaped value from list accounts works). Do not pass numeric internal account ids.
Manual entries only
Only manually-created entries (and Square integration entries) can be updated or deleted. System-generated entries return 400.
Bulk partial success
Bulk create processes up to 100 postings independently. Response: `{ successCount, errorCount, results: [{ index, success, journalEntry? | error? }] }` with HTTP 201 even when some rows fail.
The journal entry line object
List and mutation responses return an array of lines sharing the same `journalLinkUuid`. Each line represents one debit or credit leg.
Attributes
iduuidLine identifier (UUID). Pass in the path to update or delete the posting group anchor line.
descriptionEntrystringPosting memo shared across all lines in the entry.
descriptionLinestringOptional per-line description.
datedatePosting date (ISO YYYY-MM-DD).
refNumberstringOptional reference number.
amountDebitstringDebit amount as a decimal string, or null when this line is a credit.
amountCreditstringCredit amount as a decimal string, or null when this line is a debit.
accountUuiduuidChart-of-accounts UUID for this line.
accountobjectEmbedded account summary when included on list responses.
journalLinkUuiduuidShared link id grouping all lines in the same posting.
createdAtdatetimeISO 8601 creation timestamp.
updatedAtdatetimeISO 8601 last update timestamp.
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"descriptionEntry": "Accrue March rent",
"descriptionLine": "Rent expense",
"date": "2026-03-01",
"refNumber": "JE-2026-003",
"amountDebit": "2500.00",
"amountCredit": null,
"accountUuid": "c8d9e0f1-a2b3-4567-cdef-789012345678",
"account": {
"id": "c8d9e0f1-a2b3-4567-cdef-789012345678",
"name": "Rent Expense",
"type": "Expenses"
},
"journalLinkUuid": "a9b8c7d6-e5f4-3210-abcd-ef9876543210",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-28T14:22:30.000Z"
}withCaution bypasses period checks
Pass `withCaution: true` on create (sparingly) to skip book-closeness checks. Manual entries can still fail when a line posts into a reconciled period for that account.Bulk performance
Bulk create resolves all account UUIDs in a single batched lookup across the whole batch — prefer bulk over repeated single creates for large imports (~25 postings per batch recommended).Update replaces all lines
PATCH sends the full replacement `lines` array with the same shape as create. Partial line patches are not supported.Related
Recent changes
Complete Partner API reference
Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.
Endpoints
/partners/journal-entriesReturns a paginated list of journal entry lines.
/partners/journal-entriesCreates a manual journal entry posting.
/partners/journal-entries/bulkCreates up to 100 journal entry postings in one request with partial-success semantics.
/partners/journal-entries/{uuid}Updates a manually-created journal entry by UUID.
/partners/journal-entries/{uuid}Deletes a journal entry posting by UUID.
