Two standards, 26 cantons · Part 9 of 14
9 · Federalism is smaller than its reputation — and larger
The number first
The machine-readable Jahresrechnung for legal entities has so far arrived in some cantons and not others, and cantonal diversity is the explanation offered for that: twenty-six cantons, twenty-six tax administrations, twenty-six sets of forms. Part of that explanation can be counted — at the rule level of the SSK-Regelwerk, where the count comes out differently from the expectation. (Hence the chapter title: «Was im Regelwerk gemeinsam ist — und wo die Vielfalt sitzt» (what is shared in the Regelwerk — and where the diversity sits).)
The Regelwerk of the Schweizerische Steuerkonferenz (the Swiss Tax Conference) for the online Steuerdeklarationslösung for legal entities is an annex to the draft of the eCH-0276 standard in version 2.0.0, as at 31.03.2026 (Excel serial 46112 in the sheet «Titel (d)»; source file Regelwerk_SSK_d_f.xlsx, SHA-256 3d05e928…be371). The sheet «Regeln eCH-0276» holds 1'432 rule rows, each of which carries an owner entry in the column «Kanton/Firma». Counted on 04.08.2026 across all 1'432 rows:
| Owner | Rules |
|---|---|
| SSK (shared base) | 1'390 |
| Aargau | 16 |
| Bern | 7 |
| Luzern | 7 |
| Waadt | 6 |
| Basel-Stadt | 4 |
| Basel-Landschaft | 2 |
| cantonal total | 42 |
42 rules from six cantons. 1'390 shared. 97,1 per cent congruence. The 42 cantonal rules come from six cantons; the remaining twenty carry no rule of their own in the Regelwerk.
One sentence guards that number against its most obvious reading, and this chapter rests on it. On cantonal deviations the Regelwerk says, verbatim:
«Das Regelwerk der SSK dient als Grundlage. Die Kantone haben die Möglichkeit, falls notwendig und sinnvoll, das Regelwerk ihren Bedürfnissen anzupassen. Allfällige kantonale Abweichungen sollen im Regelwerk aufgeführt werden.» (the SSK Regelwerk serves as the basis; the cantons have the option, where necessary and useful, to adapt the Regelwerk to their needs; any cantonal deviations should be listed in the Regelwerk)
— Regelwerk SSK, sheet «Titel (d)», as at 31.03.2026
Sollen. Not müssen (should, not must). That makes 42 a floor for documented deviation, not a measurement of actual deviation. The statement «zwanzig Kantone haben keine Abweichungen» (twenty cantons have no deviations) appears nowhere in this text: it does not follow from the source, and we cannot evidence it. What does follow is weaker, and it holds. Six cantons have written themselves into the national Regelwerk; for the other twenty the option stands open, with no obligation to record its use.
What the 1'432 rules guard
The severities in the catalogue, counted across the column «Fehlerart / Type d'erreur» (error type): Fehler / Erreur 670 · Info 360 · Warnung / Avertissement 138 · empty 264. Just under half of the rules that carry a severity are blocking.
What they aim at is more telling. Rules per dialogue: L (Steuerausscheidung) 238 · P (verdecktes Eigenkapital) 163 · C (Erfolgsrechnung) 117 · F 114 · Z 106 · I 96 · Q 73 · D 69 · B (Passiven) 64 · L2 58 · A (Aktiven) 41 · and on down the list.
Two totals. A + B + C — the whole Jahresrechnung, Aktiven, Passiven, Erfolgsrechnung — are 222 rules across 166 positions. L + P alone — Steuerausscheidung and verdecktes Eigenkapital — are 401 rules. The two most tax-specific dialogues of the form carry nearly twice the rule weight of the commercial accounts as a whole.
That turns the statement that the form captures mainly tax adjustments into a count rather than a claim. It is also the plain answer to the expectation that an accounting file fills a tax return for legal entities. It fills the part at which 222 of 1'432 rules point.
The most operationally important line in the corpus
It sits in a table cell, in the sheet «Grundsätze» (principles), under running number 6:
«Bei elektronischem Import der E-Bilanz können die Positionen in den Dialogen Aktiven, Passiven und Erfolgsrechnung nicht überschrieben werden. Die definierten Regeln für diese Bereiche gelten nur, wenn die Felder in der Steuerdeklarationslösung manuell ausgefüllt werden.» (on electronic import of the E-Bilanz the positions in the Aktiven, Passiven and Erfolgsrechnung dialogues cannot be overwritten; the defined rules for these areas apply only when the fields are filled in manually in the Steuerdeklarationslösung)
— Regelwerk SSK, sheet «Grundsätze», ID 6, as at 31.03.2026
The second sentence has a consequence that reaches further than the rule itself: the machine route is the less validated one.
The balance-sheet identity A2000 = B3000 — «Total Aktiven muss Total Passiven entsprechen» (total assets must equal total liabilities), error type Fehler / Erreur — does not fire on an imported E-Bilanz. The profit reconciliation B2979 = C9200 — «Das Total ‹Jahresgewinn oder Jahresverlust› des Eigenkapitals muss mit dem Total der Erfolgsrechnung übereinstimmen» (the equity total for the year's profit or loss must match the total of the Erfolgsrechnung), likewise Fehler / Erreur — does not fire on an imported E-Bilanz. Both rules are written for manual entry. Type it in and it is checked. Import it and it is passed through.
The construction is deliberate: the imported values count as the image of a Jahresrechnung already prepared, on which the Deklarationslösung has nothing left to check. The line beside it says why that holds:
«Wird die E-Bilanz elektronisch übermittelt (Upload oder via Swissdec), können die Positionen nicht überschrieben werden.» (if the E-Bilanz is transmitted electronically — upload or via Swissdec — the positions cannot be overwritten) · «Die E-Bilanz kann mehrmals eingelesen werden, allerdings wird immer nur der letzte Stand gespeichert. Die anderen werden verworfen.» (the E-Bilanz can be read in several times, but only the latest state is stored; the others are discarded)
— Regelwerk SSK, sheet «Regeln eCH-0276», row «Regeln für ganzen Dialog» of dialogues A, B and C, three times word for word
For a Treuhänderin these are two hard operational facts, written in the Regelwerk and not repeated in the cantonal guidance we read. First: importing gives up the right to touch Bilanz and Erfolgsrechnung in the portal. Corrections are made at the source, not in the form. Second: reading in several times is allowed, but it replaces rather than adds — the latest state wins and the earlier ones are discarded.
And third, from the same quotation, a finding that reaches beyond this chapter: there are two recognized electronic submission channels, and one of them is called «Upload». Not as a tolerated makeshift, but named, in a document that says of itself: «Das Regelwerk ist Bestandteil des Standards eCH-0276 E-Bilanz und E-Tax JP und wird regelmässig angepasst.» (the Regelwerk is part of the eCH-0276 E-Bilanz and E-Tax JP standard and is adjusted regularly). The upload is not a workaround we infer; it is a first-class channel inside a component of the standard. We return to it in the closing chapter, because it changes what we recommend to software vendors: the open route for a private Deklarationslösung today runs not only through XBRL out of the ERP but also through an eCH-0276 package that a person uploads — and the data are handled identically afterwards.
The built-in divergence
As uniform as the rule level is, the architecture level is explicitly built for diversity. The standard itself, word for word in the approved version V1.0.0 and in the V2.0.0 draft:
«Es muss pro Kanton jeweils ein separates, erweitertes XML-Schema erstellt werden (ein angepasstes XML-Schema ist nur für maximal einen Kanton gültig).» (a separate, extended XML schema must be created for each canton — an adapted XML schema is valid for at most one canton)
— eCH-0276 Hauptdokument, §2.5.4.3, V1.0.0 (approved 02.12.2024) and V2.0.0 draft (published 23.07.2026)
The template for it, likewise in both versions:
«Kantonsspezifische Erweiterungen müssen einen anderen Namespace tragen. Dieser ist wie folgt aufzubauen:
http://www.kt.ch/xmlns/kt-ebalancesheetetaxlegalentities/ech1-0/4. Das Kürzel kt steht dabei für die Kantonsabkürzung.» (canton-specific extensions must carry a different namespace, built as shown, where the abbreviation kt stands for the canton abbreviation)— ibid., §2.4
The standard therefore provides for up to twenty-six extensions of itself, each in its own namespace, each with its own major and minor version, and each invalid against the others. «Ein einheitliches Austauschformat für die Schweiz» (a single exchange format for Switzerland) names the shared core; alongside it, §2.5.4.3 provides for a separate extended schema per canton, and those extensions are not valid against one another.
Then the counter-check, since an option provided for is not yet an option exercised. Measured on 04.08.2026 across the entire corpus: no published Zürich namespace. Method: grep -rli "zh\.ch/xmlns|zh-ebalance" across all 255 files of the crawled collection, zero hits. That zero excludes exactly what it tested and says nothing about documents we did not pull. What it does say is this: in our material, the largest canton in Switzerland shows no evidenced use of the extension slot the standard offers it.
Optionality as architecture
The diversity sits not only in the schema but in the scope of services. On the sheet «Grundleistungen (d)» (basic services) of the Regelwerk the word «Wahlmöglichkeit» (option) appears seventeen times — per dialogue, each time as a decision for the individual canton: D2, G, H, H2, I, I2, L, M, N, O, P, Q, R.
The clearest instance, verbatim:
«Der Dialog H3 ‹Umrechnung Eigenkapital von der funktionalen Währung in CHF› wird derzeit von keinem Kanton verwendet. Der Dialog wird erst eingeführt, wenn er von einem Kanton benötigt wird.» (dialogue H3, conversion of equity from the functional currency into CHF, is currently used by no canton; the dialogue will be introduced once a canton needs it)
A dialogue in the national standard that no canton uses, held back until a canton needs it. And beside it:
«N. Liegenschaften — Jeder Kanton soll nur die Positionen erfragen, welche in der Veranlagungssystemen geführt werden.» (N. real property — each canton should ask only for the positions that are kept in the assessment systems)
The positions every canton keeps are three: G0500 (Zusammenzug der deklarierten Werte — summary of the declared values), G0505 (Jahresrechnung), and G0999 (Übrige Beilagen — further enclosures). Three of 502 positions in the rule catalogue are set nationally. The rest is settled canton by canton.
The design is a frame with declared optional fields rather than a mandatory form. Its cost sits in the same file: without knowing the canton, whoever generates a file does not know which dialogues the recipient keeps at all.
What the six cantons added to the standard
The entries themselves, verbatim from the sheet «Regeln eCH-0276»:
| Canton | Position | Label |
|---|---|---|
| BS | F1701 | «Kapitalanteil Schweizer Sektor Flughafen Basel-Mulhouse» (capital share, Swiss sector, Basel-Mulhouse airport) |
| BS | F1702 | «Steuerwert Grundstücke nach § 112 StG» (tax value of land under § 112 StG) |
| BE | F1314 | «Forstfonds (Spezialfinanzierung Gemeindewälder)» (forestry fund, special financing for communal forests) |
| BE | — | «In natura an die Burger / Anteiler verteiltes Losholz» (Losholz distributed in kind to the Burger / share-holders) |
| BE | Dialogue R | «Zusatzangaben für Burgergemeinden (Spezialität Kt-BE)» (additional entries for Burgergemeinden, a Kt-BE speciality) |
| LU | F1315 | «Spezialfinanzierungskonto Wasserversorgung» (special financing account, water supply) |
| BL | F1171 | «Abzug von 80 % beim Steuerwert von Patenten und vergleichbaren Rechten» (deduction of 80 % on the tax value of patents and comparable rights) |
| AG | L1052/1053/1268/1269 | «Anteil HSTD in % (Kt-AG)» / «Verteiler HSTD in % (Kt-AG)» (HSTD share in %, HSTD distributor in %) |
The six cantonal entries run from the forestry fund for communal forests and the special financing account for water supply to the capital share in the Swiss sector of Basel-Mulhouse airport. They sit inside the standard rather than outside it. These particulars exist in any case; they are substantive cantonal tax law. The question is whether they stand written down, numbered, and optional in a shared catalogue, or unlabelled and spread across twenty-six forms. The Regelwerk takes the first. That is what makes the 97,1 per cent measurable at all.
Waadt: the sharpest evidence
The six Waadt rules all carry the same wording:
«Der Kanton Waadt führt diese Position nicht.» (the canton of Waadt does not keep this position)
The positions concerned: E1000 profit or loss carried forward from the previous year · Z1004 Veranlagungsgemeinde · Z1005 BFS-Gemeinde-Nr. · Z1016 registered office, BFS-Gemeinde-Nr. · Y1002_ff municipality of the Nebensteuerdomizil · Y1007_ff type (Liegenschaft and/or Betriebsstätte).
The second-largest economic canton in Switzerland does not keep the municipal level — neither the Veranlagungsgemeinde nor the BFS number nor the municipality of a Nebensteuerdomizil. A file that is correct for Aargau carries fields Waadt does not know. No format error, no validation error, no technical problem: administrative structures that differ, written down in six rows of an Excel sheet.
The standard moves per canton, not only per version
Implementing once against the standard is not the whole picture. The canton mentions in the two field-model versions compare as follows:
| Canton code in the mapping | V1.0.0 | V2.0.0 | Rules in Regelwerk V2.0.0 |
|---|---|---|---|
| Kt-BE | 10 | 10 | 7 |
| Kt-AG | 2 | 6 | 16 |
| Kt-LU | 5 | 5 | 7 |
| Kt-BS | 4 | 4 | 4 |
| Kt-GR | 7 | 3 | 0 |
| Kt-BL | 2 | 2 | 2 |
Graubünden goes from seven mentions to three and contributes no rule to the Regelwerk. Aargau goes from two to six and contributes sixteen. An implementation built against V1.0.0 and moved to V2.0.0 loses canton fields and gains others — on top of the 139 removed and 183 new elements that Part 10 counts. The version number alone says nothing about which recipients a file still fits afterwards.
The purpose against which all of this is measured
The Regelwerk states the purpose of the unification in one sentence:
«Nur so kann gewährleistet werden, dass die in den Kantonen empfangenen Daten auch in den Nebensteuerdomizilen ohne zusätzlichen Aufwand genutzt werden können.» (only this way can it be ensured that the data received in the cantons can also be used in the Nebensteuerdomizile without additional effort)
— Regelwerk SSK, sheet «Titel (d)»
That is the promise: declare once, arrive everywhere. A company with Betriebsstätten in three cantons files a single file, and three tax administrations read it.
The other side sits in the transmission specification. Building block AB-06 of the Swissdec Distributor, «Implizite Adressierung» (implicit addressing), distributes on the basis of the addressing «welche er aus spezifischen Inhalten herausliest (z.B. Kanton)» (which it reads out of specific content, e.g. canton), and returns:
«Der Benutzer erhält eine Quittung / Fehler pro Adressat» (the user receives one receipt / error per addressee)
Error handling: «Ein oder mehrere Adressaten sind nicht erreichbar/unbekannt. Verifizieren der Adressierung und erneute Übermittlung.» (one or more addressees are unreachable/unknown; verify the addressing and transmit again)
— Swissdec, «Technische Spezifikation eBILANZ, Anforderungen Transmitter», edition 06.03.2026, Anhang F, AB-06
Three Betriebsstätten, three receipts — or two receipts and one «Adressat unbekannt» (addressee unknown). For as long as not every Nebensteuerdomizil canton is connected, «einmal einreichen, überall ankommen» (file once, arrive everywhere) cannot be met arithmetically. It is a promise whose degree of fulfilment is measured per receiving canton, not per sender.
One detail of the architecture sets the order of magnitude: in the same specification the recipient of every transmission is a «SwissdecAdapter der KSTV» (a Swissdec adapter of the KSTV) — the adapter of the cantonal tax administration. Twenty-six adapters, not one endpoint. The process diagram accordingly draws the counterparty as a lane labelled «KSTV von 1 bis 26» (KSTV 1 through 26).
Two definitions of «Pflicht» in one package
To close, a point the Regelwerk discloses about itself. The first rule of the catalogue reads:
«Ein Feld wird als optional betrachtet, solange nicht ausdrücklich angegeben ist, dass es sich um ein Pflichtfeld handelt.» (a field is regarded as optional as long as it is not expressly stated to be a mandatory field)
Principle 9 of the same sheet sets out what the SSK's mandatory marking means:
«Pflichtfeld: Empfehlung, um Standard möglichst austauschbar zu machen … Im Standard eCH-0276 ist es kein Pflichtfeld.» (mandatory field: a recommendation to make the standard as interchangeable as possible … in the eCH-0276 standard it is not a mandatory field)
Two definitions of «Pflicht» (obligation) in one package, set side by side by the publisher. The standard requires less; the Regelwerk recommends more; neither sentence overrides the other. Building a file means reading both and knowing which of the two levels the recipient validates against.
The maturity-level contrast that closes the chapter
One reading of all this puts it down to cantonal particularity. The data support a plainer explanation.
The predecessor standard for natural persons, eCH-0119 «E-Tax Filing» in version 4.0.0, carries the maturity level «Verbreitet» (widespread) and was approved on 08.03.2021. It describes its own design as follows:
«Bei der Gestaltung wurde so vorgegangen, dass in Zukunft auch Steuerdeklarationen für juristische Personen oder für weitere Steuerarten wie Quellensteuern unter dem gleichen Konzept möglich sind.» (the design was approached so that in future tax declarations for legal entities, or for further tax types such as withholding taxes, are also possible under the same concept)
— eCH-0119 V4.0.0, §2.1
That future is called eCH-0276. It was adopted on 02.12.2024, carries the maturity level «Definiert» (defined), and as at 04.08.2026 its version 2.0.0 is a draft in public Vernehmlassung until 03.09.2026.
Beside that stand the delivery figures from Part 7: 25 of 26 cantons accept a natural person's return by machine from third-party software, 14 of 26 that of a legal entity (canton matrix of the Herstellerhelpdesk, last edited 03.07.2026, all 26 canton rows counted).
NP 25/26 and JP 14/26 track the age of the two standards. The machine channel for natural persons has had an approved, widespread standard since 2021 at the latest — and V4.0.0 replaces a V3.2, so the history reaches further back. The one for legal entities was adopted twenty months ago, has not carried the maturity level «Verbreitet» (widespread), and its complete Regelwerk — the 1'432 rows the cantons intend to rely on — sits today as an annex to a draft.
That is the double movement of this chapter. At the rule level, federalism is smaller than its reputation: 97,1 per cent shared rules, six cantons with documented exceptions, a catalogue that carries its own particulars under numbers. At the architecture level it is larger: up to twenty-six mutually invalid schemas, seventeen Wahlmöglichkeiten, three nationally set positions, twenty-six adapters — and one canton that does not keep the municipal level.
Between the two levels stands one sentence from a table cell of the Regelwerk: filing the E-Bilanz electronically bypasses the 222 rules that guard the Jahresrechnung. The route that saves the most work is the route with the least checking. That is a decision, set down in writing, and it bears on how a year-end close is planned.