Registry entry

Switzerland (Canton Zürich) Personal Income and Wealth Tax Return (Steuererklärung 2025 für natürliche Personen)

The Canton of Zürich's annual tax return for natural persons (Steuererklärung für natürliche Personen), covering both cantonal/communal tax (Staatssteuer) and direct federal tax (direkte Bundessteuer) in one filing, published by the Kantonales Steueramt Zürich (cantonal tax office). This document models the base 4-page main declaration (StA Form. 300) in full for the 2025 tax year: the optional representative block, personal/occupational/family particulars for up to two filers (a single taxpayer, or a married couple/registered partnership filing jointly), the household's dependent children and supported persons, all numbered income lines (employment, self-employment, social-insurance pensions and annuities, securities, other income, real estate), all numbered deduction lines (professional expenses, debt interest, alimony/maintenance, pillar 3a contributions, insurance premiums, further education, disability and medical costs, donations, the fixed social deductions for children/supported persons/spouse, and intercantonal/international income allocation), all numbered wealth lines (securities, cash, insurance tax value, vehicles, business interests, real estate, debts, and intercantonal/international wealth allocation), lump-sum pension capital benefits, gifts/inheritances received or given, and the filing/signature block. It deliberately does NOT model: the companion Wertschriftenverzeichnis (securities and holdings inventory), Berufsauslagen (Form 360, professional-expenses schedule), Versicherungsprämien (Form 365, insurance-premiums schedule), Aus- und Weiterbildung (Form 367), Liegenschaftenverzeichnis (real-estate register), Schuldenverzeichnis (debts register), or Hilfsblatt A/B/G (self-employment worksheets) — each a distinct, separately-published PDF referenced by line on the main return and left as an open backlog candidate for a future cycle, represented here only as documents[] supporting-evidence requirements — nor any pure computed/arithmetic line (a total, a carried-forward transfer, or a value derived only from a statutory cap applied to another field already captured, e.g. the taxable portions of pensions/annuities and the capped pillar-3a/insurance-premium deductions), reproduced in this document's field descriptions and VERIFICATION.md where relevant. 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.

Registry entry

ch/zh/sta/steuererklaerung-natuerliche-personen

Jurisdiction
Switzerland · Zürich (subnational)
Version
1.0.0
Verification
draft

Authoritative source StA Form. 300 (2025) 12.25 — Steuererklärung 2025 für natürliche Personen, Kanton Zürich, Staats-, Gemeinde- und direkte Bundessteuer (4-page base return), read together 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

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

122 fields across 7 steps, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.

Representative (optional)

  • representativeNameOrFirm string

    Name or firm name of a representative (e.g. a trustee/tax advisor) authorized to receive requests and decisions/assessment rulings (Auflagen und Entscheide bzw. Veranlagungsverfügungen) on the taxpayer's behalf. Completed only if a representative is appointed.

    length: 0–200classification: pii
  • representativeFirstName string

    The representative's first name.

    length: 0–100classification: pii
  • representativePhone string

    The representative's telephone number.

    length: 0–30classification: pii
  • representativeStreet string

    Street name of the representative's business address.

    length: 0–150classification: pii
  • representativeHouseNumber string

    House number of the representative's business address.

    length: 0–20classification: pii
  • representativeAdvisorId string

    Trustee/tax-advisor identification number, when the representative has one.

    length: 0–50
  • representativePostalCode string

    Postal code of the representative's business address.

    length: 0–10classification: pii
  • representativePlace string

    Town/city of the representative's business address.

    length: 0–100classification: pii
  • representativeUidChe string

    The representative firm's Swiss business identification number (UID), printed with a fixed 'CHE' prefix on the form; only the CHE-XXX.XXX.XXX digit groups are entered in the box.

    pattern

1. Personalien, Berufs- und Familienverhältnisse (personal, occupational, and family circumstances)

  • person1DateOfBirth date required

    Date of birth of Person 1 (the sole filer, or the husband/registered partner 1 on a joint return).

    classification: sensitive-pii
  • person2DateOfBirth date

    Date of birth of Person 2 (the wife/registered partner 2), completed only on a joint return.

    classification: sensitive-pii
  • maritalStatus string required

    The taxpayer's civil status as of 31 December 2025 (e.g. ledig/single, verheiratet/married, verwitwet/widowed, geschieden/divorced, getrennt/separated). The form's own glossary note states that marriage-related terms (verheiratet, getrennt, geschieden, verwitwet, Ehe, Ehegatten, Ehemann, Ehefrau) apply equally to a registered same-sex partnership (eingetragene Partnerschaft). Modelled as free text: the source PDF prints only the field label, with no enumerated on-page option list captured in its text layer.

    length: 0–100
  • person2FirstName string

    Person 2's first name. Person 1's own name is pre-printed by the tax office when mailing the paper form (address window) rather than entered here, so only Person 2 (a spouse/partner newly declared on this return) has a first-name field on this page.

    length: 0–100classification: pii
  • person1Religion string

    Person 1's religious confession/denomination, relevant to Swiss church-tax liability.

    length: 0–50
  • person2Religion string

    Person 2's religious confession/denomination.

    length: 0–50
  • person1Occupation string

    Person 1's occupation.

    length: 0–150
  • person2Occupation string

    Person 2's occupation.

    length: 0–150
  • person1Phone string

    Person 1's telephone number.

    length: 0–30classification: pii
  • person2Phone string

    Person 2's telephone number.

    length: 0–30classification: pii
  • person1Email string

    Person 1's email address.

    length: 0–200classification: pii
  • person2Email string

    Person 2's email address.

    length: 0–200classification: pii
  • person1OrdinaryPensionFundContributions boolean

    Whether Person 1 pays ordinary (mandatory) contributions to an occupational pension fund (2nd pillar/Pensionskasse).

  • person2OrdinaryPensionFundContributions boolean

    Whether Person 2 pays ordinary (mandatory) contributions to an occupational pension fund (2nd pillar/Pensionskasse).

