Exporting the VAT return as XML and submitting it to the ESTV
One click on "XML" in the bexio VAT return, and the finished declaration sits as an eCH-0217 file in your download folder — ready for upload in the ESTV ePortal. Here is how the export works, step by step.
LAST UPDATED: AUGUST 2026
Here is how you get the finished VAT return out of bexio as XML: open
Accounting → VAT return in bexio, select the reporting period and click
the “XML” button. The extension reads the displayed return, checks it
for consistency and places a file like CHE123456789_2026_Q1.xml in your
download folder — a complete VAT declaration in the eCH-0217 format, which
you upload in the ePortal of the Swiss Federal Tax Administration (ESTV)
instead of retyping every figure.
Step by step
- Open the return. In bexio, under Accounting → VAT return, display the period you want — the extension takes the period directly from the open return.
- Click “XML”. The button sits in the return’s action bar; its tooltip reads “XML herunterladen (Shift- oder Alt-Klick: zusätzlich Diagnose-Datei)” (download the XML; Shift- or Alt-click: additionally a diagnostic file). During creation it shows “XML wird erstellt…” (creating the XML). If you see the dimmed note “VAT return as XML is tied to your quintio account” instead, sign in first — here is how.
- Answer the dialogs, if needed. If your VAT number is missing, the extension asks for it with “MWST-Nummer (UID) bestätigen” (confirm the VAT number (UID)) or “MWST-Nummer (UID) eingeben” (enter the VAT number (UID)) — it is never taken over silently. If you report with net or flat tax rates, it asks for the activity ID per client on your first export.
- Upload the file in the ESTV ePortal. The XML file follows the eCH-0217 standard, which the ePortal expects when you submit by upload. Check the imported values there as usual before you submit the return — the responsibility for the declaration stays with you.
Success check: your download folder contains a file following the
pattern <UID>_<year>_Q<quarter>.xml, and the ePortal reads it in without
complaint on upload.
What does the extension check before the download?
- Consistency check against figure 500: the extension recalculates the tax itself and compares it with the figure 500 shown by bexio. A difference below CHF 5 counts as rounding and passes silently; between CHF 5 and 200 the dialog “Konsistenzprüfung — Differenz festgestellt” (consistency check — difference found) asks whether you want to continue; from CHF 200 the export stops and asks you to download the diagnostics and send them to support.
- Reporting type and method are read from your bexio VAT settings (agreed or collected consideration, effective or net/flat tax rate) — read-only, nothing is changed in bexio.
- Approved net tax rates: if bexio shows a tax rate that is not on the ESTV’s list of approved net tax rates, the extension stops with “Nicht bewilligter Saldosteuersatz” (net tax rate not approved) instead of producing an XML file the ESTV would reject. Most common cause in bexio: both net tax rates point to the same figure of the return.
Which messages can appear?
Every message names the reason and, where it helps, the next step — among them: “MWST-Nummer fehlt” (VAT number missing), “Tätigkeits-ID fehlt” (activity ID missing), “Nicht bewilligter Saldosteuersatz” (net tax rate not approved), “Bexio-MWST-Einstellungen unvollständig” (bexio VAT settings incomplete), “Bexio nicht erreichbar” (bexio not reachable), “Abrechnungsperiode unklar” (reporting period unclear) and “Konsistenzprüfung fehlgeschlagen” (consistency check failed). With “Diagnose herunterladen” (download diagnostics) you create a file for support — it contains no bexio credentials.
Returns with net or flat tax rates from 2025 onwards need the activity ID per client — and what else the extension does is shown in the overview.