Registry entry

Latvia Annual Income Tax Declaration — Form D, Annex D1, and Annex D2 (Gada ienākumu deklarācija, forma D, pielikums D1 un D2)

The State Revenue Service's (Valsts ieņēmumu dienests, VID) annual personal income tax declaration under Cabinet Regulation No. 662 (30 October 2018), "Noteikumi par iedzīvotāju ienākuma nodokļa deklarācijām un to aizpildīšanas kārtību", as amended by Cabinet Regulation No. 615 of 21 October 2025 (in force 2026-01-01). Deepens Latvia's Taxes vertical (opened at v1.0.0, GOV-4138) by adding Annex D2 (taxation-year income earned abroad by a resident individual, excluding a seafarer's income under Annex D2¹ and excluding business-activity income). The regulation's own Annex 1 bundles a base cover declaration (Form D) with 7 companion schedules (D1, D1¹, D2, D2¹, D3, D3¹, D4); this v1.1.0 is scoped to Form D (cover/identification and the tax-calculation summary) plus Annex D1 (Latvia-sourced income) and Annex D2 (foreign-sourced income), matching this registry's existing narrow-scoping precedent for large multi-schedule tax forms (e.g. CL Formulario 22, GOV-1744). Annexes D1¹, D2¹, D3, D3¹, D4, DK, the DK annex, and GD are explicitly left as open backlog (see VERIFICATION.md Known Gaps) — every Form D summary row whose printed formula references one of those out-of-scope annexes is still modelled as a plain numeric field (so the total the filer computes and transcribes can be captured), with the out-of-scope terms of its own formula disclosed in the field's own description rather than fabricated. Models the declarant's identification, Annex D1's 9-row income table, Annex D2's 6-row foreign-income table (country and payer, income type, foreign income amount, tax-exempt income, state social insurance payments, author and other expenses, foreign tax paid, the Latvia-rate tax computation, plus the schedule's own "Kopā" totals row), Form D's 27-row (plus 2 sub-rows) tax-calculation summary including the pensioner non-taxable-minimum checkbox, the overpayment refund bank details, the free-text list of attached annex numbers and supporting-expense documents, a single completeness attestation, and a single signature/date pair. Filing this declaration is a taxpayer action performed with the State Revenue Service (via the EDS electronic declaration system, by post, or in person); this schema does not file the declaration itself, and the live source is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by Latvia or its State Revenue Service.

You are viewing v1.1.0

The latest published version of this schema is v1.4.1. See the current reference page. Published versions are immutable; this page stays for agents pinned to lv/vid/annual-income-tax-declaration-form-d@1.1.0.

Registry entry

lv/vid/annual-income-tax-declaration-form-d

Jurisdiction
Latvia · national
Version
1.1.0
Verification
draft

Authoritative source Cabinet Regulation No. 662 (30 October 2018), "Noteikumi par iedzīvotāju ienākuma nodokļa deklarācijām un to aizpildīšanas kārtību" (Regulations on Personal Income Tax Declarations and the Procedure for Their Completion), Annex 1 (1. pielikums), as amended by Cabinet Regulation No. 615 of 21 October 2025, in force 2026-01-01 — Form D (Gada ienākumu deklarācija), Annex D1, and Annex D2

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

191 fields across 5 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.

Taksācijas gads un nodokļa maksātāja identifikācija (Tax Year and Taxpayer Identification)

  • taxationYear integer required

    The tax year the declaration covers, printed as 4 blank digit boxes at the top of Form D.

    range: 2000–2100
  • applicantFullName string required

    The declarant's full given name and surname, entered on a single fill-in line (the form does not split given name and surname into separate boxes here, unlike some other Latvian forms in this registry).

    classification: pii
  • applicantPersonalCode string required

    The declarant's Latvian personal code (personas kods), printed as 6 digit boxes, a literal dash, then 5 digit boxes — unlike lv/ur/sole-trader-registration-kr2's own personas kods field, this form prints the dash placeholder directly, so the pattern is derived from the printed boxes themselves.

    patternclassification: sensitive-pii
  • applicantPhoneNumber string optional

    The declarant's phone number, printed as 8 digit boxes.

    patternclassification: pii