Kinder und unterstützte Personen (children and supported persons)

  • childrenInHouseholdDetails string

    One entry per child of birth years 2008-2025 (or a child still in initial vocational/professional training) whose maintenance the taxpayer bears, living in the taxpayer's own household: first name, surname, date of birth, school or apprenticeship employer (if in training), the month through which support is expected to continue, and (only if the taxpayer is single, divorced, or lives separated from their spouse) whether the other parent pays maintenance contributions. Collapsed into one free-text field per the source table's own repeating rows.

    length: 0–2000classification: pii
  • childrenOutsideHouseholdDetails string

    One entry per child (as above) who does not live in the household: first name, surname, date of birth, address, school or apprenticeship employer, and the month through which support is expected to continue. Collapsed into one free-text field per the source table.

    length: 0–2000classification: pii
  • supportedPersonsInHouseholdDetails string

    One entry per person unable to work or with limited earning capacity (other than a spouse/partner or a child already listed above), living in the taxpayer's own household, whom the taxpayer supports with an annual contribution of at least CHF 2'800 (state tax) / CHF 6'800 (federal tax): first name, surname, year of birth, and the annual support amount in CHF. Collapsed into one free-text field per the source table.

    length: 0–2000classification: pii
  • supportedPersonsOutsideHouseholdDetails string

    Same as supportedPersonsInHouseholdDetails, for a supported person who does not live in the household: first name, surname, year of birth, address, and the annual support amount in CHF. Collapsed into one free-text field per the source table.

    length: 0–2000classification: pii

2. Einkünfte 2025 (income)

  • employmentIncomeMainPerson1 number

    Person 1's income from a main employed occupation (unselbständige Erwerbstätigkeit), per their salary certificate (Lohnausweis).

    classification: financial
  • employmentIncomeMainPerson2 number

    Person 2's income from a main employed occupation, per their salary certificate.

    classification: financial
  • employmentIncomeSidePerson1 number

    Person 1's income from a secondary employed occupation, or compensation for services of any kind, board/committee remuneration, fees, royalties, author's rights and similar, per their salary certificate.

    classification: financial
  • employmentIncomeSidePerson2 number

    Person 2's income from a secondary employed occupation (same categories as employmentIncomeSidePerson1), per their salary certificate.

    classification: financial
  • selfEmploymentIncomeMainPerson1 number

    Person 1's income from a main self-employed occupation in trade, commerce, a liberal profession (Hilfsblatt A) or agriculture (Hilfsblatt B or G), including income from qualified participations held as business assets and liquidation gains on ceasing self-employment.

    classification: financial
  • selfEmploymentIncomeMainPerson2 number

    Person 2's income from a main self-employed occupation (same categories as selfEmploymentIncomeMainPerson1).

    classification: financial
  • selfEmploymentIncomeSidePerson1 number

    Person 1's income from a secondary self-employed occupation.

    classification: financial
  • selfEmploymentIncomeSidePerson2 number

    Person 2's income from a secondary self-employed occupation.

    classification: financial
  • ahvIvPensionPerson1 number

    Person 1's old-age/survivors' or disability insurance pension (AHV/IV-Rente), taxable in full (100%).

    classification: financial
  • ahvIvPensionPerson2 number

    Person 2's old-age/survivors' or disability insurance pension, taxable in full (100%).

    classification: financial
  • pensionAnnuityRow1AmountPerson1 number

    Person 1's first reported pension/annuity: the gross amount received, before applying the taxable percentage. Private and foreign life annuities require the underlying annuity contract (copy) and the insurer's own tax certificate to be filed with the return.

    classification: financial
  • pensionAnnuityRow1PercentPerson1 number

    The percentage of pensionAnnuityRow1AmountPerson1 that is taxable, per the statutory taxable-portion rules for the type of pension/annuity (e.g. 100% for most pensions; a published ESTV rate for private life annuities, calculated as gross annuity x rate / 100). Left blank for a private/foreign life annuity, whose taxable Ertragsanteil is instead entered directly in the main column.

    range: 0–100classification: financial
  • pensionAnnuityRow2AmountPerson1 number

    Person 1's second reported pension/annuity (if any), gross amount.

    classification: financial
  • pensionAnnuityRow2PercentPerson1 number

    The taxable percentage for pensionAnnuityRow2AmountPerson1.

    range: 0–100classification: financial
  • pensionAnnuityRow1AmountPerson2 number

    Person 2's first reported pension/annuity, gross amount.

    classification: financial
  • pensionAnnuityRow1PercentPerson2 number

    The taxable percentage for pensionAnnuityRow1AmountPerson2.

    range: 0–100classification: financial
  • pensionAnnuityRow2AmountPerson2 number

    Person 2's second reported pension/annuity (if any), gross amount.

    classification: financial
  • pensionAnnuityRow2PercentPerson2 number

    The taxable percentage for pensionAnnuityRow2AmountPerson2.

    range: 0–100classification: financial
  • unemploymentInsuranceBenefitsPerson1 number

    Person 1's loss-of-earnings compensation paid directly by unemployment insurance, per the insurer's certificate (Bescheinigung).

    classification: financial
  • unemploymentInsuranceBenefitsPerson2 number

    Person 2's loss-of-earnings compensation from unemployment insurance.

    classification: financial
  • familyAllowancesAndDailyBenefitsPerson1 number

    Person 1's child/family allowances, maternity compensation, and daily benefits from health, accident, military, and disability insurance, and EO (loss-of-earnings) compensation, paid directly by the compensation office rather than through an employer, per the insurer's certificate.

    classification: financial
  • familyAllowancesAndDailyBenefitsPerson2 number

    Person 2's child/family allowances, maternity compensation, and daily benefits (same categories as familyAllowancesAndDailyBenefitsPerson1).

    classification: financial
  • securitiesAndOtherAssetsIncome number

    Total income from securities, bank/other claims, and lotteries, per the securities and holdings inventory (Wertschriftenverzeichnis) — a companion form this schema does not itself model (see VERIFICATION.md).

    classification: financial
  • qualifiedParticipationIncomePortion number

    The portion of securitiesAndOtherAssetsIncome attributable to qualified participations (subject to partial taxation).

    classification: financial
  • alimonyFromExSpouse number

    Maintenance/alimony payments received from a divorced or separated spouse/registered partner.

    classification: financial
  • childSupportReceived number

    Maintenance payments received for minor children, up to the month they reach the age of majority.

    classification: financial
  • proceedsFromBusinessSharesOrCorporateInterests number

    Income from business shares and corporate-body interests (Korporationsanteile), per an itemized statement (Aufstellung).

    classification: financial
  • otherIncome number

    Other income not falling under any preceding category, with its own free-text description on the source form (this schema does not separately model that description text).

    classification: financial
  • capitalSettlementForRecurringBenefitsMonths integer

    Number of months a lump-sum capital settlement (Kapitalabfindung) received in lieu of recurring periodic benefits is treated as covering.

    range: 0–999classification: financial
  • capitalSettlementForRecurringBenefitsAmount number

    Amount of a lump-sum capital settlement received in lieu of recurring periodic benefits (e.g. a commuted alimony or pension entitlement). Capital benefits from occupational/private pension arrangements paid out on death or lasting incapacity are reported separately at capitalBenefitDeathOrDisabilityAmount (line 510), not here.

    classification: financial
  • netRealEstateIncome number

    Net income from real estate (rental value/rental income less deductible property costs), per the real-estate register (Liegenschaftenverzeichnis) — a companion form this schema does not itself model.

    classification: financial

