Business Central: Post General Journal Lines
Description
Section titled “Description”Posts general journal lines to Business Central over your Business Central connection, routed through PlaidCloud’s shared ERP write pipeline. The step takes a header table (one row per journal_id) and a lines table (one or more rows per journal_id), creates the lines inside an existing journal batch, and posts that batch. Validate Only builds and checks every journal without posting; an optional result table records the outcome.
Configuration
Section titled “Configuration”Connection
Section titled “Connection”- Business Central Connection — the Business Central connection to post through.
- Environment — the connection’s environment.
- Header Table — one row per
journal_id: the Business Central journal batch name your lines post into,document_number,posting_date, and a currency label. - Lines Table — one or more rows per
journal_id: a signedamount(positive for a debit, negative for a credit),account_idoraccount_number,account_type,description. - Result Table — output table id: one row per
journal_idwithjournal_id,external_id,internal_id,status,message. - Validate Only — checked by default. Preflight only; no ledger claim, no post. A step configuration that omits this field entirely — for example one authored through the REST API, MCP, or a workflow bundle import — also defaults to Validate Only rather than a live post.
- Continue On Error — checked by default. Keeps posting the remaining journals after one fails; unchecked stops the batch at the first failure.
How Posting Works
Section titled “How Posting Works”Business Central’s Microsoft.NAV.post bound action posts the whole journal batch, not just the lines this request created. Before calling it, PlaidCloud reads the batch back and refuses to post — recording an error, nothing posted — if it holds any line not stamped with this request’s document number. That guard prevents a stray line left behind by an earlier partial failure from being swept into the general ledger by an unrelated later post to the same batch.
Because generalLedgerEntries is read-only and posted-only, PlaidCloud verifies a successful post by looking for the document number there, not by re-reading the journal batch — a match against generalLedgerEntries is proof of an actual post, not just that lines were created.
Capability Limits
Section titled “Capability Limits”| Limitation | What it means |
|---|---|
| One write document type | Only General Journal Line posting is supported. Business Central’s draft-document flow (sales/purchase invoices, Draft → Posted) is not — the exact post action for that flow isn’t pinned down in Microsoft’s published documentation. |
| Existing batch only | This step never creates a journal batch. Create it in Business Central first, then point journal_id at it. |
| Concurrent same-batch posts | The idempotency guard is scoped by document number, not by journal batch — two different document numbers posted to the same batch at the same time aren’t guaranteed to serialize the way two calls with the same document number are. Avoid concurrent posts into one batch. |
Related
Section titled “Related”- Connect to Business Central — full walkthrough covering configuration, previewing, and posting
- Business Central REST Connector
- Business Central Steps
- Review ERP Post History