Developers
Recipes

Bookkeeping

Documents, entries, headers, and accounts are different resources.

The mistake this page exists to prevent: treating a document, a header, and a sales invoice as the same object. They are three resources. Writes are the POST, PUT, and PATCH operations in the reference. Nothing on this page posts a journal for you.

Which read to call

You needCall
Vouchers for a businessDocuments - List GET /v1/business/{business_slug}/document/
One voucherDocument - Retrieve
Lines on that voucherEntries - List GET .../document/{document_id}/entry/
Journal headersHeaders - List GET /v1/business/{business_slug}/header/
Chart of accountsAccounts - List
An invoice you issuedSales Invoices - List, not the document list

document_id comes from the document list or create response. account_id comes from the account list. Do not swap them.

Writes

Document - Create and Account - Create take the bodies on those pages. Send Idempotency-Key on POST when a retry must not create a second resource. See Idempotency.

Locking, flagging, and attaching files are separate POSTs under /document/{document_id}/action/.... They are not fields on the create body. Read each reference page before you call it.

Creating a document does not create a sales invoice. Sending an invoice is Sales Invoice - Send.

On this page