Two standards, 26 cantons · Part 9 of 14
9 · Federalism is smaller than its reputation — and larger
The number first
Cantonal diversity is the explanation given for the machine-readable Jahresrechnung for legal entities arriving so far in only part of the cantons: twenty-six cantons, twenty-six tax administrations, twenty-six form worlds. Part of that explanation can be counted — at the rule level of the SSK-Regelwerk, and there the number comes out differently than expected. (Chapter title accordingly: «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, and every single one 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 percent congruence. The 42 cantonal rules come from six cantons; the other twenty carry no rule of their own in the Regelwerk.
And here is the sentence this chapter rests on, because it defends the number just given against its most obvious reading. 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) is not in this text, because it does not follow from this source and we cannot evidence it. What does follow is weaker and holds: six cantons have written themselves into the national Regelwerk, and for the other twenty the door is left open, without any 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 block.
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 further down.
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 almost twice the rule weight of the entire commercial accounts.
That turns the statement that the form captures mainly tax adjustments into a count rather than a claim. And it is the plain answer to any expectation that an accounting file fills a tax return for legal entities. It fills the part that 222 of 1'432 rules point at.
The most operationally important line in the whole 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.
This is not sloppiness but a deliberate construction: the imported values count as the image of a Jahresrechnung already prepared, on which the Deklarationslösung has nothing left to check. The line next to 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 that appear in no cantonal guidance. First: importing gives up the right to touch Bilanz and Erfolgsrechnung in the portal. Corrections happen at the source, not in the form. Second: reading in several times is allowed, but it replaces rather than adds — the latest state wins, the earlier ones are discarded.
And third, from the same quotation, a finding that reaches beyond this chapter: there are two recognised 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 come back to it in the closing chapter, because it changes the recommendation 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)
And 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
So the standard 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) then means the shared core; alongside it, §2.5.4.3 provides for a separate extended schema per canton, and these extensions are not valid against one another.
Now the counter-check, because a provided-for option is not yet an exercised one. 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. This zero excludes exactly what it tested — it says nothing about documents we did not pull. But it does say: 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, it sits 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 zero cantons use, waiting for its first orderer. And next to 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 only 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. Everything else is a matter of negotiation between standard and canton.
This is not negligence, it is the chosen design: a frame with declared optional fields instead of a mandatory form. The price sits in the same file — whoever generates a file does not know, without knowledge of the canton, which dialogues the recipient keeps at all.
What the six cantons added to the standard
What the six cantons added to the standard, 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. That is no argument against the standard — it is the strongest argument for it. These particulars exist anyway; they are substantive cantonal tax law. The only question is whether they stand written down, numbered and optional in a shared catalogue, or unlabelled and spread across twenty-six forms. The standard went with the first. That is exactly what makes the 97,1 percent measurable at all.
Waadt: the sharpest evidence
The six Waadt rules all read identically, and the wording is a refusal:
«Der Kanton Waadt führt diese Position nicht.» (the canton of Waadt does not keep this position)
Affected are: 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: structurally different administrative realities, 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 across the two field-model versions compare like this:
| 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 at all to the Regelwerk. Aargau goes from two to six and contributes sixteen. Implementing against V1.0.0 and moving to V2.0.0 loses and gains canton fields — 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 all of this is measured against
What is the unification for? The Regelwerk says it 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 operating across cantons with Betriebsstätten in three cantons files one 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 delivers:
«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). 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.
And one architecture detail that puts the order of magnitude honestly: 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, the candid part that the Regelwerk itself discloses. 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)
And principle 9 of the same sheet spells out what the SSK's mandatory marking actually 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 openly side by side by the publisher. The standard requires little, the Regelwerk recommends more, and 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 like this:
«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.
Next to that stand the delivery figures from Part 7: 25 of 26 cantons accept the return of a natural person 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 are not a failure of the cantons. They are the age of a standard. 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 has been adopted for twenty months, has never reached 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 exactly the double movement of this chapter. At the rule level, federalism is smaller than its reputation: 97,1 percent shared rules, six cantons with documented exceptions, a catalogue that numbers its own particulars instead of hiding them. 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 everyone wants is the route with the least checking. This is a decision, not a system defect — it is there in writing, and anyone who knows it plans the year-end close differently.