StabisoDocs

REST API

Workflows

End-to-end walkthroughs of the Stabiso API: the exact requests and the answers, in the order a client makes them, with the business meaning of each step. They run from the same starting point, the demo organization (Demo AG CH01, Swiss, CHF; Demo GmbH DE01, German, EUR; January to August 2026 closed, September open), so you can follow them against a demo deployment or a local server (uv run erp seed-demo).

Every example on these pages is executed by CI (except the onboarding page, which says why) against that organization and must answer what the page shows, so what you read is what the API does. How that works, and how to add an example, is explained in the API documentation index. Start with getting started for the address, a key and the scopes, and with conventions for idempotency keys, ETag, errors and approvals.

Workflow What it covers
Post a journal entry and have it approved A person posts; an agent's entry waits for approval; four eyes between two people; idempotent retries; reversal
Change the approval policy Read the decision table with its ETag, replace it with If-Match, 412 on a stale version, the effect of a new rule, history and reset
Invoice a customer, send a QR-bill, receive the payment Customer, VAT-determined invoice, QR-bill (JSON and SVG), receipt, aging, voiding a draft with If-Match, XRechnung
Issue and send an invoice The invoice PDF in the customer's language with the Swiss QR-bill, the German ZUGFeRD / Factur-X hybrid, sending by e-mail (idempotent, with a sent log), and what is and is not verified
Customers and vendors A new vendor starts as a draft; activation by a second person; bank-detail changes wait for approval; payment blockers
Receive a vendor bill as an e-invoice Check an XRechnung, receive it as a draft bill, why a new vendor's bill waits for a second person, submit a bill of a known vendor
From a bill to a payment file Vendor bill, payment proposal with cash discount, payment run, pain.001 export
Purchase to pay: order, receipt, matching, variance, payment Purchase order approved by a second person, partial receipt, 3-way and 2-way matching, payment block, variance approval, tolerances, cancel
Import a bank statement and reconcile it camt.053 upload, automatic matching, manual match, posting fees, ignore and reopen
File a Swiss VAT return Compute the quarter, boxes and their lines, adjustments, the eCH-0217 file, finalise and settle
File German VAT and the Zusammenfassende Meldung UStVA by month, ZM, finalise
Register an asset, depreciate it, dispose of it Assets and tax books, depreciation run, deferred tax, disposal
Close a period Checklist, FX revaluation, close, a posting into a closed period, reopen
Reference data sources Which reference data the organization needs and whether it arrives
Onboard a new customer The platform operator provisions the organization, its first people sign in, the existing books are imported from CSV or Excel (customers, vendors, accounts, opening balances, open items; dry run, all or nothing, the clearing account at zero), the first invoice. Not run by CI (it needs a platform key): test_platform.py and test_imports.py run every step

Every page ends with links to the operations it uses in the generated reference.