reconciliation

Link Gl Journal Entry

Link a natively-posted GL journal entry to a bank movement (ZET-162).

The native-ledger sibling of link_journal (whose universe is the imported ERP journal_entry table): use this when the booking that accounts for the movement was posted in the app's own GL (create_gl_journal_entry, manual booking, etc.). The link is evidence, never settlement — nothing is posted or allocated from it; it makes the movement count as matched/booked in the reconciliation status, missing_journal and period completeness.

⚠️ It drains nothing, so it is not how an imported movement is booked: that movement is usually already parked in Suspense, i.e. on the bank account. Clear it with manual_code_entry or a journal entry against the suspense account — a second bank line books the money twice, and posting one is refused (409) since ZCT-805.

Any posted entry may be linked. Since ZCT-847 a link covers the movement (status, missing_journal) only when its booking touches a bank or the suspense account: a link to a payroll or invoice entry is kept but leaves the movement unmatched.

allocated_amount defaults to the smaller of the movement's still-uncovered remainder on this plane (covering links only) and the booking's own total — so the 1:1 case covers the movement in one call, while an aggregate booking smaller than the movement, or a second booking on an already-covered movement, defaults to an honest partial claim instead of double-counting. (The booking-total cap applies only when the booking's currency matches the movement's — debit_total_base is in the company's base currency, and a cross-currency min would strand a fully-paid foreign movement as partially matched forever.) Pass an explicit amount to override (it is taken verbatim, in the movement's currency; over-allocation stays visible). Partial allocations sum, and the movement stays partially_matched until covered. The same movement may carry several links, and one GL entry may be linked to several movements (an aggregate booking legitimately explains many); re-linking the same pair updates the existing link (200) instead of duplicating it — with allocated_amount omitted the existing allocation is kept, not re-defaulted.

422 when the GL entry does not exist in this company, is not posted (a draft is not yet a booking; a reversed entry no longer explains anything), or the movement is already fully covered on this plane and no explicit allocated_amount was given.

post/bank-entries/{entry_id}/gl-journal-entries

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}/gl-journal-entries
  • Auth: none declared

Path parameters

entry_idstring required

Headers

authorizationstring nullable

Cookies

access_tokenstring nullable

Request body

gl_journal_entry_idstring required

Response

Successful Response

msgstring required

Changes

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