reconciliation

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).

post/bank-entries/{entry_id}/manual-coding

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

entry_idstring required

Headers

authorizationstring nullable

Cookies

access_tokenstring nullable

Request body

descriptionstring nullable
posting_datestring date nullable
confirm_not_open_item_paymentboolean

Response

Successful Response

msgstring required
journal_entry_idstring required

Changes

No recorded changes to this operation across all 1 revision of this API.