{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "ch/zh/sta/versicherungspraemien",
  "version": "1.0.0",
  "title": "Switzerland (Canton Zürich) Insurance Premiums and Savings Interest Deduction Schedule (Versicherungsprämien 2025)",
  "description": "The Canton of Zürich's companion schedule to the personal income and wealth tax return for natural persons (ch/zh/sta/steuererklaerung-natuerliche-personen), used to compute the deductible insurance premiums and savings interest (Versicherungsprämien und Zinsen von Sparkapitalien) referenced by the main return's own Ziffer 15 (line 270). Unlike Berufsauslagen (Form 360, which pairs Person 1/Person 2 identically on two separate pages) or the main return's own per-person income/deduction lines, this 1-page form is completed once per household regardless of whether the return is filed by one or two persons jointly. The form has three lettered sections: (A) the actual private health/accident/life-and-annuity insurance premiums paid and savings interest earned during 2025, netted against any premium reduction (Prämienverbilligung) received and not already netted at source, producing a single combined total (A) that applies identically to both the state-tax and federal-tax columns; (B) the statutory maximum deduction ceiling for insurance premiums and savings interest together, computed separately for the state-tax and federal-tax columns from a fixed lookup table keyed to marital status (married vs. all other taxpayers) and whether pillar 2/3a contributions were made during the year, plus additional flat per-child and per-supported-person allowances, summing to a total maximum (B); and (C) the actual deduction claimed, the lower of (A) or (B), separately for each tax column, which transfers directly onto the main return's own Ziffer 15. This document models: the household header (AHVN13, municipality, name, first name); every numbered CHF amount and headcount box printed across Sections A-C; and the two discrete alternative lookup values printed for each marital-status bracket in Section B, using `validation.enum` since a filer transcribes whichever exact printed value applies (given whether pillar 2/3a contributions were made) rather than computing a continuous formula. It does NOT model: the underlying securities/holdings inventory (Wertschriften- und Guthabenverzeichnis) that produces the savings-interest figure this form's own line 604 transfers in from; any documentary evidence, since neither this form nor its Wegleitung require a receipt or certificate to be filed alongside this schedule's own figures (premium reductions are reconciled directly between the taxpayer and the health insurer, not substantiated here); or any office-only field (none observed on this form's single page). It does not submit the return; the live source (zh.ch / the ZHprivateTax online filing portal) is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Switzerland, the Canton of Zürich, or its Kantonales Steueramt.",
  "status": "draft",
  "jurisdiction": {
    "country": "CH",
    "level": "subnational",
    "subdivision": "CH-ZH"
  },
  "authority": {
    "name": "Kanton Zürich — Finanzdirektion, Kantonales Steueramt Zürich",
    "abbreviation": "StA ZH",
    "url": "https://www.zh.ch/de/steuern-finanzen/steuern/steuern-natuerliche-personen.html"
  },
  "process": {
    "type": "filing",
    "language": "de-CH"
  },
  "source": {
    "url": "https://www.zh.ch/content/dam/zhweb/bilder-dokumente/themen/steuern-finanzen/steuern/natuerlichepersonen/2025/est-formulare/365%20Versicherung%20ZH%202025%20HA%20DEF.pdf",
    "retrievedAt": "2026-07-09",
    "documentRef": "StA Form. 365 (2024) 12.25 — Versicherungsprämien 2025, Kanton Zürich (1-page schedule), read together with the main return it is a companion to, ch/zh/sta/steuererklaerung-natuerliche-personen, whose own line 270 (Ziffer 15) references this document by name, and with the Kantonales Steueramt Zürich's own 40-page 'Wegleitung zur Steuererklärung 2025' at https://www.zh.ch/content/dam/zhweb/bilder-dokumente/themen/steuern-finanzen/steuern/natuerlichepersonen/2025/est-wegleitungen/305_Wegleitung_ZH_2025_HA%20bf%20DEF.pdf, whose pp.13-14 restate every rate printed on this form's own Section B lookup table and whose p.36 carries an official worked specimen of this exact form (immediately below that same page's Berufsauslagen specimen)."
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-09",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-09",
    "notes": "GOV-1875: GovSchema Standard Research cycle. Closes the specific open backlog candidate GOV-1868/GOV-1871 flagged as the strongest remaining CH-ZH companion-schedule candidate after Berufsauslagen: nearly every Swiss resident carries mandatory basic health insurance (obligatorische Krankenpflegeversicherung), making this schedule broadly applicable across filers, unlike the securities schedule (investors only). The form (365 Versicherung ZH 2025 HA DEF.pdf, 56,091 bytes, 1 page, %PDF-1.4, no /Encrypt) was fetched fresh this cycle directly from the same zh.ch tax-forms listing page GOV-1847/GOV-1854/GOV-1868 used (HTTP 200, no login/CAPTCHA/WAF gate). pdfjs-dist text extraction (with full (x, y) coordinates per text item) plus a pdf-lib AcroForm scan (`form.getFields()`, 0 fields) and a pdfjs-dist per-page Widget-annotation scan (`page.getAnnotations()`, 0 widgets) both confirm this is a flat, non-AcroForm, single-page print/reference-facsimile PDF — the same shape as its three CH-ZH sibling schemas. The companion Wegleitung (305_Wegleitung_ZH_2025_HA bf DEF.pdf, 1,497,565 bytes, 40 pages, %PDF-1.7, fetched the same way, HTTP 200) was used to (a) confirm pp.13-14 restate the same Section B lookup rates this form already prints on its own face (CHF 5'800/3'700 or 8'700/5'550 married; CHF 2'900/1'800 or 4'350/2'700 other; CHF 1'300/700 per child; CHF 1'300 (state-only, line 614)/CHF 700 (federal-only, line 615) per supported person), so no separate Wegleitung lookup was required to fill in a missing figure, and (b) cross-check this schema's own worked mock-data example against the Wegleitung's own official specimen of this exact form (p.36 — PDF page 36, the same page that carries the Berufsauslagen specimen GOV-1868 used, stacked directly beneath it): 'Versicherungsprämien 2025, Muster-Meister Felix und Regula, Kanton Zürich, Gemeinde Zürich, AHVN13 756.1234.5678.90' with CHF 7'260 private health premiums (line 601), CHF 850 accident premiums (line 602), CHF 3'843 life/annuity premiums (line 603), CHF 0 savings interest (line 604), a CHF 11'953 subtotal (line 607, arithmetically confirmed: 7260+850+3843=11953) and identical CHF 11'953 total (A) (line 606, since no premium reduction was entered at line 605), a married-with-pillar-2/3a-contributions maximum of CHF 5'800 state/CHF 3'700 federal (line 611), a 2-child additional deduction of CHF 2'600 state/CHF 1'400 federal (line 613, arithmetically confirmed: 2×1'300=2'600 and 2×700=1'400), no supported-person deduction (lines 614/615 both absent), a CHF 8'400 state/CHF 5'100 federal total maximum (B) (line 616, confirmed: 5'800+2'600=8'400 and 3'700+1'400=5'100), and a final CHF 8'400 state/CHF 5'100 federal deduction (line 270, confirmed: min(11'953, 8'400)=8'400 and min(11'953, 5'100)=5'100 — B is the binding constraint in both columns of this specimen). See VERIFICATION.md for the full field-by-field source mapping, every disclosed scope decision, and a separately-authored (fabricated, not copied from the official specimen) worked mock-data example."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-09"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "ahvn13RemainingDigits",
      "label": "AHVN13 (13-stellig)",
      "type": "string",
      "classification": "sensitive-pii",
      "description": "The remaining 10 digits of the taxpayer's 13-digit Swiss social security number (AHVN13); the first three digits, 756 (Switzerland's fixed country prefix), are pre-printed in the form's own boxes. Collected once per household, unlike Berufsauslagen's separate AHVN13 field for Person 1 only.",
      "sourceRef": "header",
      "validation": {
        "pattern": "^[0-9]{10}$"
      }
    },
    {
      "name": "gemeinde",
      "label": "Gemeinde",
      "type": "string",
      "description": "The taxpayer's municipality of residence (Gemeinde) within Canton Zürich.",
      "sourceRef": "header",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "name",
      "label": "Name",
      "type": "string",
      "classification": "pii",
      "description": "The taxpayer's surname. Collected once per household on this schedule, regardless of whether the underlying return is filed by one person or jointly by a married couple.",
      "sourceRef": "header",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "vorname",
      "label": "Vorname",
      "type": "string",
      "classification": "pii",
      "description": "The taxpayer's first name(s). For a joint filing this box may list both spouses' first names (e.g. the Wegleitung's own worked specimen prints 'Felix und Regula').",
      "sourceRef": "header",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "privateHealthInsurancePremiums",
      "label": "A.1 Private Krankenversicherungsprämien",
      "type": "number",
      "classification": "financial",
      "description": "Actually paid private health-insurance premiums (obligatory basic KVG insurance plus any supplementary coverage) for the taxpayer and any dependants, for the 2025 tax year. Per the form's own marginal note, an individual premium reduction (Prämienverbilligung) is usually already netted directly against the insurer's own premium invoice, in which case the already-reduced premium is entered here; if the reduction was instead paid out separately, the full premium is entered here and the reduction is subtracted separately at premiumReductionsReceived.",
      "sourceRef": "line 601"
    },
    {
      "name": "privateAccidentInsurancePremiums",
      "label": "A.2 Private Unfallversicherungsprämien",
      "type": "number",
      "classification": "financial",
      "description": "Actually paid private accident-insurance premiums for 2025 (non-occupational accident coverage not already deducted elsewhere, e.g. not already netted against wages by an employer).",
      "sourceRef": "line 602"
    },
    {
      "name": "privateLifeAnnuityInsurancePremiums",
      "label": "A.3 Private Lebens- und Rentenversicherungsprämien",
      "type": "number",
      "classification": "financial",
      "description": "Actually paid private life- and annuity-insurance premiums for 2025, excluding pillar 3a contributions (captured on the main return's own pillar3aContributionPerson1/Person2 fields, which carry their own separate statutory caps).",
      "sourceRef": "line 603"
    },
    {
      "name": "savingsInterest",
      "label": "A.4 Zinsen von Sparkapitalien",
      "type": "number",
      "classification": "financial",
      "description": "Interest earned on savings capital (Zinsen von Sparkapitalien) for 2025, per the taxpayer's own securities and holdings inventory (Wertschriften- und Guthabenverzeichnis, ch/zh/sta/wertschriften-und-guthabenverzeichnis) — a companion schedule this document does not itself model.",
      "sourceRef": "line 604"
    },
    {
      "name": "premiumsAndInterestSubtotal",
      "label": "A.5 Zwischentotal",
      "type": "number",
      "classification": "financial",
      "description": "Subtotal of privateHealthInsurancePremiums + privateAccidentInsurancePremiums + privateLifeAnnuityInsurancePremiums + savingsInterest, before deducting any premium reduction received.",
      "sourceRef": "line 607"
    },
    {
      "name": "premiumReductionsReceived",
      "label": "A.6 Abzüglich erhaltene Prämienverbilligungen",
      "type": "number",
      "classification": "financial",
      "description": "Individual health-insurance premium reductions (individuelle Prämienverbilligung) received for 2025, to the extent not already netted directly against the premium entered at privateHealthInsurancePremiums. Subtracted from premiumsAndInterestSubtotal.",
      "sourceRef": "line 605"
    },
    {
      "name": "totalPremiumsAndInterestPaid",
      "label": "Total bezahlte Versicherungsprämien und Zinsen von Sparkapitalien (A)",
      "type": "number",
      "required": true,
      "classification": "financial",
      "description": "Total (A): premiumsAndInterestSubtotal minus premiumReductionsReceived. A single combined figure used identically against both the state-tax and federal-tax statutory maxima in Section B/C, since this schedule (unlike Berufsauslagen) is completed once per household rather than once per tax column.",
      "sourceRef": "line 606"
    },
    {
      "name": "marriedMaxDeductionStateTax",
      "label": "B.1 Für Verheiratete — Staatssteuer",
      "type": "number",
      "classification": "financial",
      "description": "The statutory maximum deduction for insurance premiums and savings interest combined, applicable to a married taxpayer/couple living in a legally and factually undissolved marriage (Verheiratete), state-tax column: CHF 5'800 if the taxpayer(s) made contributions to the 2nd pillar (occupational pension) or 3rd pillar a (tied private pension) during 2025, or CHF 8'700 if no such contributions were made. Applicable in the alternative to otherMaxDeductionStateTax (this line and line 612 are mutually exclusive; only married filers complete this line).",
      "sourceRef": "line 611 (Staatssteuer)",
      "validation": {
        "enum": [5800, 8700]
      }
    },
    {
      "name": "marriedMaxDeductionFederalTax",
      "label": "B.1 Für Verheiratete — Bundessteuer",
      "type": "number",
      "classification": "financial",
      "description": "Same as marriedMaxDeductionStateTax, federal-tax column: CHF 3'700 with pillar 2/3a contributions, or CHF 5'550 without.",
      "sourceRef": "line 611 (Bundessteuer)",
      "validation": {
        "enum": [3700, 5550]
      }
    },
    {
      "name": "otherMaxDeductionStateTax",
      "label": "B.2 Übrige Steuerpflichtige — Staatssteuer",
      "type": "number",
      "classification": "financial",
      "description": "The statutory maximum deduction for insurance premiums and savings interest combined, applicable to all other taxpayers (Übrige Steuerpflichtige, i.e. unmarried, divorced, widowed, or separated filers), state-tax column: CHF 2'900 with pillar 2/3a contributions, or CHF 4'350 without. Applicable in the alternative to marriedMaxDeductionStateTax.",
      "sourceRef": "line 612 (Staatssteuer)",
      "validation": {
        "enum": [2900, 4350]
      }
    },
    {
      "name": "otherMaxDeductionFederalTax",
      "label": "B.2 Übrige Steuerpflichtige — Bundessteuer",
      "type": "number",
      "classification": "financial",
      "description": "Same as otherMaxDeductionStateTax, federal-tax column: CHF 1'800 with pillar 2/3a contributions, or CHF 2'700 without.",
      "sourceRef": "line 612 (Bundessteuer)",
      "validation": {
        "enum": [1800, 2700]
      }
    },
    {
      "name": "childDeductionCount",
      "label": "B.3 Zusätzlicher Abzug für jedes Kind — Anzahl",
      "type": "integer",
      "description": "Number of children in the household for whom the additional flat per-child insurance-premium deduction is claimed.",
      "sourceRef": "line 613 area, Anzahl",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "additionalChildDeductionStateTax",
      "label": "B.3 Zusätzlicher Abzug für jedes Kind — Staatssteuer",
      "type": "number",
      "classification": "financial",
      "description": "childDeductionCount × CHF 1'300, state-tax column.",
      "sourceRef": "line 613 (Staatssteuer)"
    },
    {
      "name": "additionalChildDeductionFederalTax",
      "label": "B.3 Zusätzlicher Abzug für jedes Kind — Bundessteuer",
      "type": "number",
      "classification": "financial",
      "description": "childDeductionCount × CHF 700, federal-tax column.",
      "sourceRef": "line 613 (Bundessteuer)"
    },
    {
      "name": "supportedPersonDeductionCountStateTax",
      "label": "B.3 Zusätzlicher Abzug für jede unterstützungsbed. Person — Anzahl (Staatssteuer)",
      "type": "integer",
      "description": "Number of dependent/supported persons (unterstützungsbedürftige Person, other than the taxpayer's own children already counted at childDeductionCount) for whom the additional insurance-premium deduction is claimed, state-tax column entry. The form prints this as its own line (614), separate from the federal-tax counterpart at line 615, rather than pairing both tax columns on one row the way it does for the per-child deduction at line 613.",
      "sourceRef": "line 614 area, Anzahl",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "additionalSupportedPersonDeductionStateTax",
      "label": "B.3 Zusätzlicher Abzug für jede unterstützungsbed. Person — Staatssteuer",
      "type": "number",
      "classification": "financial",
      "description": "supportedPersonDeductionCountStateTax × CHF 1'300, state-tax column. No federal-tax box is printed on this same line; see supportedPersonDeductionCountFederalTax/additionalSupportedPersonDeductionFederalTax for the separate federal-tax line (615).",
      "sourceRef": "line 614"
    },
    {
      "name": "supportedPersonDeductionCountFederalTax",
      "label": "B.3 Zusätzlicher Abzug für jede unterstützungsbed. Person — Anzahl (Bundessteuer)",
      "type": "integer",
      "description": "Number of dependent/supported persons for whom the additional insurance-premium deduction is claimed, federal-tax column entry (a separate line from the state-tax entry at line 614, at its own, lower, federal-tax rate).",
      "sourceRef": "line 615 area, Anzahl",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "additionalSupportedPersonDeductionFederalTax",
      "label": "B.3 Zusätzlicher Abzug für jede unterstützungsbed. Person — Bundessteuer",
      "type": "number",
      "classification": "financial",
      "description": "supportedPersonDeductionCountFederalTax × CHF 700, federal-tax column.",
      "sourceRef": "line 615"
    },
    {
      "name": "totalMaxDeductionStateTax",
      "label": "Total der Abzüge für Versicherungsprämien und Zinsen von Sparkapitalien (B) — Staatssteuer",
      "type": "number",
      "required": true,
      "classification": "financial",
      "description": "Total (B), state-tax column: whichever of marriedMaxDeductionStateTax/otherMaxDeductionStateTax applies, plus additionalChildDeductionStateTax, plus additionalSupportedPersonDeductionStateTax.",
      "sourceRef": "line 616 (Staatssteuer)"
    },
    {
      "name": "totalMaxDeductionFederalTax",
      "label": "Total der Abzüge für Versicherungsprämien und Zinsen von Sparkapitalien (B) — Bundessteuer",
      "type": "number",
      "required": true,
      "classification": "financial",
      "description": "Total (B), federal-tax column: whichever of marriedMaxDeductionFederalTax/otherMaxDeductionFederalTax applies, plus additionalChildDeductionFederalTax, plus additionalSupportedPersonDeductionFederalTax.",
      "sourceRef": "line 616 (Bundessteuer)"
    },
    {
      "name": "finalInsurancePremiumDeductionStateTax",
      "label": "C. Abzug — der niedrigere Betrag (A) oder (B) — Staatssteuer",
      "type": "number",
      "required": true,
      "classification": "financial",
      "description": "The lower of totalPremiumsAndInterestPaid (A) or totalMaxDeductionStateTax (B), state-tax column. Transfers to the main return's insurancePremiumsAndSavingsInterestStateTax field (Steuererklärung Seite 3, Ziffer 15).",
      "sourceRef": "line 270 (Staatssteuer)"
    },
    {
      "name": "finalInsurancePremiumDeductionFederalTax",
      "label": "C. Abzug — der niedrigere Betrag (A) oder (B) — Bundessteuer",
      "type": "number",
      "required": true,
      "classification": "financial",
      "description": "The lower of totalPremiumsAndInterestPaid (A) or totalMaxDeductionFederalTax (B), federal-tax column. Transfers to the main return's insurancePremiumsAndSavingsInterestFederalTax field (Steuererklärung Seite 3, Ziffer 15).",
      "sourceRef": "line 270 (Bundessteuer)"
    }
  ],
  "steps": [
    {
      "id": "header",
      "title": "Personalien (identification)",
      "fields": [
        "ahvn13RemainingDigits",
        "gemeinde",
        "name",
        "vorname"
      ],
      "next": "section_a"
    },
    {
      "id": "section_a",
      "title": "A. Bezahlte Versicherungsprämien und Zinsen von Sparkapitalien",
      "fields": [
        "privateHealthInsurancePremiums",
        "privateAccidentInsurancePremiums",
        "privateLifeAnnuityInsurancePremiums",
        "savingsInterest",
        "premiumsAndInterestSubtotal",
        "premiumReductionsReceived",
        "totalPremiumsAndInterestPaid"
      ],
      "next": "section_b"
    },
    {
      "id": "section_b",
      "title": "B. Maximaler Abzug für Versicherungsprämien und Zinsen von Sparkapitalien",
      "fields": [
        "marriedMaxDeductionStateTax",
        "marriedMaxDeductionFederalTax",
        "otherMaxDeductionStateTax",
        "otherMaxDeductionFederalTax",
        "childDeductionCount",
        "additionalChildDeductionStateTax",
        "additionalChildDeductionFederalTax",
        "supportedPersonDeductionCountStateTax",
        "additionalSupportedPersonDeductionStateTax",
        "supportedPersonDeductionCountFederalTax",
        "additionalSupportedPersonDeductionFederalTax",
        "totalMaxDeductionStateTax",
        "totalMaxDeductionFederalTax"
      ],
      "next": "section_c"
    },
    {
      "id": "section_c",
      "title": "C. Abzug",
      "fields": [
        "finalInsurancePremiumDeductionStateTax",
        "finalInsurancePremiumDeductionFederalTax"
      ]
    }
  ]
}
