Registry entry

Germany Individual Income Tax Return (Einkommensteuererklärung, via ELSTER, tax year 2025)

Prepare an individual's German income tax return ('Einkommensteuererklärung') via Mein ELSTER, the federal tax administration's free online filing portal (elster.de), for tax year 2025. ELSTER's 'vorausgefüllte Steuererklärung' (VaSt) service pre-fills up to four years of electronically-reported third-party data once the taxpayer authenticates and consents in their ELSTER account: master data (name, address, bank details, religion), employer wage-tax certificates (Lohnsteuerbescheinigung), wage-replacement benefits, pension benefit notifications, health/long-term-care insurance contributions, Riester/Rürup pension contract data, health-insurance subsidies, asset-building savings scheme contributions, and interest/capital income under an exemption order — the applicant reviews, corrects, and completes the pre-filled figures rather than filling a blank form, the same shape as au/ato/individual-tax-return-mytax and sg/iras/individual-income-tax-return-formb1. This document models the field set of the paper form ELSTER's own screens mirror, the Hauptvordruck 'ESt 1 A' (2025 edition, form codes 2025ESt1A011NET/012NET): tax-office routing, the taxpayer's identity and address, marital/assessment status and (where married or in a civil partnership) the spouse's identity and address, refund bank details, the employee savings-bonus application, income-replacement benefits subject to the progression clause, a supplementary-statements gate, and the declaration/signature. Out of scope: every income, deduction, and dependent-related Anlage (schedule) the Hauptvordruck itself defers to — Anlage N (employment income), Anlage Vorsorgeaufwand (pension/insurance contributions), Anlage Sonderausgaben (special expenses, donations, church tax), Anlage Kind (one per child), and every other Anlage — none of which the Hauptvordruck itself contains a line item for; it does not submit the return or compute tax owed; the live Mein ELSTER portal and the live ELSTER/BZSt sources are always authoritative (see VERIFICATION.md).

Registry entry

de/finanzamt/income-tax-return-elster

Jurisdiction
Germany · national
Version
1.0.0
Verification
draft

GovSchema spec v0.3

Authoritative source ELSTER 'Belegabruf (Privatpersonen)' / vorausgefüllte Steuererklärung (VaSt) guidance page, plus the official Hauptvordruck 'ESt 1 A' (2025 edition, form codes 2025ESt1A011NET/012NET, dated September 2025) whose field set ELSTER's online screens mirror

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

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

Access to Mein ELSTER

  • hasElsterAccountWithVerifiedIdentity boolean required

    A free Mein ELSTER account with verified identity (via the ELSTER certificate registration process) is required to file online and to authorize retrieval of the pre-filled return (Belegabruf/VaSt).

Tax office routing and contact (lines 4-7)

  • taxNumber string optional

    The tax number assigned by the taxpayer's local Finanzamt. May be unknown to first-time filers, who leave it blank for the Finanzamt to assign.

    length: 0–20classification: sensitive-pii
  • competentFinanzamt string required

    The name of the taxpayer's local Finanzamt (tax office), determined by place of residence.

    length: 0–200
  • formerFinanzamtIfMoved string optional

    Bisheriges Finanzamt (former tax office, if you moved)

    length: 0–200
  • daytimePhoneNumber string optional

    Telefonische Rückfragen tagsüber unter Nummer (daytime contact number)

    length: 0–30classification: pii

Taxpayer identity (lines 8-12)

  • taxIdNumber string required

    The taxpayer's 11-digit Steuerliche Identifikationsnummer.

    patternclassification: sensitive-pii
  • dateOfBirth date required

    Geburtsdatum (date of birth)

    classification: sensitive-pii
  • dateOfDeathIfApplicable date optional

    Completed by the person filing on behalf of a deceased taxpayer.

  • familyName string required

    Name (family name)

    length: 1–100classification: pii
  • firstName string required

    Vorname (first name)

    length: 1–100classification: pii
  • titleAcademicDegree string optional

    Titel, akademischer Grad (title, academic degree)

    length: 0–50
  • religionKey string optional

    Two-letter religion code used to determine church-tax liability, e.g. EV (Evangelisch), RK (Römisch-Katholisch), or VD (nicht kirchensteuerpflichtig / not liable). Other Land-specific codes exist for other church-tax-levying religious communities; not modelled as a closed list here (see VERIFICATION.md), the same discipline as the ATO/IRAS offset and benefit codes in this registry.

    length: 0–2
  • religionChangedThisYear enum optional

    Whether and how the taxpayer's church-tax-relevant religion changed during the tax year.

    enum: left_church | changed_religion | joined_church
  • occupation string optional

    Ausgeübter Beruf (occupation)

    length: 0–100

