Create Balance Sheet
Create a balance-sheet snapshot from structured figures (accountant) — ZET-159.
The figures-in sibling of the two existing snapshot creators — the accounting-document upload (analyzer-extracted) and POST .../balance-sheets/from-gl (Zeno-closed years) — for the established tenant whose prior years closed outside Zeno and who has no closing-balance-sheet document to upload: it takes the closing balances of fiscal_year (the year being closed, i.e. the opening target year − 1) as JSON lines, sourced from the predecessor system of record, and persists them through the same consent-aware lifecycle as the document path:
- first sheet for the fiscal year → inserted accepted (immediately usable by POST .../opening-entries for fiscal_year + 1) — if its Σdebit and Σcredit agree within 1 ct. An unbalanced first sheet is not accepted unseen: it lands proposed with a pending balances change set, exactly like a replacement below (ZCT-808);
- a different accepted sheet already exists → the new one lands proposed plus a pending balances change set — consent via POST .../change-sets/{set_id}/apply (find the set with GET .../change-sets); the response's status field tells you which branch you got;
- identical content (hash over number/amount/side) already accepted/proposed → idempotent: the existing snapshot is returned unchanged (still 201; equity_roles are not restamped onto it).
currency must equal the company base currency — 422 otherwise, because an accepted off-currency sheet would hold the FY's accepted slot and permanently 422 at opening-entry generation. equity_roles codes must appear among the submitted lines (422 otherwise) and are stamped only on a snapshot this call created. Deferred failures are the generator's: an (accepted) unbalanced sheet or needs_review lines are stored as sent (parity with the document path) and refused with 422 at POST .../opening-entries — clear review flags with PUT /balance-sheets/{snapshot_id}/lines.
founding=true (ZCT-843) stores a newly founded company's founding balance sheet instead: filed under the founding year itself, outside the consent lifecycle above (status founding; a new one replaces the previous one), and refused (422) unless it is the company's first year, dated inside it, balanced and fully reviewed, with no closing sheet for the year before. generate_opening_entries for that year then opens from it, on its date.
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/companies/{company_id}/balance-sheets
- 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.