---
title: "File Change Set As Interim"
method: POST
path: "/companies/{company_id}/change-sets/{set_id}/interim"
tags: ["accounting-settings"]
---

# File Change Set As Interim

`POST /companies/{company_id}/change-sets/{set_id}/interim`

## 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}/change-sets/{set_id}/interim`
- Auth: none declared

File a held balance sheet as an INTERIM sheet (accountant) — ZET-395.

A balance sheet uploaded as a document that is dated BEFORE the end of its fiscal year
(in any year) is not accepted as that year's closing sheet unseen: it is held as a
pending ``balances`` change set whose ``summary.interim_question`` is true, and the
caller answers "interim sheet (Zwischenbilanz) or the year's closing sheet?":

* **closing sheet** → ``POST .../change-sets/{set_id}/apply`` (the ordinary consent);
* **interim sheet** → this call: the sheet is kept (status ``superseded``, still listed,
  ``totals.interim: true``) and never becomes that year's closing sheet — the next
  opening, staleness and the consent lifecycle read only accepted/proposed sheets — and
  the change set is discarded with ``summary.answer: "interim"``.

(A sheet in a company's FIRST year, before its opening is posted, asks "founding or
closing?" instead — ``summary.founding_question``, answered by ``.../founding``; this call
also answers that set, e.g. once the year has been opened; any other held set is refused.)
A sheet cannot be the closing sheet while a later-dated sheet of its year exists: one dated
before the year's accepted or held sheet is filed as interim at once, and a waiting
question is answered "interim" when a later-dated sheet is accepted or held.
``apply-all`` never answers either question. 422 ``invalid.interimBalanceSheet`` when the
set holds no balance sheet or its sheet is dated on the year-end; 409 when the set is no
longer pending.

## Path parameters

- `company_id` string, required
- `set_id` string, required

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- BalanceSheetSnapshotOut: An immutable balance-sheet snapshot for a ``(company, fiscal_year)`` + its lines.
  - `id` string, required
  - `company_id` string, required
  - `fiscal_year` integer, required
  - `as_of_date` string, date, nullable
  - `currency` string, required
  - `status` 'accepted' | 'proposed' | 'superseded' | 'founding', required: Lifecycle of a balance-sheet snapshot. ``accepted`` is the single live snapshot per (company, fiscal_year); ``proposed`` is a consent-gated replacement awaiting the user's decision; ``superseded`` is a retired snapshot (replaced by a newer accepted one, or a discarded proposal). ``founding`` (ZCT-843) is a different KIND of sheet, not a lifecycle stage of a closing sheet: the founding balance sheet (Gründungsbilanz) a newly founded company's FIRST fiscal year opens from, filed under that year. It is deliberately a status value: every reader of "the accepted sheet of year N" — the consent lifecycle, the one-accepted-per-year index, the next year's opening, reconciliation, staleness — filters ``accepted``/``proposed``, so none of them can ever take a founding sheet for a closing one. At most one is live per company; a replacement marks it ``superseded``.
  - `source` string, required
  - `source_document_id` string, nullable
  - `totals` object
  - `snapshot_hash` string, required
  - `created_at` string, date-time, required
  - `superseded_at` string, date-time, nullable
  - `resolution_json` object, nullable
  - `equity_roles` object, nullable
  - `lines` BalanceSheetLineOut[]
    - `id` string, required
    - `snapshot_id` string, required
    - `account_number` string, required
    - `account_name` string, nullable
    - `category` 'asset' | 'liability' | 'equity' | 'income' | 'expense' | 'tax' | 'other' | 'unknown', required: The account-type axis of a ledger account (Swiss-KMU chart of accounts). Distinct from — but derived from — ``LineRole`` (the journal-line semantic role). ``unknown`` is the conservative default when classification can't decide; ``other`` covers genuinely ambiguous / closing (9xxx) accounts.
    - `amount_cents` integer, required
    - `sign_display` string, nullable
    - `side` 'credit' | 'debit', required
    - `is_contra` boolean
    - `needs_review` boolean, required
    - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