Taxpayer address (lines 13-17)

  • street string required

    Straße (street)

    length: 1–100classification: pii
  • houseNumber string required

    Hausnummer (house number)

    length: 0–10classification: pii
  • houseNumberSuffixOrAddressAddition string optional

    Hausnummerzusatz, Adressergänzung (house number suffix / address addition)

    length: 0–100classification: pii
  • postalCode string required

    German (or foreign) postal code. Foreign postal codes are not constrained to the 5-digit German format.

    length: 0–15classification: pii
  • city string required

    Wohnort (city)

    length: 1–100classification: pii
  • countryIfForeignAddress string optional

    Staat, falls Anschrift im Ausland (country, if address is abroad)

    length: 0–100

Marital status and assessment type (lines 18-19)

  • maritalStatus enum optional

    Left unset for a taxpayer who is single and has never had one of the below statuses.

    enum: married_or_civil_partnership | widowed | divorced_or_partnership_dissolved | permanently_separated
  • maritalStatusSinceDate date optional

    The date the selected marital status took effect (or, for permanent separation, the date of separation).

  • assessmentType enum optional

    Only completed by married taxpayers/civil partners: joint assessment, separate assessment, or a declared community-of-property arrangement.

    enum: joint_assessment | separate_assessment | community_of_property

Spouse/partner details, if married or in a civil partnership (lines 20-29)

  • spouseTaxIdNumber string optional

    Identifikationsnummer der Ehefrau/des Ehemanns bzw. der Lebenspartnerin/des Lebenspartners

    patternclassification: sensitive-pii
  • spouseDateOfBirth date optional

    Geburtsdatum der Ehefrau/des Ehemanns bzw. der Lebenspartnerin/des Lebenspartners

    classification: sensitive-pii
  • spouseFamilyName string optional

    Name der Ehefrau/des Ehemanns bzw. der Lebenspartnerin/des Lebenspartners

    length: 0–100classification: pii
  • spouseFirstName string optional

    Vorname der Ehefrau/des Ehemanns bzw. der Lebenspartnerin/des Lebenspartners

    length: 0–100classification: pii
  • spouseReligionKey string optional

    Religionsschlüssel der Ehefrau/des Ehemanns bzw. der Lebenspartnerin/des Lebenspartners

    length: 0–2
  • spouseOccupation string optional

    Ausgeübter Beruf der Ehefrau/des Ehemanns bzw. der Lebenspartnerin/des Lebenspartners

    length: 0–100
  • spouseAddressDifferentFromApplicant boolean optional

    Only completed if the spouse/partner's address differs from the taxpayer's own address above.

  • spouseStreet string optional

    Straße (spouse's street, if different)

    length: 0–100classification: pii
  • spouseHouseNumber string optional

    Hausnummer (spouse's house number, if different)

    length: 0–10classification: pii
  • spousePostalCode string optional

    Postleitzahl (spouse's postal code, if different)

    length: 0–15classification: pii
  • spouseCity string optional

    Wohnort (spouse's city, if different)

    length: 0–100classification: pii

Refund account details (lines 30-33)

  • refundAccountIsForeign boolean required

    Refund account is held at a foreign (non-German) financial institution

  • ibanDomestic string optional

    IBAN (inländisches Geldinstitut)

    length: 0–34classification: financial
  • ibanForeign string optional

    IBAN (ausländisches Geldinstitut)

    length: 0–34classification: financial
  • bicForeign string optional

    BIC zur IBAN des ausländischen Geldinstituts

    length: 0–11classification: financial
  • accountHolderName string optional

    Name of the account holder, if different from the taxpayer (e.g. spouse or a third party, which requires a separate assignment form / Abtretungsvordruck not modelled here).

    length: 0–100classification: pii

Other main-form declarations (lines 34-37, 38-40)

  • appliesForEmployeeSavingsBonus boolean optional

    Application for assessment of the employee savings bonus (Arbeitnehmer-Sparzulage) on asset-building savings scheme (VL) contributions.

  • hasReceivedIncomeReplacementBenefits boolean optional

    Whether the taxpayer received income-replacement benefits subject to the progression clause (Progressionsvorbehalt) during the year — e.g. Arbeitslosengeld (unemployment benefit), Elterngeld (parental allowance), Insolvenzgeld, Krankengeld (sick pay), Mutterschaftsgeld (maternity benefit), or Verdienstausfallentschädigung (loss-of-earnings compensation).

  • totalIncomeReplacementBenefitsAmount number optional

    Total amount of the income-replacement benefits named above. The 2025 Hauptvordruck's exact per-benefit-type box layout was not independently confirmed at box level — see VERIFICATION.md.

  • hasSupplementaryStatements boolean optional

    Gate for the supplementary-statements section (four reason codes new in the 2025 edition); the supplementary statements themselves are out of scope for this document — see VERIFICATION.md.

  • preparedWithTaxAdvisorOrAssociation boolean optional

    Whether the return was prepared with the involvement of a tax advisor or wage-tax assistance association (Lohnsteuerhilfeverein).

Declaration and signature

  • declarationSigned boolean required

    The taxpayer must review and confirm the completed (and, where applicable, pre-filled) return as true and complete before submitting.

  • declarationDate date required

    Datum der Unterschrift (date of signature)

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-02

The document was derived from ELSTER's own guidance describing the VaSt pre-fill service and the official paper form ELSTER's online screens mirror. The full field-by-field comparison the practice requires against the live, authenticated Mein ELSTER online screens (Procedure step 2) has not been completed, so this remains draft, not verified.

Sources examined

  • Document (id, version): de/finanzamt/income-tax-return-elster / 1.0.0
  • Spec version: GovSchema 0.3.0
  • Authority: Bundeszentralamt für Steuern ("ELSTER"), filings routed to the taxpayer's local Finanzamt.
  • Primary source (flow/pre-fill): https://www.elster.de/elsterweb/infoseite/belegabruf_(privatpersonen) ("Belegabruf (Privatpersonen)"), fetched directly (HTTP 200, no access block on elster.de in this sandbox). Describes the vorausgefüllte Steuererklärung (VaSt) as a free tax-administration service pre-populating up to four years of electronically-reported data across nine categories (master data; employer wage-tax certificates; wage-replacement benefits; pension benefit notifications; health/long-term-care insurance contributions; Riester/Rürup pension contract data; health-insurance subsidies; asset-building savings scheme contributions; interest/capital income under an exemption order), gated behind ELSTER-account authentication and in-account consent, with an explicit statement that the taxpayer remains obligated to review and correct the data before submission.
  • Secondary source (field-by-field detail): the official Hauptvordruck "ESt 1 A" (2025 edition; form codes 2025ESt1A011NET/012NET, dated September 2025). The BMF's canonical distribution site, formulare-bfinv.de, is a client-rendered SPA ("Lucom Interaction Platform") that a plain curl/WebFetch GET cannot deep-link into (an empty HTML shell, or a 303->400 redirect chain on form IDs) — the PDF itself was instead retrieved from two independent static mirrors hosting the unmodified BMF-generated file: finanzamt-rente-im-ausland.de (a Finanzamt Neubrandenburg subdomain serving international/foreign-pension taxpayers) and steuern.de (a private tax portal whose PDF is byte-identical to the mirror above apart from one prepended advertising page for its own "smartsteuer" product). Authenticity corroborated via both PDFs' embedded XMP metadata (dc:creator: "BMF, Vordruckkommission ESt"; xmp:CreatorTool: "Formular-Management-System der Bundesfinanzverwaltung 3.6.3") and the in-text document codes 2025ESt1A011NET/012NET.
  • Retrieved / reviewed: 2026-07-02.
  • Reviewer: GovSchema Engineering (Standards Engineer — initial authoring source review).

PDF shape: static, print-only — a third non-fillable shape in this registry

Every copy of the Hauptvordruck examined carries an /AcroForm dictionary scaffold, but with an empty Fields[] array and zero Widget annotations (no /XFA either, and no /Encrypt) — pdfjs-dist's getFieldObjects() returns null. This is a third distinct non-fillable PDF shape recorded in this registry's extraction notes ([[gov-form-pdf-extraction]], [[gov474-dmv-business-formation-vertical-and-xfa-extraction]]): unlike NAT 2541/DL1 (no /AcroForm marker at all, requiring position-sorted text extraction) or i-Kfz's dynamic XFA case, this PDF's /AcroForm shell is leftover generator scaffolding with the interactive fields stripped out at publication time. Fields were reconstructed from pdfjs-dist's getTextContent(), read page by page (German umlauts extracted intact), and anchored to the Hauptvordruck's own printed line numbers rather than to AcroForm field names or box positions.

What was confirmed against the source

| Source element | Field(s) | |---|---| | elster.de: ELSTER-account/consent precondition, VaSt's nine pre-fill data categories, ongoing review-before-submission obligation | hasElsterAccountWithVerifiedIdentity field description; document description | | Hauptvordruck line 4-7: Steuernummer, An das Finanzamt, former Finanzamt, daytime phone | taxNumber through daytimePhoneNumber | | Hauptvordruck line 8-12: tax ID, DOB, date of death, name, title, religion, occupation | taxIdNumber through occupation | | Hauptvordruck line 13-17: street, house number, postal code, city, foreign country | street through countryIfForeignAddress | | Hauptvordruck line 18-19: marital status, assessment type | maritalStatus through assessmentType | | Hauptvordruck lines 20-29: spouse/partner identity and (if different) address | spouseTaxIdNumber through spouseCity | | Hauptvordruck lines 30-33: domestic/foreign IBAN, BIC, account holder | refundAccountIsForeign through accountHolderName | | Hauptvordruck line 34: employee savings-bonus application | appliesForEmployeeSavingsBonus | | Hauptvordruck lines 35-36: income-replacement benefits subject to the progression clause | hasReceivedIncomeReplacementBenefits, totalIncomeReplacementBenefitsAmount | | Hauptvordruck line 37: supplementary-statements gate | hasSupplementaryStatements | | Hauptvordruck lines 38-40: tax-advisor involvement, signature | preparedWithTaxAdvisorOrAssociation, declarationSigned, declarationDate |

What is NOT independently confirmed (out of scope), and sourcing caveats

  • Every Anlage (schedule) the Hauptvordruck itself defers to is entirely out of scope: Anlage N (employment income), Anlage Vorsorgeaufwand (pension/insurance contributions), Anlage Sonderausgaben (church tax paid, donations, vocational training costs, alimony), Anlage Kind (one per child, child benefit/childcare/disability items), and every other Anlage (capital income, rental income, self-employment, etc., not reviewed this cycle). This mirrors every prior tax-return schema in this registry's main-form/schedule split (us/irs/individual-income-tax-return-1040's Schedule exclusions, nz/ird/individual-tax-return-ir3's IR3G exclusion, au/ato/individual-tax-return-mytax's supplementary-section exclusion). The Hauptvordruck itself contains no income, deduction, or dependent line items beyond the two gates modelled (appliesForEmployeeSavingsBonus, hasReceivedIncomeReplacementBenefits) — everything else genuinely lives on an Anlage, not omitted from a form section that has it.
  • Religion code vocabulary is not closed. religionKey is modelled as a free 2-character string rather than a closed enum: the source explicitly names only three codes (EV, RK, VD), but additional Land-specific codes exist for other church-tax-levying religious communities (confirmed to exist by general knowledge of the German church-tax system, but not independently enumerated from an official source this cycle) — the same discipline as the ATO/IRAS free-text offset/benefit codes already in this registry, rather than guessing a complete enum.
  • Income-replacement benefits (lines 35-36) box-level layout not confirmed. The source research identified the benefit types named on the form (Arbeitslosengeld, Elterngeld, Insolvenzgeld, Krankengeld, Mutterschaftsgeld, Verdienstausfallentschädigung) but not whether each has its own dollar box or whether they share one combined box — modelled conservatively as one gate boolean plus one total amount rather than guessing a per-benefit-type breakdown. A future revision that re-derives this from the primary PDF page directly (rather than a downstream research summary) should confirm or correct this.
  • Supplementary-statements gate (line 37) reason codes not modelled. The 2025 edition is stated to have introduced four reason codes for this section; this document models only the gate boolean (hasSupplementaryStatements), not the codes themselves — out of scope, same treatment as au/ato/individual-tax-return-mytax's requiresSupplementarySection.
  • No attestation documents[] entry. No exact German sign-off/attestation statement text was independently sourced for the Unterschrift (signature) block — same discipline as gb/ukvi/standard-visitor-visa's and de/bmi/passport-application's missing-attestation-text notes, rather than fabricating a plausible statement.
  • Widowhood-during-the-year edge case not modelled. The spouse-details block (lines 20-29) is gated only on maritalStatus equalling married_or_civil_partnership; a taxpayer whose spouse died during the tax year may still be eligible for a joint assessment for that year under German tax law, a nuance this v1.0.0 does not attempt to model — flagged here rather than silently narrowed without a note.
  • formulare-bfinv.de is SPA-rendered, not blocked. Distinct from the WAF-blocked-domain list (canada.ca, nzta.govt.nz, ato.gov.au) and the HTTP-410-retired-domain case (i-kfz.de): this domain returns HTTP 200 but its content is client-rendered JavaScript, so a scripted-browser session (not attempted this cycle) would be needed to resolve literal PDF URLs directly from the BMF's own site rather than via a third-party mirror.

Why every field here is optional except the compulsory few

Like au/ato/individual-tax-return-mytax and sg/iras/individual-income-tax-return-formb1, this document's defining shape is reviewing a pre-filled return: ELSTER's VaSt service pre-populates master data (name, address, bank details, religion), employer wage-tax data, and seven other categories before the taxpayer ever opens the return. Fields are optional here for the same two reasons recorded for those two sibling documents: (a) genuine applicability (marital/spouse fields, foreign address fields, etc. only apply to some filers), and (b) the pre-fill shape itself (VaSt may populate a value the individual never manually types). required: true is reserved for fields every filer supplies or confirms regardless of pre-fill — ELSTER account access, tax ID, name, tax-office routing, home address, the domestic/foreign refund-account routing gate, and the declaration/signature — mirroring exactly which fields the sibling AU and SG documents marked required.

Time-versioning and the edition axis (flagged spec gap)

The Hauptvordruck is genuinely time-versioned — its own form codes (2025ESt1A011NET/012NET) and printed edition date (September 2025) pin it to tax year 2025, the same shape as every other tax-return schema in this registry. Spec v0.3's edition.scheme enum remains closed to us-tax-year / gb-tax-year / award-year (SPEC.md §5.7) — Germany's calendar-year Einkommensteuererklärung fits neither the wrong-shape gap (NZ's April-March year) nor is it the same jurisdiction any existing scheme names. This is the sixth reference schema to hit this exact gap, after IE Form 11S, NZ IR3, CA T1, AU myTax, and SG Form B1 — published at the plain, non-edition registry path (registry/de/finanzamt/income-tax-return-elster/1.0.0/schema.json) as a workaround, consistent with all five prior cases. See spec/proposals/0019-generalize-edition-scheme-calendar-tax-year.md.

Scope and jurisdiction notes

  • Conditional requiredness/visibility is expressed with requiredWhen/ visibleWhen (GSP-0013), targeting spec v0.3.
  • The hasElsterAccountWithVerifiedIdentity gate uses a to: null / exitReason: "no-elster-account" transition (GSP-0013 §4), the same eligibility-gate pattern used by au/ato/individual-tax-return-mytax's myGov-linkage gate and ca/on/mto/drivers-licence-renewal's account precondition. A taxpayer without an ELSTER account still has a paper postal-filing path through the Finanzamt; that channel is a different process not modelled by this document (ELSTER-only), so the exit is presentational, not a claim that no other filing channel exists.
  • assessmentType's community_of_property option (Gütergemeinschaft) is a genuine but comparatively rare German matrimonial property regime; modelled as sourced without further narrowing.

Path to a verified claim (next step)

To advance to status: verified, a reviewer applies manual-source-review-v1 Procedure step 2 against the live, authenticated Mein ELSTER online screens, confirms the income-replacement-benefits box-level layout and the religion code vocabulary directly against a freshly-fetched primary PDF (not a downstream research summary), and records the outcome here — shipping a new schema version if discrepancies are found (VERSIONING.md §3, immutability).

Re-verification

Per the practice's Cadence, nextReviewBy is set to 2027-01-01 (6 months), and in any case before the 2026 edition of the Hauptvordruck ESt 1 A is published, since the source content itself changes annually.

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 Bundeszentralamt für Steuern (ELSTER), submissions routed to the taxpayer's local Finanzamt or any government. The authoritative source is always the live government form and its official instructions.