3. Abzüge 2025 (deductions)

  • professionalExpensesPerson1StateTax number

    Person 1's deductible professional expenses for employed work (Berufsauslagen), state-tax column, per the professional-expenses schedule (Form 360) — a companion form this schema does not itself model.

    classification: financial
  • professionalExpensesPerson1FederalTax number

    Person 1's deductible professional expenses, federal-tax column.

    classification: financial
  • professionalExpensesPerson2StateTax number

    Person 2's deductible professional expenses, state-tax column.

    classification: financial
  • professionalExpensesPerson2FederalTax number

    Person 2's deductible professional expenses, federal-tax column.

    classification: financial
  • debtInterestStateTax number

    Debt interest paid (to the extent not already deducted under income line 2), state-tax column, per the debts register (Schuldenverzeichnis) — a companion form this schema does not itself model.

    classification: financial
  • debtInterestFederalTax number

    Debt interest paid, federal-tax column.

    classification: financial
  • alimonyToExSpouseStateTax number

    Maintenance/alimony paid to a divorced or separated spouse/registered partner, state-tax column.

    classification: financial
  • alimonyToExSpouseFederalTax number

    Maintenance/alimony paid to a divorced or separated spouse, federal-tax column.

    classification: financial
  • childSupportPaidStateTax number

    Maintenance paid for minor children, up to the month they reach the age of majority, state-tax column.

    classification: financial
  • childSupportPaidFederalTax number

    Maintenance paid for minor children, federal-tax column.

    classification: financial
  • annuityPaymentsGrossAmount number

    Gross amount of annuity/pension payments (Rentenleistungen) the taxpayer pays out to someone else, before applying the deductible taxable-income-share percentage; proof of payment must be filed with the return.

    classification: financial
  • pillar3aContributionPerson1 number

    Person 1's actual contributions/premiums paid in 2025 to a recognized form of tied individual pension provision (Säule 3a), per the pension institution's certificate. Deductible up to CHF 7'258 for a taxpayer who belongs to an occupational pension fund (2nd pillar), or up to 20% of earned income (max. CHF 36'288) for one who does not.

    classification: financial
  • pillar3aContributionPerson2 number

    Person 2's actual Säule 3a contributions paid in 2025, same caps as pillar3aContributionPerson1 (each spouse who is separately employed and has their own 3a pension contract may claim this deduction independently).

    classification: financial
  • insurancePremiumsAndSavingsInterestStateTax number

    The lower of (A) actual private health/accident/life/annuity insurance premiums and savings interest paid, or (B) the applicable statutory maximum (which varies by marital status and by whether contributions were also made to the 2nd or 3rd pillar), state-tax column, computed via the insurance-premiums schedule (Form 365) — a companion form this schema does not itself model.

    classification: financial
  • insurancePremiumsAndSavingsInterestFederalTax number

    Same as insurancePremiumsAndSavingsInterestStateTax, federal-tax column (the statutory maxima differ between the state- and federal-tax columns).

    classification: financial
  • ahvIv2ndPillarContributionsNotAlreadyDeductedStateTax number

    Contributions to AHV, IV, and the occupational pension fund (2nd pillar) not already deducted from income lines 1 or 2 (e.g. a self-employed or non-employed taxpayer's own direct contributions), state-tax column.

    classification: financial
  • ahvIv2ndPillarContributionsNotAlreadyDeductedFederalTax number

    Same as ahvIv2ndPillarContributionsNotAlreadyDeductedStateTax, federal-tax column.

    classification: financial
  • furtherEducationCostsStateTax number

    Career-oriented further-education and retraining costs, up to a total of CHF 12,400, state-tax column, per the further-education/training worksheet (Form 367) — a companion form this schema does not itself model.

    classification: financial
  • furtherEducationCostsFederalTax number

    Same as furtherEducationCostsStateTax, federal-tax column.

    classification: financial
  • assetManagementCostsStateTax number

    Costs of third-party management of movable private assets, state-tax column.

    classification: financial
  • assetManagementCostsFederalTax number

    Same as assetManagementCostsStateTax, federal-tax column.

    classification: financial
  • disabilityRelatedCostsStateTax number

    Disability-related costs (net of third-party reimbursements and a living-cost share), state-tax column, per the disability-costs worksheet ('Aufstellung über behinderungsbedingte Kosten') — a companion form this schema does not itself model.

    classification: financial
  • disabilityRelatedCostsFederalTax number

    Same as disabilityRelatedCostsStateTax, federal-tax column.

    classification: financial
  • otherDeductionsStateTax number

    Other deductions not covered elsewhere, e.g. contributions to a political party registered under Art. 76a of the federal political-rights act, per an itemized statement (Aufstellung), state-tax column.

    classification: financial
  • otherDeductionsFederalTax number

    Same as otherDeductionsStateTax, federal-tax column.

    classification: financial
  • childcareCostsStateTax number

    Deduction for third-party childcare costs, for children of birth years 2011-2025, state-tax column, capped at CHF 25'000.

    range: 0–25000classification: financial
  • childcareCostsFederalTax number

    Same as childcareCostsStateTax, federal-tax column, capped at CHF 25'800.

    range: 0–25800classification: financial
  • dualEarnerDeductionStateTax number

    Special deduction available when both spouses/registered partners are gainfully employed, state-tax column; the form refers the taxpayer to the Wegleitung (instruction guide) for the computation, printing no statutory figure directly on the return itself.

    classification: financial
  • dualEarnerDeductionFederalTax number

    Same as dualEarnerDeductionStateTax, federal-tax column.

    classification: financial
  • medicalAndAccidentCostsStateTax number

    Deductible medical and accident costs (borne by the taxpayer or a dependant) exceeding the statutory deductible of 5% of net income (Nettoeinkommen, line 310), state-tax column, per a dedicated worksheet.

    classification: financial
  • medicalAndAccidentCostsFederalTax number

    Same as medicalAndAccidentCostsStateTax, federal-tax column.

    classification: financial
  • charitableContributionsStateTax number

    Charitable donations, per an itemized statement (Aufstellung), state-tax column. Deductible up to CHF 20'600 for a married couple in an undivided marriage, or CHF 10'300 for other taxpayers.

    classification: financial
  • charitableContributionsFederalTax number

    Same as charitableContributionsStateTax, federal-tax column.

    classification: financial
  • childInHouseholdAllowanceStateTax number

    Fixed statutory allowance for each child reported in childrenInHouseholdDetails, state-tax column: CHF 9'300 per child.

    classification: financial
  • childInHouseholdAllowanceFederalTax number

    Same as childInHouseholdAllowanceStateTax, federal-tax column: CHF 6'800 per child.

    classification: financial
  • childOutsideHouseholdAllowanceStateTax number

    Fixed statutory allowance for each child reported in childrenOutsideHouseholdDetails, state-tax column: CHF 9'300 per child.

    classification: financial
  • childOutsideHouseholdAllowanceFederalTax number

    Same as childOutsideHouseholdAllowanceStateTax, federal-tax column: CHF 6'800 per child.

    classification: financial
  • supportedPersonAllowanceStateTax number

    Fixed statutory allowance for each person reported in supportedPersonsInHouseholdDetails/supportedPersonsOutsideHouseholdDetails, state-tax column: CHF 2'800 per supported person, per a confirmation (Bestätigung).

    classification: financial
  • supportedPersonAllowanceFederalTax number

    Same as supportedPersonAllowanceStateTax, federal-tax column: CHF 6'800 per supported person.

    classification: financial
  • spouseOrPartnerAllowanceFederalTax number

    Fixed married-couple/registered-partner allowance, federal-tax column only: CHF 2'800. The state-tax column has no equivalent box on this line — the state tax handles married-couple relief through its tariff rather than a fixed-amount deduction here.

    classification: financial
  • taxableIncomeAllocatedOtherCantons number

    Portion of total taxable income (line 25/390) attributable to other Swiss cantons under intercantonal tax allocation (Steuerausscheidung), for a taxpayer with tax nexus in more than one canton.

    classification: financial
  • taxableIncomeAllocatedAbroad number

    Portion of total taxable income attributable to a foreign country under international tax allocation, for a taxpayer with foreign-source income or a foreign permanent establishment/property.

    classification: financial

4. Vermögen im In- und Ausland (wealth) und weitere Angaben (further items)

  • securitiesAndClaimsWealth number

    Taxable value of securities and claims (bank accounts, loans receivable, etc.) at 31 December 2025, per the securities and holdings inventory (Wertschriftenverzeichnis) — a companion form this schema does not itself model.

    classification: financial
  • cashGoldPreciousMetalsWealth number

    Cash on hand, gold, and other precious metals held at 31 December 2025.

    classification: financial
  • lifeAndAnnuityInsuranceTotalTaxValue number

    Total tax value of life and annuity insurance policies, per the insurer(s)’ own certificates, collapsing the source form’s small repeating table (insurer, year taken out, year of maturity, tax value, one row per policy) into a single total.

    classification: financial
  • motorVehiclesWealth number

    Taxable value of motor vehicles at 31 December 2025 (the form also asks for purchase price and purchase year as supporting detail, not modelled as separate fields here).

    classification: financial
  • businessOrCorporateSharesWealth number

    Taxable value of business shares and corporate-body interests, per an itemized statement (Aufstellung).

    classification: financial
  • otherAssetsWealth number

    Other assets not falling under any preceding wealth category, with their own free-text description on the source form (not separately modelled here).

    classification: financial
  • realEstateMarketValueWealth number

    Taxable market value of real estate taxed at market value, per the real-estate register (Liegenschaftenverzeichnis) — a companion form this schema does not itself model.

    classification: financial
  • realEstateIncomeValueWealth number

    Taxable capitalized-income value of agricultural or forestry real estate.

    classification: financial
  • selfEmployedEquityCapitalWealth number

    A self-employed taxpayer's business equity capital, excluding business securities already reported elsewhere, per Hilfsblatt A.

    classification: financial
  • debtsWealth number

    Total debts at 31 December 2025, per the debts register (Schuldenverzeichnis) — a companion form this schema does not itself model.

    classification: financial
  • wealthAllocatedOtherCantons number

    Portion of total taxable wealth attributable to other Swiss cantons under intercantonal tax allocation.

    classification: financial
  • wealthAllocatedAbroad number

    Portion of total taxable wealth attributable to a foreign country under international tax allocation.

    classification: financial
  • capitalBenefitDeathOrDisabilityAmount number

    Lump-sum capital benefit received from AHV/IV, an occupational pension institution (2nd pillar), a vested-benefits account/policy, or a recognized form of tied individual pension provision (3rd pillar a), paid out on death or for lasting physical or health impairment.

    classification: financial
  • capitalBenefitDeathOrDisabilityPaymentDate date

    The date capitalBenefitDeathOrDisabilityAmount was paid out.

    classification: financial
  • giftOrInheritanceReceivedDate date

    Day and month in 2025 a gift, advancement of inheritance (Erbvorbezug), inheritance, or share of an undivided estate community was received (the source form fixes the year at 2025, this tax year, and asks only for day and month).

    classification: financial
  • giftOrInheritanceReceivedFromDetails string

    Name, address, and degree of relationship of the person the gift/advancement of inheritance/inheritance/estate-community share was received from.

    length: 0–300classification: pii
  • giftOrInheritanceReceivedValue number

    Value of the gift/advancement of inheritance/inheritance/estate-community share received.

    classification: financial
  • giftOrInheritanceGivenDate date

    Day and month in 2025 a gift or advancement of inheritance was made to someone else (year fixed at 2025 by the source form).

    classification: financial
  • giftOrInheritanceGivenToDetails string

    Name, address, and degree of relationship of the person a gift/advancement of inheritance was made to.

    length: 0–300classification: pii
  • giftOrInheritanceGivenValue number

    Value of the gift/advancement of inheritance given.

    classification: financial

Ort, Datum und Unterschrift (place, date, and signature)

  • placeOfSigning string

    Place where the return is signed.

    length: 0–100
  • dateOfSigning date required

    Date the return is signed.

Verification record

This file is the source-review record for this document version, per the manual-source-review-v1 practice.

Current claim

  • status: draft
  • verification.method: manual-source-review-v1
  • verification.lastVerifiedAt: 2026-07-08
  • maturity.level: structural-reference

Why this cycle picked up canton Zürich's Taxes vertical

This is the recurring "GovSchema Standard Research" cycle (GOV-1847). The prior cycle (GOV-1840) opened Switzerland as the registry's 27th jurisdiction via the St.Gallen DMV form and explicitly screened Taxes as a candidate, flagging it as genuinely strong but deferring it:

> "Canton Zürich's own tax office (zh.ch) publishes both an online-filing > portal (ZHprivateTax...) and a genuine, current, unauthenticated, flat > (non-AcroForm) PDF main declaration for individuals... plus companion PDFs > (securities/holdings inventory, professional-expenses, insurance-premiums > schedules) and a 40-page official Wegleitung... This is a genuinely strong, > open backlog candidate for Switzerland's Taxes vertical — not pursued to a > full schema this cycle only because DMV was already picked... A future > cycle should pursue this directly rather than re-screening."

This document closes that gap, giving Switzerland its 2nd of 6 verticals (Switzerland previously had only DMV; Visa and domestic Passport are confirmed dead ends per GOV-1840; Business Formation and National ID are confirmed dead ends per GOV-1840; National ID unscreened prior to GOV-1840 but confirmed dead end that cycle).

Sources examined

  • Document (id, version): ch/zh/sta/steuererklaerung-natuerliche-personen / 1.0.0
  • Spec version: GovSchema 0.3.0
  • Authority: Kanton Zürich — Finanzdirektion, Kantonales Steueramt Zürich (the form's own printed issuer, "StA Form. 300"; address Bändliweg 21, 8090 Zürich, per the Wegleitung's own back-cover contact block).
  • Primary source (the return itself): https://www.zh.ch/content/dam/zhweb/bilder-dokumente/themen/steuern-finanzen/steuern/natuerlichepersonen/2025/est-formulare/300%20STE%20ZH%202025%20HA%20DEF.pdf — "StA Form. 300 (2025) 12.25," the current 2025-tax-year 4-page base return, fetched directly (HTTP 200, %PDF-1.4, 99,652 bytes, no /Encrypt, no login/CAPTCHA/WAF gate) from the Kantonales Steueramt Zürich's own tax-return landing page, https://www.zh.ch/de/steuern-finanzen/steuern/steuern-natuerliche-personen/steuererklaerung-natuerliche-personen.html. Byte size and filename match exactly what the prior cycle's (GOV-1840) screening record described, confirming that characterization was accurate and current.
  • Primary source (field-by-field instructions): 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 — "Wegleitung zur Steuererklärung 2025" (40 pages, 1,497,565 bytes), fetched the same way. This document restates several lines' statutory caps and rates that the return itself does not print (e.g. the pillar-3a CHF 7'258/36'288 caps, the CHF 25'000/25'800 childcare cap, the CHF 20'600/10'300 donation ceiling, the 5%-of-net-income medical-cost floor, and the insurance-premium deduction ceilings), quoted directly into this schema's field descriptions.
  • Extraction method. pdfjs-dist (v3.11.174, legacy/build/pdf.js) text extraction succeeded cleanly on both PDFs. A separate pdf-lib AcroForm check (form.getFields()) and a pdfjs-dist annotation-layer check (page.getAnnotations(), filtered to subtype === 'Widget') both returned zero form-field widgets across all 4 pages of the main return — a flat print/reference facsimile PDF (completed on paper in block letters, or filed electronically via the authenticated ZHprivateTax online portal — see the return's own footnote directing filers to www.zh.ch/steuererklaerung), not a fillable AcroForm. Every field below was read from the return's own printed, numbered lines and cross-checked against the Wegleitung's own explanatory sections. Because the return's personal-particulars section places Person 1 and Person 2's fields in two visually adjacent columns that a naive single-axis line-grouping merges into one interleaved string, this extraction re-ran with full (x, y) coordinates per text item (not just y-bucketed lines) to correctly attribute each label to its own column before assigning field names — the same class of column-disambiguation problem flagged, but not fully resolved, for ch/sg/stva/gesuch-lernfahr-fuehrerausweis's own signature block; here it fully resolved cleanly because the two columns' x positions (person 1 ≈ 142-350, person 2 ≈ 355+) never overlap.
  • Retrieved / reviewed: 2026-07-08.
  • Reviewer: GovSchema Engineering (Standards Engineer — initial authoring source review).

Scope decision: base main declaration only, companion schedules excluded

The main return references several distinct, separately-published companion PDFs by name next to specific lines: Wertschriftenverzeichnis (securities and holdings inventory, lines 150/400), Berufsauslagen (Form 360, professional-expenses schedule, lines 220/240), Versicherungsprämien (Form 365, insurance-premiums schedule, line 270), Aus- und Weiterbildung (Form 367, further-education costs, line 292), Liegenschaftenverzeichnis (real-estate register, lines 188/421/422), Schuldenverzeichnis (debts register, lines 250/470), and Hilfsblatt A/B/G (self-employment worksheets, lines 120-123/430), plus several smaller ad hoc worksheets ("Aufstellung über behinderungsbedingte Kosten," "Aufstellung über Krankheits- und Unfallkosten"). Modelling all of these alongside the main return in one session would be a substantially larger scope than any other income-tax schema in this registry (the same reasoning cz/mf/priznani-k-dani-z-prijmu-fyzickych-osob applied to the Czech return's four Přílohy).

This document therefore models the main 4-page declaration only: every numbered line the taxpayer enters directly on this return, whether or not that line's own value is computed off-form with the help of one of the named companion schedules (the same treatment cz/mf's own capitalIncomeTaxBase (ř. 38) received for a line that sits directly on the base return but derives from an annex). Each companion schedule is represented only as a documents[] supporting-evidence requirement, gated on the corresponding main-form line being greater than zero — never as its own set of modelled fields. Left out, as an open backlog candidate for a future cycle: fully modelling any one of the seven companion schedules in its own right (most promisingly the Wertschriftenverzeichnis, since securities income/wealth is likely the most commonly-populated companion schedule for a typical filer).

Scope decision: computed and capped-derivative lines excluded

Per this registry's established treatment of income-tax schemas elsewhere (cz/mf/priznani-k-dani-z-prijmu-fyzickych-osob, pt/at/declaracao-rendimentos-irs-modelo-3, pl/mf/zeznanie-pit-37), a line that is a pure arithmetic function of other lines already captured as fields is not itself modelled:

| Line(s) | Formula / nature | Why excluded | |---|---|---| | 199 | "Total der Einkünfte, zu übertragen auf Seite 3, Ziffer 19" | pure transfer/carry-forward of the income total | | 299 | "Total der Abzüge, zu übertragen in Ziffer 20" | pure transfer/carry-forward of the deductions total | | 310 | Ziffer 19 (=199) − Ziffer 20 (=299) | pure arithmetic | | 350 | Ziffer 21 (=310) abzüglich Ziffern 22.1 (320) und 22.2 (324) | pure arithmetic | | 390 | Ziffer 23 (=350) abz. Ziff. 24.1-24.3 (370+372+374+365) | pure arithmetic | | 398 | Ziffer 25 (=390) − 26.1 (394) − 26.2 (396) | pure arithmetic | | 460 | sum of lines 400-430 | pure arithmetic | | 490 | Ziffer 33 (=460) − Ziffer 34 (470) | pure arithmetic | | 498 | Ziffer 35 (=490) − 36.1 (494) − 36.2 (496) | pure arithmetic | | 134-137 | pensionAnnuityRowNAmountPersonN × ...PercentPersonN / 100 | computed from the already-modelled Betrag/Prozente sub-boxes (960-967) | | 256 | annuityPaymentsGrossAmount (2561) × the ESTV-published Leibrenten taxable-portion rate | a rate the Wegleitung states is published separately by the federal tax administration (ESTV), not printed on this return | | 260, 261 | min(pillar3aContributionPerson1/Person2, the statutory pillar-3a cap) | a capped derivative of an already-modelled field (262/263), per this registry's treatment of statutory-cap-derived lines |

Field-by-field source mapping

  • Representative block (all optional) → representativeNameOrFirm through representativeUidChe. Completed only if a trustee/tax advisor is authorized to receive requests and assessment rulings on the taxpayer's behalf.
  • Personal, occupational, and family particulars (p.1) → person1DateOfBirth through person2OrdinaryPensionFundContributions. Extracted with full (x, y) coordinates to correctly separate the form's two side-by-side "Person 1"/"Person 2" columns (see Extraction method). Person 1's own name is not itself a field on this document: the paper form is mailed pre-addressed by the tax office (an address window), so only Person 2 (a spouse/registered partner newly declared on a joint return) has an explicit first-name box on this page — disclosed rather than silently omitted (Judgment call 1).
  • Dependents (p.1 tables) → childrenInHouseholdDetails through supportedPersonsOutsideHouseholdDetails, each collapsing a small repeating table into one free-text field, the same convention this registry uses elsewhere (e.g. cz/mf's dependentChildrenDetails).
  • Income (p.2, lines 100-188) → employmentIncomeMainPerson1 through netRealEstateIncome. Unlike the deductions section, every income line has a single amount column (income being computed the same way for state and federal tax), confirmed via per-item x-coordinate inspection of the column header ("CHF ohne Rappen," one column, vs. the deductions page's two "Staatssteuer"/"Bundessteuer" columns).
  • Deductions (p.3, lines 220-396) → professionalExpensesPerson1StateTax through taxableIncomeAllocatedAbroad. Confirmed via (x, y) inspection that most deduction lines carry two independent entry boxes (state-tax and federal-tax columns, since several deduction caps differ between the two — e.g. the CHF 25'000 vs. CHF 25'800 childcare cap, the CHF 7'258 pillar-3a cap being federally uniform but the box still duplicated) — modelled as two sibling fields per line (...StateTax/...FederalTax), except line 365 (spouse/partner allowance), which the source form prints with only one box (federal-tax column; the state tax handles married-couple relief through its tariff rather than a fixed deduction here) — modelled as a single spouseOrPartnerAllowanceFederalTax field, disclosed rather than fabricating a non-existent state-tax counterpart (Judgment call 2).
  • Wealth (p.4, lines 400-498) → securitiesAndClaimsWealth through wealthAllocatedAbroad. Single-column throughout (Switzerland's federal tax has no wealth-tax component, so only the cantonal/communal wealth tax applies) — confirmed the same way as the income page.
  • Pension capital benefits and gifts/inheritances (p.4, lines 510-519) → capitalBenefitDeathOrDisabilityAmount through giftOrInheritanceGivenValue. The gift/inheritance date fields (giftOrInheritanceReceivedDate/GivenDate) are modelled as full date values even though the source form prints only day/month boxes next to a fixed, pre-printed "2025" — disclosed in each field's own description (Judgment call 3).
  • Filing and signature (p.4) → placeOfSigning, dateOfSigning, plus the declarationAttestation documents[] entry reproducing the form's own completeness/truthfulness statement verbatim. The ink signature lines themselves ("Unterschrift Person 1"/"Unterschrift Person 2") carry no fillable widget and are not modelled as fields, consistent with this registry's standard treatment of signature-only lines.
  • Companion-schedule references → the 18 documents[] entries, each category: supporting-evidence (or, for the completeness declaration, attestation), gated with requiredWhen on the corresponding main-form line(s) being greater than zero.

Mock-data test run

Per the issue's phase-4 instruction to test-run the schema with valid mock data, a one-off Node.js script (not committed to the repo) implementing the same equals/in/greaterThan/all/any/not Condition grammar as GSP-0013 checked every type/required/requiredWhen/validation constraint and every documents[].requiredWhen in schema.json against four scenarios:

`` OK Scenario 1: single employed taxpayer, pillar 3a contribution OK Scenario 2: married couple, child, pension annuity, donation, real estate, capital benefit FAIL Negative control: capitalBenefitDeathOrDisabilityAmount without payment date (expected FAIL) - MISSING required field: capitalBenefitDeathOrDisabilityPaymentDate FAIL Negative control 2: donation without documents/declarationAttestation (expected FAIL) - MISSING required document: donationAndOtherDeductionsStatement - MISSING required document: declarationAttestation ``

Scenario 1 exercises the single-filer path (employment income, a capped pillar-3a contribution, the salary-certificate and pillar-3a-certificate document requirements). Scenario 2 exercises the joint-filer path (a second person's date of birth and first name, a child in the household triggering the fixed per-child state/federal allowance, a private pension/annuity with its amount/percentage sub-fields, a charitable donation, a real-estate holding, and a capital benefit paid on death/disability with its payment date). The two negative controls confirm the evaluator actually enforces requiredWhen on both fields and documents (a capital-benefit amount without its payment date, and a donation without its supporting statement or the declaration attestation) rather than trivially passing everything. No defects were found in the schema itself.

Both registry validators were run against the schema document itself and pass:

``` $ node tools/validate.mjs registry/ch/zh/sta/steuererklaerung-natuerliche-personen/1.0.0/schema.json ok registry/ch/zh/sta/steuererklaerung-natuerliche-personen/1.0.0/schema.json

1/1 document(s) passed.

$ node tools/validate-ajv.mjs registry/ch/zh/sta/steuererklaerung-natuerliche-personen/1.0.0/schema.json ok registry/ch/zh/sta/steuererklaerung-natuerliche-personen/1.0.0/schema.json [v0.3]

1/1 document(s) validated against the meta-schema (ajv 2020-12).

$ node tools/verify-sources.mjs registry/ch/zh/sta/steuererklaerung-natuerliche-personen/1.0.0 verify-sources: checking 1 schema version directory...

verify-sources: 1 directory, 4 URLs checked, 0 warning(s), 0 allowlisted, all clear. ```

What is NOT modelled (out of scope), and why

  • Wertschriftenverzeichnis (securities and holdings inventory) — a distinct, larger, independently-published PDF referenced at income line 150 and wealth line 400; left as an open backlog candidate, likely the strongest next sub-cycle target since it is the most commonly-populated companion schedule.
  • Berufsauslagen (Form 360, professional-expenses schedule, lines 220/240), Versicherungsprämien (Form 365, insurance-premiums schedule, line 270), Aus- und Weiterbildung (Form 367, further-education costs, line 292), Liegenschaftenverzeichnis (real-estate register, lines 188/421/422), Schuldenverzeichnis (debts register, lines 250/470), and Hilfsblatt A/B/G (self-employment worksheets, lines 120-123/430) — each a distinct, separately-published PDF; same reason.
  • The ad hoc worksheets for disability-related costs and medical/accident costs (each an "Aufstellung"/"Merkblatt"-referenced form, not itself independently numbered like the schedules above) — same reason.
  • Every pure computed/arithmetic or capped-derivative line — see the table above.
  • The office-only fields ("Bitte nicht ausfüllen," "Zustellung / Einreichungsfrist / Frist erstreckt bis / gemahnt am / Eingang" on p.1) — completed by the tax office, not the taxpayer, the same class of exclusion this registry applied to ch/sg/stva/gesuch-lernfahr-fuehrerausweis's own "Bitte nicht ausfüllen" box.

Judgment calls

  1. Person 1's own name is not modelled as a field. The paper return is mailed pre-addressed by the tax office (an address window on the form), so the source PDF's text layer has no "Name"/"Vorname" label for Person 1 between the title block and the representative section — only Person 2 (a spouse/registered partner newly declared on a joint return) has an explicit Vorname box. Disclosed in person2FirstName's own description rather than fabricating a Person 1 name field the source does not show.
  2. spouseOrPartnerAllowanceFederalTax (line 365) has no state-tax counterpart. Confirmed via (x, y) coordinate inspection that this line prints only one amount box (federal-tax column); Zürich's state tax grants married-couple relief through its tariff structure rather than a fixed per-couple deduction on this line, unlike the federal computation.
  3. giftOrInheritanceReceivedDate/GivenDate are modelled as full date values even though the source form prints only day/month boxes next to a pre-printed, fixed "2025." GovSchema's date type requires a full YYYY-MM-DD value (§6.2); this schema's own field description states that the year is fixed at the tax year by the form itself, so a producer or consumer populating this field for a 2025 return should set the year accordingly, rather than the schema fabricating a day/month-only type the spec does not define.
  4. Every deduction line with two visible amount boxes is modelled as two sibling fields (...StateTax/...FederalTax), never collapsed into one. Unlike a split identity-number comb box (a single logical value spread across adjoining boxes with no separator, e.g. ch/sg's ahvNumber), each state/federal pair here is a materially independent value — the applicable statutory cap frequently differs between the two columns (e.g. CHF 25'000 vs. CHF 25'800 for childcare), so collapsing them would silently discard a real distinction the source draws.
  5. pillar3aContributionPerson1/Person2 (lines 262/263, the "eff. CHF" actual-contribution boxes) are modelled; the corresponding capped deductible amounts (lines 260/261) are not — the latter are a pure statutory-cap function of the former (see the computed-lines table), consistent with this registry's practice of modelling the taxpayer's own raw input rather than a value the taxpayer (or an agent) is expected to derive by applying a published cap.
  6. annuityPaymentsGrossAmount (line 2561) is modelled; the corresponding deductible Ertragsanteil (line 256) is not — the Wegleitung states the deductible portion is computed via a rate the Swiss federal tax administration (ESTV) publishes separately (not printed on this return), the same class of external-rate-dependent computed value this registry excludes elsewhere (e.g. cz/mf's own treatment of statutory-rate-based totals).
  7. jurisdiction.level is subnational with subdivision: "CH-ZH", consistent with ch/sg/stva/gesuch-lernfahr-fuehrerausweis's own treatment of Swiss cantonal forms: Zürich's tax administration independently designs and publishes its own return (distinct in layout and detail from any other canton's own return), even though the substantive tax base for the direct federal tax component is federally harmonized (DBG). This document models Zürich's own return only, not a claim that every Swiss canton's natural-person tax return is identical.
  8. No live submission was attempted (see Mock-data test run) — filing a real Swiss tax return is a real legal act with a real cantonal tax authority, not a safe or reversible action to simulate against a live government process, consistent with this registry's standing discipline.

Access notes

No access blocks: zh.ch was reachable directly from this environment with plain curl — no TCP-level reset, WAF, or CAPTCHA gate encountered. This is consistent with the prior cycle's finding that zh.ch itself is unblocked (GOV-1840 encountered an access obstacle only with a different, already- encrypted zh.ch-hosted PDF — the St.Gallen cycle's DMV candidate comparison — not with this document's own tax-return PDFs, which are unencrypted and unauthenticated).

Scope and jurisdiction notes

  • This is Switzerland's first Taxes-vertical document, giving it 2 of its 6 verticals (DMV, Taxes); Visa, Passport, Business Formation, and National ID remain confirmed dead ends per GOV-1840.
  • id uses sta (the form's own printed "StA" abbreviation for Steueramt, the cantonal tax office) as the authority-directory segment, the same own-abbreviation convention ch/sg/stva and cz/mf already use in this registry.
  • id's own slug, steuererklaerung-natuerliche-personen, is the return's own official title ("Steuererklärung für natürliche Personen"), ASCII- folded per this registry's existing naming convention.
  • Conditional requiredness uses requiredWhen (GSP-0013), targeting spec v0.3, consistent with every other document in this registry authored under v0.3. No edition member is used, consistent with this registry's existing treatment of other annual tax-return schemas (cz/mf/priznani-k-dani-z-prijmu-fyzickych-osob, pl/mf/zeznanie-pit-37, pt/at/declaracao-rendimentos-irs-modelo-3), none of which use the edition axis despite also being tax-year-specific forms.
  • Amounts are modelled as plain number fields in whole CHF ("CHF ohne Rappen" — CHF without centimes, per the form's own column header), with the unit noted in each field's own label/description rather than a separate currency sub-field, the same convention cz/mf and pt/at/declaracao-rendimentos-irs-modelo-3 use for their own local-currency amounts.

Re-verification

Per the practice's cadence, nextReviewBy is set to 2027-01-08 (6 months). Because status remains draft (this document was authored from the canonical PDF form and its own Wegleitung but has not been checked against a live ZHprivateTax electronic filing), a future review should prioritize: confirming the 2026-tax-year edition's own statutory CHF figures for the fixed-rate deductions/allowances (pillar 3a caps, childcare cap, donation ceiling, child/supported-person/spouse allowances) have not changed, and re-screening whether the Wertschriftenverzeichnis (or another companion schedule) has become a tractable single-session candidate.

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.json

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Kanton Zürich — Finanzdirektion, Kantonales Steueramt Zürich or any government. The authoritative source is always the live government form and its official instructions.