Kanzlei Software-format export
Kanzlei Software-format export via API and MCP for your tax adviser
jahresabschluss.io exports a fiscal year as a Kanzlei Software-format posting batch (EXTF Buchungsstapel) through the REST route GET /v1/export or the MCP tool export_bookkeeping — together with the journal, the trial balance (Saldenliste), partner master data and the GoBD data package for tax audits. There is no direct connection to Kanzlei Software: you or your agent download the files and hand them to your tax adviser (Steuerberater), who imports them into their own software. A key with the read right is enough.
Last reviewed: 2026-10-19
Six formats behind one route
format is a parameter of export_bookkeeping and of GET /v1/export; fiscal_year_id is required.
journal
The journal (Grundbuch) as CSV: every booking with number, date, accounts, amount, tax key and text. It comes back as text, so an agent can read and summarise it.
saldenliste
The trial balance per account as CSV, rolled up on the server from the journal. Also returned as text.
datev
EXTF posting batch: two header rows, then one line per journal leg. VAT arrives as its own line; the BU field (tax-key field) stays empty, except on automatic VAT accounts, where key 40 switches the automatic VAT calculation off so the VAT is not counted twice.
datev_automatik
EXTF posting batch for Kanzlei Software setups with automatic VAT accounts (Automatikkonten): a net line and its VAT line become one gross line with the BU key, plus cost centres KOST1 and KOST2.
datev_stammdaten
EXTF debtors and creditors file: one line per business partner with a personal account, so your adviser knows who stands behind the 5-digit accounts in the batch.
gobd
The GoBD data package as a ZIP for the tax audit's data-carrier access: an index.xml description plus CSV tables such as journal, trial balance and chart of accounts.
Why Kanzlei Software files never go through the model
Kanzlei Software import files must stay byte-exact in the Windows-1252 encoding, and the GoBD package is a ZIP. A language model would re-encode umlauts or shorten the content. That is why export_bookkeeping returns journal and saldenliste as text but answers with a download command for datev, datev_automatik, datev_stammdaten and gobd. You run the command yourself, with the key from an environment variable — never pasted into the chat.
The receipt archive works the same way. get_receipt_archive lists the parts of a fiscal year's archive with receipt count, size and download path; for a single part it returns the download command for the ZIP. If original files are missing, the response says which, and the archive is only produced after you have confirmed that.
Download the files with curl
Read the fiscal year ID once, then fetch each format:
export JAB_API_KEY="jab_live_…" # read is enough BASE="https://api.jahresabschluss.io/functions/v1/bookkeeping-api/v1" # Fiscal years with id, period and status curl -H "Authorization: Bearer $JAB_API_KEY" "$BASE/fiscal-years" FY="<id from /fiscal-years>" # Kanzlei Software-format posting batch (EXTF, Windows-1252) curl -H "Authorization: Bearer $JAB_API_KEY" -o EXTF_Buchungsstapel.csv \ "$BASE/export?fiscal_year_id=$FY&format=datev" # Debtors and creditors belonging to the batch curl -H "Authorization: Bearer $JAB_API_KEY" -o EXTF_Stammdaten.csv \ "$BASE/export?fiscal_year_id=$FY&format=datev_stammdaten" # Trial balance as CSV curl -H "Authorization: Bearer $JAB_API_KEY" -o saldenliste.csv \ "$BASE/export?fiscal_year_id=$FY&format=saldenliste" # Receipt archive: overview of the parts, then part 1 as ZIP curl -H "Authorization: Bearer $JAB_API_KEY" "$BASE/export/receipt-archive?fiscal_year_id=$FY" curl -H "Authorization: Bearer $JAB_API_KEY" -o belegarchiv-teil-1.zip \ "$BASE/export/receipt-archive/1?fiscal_year_id=$FY"
Example: the year-end package for your adviser
A request to an agent with a read-only key, and the calls it makes:
You: Get the 2025 books ready for our tax adviser. Check that the year is
locked and balanced, then give me the download commands for the Kanzlei Software
batch, the partner file and the receipt archive.
Agent calls:
list_fiscal_years → id of fiscal year 2025
list_bookkeeping_periods (fiscal_year_id) → December still open? It tells you.
get_saldenliste (fiscal_year_id) → debit and credit totals balanced
export_bookkeeping (format saldenliste) → CSV text, summarised for you
export_bookkeeping (format datev) → download command, not the file
export_bookkeeping (format datev_stammdaten)→ download command
get_receipt_archive (fiscal_year_id) → parts with receipt count and sizeThe agent emails nothing to your adviser: the send right covers outgoing invoices to your customers only. You pass the files on — or your adviser works in the same software with their own access and needs no files at all.
What is inside the EXTF posting batch
- A header in the EXTF format, version 700, format category 21 (Buchungsstapel); the debtor and creditor file uses category 16.
- Adviser number and client number (Beraternummer, Mandantennummer) from the company's master data in the app; where they are missing, the fields carry 0.
- The chart of accounts (SKR03 or SKR04) is named in the header, so the receiving system can recognise a file meant for a client on the other chart.
- An account length between 4 and 8 digits, derived from the accounts in use; personal accounts of debtors and creditors are one digit longer.
- Booking texts cut to the 60 characters the format allows; the journal keeps the full text.
- The lock flag (Festschreibung) is only set when every line of the batch is locked, because Kanzlei Software locks the whole batch on import as soon as one line carries it.
- At most 99,999 bookings per batch. If the books contain accounts the format cannot represent unambiguously, the export stops with a list of those accounts and writes no file.
datev or datev_automatik — ask your adviser
Which variant fits depends on how your adviser has set up your client file. With datev every VAT amount arrives as a separate line on the VAT account, and the receiving system must not compute VAT again. With datev_automatik a net line and its VAT line become one gross line with a BU key, and the receiving system derives the VAT through its automatic accounts.
The export never writes a BU key and a separate VAT line for the same transaction, because the VAT would then be counted twice. A group that cannot be collapsed without loss falls back to single lines without a tax key, so one unusual receipt does not stop the whole export.
Legal background
Books, records and annual accounts must be kept for ten years, accounting vouchers (Buchungsbelege) for eight (§ 147 Abs. 3 AO). During a tax audit the authority may access the data directly, have it evaluated to its specification, or ask for it on a machine-readable data carrier (§ 147 Abs. 6 AO); the gobd format serves that third case. The GoBD — the tax authority's principles for proper electronic bookkeeping — rest on § 146 Abs. 4 AO: a booking's original content must stay determinable, which the journal preserves by reversing instead of editing.
Handing over files does not hand over responsibility: the managing directors of a GmbH remain responsible for proper bookkeeping (§ 41 GmbHG). Work alone or together with your tax adviser — the adviser can import the batch or work directly in the same software.
Limits
- No direct Kanzlei Software connection: no upload to Kanzlei Software, no transfer into your adviser's systems, no reading back from Kanzlei Software.
- No exports from the sandbox: a copied journal is not a GoBD book, so Kanzlei Software, GoBD and CSV exports are blocked there.
- Exports follow the same subscription rules as the app; while bookkeeping access is blocked, the API refuses calls.
- If the Kanzlei Software export is refused because of accounts it cannot represent, give your adviser the journal and the trial balance, or clarify the accounts first.
Frequently asked questions
Is this an official Kanzlei Software interface?
No. jahresabschluss.io writes files in the Kanzlei Software format (EXTF) that Kanzlei Software-based software can import. There is no direct connection to Kanzlei Software; you hand the files over.
Which key right do I need for exports?
read. Exports are reading operations, so a read-only key can fetch every format, the receipt archive included.
Why does export_bookkeeping not return the Kanzlei Software file itself?
The file must stay byte-exact in Windows-1252. The tool returns a curl command instead, which you run with the key from an environment variable.
Should I export datev or datev_automatik?
Ask your adviser. datev keeps VAT as separate lines; datev_automatik writes gross lines with BU keys for setups with automatic VAT accounts.
Are receipts part of the Kanzlei Software batch?
No. Receipts come as a ZIP archive per fiscal year through get_receipt_archive; the gobd package covers the tax audit's data access.
What happens if the Kanzlei Software export is refused?
The answer lists the accounts the format cannot represent, and no file is created. Hand over journal and trial balance, or clarify the accounts first.