company_idstring required
fiscal_yearinteger nullable
fiscal_year_start_monthinteger required
base_currencystring required
opening_balance_account_numberstring required
accounting_solution'bexio' | 'abacus' | 'generic' required
The company's target accounting software, driving journal-entry export format.
Per-company manual choice (no provenance). generic (the default) emits a
clean canonical JSON; bexio/abacus select the matching export renderer.
vat_liableboolean nullable
settlement_method'effective' | 'net_tax_rate' | 'flat_tax_rate' | 'unknown' required
timing_basis'agreed' | 'collected' | 'unknown' required
filing_period_type'monthly' | 'quarterly' | 'semi_annual' | 'annual' | 'unknown' required
vat_period_startstring date nullable
vat_period_endstring date nullable
input_tax_correction_method'none' | 'three_pot'
How a company apportions input tax between its taxable and excluded sectors.
ZET-231. Art. 30 MWSTG (gemischte Verwendung) obliges a company with both taxable
and Art. 21 ausgenommene turnover to correct the input-tax deduction, declared in
Ziffer 415 Vorsteuerkorrekturen — not Ziffer 420, which is the Art. 33 Abs. 2
Vorsteuerkürzung for Nicht-Entgelte (Subventionen, Kur-/Tourismustaxen,
Entsorgungsbeiträge; Spenden are Art. 18 Abs. 2 lit. d and excluded).
three_pot is the 3-Topf-Methode (Art. 65-68 MWSTV): input tax attributable to
the taxable sector is deducted in full, the excluded sector not at all, and only the
residual pool is corrected by the agreed Umsatzschlüssel. A flat company-wide key
is the degenerate case with every input account in the residual pot.
none is an explicit Treuhänder statement that no correction applies. NULL (the
column is nullable) means never asked — the vat_liable idiom. The distinction
is load-bearing: the platform must be able to tell "we asked and the answer is no"
from "nobody ever asked".
input_tax_residual_non_deductible_bpsinteger nullable
input_tax_sector_mapobject
input_tax_correction_account_codestring nullable
vat_liability_fromstring date nullable
vat_liability_tostring date nullable
saldo_interval_authorisationstring nullable
accounting_instructionsstring nullable
autonomy_mode'off' | 'assist' | 'auto' required
How autonomously the AI accountant may post journal entries.
off (default) — never auto-post; every proposal needs a human action.
assist — shadow mode: the policy evaluates and records what it would
post, but posts nothing (trust-building). auto — auto-post events that
clear the autonomy policy (strong-evidence matches / high-confidence coding);
everything else falls back to human review.
autopost_min_confidencestring required
autopost_max_amount_centsinteger nullable
gl_settlement_enabledboolean required
recognition_boundary'fiscal_year' | 'month' required
The boundary an invoice's service period must cross before the AI proposes
a deferral (company_accounting_settings.recognition_boundary).
fiscal_year (default) — defer only when the Leistungszeitraum extends
beyond the posting fiscal year (Swiss SME practice: Abgrenzung at year-end).
month — defer whenever the period spans more than one calendar month
(monthly management reporting).
accrual_min_amount_centsinteger nullable
capitalization_enabledboolean
capitalization_min_amount_centsinteger nullable
active_accrual_account_codestring required
passive_accrual_account_codestring required
ar_revenue_default_account_codestring nullable
rounding_account_codestring nullable
autopost_guess_expense_accountboolean required
autopost_receipt_expense_account_codestring nullable
autopost_receipt_max_amount_centsinteger nullable
ar_writeoff_account_codestring nullable
ap_writeoff_account_codestring nullable
ar_dunning_enabledboolean required
ar_dunning_fee_income_account_codestring nullable
ar_default_due_daysinteger required
tax_rate_percentstring nullable
tax_expense_account_codestring required
tax_provision_account_codestring required
dividend_payable_account_codestring required
vst_payable_account_codestring required
retained_earnings_account_codestring required
statutory_reserve_account_codestring required
voluntary_reserve_account_codestring required
share_capital_centsinteger nullable
spot_rates_fromstring date nullable