Manual Code Entry
Book one bank movement by hand, straight from the entry (ZET-102 AC #3).
The fallback when no document exists: the caller supplies only the counter lines (account + amount + optional VAT code), and the service resolves the balancing leg — Suspense when the movement is already parked there, the bank account otherwise. Posts through the same path as the inferred coding, recording the surface it was booked from (a call made over MCP records origin=mcp, not human), so the movement is finalized and stays matched.
A line carrying vat_code is GROSS: it is split into a net counter line plus one VAT leg on that code's tax account, so the lines still total the movement and the booking reaches the MWST-Abrechnung. Do not also send an explicit line on that VAT account — that would declare the tax twice and is refused (422).
use_default_vat asks the server to pick the code for this movement's own posting date instead of naming one (mutually exclusive with vat_code, 422). It exists so a bulk clear-out can apply one treatment to many movements without applying one rate: the Swiss standard rate changed on 2024-01-01, and a caller that resolved the code itself would silently share it across a selection that straddles the boundary. Resolving to nothing is normal (not liable, a gross-booking method, or an ambiguous catalog) and simply books the line VAT-less.
No AR/AP control accounts here (422): this door cannot open or clear a receivable/payable, because it has no open item to tag and the subledger would silently diverge from the ledger. Link the movement to what it pays (/accounting-invoices or /gl-open-items) and settle it instead.
422 when the lines do not total the movement, no balancing account resolves, a line hits an AR/AP control or a bank account's own ledger account, or a VAT code is unusable/unpairable; 409 when the movement is already booked, matched to a document (the error names the unlink routes that detach the match), its bank account is not yet confirmed, or a line names another bank account that already holds the transfer.
409 conflict.bankEntryPaysOpenItem when the movement looks like the payment of an open item linked to no movement (same party; the same amount, or — for an item in another currency — the foreign amount the movement's text states; dated within 35 days): link it with link_gl_open_item and settle_entry instead. Send confirm_not_open_item_payment to book it anyway (any caller; the confirmation is recorded with the actor).
Request
- Base URL: https://app.zeno-works.ch (the document declares no server; this is the origin it was published from)
- URL: https://app.zeno-works.ch/bank-entries/{entry_id}/manual-coding
- Auth: none declared
Path parameters
Headers
Cookies
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.