D1 pielikums — Taksācijas gadā Latvijas Republikā gūtie ienākumi (Annex D1 — Income Earned in Latvia During the Tax Year)

  • incomeEntry1SourceAndType string optional

    Row 1 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry1GrossIncome number optional

    Row 1 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry1NonTaxableIncome number optional

    Row 1 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry1EmployeeSocialInsuranceContributions number optional

    Row 1 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry1PensionAndLifeInsuranceContributions number optional

    Row 1 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry1AuthorExpenses number optional

    Row 1 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry1IncomeRelatedExpenses number optional

    Row 1 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry1TaxableIncome number optional

    Row 1 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry1AdvanceTaxWithheld number optional

    Row 1 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry2SourceAndType string optional

    Row 2 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry2GrossIncome number optional

    Row 2 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry2NonTaxableIncome number optional

    Row 2 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry2EmployeeSocialInsuranceContributions number optional

    Row 2 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry2PensionAndLifeInsuranceContributions number optional

    Row 2 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry2AuthorExpenses number optional

    Row 2 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry2IncomeRelatedExpenses number optional

    Row 2 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry2TaxableIncome number optional

    Row 2 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry2AdvanceTaxWithheld number optional

    Row 2 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry3SourceAndType string optional

    Row 3 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry3GrossIncome number optional

    Row 3 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry3NonTaxableIncome number optional

    Row 3 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry3EmployeeSocialInsuranceContributions number optional

    Row 3 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry3PensionAndLifeInsuranceContributions number optional

    Row 3 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry3AuthorExpenses number optional

    Row 3 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry3IncomeRelatedExpenses number optional

    Row 3 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry3TaxableIncome number optional

    Row 3 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry3AdvanceTaxWithheld number optional

    Row 3 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry4SourceAndType string optional

    Row 4 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry4GrossIncome number optional

    Row 4 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry4NonTaxableIncome number optional

    Row 4 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry4EmployeeSocialInsuranceContributions number optional

    Row 4 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry4PensionAndLifeInsuranceContributions number optional

    Row 4 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry4AuthorExpenses number optional

    Row 4 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry4IncomeRelatedExpenses number optional

    Row 4 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry4TaxableIncome number optional

    Row 4 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry4AdvanceTaxWithheld number optional

    Row 4 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry5SourceAndType string optional

    Row 5 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry5GrossIncome number optional

    Row 5 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry5NonTaxableIncome number optional

    Row 5 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry5EmployeeSocialInsuranceContributions number optional

    Row 5 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry5PensionAndLifeInsuranceContributions number optional

    Row 5 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry5AuthorExpenses number optional

    Row 5 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry5IncomeRelatedExpenses number optional

    Row 5 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry5TaxableIncome number optional

    Row 5 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry5AdvanceTaxWithheld number optional

    Row 5 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry6SourceAndType string optional

    Row 6 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry6GrossIncome number optional

    Row 6 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry6NonTaxableIncome number optional

    Row 6 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry6EmployeeSocialInsuranceContributions number optional

    Row 6 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry6PensionAndLifeInsuranceContributions number optional

    Row 6 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry6AuthorExpenses number optional

    Row 6 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry6IncomeRelatedExpenses number optional

    Row 6 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry6TaxableIncome number optional

    Row 6 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry6AdvanceTaxWithheld number optional

    Row 6 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry7SourceAndType string optional

    Row 7 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry7GrossIncome number optional

    Row 7 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry7NonTaxableIncome number optional

    Row 7 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry7EmployeeSocialInsuranceContributions number optional

    Row 7 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry7PensionAndLifeInsuranceContributions number optional

    Row 7 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry7AuthorExpenses number optional

    Row 7 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry7IncomeRelatedExpenses number optional

    Row 7 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry7TaxableIncome number optional

    Row 7 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry7AdvanceTaxWithheld number optional

    Row 7 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry8SourceAndType string optional

    Row 8 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry8GrossIncome number optional

    Row 8 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry8NonTaxableIncome number optional

    Row 8 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry8EmployeeSocialInsuranceContributions number optional

    Row 8 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry8PensionAndLifeInsuranceContributions number optional

    Row 8 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry8AuthorExpenses number optional

    Row 8 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry8IncomeRelatedExpenses number optional

    Row 8 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry8TaxableIncome number optional

    Row 8 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry8AdvanceTaxWithheld number optional

    Row 8 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeEntry9SourceAndType string optional

    Row 9 of Annex D1's income table: the income source (including the payer's name and registration code, or name and personal code, where one is assigned) and the type of income.

  • incomeEntry9GrossIncome number optional

    Row 9 of Annex D1's income table. Bruto ieņēmumi.

    range: 0–∞
  • incomeEntry9NonTaxableIncome number optional

    Row 9 of Annex D1's income table. Neapliekamie ienākumi.

    range: 0–∞
  • incomeEntry9EmployeeSocialInsuranceContributions number optional

    Row 9 of Annex D1's income table. Attaisnotie izdevumi — darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeEntry9PensionAndLifeInsuranceContributions number optional

    Row 9 of Annex D1's income table. Attaisnotie izdevumi — iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeEntry9AuthorExpenses number optional

    Row 9 of Annex D1's income table. Attaisnotie izdevumi — autoru izdevumi.

    range: 0–∞
  • incomeEntry9IncomeRelatedExpenses number optional

    Row 9 of Annex D1's income table. Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeEntry9TaxableIncome number optional

    Row 9 of Annex D1's income table. Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas (2. – 3. – 6. – 7. aile). Formula printed on the schedule: this column's value equals column 2 (Bruto ieņēmumi) minus column 3 (Neapliekamie ienākumi) minus column 6 (autoru izdevumi) minus column 7 (Izdevumi, kas saistīti ar ienākumu gūšanu) — cross-checked against Form D row 1's own formula reference "D1 8. ailes summa".

  • incomeEntry9AdvanceTaxWithheld number optional

    Row 9 of Annex D1's income table. Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞
  • incomeTotalGrossIncome number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 2. aile: Bruto ieņēmumi.

    range: 0–∞
  • incomeTotalNonTaxableIncome number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 3. aile: Neapliekamie ienākumi.

    range: 0–∞
  • incomeTotalEmployeeSocialInsuranceContributions number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 4. aile: darba ņēmēja valsts sociālās apdrošināšanas obligātās iemaksas.

    range: 0–∞
  • incomeTotalPensionAndLifeInsuranceContributions number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 5. aile: iemaksas privātajos pensiju fondos un dzīvības apdrošināšanas prēmijas.

    range: 0–∞
  • incomeTotalAuthorExpenses number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 6. aile: autoru izdevumi.

    range: 0–∞
  • incomeTotalIncomeRelatedExpenses number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 7. aile: Izdevumi, kas saistīti ar ienākumu gūšanu.

    range: 0–∞
  • incomeTotalTaxableIncome number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 8. aile: Apliekamie ienākumi, neatskaitot darba devēja veiktās iemaksas.

  • incomeTotalAdvanceTaxWithheld number optional

    The "Kopā" (total) row at the foot of Annex D1's income table, column 9. aile: Avansā samaksātais (ieturētais) nodoklis.

    range: 0–∞

