Accounting Ledger API
The general ledger: cost of sales, stock value, postings, the trial balance and the accounting software it sends to.
The general ledger, and the other ledgers kept in step with it. Its ledgers are its own journal: the external books ledger apps connect, the merchant's settings and account map, and every journal planned from the postings with how the other ledger answered. Everything else is derived: it replays the inventory, purchasing, and fulfillment event logs and folds them into cost layers (per the SKU's costing method — fifo, fefo, special-batch, special-serial) and an append-only cost of sales ledger. Cost is captured when a purchase invoice is authorised; cost of sales is recognised when a dispatch is authorised; late invoices and landed costs post corrections, never rewrites. Beside the cost of sales ledger it keeps the general ledger: one balanced double-entry posting per fact that moved money — stock in, cost of sales, supplier invoices, sales invoices, payments, refunds — by account code, with a trial balance over any period.
- Base URL
https://accounting.getmanifold.io- Auth
- A bearer token on every call. See the quickstart.
- OpenAPI
- accounting-manager.openapi.json
ledger
The append-only cost of sales ledger, derived by replay.
- GET
/ledgerA page of ledger entries - GET
/ledger/cogsWhat the stock sold in a period cost - GET
/ledger/cogs/seriesA period's cost of goods sold as a chart reads it - GET
/ledger/unit-costsAverage unit cost of sales per SKU over the trailing days days - GET
/orders/{orderId}/costingsWhat the books hold of one sales order
postings
The general ledger: balanced double-entry postings derived from the journals.
- GET
/postingsA page of the general ledger - GET
/postings/trial-balanceEvery account's movement over [from - GET
/open-itemsThe monetary accounts' unsettled items
valuation
Inventory valuation from open cost layers.
- GET
/valuationThe whole account's stock at cost - GET
/valuation/{sku}Current cost layers and inventory value for a SKU
ledgers
The other ledgers kept in step with the general ledger, and what has reached them.
- GET
/ledgersThe organization's ledgers - GET
/ledgers/{ledgerId}One ledger, with its settings and account map - PUT
/ledgers/{ledgerId}Connect a set of books - POST
/ledgers/{ledgerId}/disconnectLet a ledger go, saying why - PUT
/ledgers/{ledgerId}/settingsChoose how the general ledger lands there - PUT
/ledgers/{ledgerId}/accountsSet the account map whole - PUT
/ledgers/{ledgerId}/lockReport the day the other books are locked through - POST
/ledgers/{ledgerId}/journals/planPlan what is unsent, the ledger's own app alone - GET
/ledgers/{ledgerId}/journalsThe ledger's journals - GET
/ledgers/{ledgerId}/journals/{journalId}One journal, as its plan fixed it and as it was answered - POST
/ledgers/{ledgerId}/journals/{journalId}/answerSay how the other ledger answered a journal - GET
/ledgers/{ledgerId}/reconciliationThe trial balance over the ledger's range beside what its journals not refused carry
books
The books' period lock: what was done on or before it stays final.
- GET
/books/lockThe books' period lock - PUT
/books/lockLock the books through lockedThrough - POST
/books/unlockMove Manifold's own lock back
events
Accounting's append-only event log: the ledgers it keeps in step.
- GET
/eventsReplay committed accounting events at-or-after since - GET
/events/headThe journal's position at a moment
replica
Operational visibility into the logical-replication read replica.