D2 pielikums — Taksācijas gadā ārvalstīs gūtie ienākumi (Annex D2 — Income Earned Abroad During the Tax Year)

  • foreignIncomeEntry1CountryAndPayer string optional

    Row 1 of Annex D2's foreign-income table. Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs (nosaukums vai vārds un uzvārds, adrese, reģistrācijas kods).

  • foreignIncomeEntry1IncomeType string optional

    Row 1 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — ienākuma veids.

  • foreignIncomeEntry1ForeignIncomeAmount number optional

    Row 1 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeEntry1ExemptIncome number optional

    Row 1 of Annex D2's foreign-income table. Ienākums, kas atbrīvots no aplikšanas ar nodokli. Per the regulation's own para. 19.4, if this column is filled, columns 5 through 9 are not filled for the same row; per para. 19.5, if the exempt/non-taxable income is only part of the total foreign income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and Annex D1¹ (out of scope for this schema version) — disclosed rather than encoded as a hard cross-field rule.

    range: 0–∞
  • foreignIncomeEntry1SocialInsurancePayments number optional

    Row 1 of Annex D2's foreign-income table. Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeEntry1AuthorAndOtherExpenses number optional

    Row 1 of Annex D2's foreign-income table. Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeEntry1ForeignTaxPaid number optional

    Row 1 of Annex D2's foreign-income table. Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeEntry1TaxRate number optional

    Row 1 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme, calculated per the regulation's own para. 6.3. Modelled as a decimal fraction (0–1), since the printed formula for column 9 multiplies this column directly with no separate /100 conversion term.

    range: 0–1
  • foreignIncomeEntry1TaxAmount number optional

    Row 1 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa. Formula printed on the schedule: this column's value equals column 3 (Ārvalstī gūtie ienākumi — summa) minus column 6 (Autoru izdevumi un citi izdevumi), multiplied by column 8's tax rate — cross-checked against the regulation's own instruction (para. 19.10), "nodokļa summu, kas aprēķināta, apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)". Left blank whenever column 4 (exempt income) is filled for this row (see column 4's own description).

    range: 0–∞
  • foreignIncomeEntry2CountryAndPayer string optional

    Row 2 of Annex D2's foreign-income table. Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs (nosaukums vai vārds un uzvārds, adrese, reģistrācijas kods).

  • foreignIncomeEntry2IncomeType string optional

    Row 2 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — ienākuma veids.

  • foreignIncomeEntry2ForeignIncomeAmount number optional

    Row 2 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeEntry2ExemptIncome number optional

    Row 2 of Annex D2's foreign-income table. Ienākums, kas atbrīvots no aplikšanas ar nodokli. Per the regulation's own para. 19.4, if this column is filled, columns 5 through 9 are not filled for the same row; per para. 19.5, if the exempt/non-taxable income is only part of the total foreign income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and Annex D1¹ (out of scope for this schema version) — disclosed rather than encoded as a hard cross-field rule.

    range: 0–∞
  • foreignIncomeEntry2SocialInsurancePayments number optional

    Row 2 of Annex D2's foreign-income table. Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeEntry2AuthorAndOtherExpenses number optional

    Row 2 of Annex D2's foreign-income table. Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeEntry2ForeignTaxPaid number optional

    Row 2 of Annex D2's foreign-income table. Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeEntry2TaxRate number optional

    Row 2 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme, calculated per the regulation's own para. 6.3. Modelled as a decimal fraction (0–1), since the printed formula for column 9 multiplies this column directly with no separate /100 conversion term.

    range: 0–1
  • foreignIncomeEntry2TaxAmount number optional

    Row 2 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa. Formula printed on the schedule: this column's value equals column 3 (Ārvalstī gūtie ienākumi — summa) minus column 6 (Autoru izdevumi un citi izdevumi), multiplied by column 8's tax rate — cross-checked against the regulation's own instruction (para. 19.10), "nodokļa summu, kas aprēķināta, apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)". Left blank whenever column 4 (exempt income) is filled for this row (see column 4's own description).

    range: 0–∞
  • foreignIncomeEntry3CountryAndPayer string optional

    Row 3 of Annex D2's foreign-income table. Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs (nosaukums vai vārds un uzvārds, adrese, reģistrācijas kods).

  • foreignIncomeEntry3IncomeType string optional

    Row 3 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — ienākuma veids.

  • foreignIncomeEntry3ForeignIncomeAmount number optional

    Row 3 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeEntry3ExemptIncome number optional

    Row 3 of Annex D2's foreign-income table. Ienākums, kas atbrīvots no aplikšanas ar nodokli. Per the regulation's own para. 19.4, if this column is filled, columns 5 through 9 are not filled for the same row; per para. 19.5, if the exempt/non-taxable income is only part of the total foreign income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and Annex D1¹ (out of scope for this schema version) — disclosed rather than encoded as a hard cross-field rule.

    range: 0–∞
  • foreignIncomeEntry3SocialInsurancePayments number optional

    Row 3 of Annex D2's foreign-income table. Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeEntry3AuthorAndOtherExpenses number optional

    Row 3 of Annex D2's foreign-income table. Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeEntry3ForeignTaxPaid number optional

    Row 3 of Annex D2's foreign-income table. Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeEntry3TaxRate number optional

    Row 3 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme, calculated per the regulation's own para. 6.3. Modelled as a decimal fraction (0–1), since the printed formula for column 9 multiplies this column directly with no separate /100 conversion term.

    range: 0–1
  • foreignIncomeEntry3TaxAmount number optional

    Row 3 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa. Formula printed on the schedule: this column's value equals column 3 (Ārvalstī gūtie ienākumi — summa) minus column 6 (Autoru izdevumi un citi izdevumi), multiplied by column 8's tax rate — cross-checked against the regulation's own instruction (para. 19.10), "nodokļa summu, kas aprēķināta, apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)". Left blank whenever column 4 (exempt income) is filled for this row (see column 4's own description).

    range: 0–∞
  • foreignIncomeEntry4CountryAndPayer string optional

    Row 4 of Annex D2's foreign-income table. Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs (nosaukums vai vārds un uzvārds, adrese, reģistrācijas kods).

  • foreignIncomeEntry4IncomeType string optional

    Row 4 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — ienākuma veids.

  • foreignIncomeEntry4ForeignIncomeAmount number optional

    Row 4 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeEntry4ExemptIncome number optional

    Row 4 of Annex D2's foreign-income table. Ienākums, kas atbrīvots no aplikšanas ar nodokli. Per the regulation's own para. 19.4, if this column is filled, columns 5 through 9 are not filled for the same row; per para. 19.5, if the exempt/non-taxable income is only part of the total foreign income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and Annex D1¹ (out of scope for this schema version) — disclosed rather than encoded as a hard cross-field rule.

    range: 0–∞
  • foreignIncomeEntry4SocialInsurancePayments number optional

    Row 4 of Annex D2's foreign-income table. Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeEntry4AuthorAndOtherExpenses number optional

    Row 4 of Annex D2's foreign-income table. Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeEntry4ForeignTaxPaid number optional

    Row 4 of Annex D2's foreign-income table. Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeEntry4TaxRate number optional

    Row 4 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme, calculated per the regulation's own para. 6.3. Modelled as a decimal fraction (0–1), since the printed formula for column 9 multiplies this column directly with no separate /100 conversion term.

    range: 0–1
  • foreignIncomeEntry4TaxAmount number optional

    Row 4 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa. Formula printed on the schedule: this column's value equals column 3 (Ārvalstī gūtie ienākumi — summa) minus column 6 (Autoru izdevumi un citi izdevumi), multiplied by column 8's tax rate — cross-checked against the regulation's own instruction (para. 19.10), "nodokļa summu, kas aprēķināta, apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)". Left blank whenever column 4 (exempt income) is filled for this row (see column 4's own description).

    range: 0–∞
  • foreignIncomeEntry5CountryAndPayer string optional

    Row 5 of Annex D2's foreign-income table. Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs (nosaukums vai vārds un uzvārds, adrese, reģistrācijas kods).

  • foreignIncomeEntry5IncomeType string optional

    Row 5 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — ienākuma veids.

  • foreignIncomeEntry5ForeignIncomeAmount number optional

    Row 5 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeEntry5ExemptIncome number optional

    Row 5 of Annex D2's foreign-income table. Ienākums, kas atbrīvots no aplikšanas ar nodokli. Per the regulation's own para. 19.4, if this column is filled, columns 5 through 9 are not filled for the same row; per para. 19.5, if the exempt/non-taxable income is only part of the total foreign income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and Annex D1¹ (out of scope for this schema version) — disclosed rather than encoded as a hard cross-field rule.

    range: 0–∞
  • foreignIncomeEntry5SocialInsurancePayments number optional

    Row 5 of Annex D2's foreign-income table. Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeEntry5AuthorAndOtherExpenses number optional

    Row 5 of Annex D2's foreign-income table. Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeEntry5ForeignTaxPaid number optional

    Row 5 of Annex D2's foreign-income table. Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeEntry5TaxRate number optional

    Row 5 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme, calculated per the regulation's own para. 6.3. Modelled as a decimal fraction (0–1), since the printed formula for column 9 multiplies this column directly with no separate /100 conversion term.

    range: 0–1
  • foreignIncomeEntry5TaxAmount number optional

    Row 5 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa. Formula printed on the schedule: this column's value equals column 3 (Ārvalstī gūtie ienākumi — summa) minus column 6 (Autoru izdevumi un citi izdevumi), multiplied by column 8's tax rate — cross-checked against the regulation's own instruction (para. 19.10), "nodokļa summu, kas aprēķināta, apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)". Left blank whenever column 4 (exempt income) is filled for this row (see column 4's own description).

    range: 0–∞
  • foreignIncomeEntry6CountryAndPayer string optional

    Row 6 of Annex D2's foreign-income table. Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs (nosaukums vai vārds un uzvārds, adrese, reģistrācijas kods).

  • foreignIncomeEntry6IncomeType string optional

    Row 6 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — ienākuma veids.

  • foreignIncomeEntry6ForeignIncomeAmount number optional

    Row 6 of Annex D2's foreign-income table. Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeEntry6ExemptIncome number optional

    Row 6 of Annex D2's foreign-income table. Ienākums, kas atbrīvots no aplikšanas ar nodokli. Per the regulation's own para. 19.4, if this column is filled, columns 5 through 9 are not filled for the same row; per para. 19.5, if the exempt/non-taxable income is only part of the total foreign income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and Annex D1¹ (out of scope for this schema version) — disclosed rather than encoded as a hard cross-field rule.

    range: 0–∞
  • foreignIncomeEntry6SocialInsurancePayments number optional

    Row 6 of Annex D2's foreign-income table. Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeEntry6AuthorAndOtherExpenses number optional

    Row 6 of Annex D2's foreign-income table. Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeEntry6ForeignTaxPaid number optional

    Row 6 of Annex D2's foreign-income table. Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeEntry6TaxRate number optional

    Row 6 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme, calculated per the regulation's own para. 6.3. Modelled as a decimal fraction (0–1), since the printed formula for column 9 multiplies this column directly with no separate /100 conversion term.

    range: 0–1
  • foreignIncomeEntry6TaxAmount number optional

    Row 6 of Annex D2's foreign-income table. Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa. Formula printed on the schedule: this column's value equals column 3 (Ārvalstī gūtie ienākumi — summa) minus column 6 (Autoru izdevumi un citi izdevumi), multiplied by column 8's tax rate — cross-checked against the regulation's own instruction (para. 19.10), "nodokļa summu, kas aprēķināta, apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)". Left blank whenever column 4 (exempt income) is filled for this row (see column 4's own description).

    range: 0–∞
  • foreignIncomeTotalForeignIncomeAmount number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 3. aile: Ārvalstī gūtie ienākumi — summa.

    range: 0–∞
  • foreignIncomeTotalExemptIncome number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 4. aile: Ienākums, kas atbrīvots no aplikšanas ar nodokli.

    range: 0–∞
  • foreignIncomeTotalSocialInsurancePayments number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 5. aile: Valsts sociālās apdrošināšanas maksājumi.

    range: 0–∞
  • foreignIncomeTotalAuthorAndOtherExpenses number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 6. aile: Autoru izdevumi un citi izdevumi.

    range: 0–∞
  • foreignIncomeTotalForeignTaxPaid number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 7. aile: Ārvalstī samaksātais nodoklis — summa.

    range: 0–∞
  • foreignIncomeTotalTaxRate number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 8. aile: Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — nodokļa likme. Disclosed judgment call: the printed table reserves a blank box in this column position of the Kopā row like every other column, but summing a per-row tax rate across multiple countries has no stated arithmetic meaning in the regulation text — modelled as an optional field matching the printed box rather than omitted, since the box genuinely exists on the form.

    range: 0–1
  • foreignIncomeTotalTaxAmount number optional

    The "Kopā" (total) row at the foot of Annex D2's foreign-income table, column 9. aile: Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes) — summa.

    range: 0–∞

Nodokļa aprēķins (Tax Calculation Summary)

  • taxableIncomeEarnedInLatvia number optional

    Row 1: taxable income earned in the Republic of Latvia. Printed formula: Annex D1 column 8 total (incomeTotalTaxableIncome) + Annex D3 row 11 + Annex D3¹ row 13 — D3/D3¹ (business-activity income schedules) are out of scope for this schema version (see VERIFICATION.md Known Gaps); only the Annex D1 term is populated from a modelled field.

    range: 0–∞
  • taxableIncomeEarnedAbroad number optional

    Row 2: taxable income earned abroad. Printed formula: (Annex D2 column 3 total (foreignIncomeTotalForeignIncomeAmount) - Annex D2 column 4 total (foreignIncomeTotalExemptIncome) - Annex D2 column 6 total (foreignIncomeTotalAuthorAndOtherExpenses)) + Annex D2¹ column 5 — Annex D2¹ (seafarer foreign income) is out of scope for this schema version.

  • taxableIncomeIncreaseAmount number optional

    Row 3: increase to taxable income.

  • totalTaxableIncome number optional

    Row 4: total taxable income. Printed formula: row 1 + row 2 + row 3.

  • totalNonTaxableIncome number optional

    Row 5: total non-taxable income. Printed formula: Annex D1 column 3 total (incomeTotalNonTaxableIncome) + Annex D2 column 4 total (foreignIncomeTotalExemptIncome) + (Annex D3 rows 1.4 and 4 total, or Annex D3¹ row 2 total) + non-taxable income from agricultural production and rural tourism services. D3/D3¹ terms are out of scope for this schema version; the Annex D1 and Annex D2 terms are populated from modelled fields.

    range: 0–∞
  • mandatorySocialInsuranceDeduction number optional

    Row 6: deductible mandatory state social insurance contributions. Printed formula: (Annex D1 column 4 total + Annex D2 column 5 total (foreignIncomeTotalSocialInsurancePayments) + the self-employed person's own mandatory state social insurance contributions) minus row 7. The self-employed contributions term (Annex D3/D3¹) is out of scope for this schema version; the Annex D1 and Annex D2 terms are populated from modelled fields.

  • solidarityTaxPortionTransferred number optional

    Row 7: the portion of solidarity tax transferred to the personal income tax distribution account, when the solidarity tax object is simultaneously a personal income tax object.

    range: 0–∞
  • educationHealthDonationsDeduction number optional

    Row 8: deductible expenses for education, medical services, donations and gifts. Printed formula: Annex D4 "Kopā" row, columns 10 and 11 total. Annex D4 is out of scope for this schema version (see VERIFICATION.md Known Gaps).

    range: 0–∞
  • pensionFundLifeInsuranceDeduction number optional

    Row 9: deductible contributions to private pension funds and life-insurance premium payments under a savings-accumulation life insurance contract. Printed formula: Annex D1 column 5 total (incomeTotalPensionAndLifeInsuranceContributions) + the taxpayer's own contributions and life-insurance premium payments made directly (not through an employer).

    range: 0–∞
  • totalJustifiedExpenses number optional

    Row 10: total justified expenses. Printed formula: row 6 + row 8 + row 9.

  • annualNonTaxableMinimum number optional

    Row 11: the declarant's own annual differentiated non-taxable minimum, as calculated and communicated by the State Revenue Service (VID) based on the taxpayer's income; the regulation does not print a formula for this row.

    range: 0–∞
  • pensionerNonTaxableMinimumApplied boolean optional

    Row 12's own checkbox, printed inline in its label: whether the taxpayer opts into the pensioner's non-taxable minimum under Article 12(14) of the Law "On Personal Income Tax" ("Tiek piemērota likuma \"Par iedzīvotāju ienākuma nodokli\" 12. panta četrpadsmitā daļa"), rather than row 11's general differentiated non-taxable minimum.

  • pensionerAnnualNonTaxableMinimum number optional

    Row 12's own amount box: the pensioner's annual non-taxable minimum amount, filled in only when pensionerNonTaxableMinimumApplied is checked.

    range: 0–∞
  • dependentsRelief number optional

    Row 13: tax relief for dependents.

    range: 0–∞
  • disabilityRelief number optional

    Row 14: tax relief for persons with disabilities.

    range: 0–∞
  • politicallyRepressedPersonRelief number optional

    Row 15: tax relief for politically repressed persons.

    range: 0–∞
  • nationalResistanceMovementRelief number optional

    Row 16: tax relief for participants of the national resistance movement.

    range: 0–∞
  • totalReliefs number optional

    Row 17: total reliefs. Printed formula: row 13 + row 14 + row 15 + row 16.

  • totalTax number optional

    Row 18: total tax, of which rows 18.1 and 18.2 (taxBelowFirstProgressionThreshold / taxAboveFirstProgressionThreshold) are the printed breakdown.

  • taxBelowFirstProgressionThreshold number optional

    Row 18.1: tax on the portion of income not exceeding the first progression threshold.

    range: 0–∞
  • taxAboveFirstProgressionThreshold number optional

    Row 18.2: tax on the portion of income exceeding the first progression threshold.

    range: 0–∞
  • taxOnOtherIncomeAndMinimumBusinessTax number optional

    Row 19: tax on other income and minimum tax on business activity. Printed formula: Annex D1¹ column 10 total + the minimum tax on business activity. Annex D1¹ (income to which the annual non-taxable minimum and reliefs do not apply) is out of scope for this schema version (see VERIFICATION.md Known Gaps) — cross-checked directly against the raw regulation markup, which renders the superscript as "D1" followed by a separate superscript "1" element (D1¹), not the string "D11" a naive tag-stripping extraction would produce.

    range: 0–∞
  • taxOnProfessionalAthleteIncome number optional

    Row 20: tax on a professional athlete's employment income.

    range: 0–∞
  • incomeSubjectToAdditionalTaxRate number optional

    Row 21: income subject to the additional tax rate. Printed formula: (row 4 + Annex D1¹ column 6 total + foreign salary received abroad exempt from taxation in Latvia + professional athlete's income + income from capital gains + non-taxable dividends, income equated to dividends, deemed dividends and liquidation quotas) minus the income threshold above which the additional tax rate applies; if the result is negative, zero is entered. Annex D1¹ term is out of scope for this schema version.

  • additionalTax number optional

    Row 22: additional tax. Printed formula: row 21 x the additional tax rate percentage.

    range: 0–∞
  • advancePaidOrWithheldTax number optional

    Row 23: total advance-paid (withheld) tax. Printed formula: (Annex D1 column 9 total (incomeTotalAdvanceTaxWithheld) + Annex D2 column 7 or 9 total (foreignIncomeTotalForeignTaxPaid or foreignIncomeTotalTaxAmount, depending on which of the two the taxpayer completed per row) + Annex D2¹ column 7 or 8 + Annex D3 row 9 + Annex D3¹ row 11) + row 7. Annex D2¹/D3/D3¹ terms are out of scope for this schema version; the Annex D1, Annex D2, and row-7 terms are populated from modelled fields.

    range: 0–∞
  • taxPayableToBudget number optional

    Row 24: tax payable to the budget, entered when row 18 + row 19 + row 20 + row 21 is greater than row 23.

    range: 0–∞
  • overpaidTaxOrRefund number optional

    Row 25: overpaid tax / tax refund, entered when row 23 is greater than row 18 + row 19 + row 20 + row 22.

    range: 0–∞
  • taxPaymentDeadline date optional

    Row 26: the tax payment deadline. Printed as 3 adjoining boxes (widths 6%/6%/7%) with no sub-labels; modelled as a single date value, consistent with this registry's convention for unlabelled day/month/year digit-box groups elsewhere.

  • totalTaxAmount number optional

    Row 27: the overall total tax amount. Printed with the same 3-box layout as row 26, which for this bold, amount-labelled row is read as page-width alignment rather than a day/month/year split — modelled as a single numeric value.

    range: 0–∞

Pārmaksas atmaksa un iesniegšana (Overpayment Refund and Filing)

  • refundAmount number optional

    The overpayment amount the declarant asks to have transferred to their account, under the heading "Lūdzu pārskaitīt pārmaksas summu uz kontu" (please transfer the overpayment amount to the account).

    range: 0–∞
  • refundAccountIban string optional

    The IBAN account number the overpayment is to be transferred to. The form itself states only the printed length ("IBAN 21 simbols" — IBAN, 21 characters); the pattern here (LV + 2 check digits + 4-letter bank code + 13-digit account number = 21 characters) is derived from the general Latvian IBAN standard, not printed on the form.

    pattern
  • attachedPagesCount integer optional

    The number of pages of documents the declarant states they are attaching to the declaration ("Deklarācijai pievienoju dokumentus uz _____________ lapām").

    range: 0–∞
  • attachedAnnexNumbers string optional

    Free-text list of the annex numbers the declarant has filled in and is attaching to this declaration (e.g. "D1", or "D1, D2"). The regulation's own printed annex list names 7 possible companion schedules — D1, D1¹, D2, D2¹, D3, D3¹, D4 — of which D1 and D2 are in scope for this schema version; the field itself is unconstrained free text, since the form provides a blank line rather than a fixed checkbox per annex.

  • attachedExpenseDocumentsList string optional

    Free-text list of the documents or copies presented in support of justified (deductible) expenses. The form prints 4 blank lines under this heading rather than a fixed, pre-printed checklist of document names — the same blank-table convention this registry already established for lv/ur/sole-trader-registration-kr2's own attachedDocumentsList.

  • signatureDate date optional

    The signature date. The regulation's own note 2 to Annex 1 states, verbatim, "Dokumenta rekvizītus \"datums\" un \"paraksts\" neaizpilda, ja elektroniskais dokuments ir sagatavots atbilstoši normatīvajiem aktiem par elektronisko dokumentu noformēšanu" (the "date" and "signature" particulars are not filled in if the electronic document is prepared in accordance with the regulations on the design of electronic documents) — modelled required: false for that reason. This single field models the one signature act for the whole declaration packet; the identical "(datums) / (nodokļa maksātāja paraksts)" footer is reprinted at the foot of every physical page of Form D and every companion schedule (a page-footer artifact, not a separate signature per page).

  • signature string optional

    The taxpayer's signature. See signatureDate for the e-signature carve-out and the repeated-page-footer finding this single field models.

Verification record

Candidate selection

GOV-4144 ("GovSchema Standard Research"). v1.0.0 (GOV-4138) opened Latvia's Taxes vertical with Form D plus Annex D1, and explicitly banked its own remaining companion schedules — D1¹, D2, D2¹, D3, D3¹, D4, DK, GD — as open backlog in its own Known Gaps section. This cycle re-scanned that backlog: every other single-vertical gap in CATALOG.md is already a confirmed dead end, so this cycle deepened the open Latvia Taxes backlog directly rather than scouting a new jurisdiction, per this routine's standing procedure. Annex D2 ("Fiziskās personas (rezidenta) ārvalstīs gūtie ienākumi" — a resident's foreign-earned income) was picked over the other six remaining annexes because it is broadly applicable (any Latvian resident with foreign income, not a narrow carve-out like D1¹ or D2¹'s seafarer case), and its own table renders as real HTML markup exactly like Annex D1's, making its column structure independently verifiable against the regulation's own formula cross-references the same way D1's was in v1.0.0.

Reaching the live source

Re-fetched https://likumi.lv/ta/id/302688-noteikumi-par-iedzivotaju-ienakuma-nodokla-deklaracijam-un-to-aizpildisanas-kartibu directly with a standard desktop Chrome User-Agent: HTTP 200, Content-Type: text/html, 365,651 bytes — the identical byte count v1.0.0 recorded. Per v1.0.0's own established fidelity signal for this source (its sha256 is unstable because one obfuscated bot-detection <script> token changes value on every fetch while the regulation text and Annex 1 tables stay byte-for-byte identical), byte-count stability, not sha256, is the correct re-verification check — confirmed unchanged.

Extraction method

Extracted Annex D2's table with the same from-scratch Python html.parser.HTMLParser DOM walk used for Annex D1 in v1.0.0, respecting colspan/rowspan. Annex D2's header spans 2 rows over 9 columns:

  • Column 1 (rowspan 2): "Valsts, kurā gūti ienākumi, un ienākuma izmaksātājs" (country and payer) — no sub-header.
  • Columns 2–3 (colspan 2 over "Ārvalstī gūtie ienākumi"): "ienākuma veids" (income type) / "summa" (amount).
  • Column 4 (rowspan 2): "Ienākums, kas atbrīvots no aplikšanas ar nodokli" (tax-exempt income) — no sub-header.
  • Column 5 (rowspan 2): "Valsts sociālās apdrošināšanas maksājumi" (state social insurance payments) — no sub-header.
  • Column 6 (rowspan 2): "Autoru izdevumi un citi izdevumi" (author and other expenses) — no sub-header.
  • Column 7 (rowspan 1, own row-2 sub-header): "Ārvalstī samaksātais nodoklis" / "summa" (foreign tax paid — amount).
  • Columns 8–9 (colspan 2 over "Nodoklis no ārvalstī gūtajiem ienākumiem (pēc Latvijas Republikā noteiktās likmes)"): "nodokļa likme" (tax rate) / "summa ((3. – 6.) x 8. aile)" (amount, printed formula inline in the header itself).

This column map was independently cross-checked against the regulation's own instructional paragraphs 19.1–19.10 (XX. aile "..." norāda ...), which name each column's caption and purpose in the same order — an exact match, confirming no column was mis-ordered by the colspan/rowspan walk. The table has 6 blank income-entry rows above its own "Kopā" (total) row, with no trailing spacer-row artifact (unlike Annex D1's table, which had 9 data rows plus one purely-cosmetic all-blank spacer row below them).

Structure modelled

61 new fields[] in a new foreign_sourced_income step, inserted between the existing lv_sourced_income (Annex D1) and tax_calculation_summary steps — matching the regulation's own fill order (§ "Deklarāciju D aizpilda šādā kārtībā": fill the D pielikumi first, then Form D's own rows). Total document field count: 130 → 191.

  1. 6 income-entry rows (foreignIncomeEntry{1-6}...), 9 fields each: country and payer, income type, foreign income amount, tax-exempt income, state social insurance payments, author and other expenses, foreign tax paid, the Latvia-rate tax rate, and the computed tax amount.
  2. 7 foreignIncomeTotal... fields for the "Kopā" row — columns 3 through 9 (foreign income amount, exempt income, social insurance payments, author/other expenses, foreign tax paid, tax rate, tax amount). Column 1 (country/payer) and column 2 (income type) are both free text with no total; the printed "Kopā" row itself renders their two cells as a single merged, unlabelled blank box (see Finding 2 below).

Four of Form D's own tax-calculation-summary fields, whose printed formulas reference Annex D2, were updated to cite the new fields instead of the "D2 ... out of scope" placeholder language v1.0.0 used: taxableIncomeEarnedAbroad (row 2), totalNonTaxableIncome (row 5), mandatorySocialInsuranceDeduction (row 6), and advancePaidOrWithheldTax (row 23). Annex D2¹, D3, and D3¹ terms in those same formulas remain disclosed as out of scope, unchanged. attachedAnnexNumbers's description was updated to list D2 among the in-scope annexes.

Disclosed source-fidelity findings

  1. Column 4's mutual-exclusivity rule is disclosed, not enforced as a hard cross-field rule. Per the regulation's own para. 19.4, if column 4 (tax-exempt income) is filled for a row, columns 5–9 are left blank for that same row; per para. 19.5, if the exemption covers only part of the income, the taxable remainder is declared on a different Annex D2 row, or split between Annex D2 and the out-of-scope Annex D1¹. Because the split can legitimately land on an out-of-scope annex this schema version doesn't model, this is disclosed in column 4's own field description rather than encoded as a crossFieldValidation/ requiredWhen rule that could reject an otherwise-valid filing.
  2. The "Kopā" row's own column-8 total box has no stated arithmetic meaning, but is modelled anyway. The printed "Kopā" row reserves a blank box in every column position, including column 8 (the per-row Latvia tax rate) — but the regulation's text never states how multiple rows' tax rates should be combined into a single total (unlike every other totalled column, which is a plain sum). Modelled foreignIncomeTotalTaxRate as an optional field matching the printed box, with the ambiguity disclosed in its own description, rather than silently omitted or a summing formula fabricated.
  3. The printed "Kopā" row visually merges columns 2 and 3 into one blank cell (a colspan="2" cell, unlike every other Kopā-row cell, which is colspan="1") — read as the layout consequence of column 2 (income type) having no total value to print, not as evidence that column 3's total is itself ambiguous; foreignIncomeTotalForeignIncomeAmount (column 3) is modelled as a plain sum like the registry's other total columns.
  4. The tax-rate column is modelled as a 0–1 decimal fraction, not a 0–100 percentage. Column 9's printed formula multiplies column (3 − 6) directly by column 8 with no /100 term ("apliekamos ienākumus (3.–6. aile) reizinot ar nodokļa likmi (8. aile)"), so column 8 must already be the rate expressed as a fraction for the arithmetic to balance — validation.maximum is set to 1 accordingly, disclosed in the field's own description since the printed form does not state the convention explicitly.

Scope boundaries

Annexes D1¹, D2¹, D3, D3¹, D4, DK, the DK annex, and GD remain open backlog, unchanged from v1.0.0's own Known Gaps list (see that version's VERIFICATION.md for the full per-annex breakdown of which Form D rows reference each). D2¹ (seafarer foreign income) and D1¹ (income excluded from the non-taxable minimum/reliefs) are the two most likely next candidates, since both share Annex D2's real-HTML-table rendering.

Conformance

The 5 fixtures already committed at v1.0.0 (4 valid + 9 mutation controls — 14 total files) were carried forward unchanged into conformance/lv/vid/annual-income-tax-declaration-form-d/1.1.0/, since every new field in this release is optional and additive: none of those fixtures reference Annex D2, and all remain valid/invalid for the same reasons under v1.1.0. Two new fixtures were added: a valid scenario with one Annex D1 row and one Annex D2 row populated together (valid-foreign-income-single-country.json, a Latvian salaried employee with a second employer in Germany), and a mutation control (mutation-invalid-foreignincomeentry1taxrate-above-maximum.json) exercising the new foreignIncomeEntry{N}TaxRate field's validation.maximum: 1 constraint with a rate of 1.5. 16 fixtures total (6 valid + 10 mutation controls).

An ephemeral, from-scratch Python conformance checker (deriving required/requiredWhen/validation rules directly from this schema's own fields[]/documents[], discarded after use, not committed) ran all 16: all 6 valid scenarios at 0 errors, all 10 mutation controls each raising exactly 1 error, and confirmed every requiredWhen field reference resolves (0 dangling references).

node tools/validate.mjs and node tools/validate-ajv.mjs both pass, individually and as part of the full registry run.

View the raw record (VERIFICATION.md)

Version history

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by State Revenue Service of the Republic of Latvia (Valsts ieņēmumu dienests) or any government. The authoritative source is always the live government form and its official instructions.