{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "al/dpt/individual-annual-income-declaration",
  "version": "1.0.0",
  "title": "Albania Annual Individual Income Declaration (Form D1)",
  "description": "The General Directorate of Taxation's (Drejtoria e Përgjithshme e Tatimeve, DPT) \"Deklarata Individuale Vjetore e të Ardhurave\" (Annual Individual Income Declaration, Form D1), filed by resident individuals with gross annual income (from all sources, within or outside Albania) exceeding 2,000,000 lekë, by non-resident individuals with Albania-source taxable income exceeding that same threshold, and by any individual (resident or non-resident) employed by more than one employer during the tax year, regardless of total income. Opens Albania as the registry's 79th jurisdiction (Taxes, 1 of 6). This schema models Section A's identifying and additional individual data (residency status, identity, address, marital/household status, contact details, housing-ownership particulars, and dependants under guardianship) and Section B's directly-supplied gross-income lines, deductible-expense lines, and tax-already-paid lines, plus the closing declaration/signature block. Every printed formula/subtotal/rate-table line (e.g. box 4's employment-tax calculation, box 15's gross-income total, box 18's deductible-expense total, boxes 19-21's computed tax due, box 34's total tax paid, and boxes 35-36's balance-due/refund) is excluded from `fields[]`, per this registry's standing closed decision to defer calculated/derived fields (GSP-0013 §7 / GOV-302 founder ruling); each excluded box's own field description below cites the printed formula it would have computed. This schema does not file the return itself; the live source is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Republic of Albania or the General Directorate of Taxation.",
  "status": "draft",
  "jurisdiction": {
    "country": "AL",
    "level": "national"
  },
  "authority": {
    "name": "General Directorate of Taxation (Drejtoria e Përgjithshme e Tatimeve)",
    "abbreviation": "DPT",
    "url": "https://www.tatime.gov.al/"
  },
  "process": {
    "type": "filing",
    "language": "sq"
  },
  "source": {
    "url": "https://alprofitconsult.al/wp-content/uploads/2022/10/Deklarata-in_dividuale-vjetore-e-te-ardhurave-D1_.pdf",
    "retrievedAt": "2026-07-22",
    "documentRef": "\"Deklarata Individuale Vjetore e të Ardhurave\" (Form D1), 7-page native (searchable-text) PDF: pages 1-3 are the blank form itself (footer-stamped \"Udhëzim Nr. 5, datë 30.01.2006\"), pages 4-7 are the form's own official field-by-field completion guide (\"UDHËZUES PËR MËNYRËN E PLOTËSIMIT TË DEKLARATËS INDIVIDUALE VJETORE TË TË ARDHURAVE\"). Hosted by AlProfit Consult, an Albanian tax-advisory firm (`alprofitconsult.al`), since this document is not independently downloadable as a static file from `tatime.gov.al` itself — see this document's own VERIFICATION.md for the disclosed provenance chain and cross-corroboration against a government-hosted guidance PDF fetched this same cycle."
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-22",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2026-10-22",
    "notes": "## Candidate selection\n\nGOV-4300 (\"GovSchema Standard Research\"). The GOV-4271 cycle (opening Zambia\nas the registry's 77th jurisdiction) had scouted Albania in parallel and banked\nit as disclosed, STRONG open backlog for a future new-jurisdiction cycle: the\nDPT's \"Deklarata Individuale Vjetore e të Ardhurave\" (Form D1), described as\n\"a genuine text-layer, non-fillable printable PDF with ~35-40 numbered boxes\nplus its own field-by-field completion guide.\" DMV, Business Formation, Visa,\nPassport, and National ID were all separately confirmed by that same cycle to\nroute exclusively through the login-gated e-Albania SSO portal or in-person\nkiosks, with no statically reachable form document — this cycle re-confirmed\nthose five verticals remain unauthored backlog, not re-screened from scratch.\n\n## Reaching the live source — a disclosed, non-standard provenance chain\n\nUnlike this registry's usual pattern (a government-hosted PDF fetched\ndirectly, unauthenticated), Form D1 required a more involved chain to reach a\ngenuine field-by-field specimen, disclosed here in full:\n\n1. `tatime.gov.al`'s own informational pages\n   (`/c/3/10/652/deklarata-individuale-vjetore-e-te-ardhurave` and\n   `/c/3/10/16/formulari-i-deklarimit`) were fetched directly, unauthenticated\n   (HTTP 200, no login/CAPTCHA/WAF gate) — both are prose guidance pages, and\n   both state filing is done exclusively through DPT's e-filing portal\n   (\"Deklarimi bëhet në rrugë elektronike\"), with no attached static blank-form\n   PDF on either page.\n2. Two DPT-hosted PDFs were found and fetched directly from\n   `tatime.gov.al/shkarko.php` (`id=11427`, \"Deklarimi vjetor individual i të\n   ardhurave.pdf\", 315,258 bytes; `id=1432`, \"Deklarimi individual i të\n   ardhurave.pdf\", 122,568 bytes) — both HTTP 200, genuine native PDFs\n   (`%PDF-1.5` / `%PDF-1.4`), but both are prose explanatory brochures (who\n   must file, deductible-expense rules, the employment-tax bracket schedule,\n   correction procedure) that reference box numbers (e.g. \"kutinë 4\", \"kutinë\n   22\") without ever printing the form's own boxes/labels — i.e. guidance\n   documents, not the form itself.\n3. A search-engine-indexed `tatime.gov.al/shkarko.php?id=8925` link (titled\n   \"UDHEZIM Nr.5, datë 30.01.2006 PËR TATIMIN MBI TE...\", the ministerial\n   instruction that originally established Form D1's template) was attempted\n   directly this cycle and returned HTTP 200 with **0 bytes** — the specific\n   numeric file ID is stale/broken as of this cycle, evidently reassigned or\n   removed in a site reorganization since being indexed; not a login/CAPTCHA/\n   WAF gate.\n4. A complete specimen of the blank Form D1 (all three pages) plus its own\n   4-page completion guide was found hosted, unauthenticated, at\n   `alprofitconsult.al` (an Albanian tax-advisory firm), fetched directly:\n   HTTP 200, `Content-Type: application/pdf`, 844,557 bytes,\n   `Last-Modified: Sun, 09 Oct 2022 18:00:31 GMT`, `%PDF-1.5` at byte 0 — a\n   genuine native (searchable-text) PDF, confirmed by clean `pdfjs-dist`\n   text-layer extraction across all 7 pages. This firm is not a government\n   entity; the file is used here as the sourcing basis for this schema's\n   field layout because no equivalent static file could be reached directly\n   from `tatime.gov.al` itself this cycle (see finding 3 above).\n\n## Cross-corroboration of the specimen against a live government source\n\nBecause the specimen is third-party-hosted and dated 2022 (predating\nAlbania's Law No. 29/2023 \"Për tatimin mbi të ardhurat\", effective\n2024-01-01, which overhauled the personal income tax framework),\nthis cycle specifically checked whether the specimen's box numbering is still\ncurrent:\n\n- The `id=11427` PDF — the same government-hosted brochure already disclosed\n  in finding 2 above, re-fetched fresh this cycle (2026-07-22, HTTP 200,\n  byte-identical at 315,258 bytes) — states in its own prose: the tax withheld\n  by an employer is compared against \"shënuar në kutinë 4\" (the amount noted\n  in box 4) and \"shënuar në kutinë 22\" (the amount noted in box 22) of the\n  declaration. Both box numbers match this schema's own `sourceRef`s for box\n  4 (excluded, a rate-table computation — see below) and box 22\n  (`employmentIncomeTaxWithheld`) exactly, in the specimen's own layout —\n  confirmation from a currently-live, government-hosted document that the\n  specimen's box numbering has not changed. This is the same file already\n  counted in finding 2, not a second, independent source: `tatime.gov.al`'s\n  prose guidance pages themselves (cited in finding 1,\n  `/c/3/10/652/deklarata-individuale-vjetore-e-te-ardhurave` and\n  `/c/3/10/16/formulari-i-deklarimit`) contain zero box-number references\n  when re-fetched fresh this cycle.\n- Public reporting on Law No. 29/2023's rollout (checked this cycle) states\n  that for the 2024 filing year — the first under the new law — \"the\n  declaration will use the existing model format,\" corroborating that the\n  box layout survived the broader legal overhaul.\n\nThis is disclosed as a genuine, non-ideal provenance chain (a private firm's\nspecimen, corroborated by a directly government-hosted guidance PDF rather\nthan a byte-identical government-hosted copy of the form itself) rather than\npresented as equivalent to this registry's usual direct-government-PDF\nsourcing. `status`\nremains `draft` and `nextReviewBy` is set to 3 months (rather than this\nregistry's more typical 6) to reflect the elevated staleness risk.\n\n## Extraction method\n\nExtracted with `pdfjs-dist` (vendored from an existing session scratch\ninstall at `/tmp/node_modules`, CommonJS build at `legacy/build/pdf.js`),\nreading each text item's raw string and its `transform` x/y position across\nall 7 pages, to resolve cases where the form's own two-column/table layout\ncauses `pdfjs-dist`'s default reading order to interleave unrelated lines\n(e.g. box numbers 22-36 are each printed twice — once inline, once repeated\nin a right-margin column — and the marital/household-status checkbox row's\nsix options wrap one option, \"I/E martuar me fëmijë\", across two stacked\ntext lines at the same x-position). Position-based re-extraction confirmed\nevery box's exact reading order and label text with no ambiguity remaining.\n\n## Document structure\n\nThe 3-page form (footer-stamped \"Udhëzim Nr. 5, datë 30.01.2006\" on every\npage) covers, in order: page 1, a top-level \"Corrective declaration\"\ncheckbox and Tax Period field, then Section A's residency checkboxes and\nidentifying-data boxes (1)-(12); page 2, Section A's remaining boxes\n(13)-(17) plus a per-page declarant name/date/signature footer, then Section\nB's header and gross-income/deductible-expense/computed-tax boxes [3]-[21];\npage 3, Section B's tax-already-paid boxes [22]-[36] plus a repeat of the\nper-page declarant footer. Pages 4-7 are the form's own printed completion\nguide, itself numbered to match the form's boxes, used here to resolve\nseveral fields' required/optional status and box-12/16 ownership-detail\nscoping.\n\n## Scope and box-numbering note\n\nSection A uses parenthetical numbering, (1) through (17); the two residency\ncheckboxes at the top of Section A are themselves printed in bracket style,\n[3] and [4] — a genuine numbering collision with Section B's own independent\nbracket numbering, [3] through [36], which starts over from 3 for Section B's\ngross-income lines. This schema disambiguates the two: Section A's [3]/[4]\nbecome the single field `isResidentInAlbania`; Section B's own [3] onward are\nmodelled as `employmentIncomeGross` etc., each `sourceRef`-tagged with its\nown Section (A or B) to keep the two box-3/box-4 pairs unambiguous.\n\nModels 54 `fields[]` across 7 steps (Declaration Type and Tax Period;\nIdentifying Data; Additional Individual Data; Gross Income; Deductible\nExpenses; Taxes Paid During the Tax Period; Declaration). No `edition` axis\nis used: the form's own \"Tax Period (year)\" is a single blank on an otherwise\nundated generic template, matching this registry's existing\n`zm/zra/individual-income-tax-return`/`kz/kgd/*`/`ua/dps/*` tax-return\nprecedent of modelling the filing year as an ordinary data field rather than\na schema edition.\n\n## Disclosed findings and interpretation choices\n\n1. **Box 4 (\"Tatimi i llogaritur mbi pagat dhe shpërblimet e punësimit\") is\n   excluded from `fields[]`**, even though it carries no printed \"kutia X +\n   kutia Y\" formula the way box 15/18/21/34 do. The form's own completion\n   guide states this box is computed by the declarant from a progressive\n   monthly tax-bracket schedule (0%/13%/23%, printed in the guide itself) and\n   then annually summed into one figure — the same class of rate-table\n   computation this registry has already excluded elsewhere (e.g.\n   `zm/zra/individual-income-tax-return`'s box 9, \"Tax on employment income\n   Before Tax Credit\"), per GSP-0013 §7.\n2. **`isCorrectiveDeclaration` is modelled from a single printed checkbox**,\n   not a pair: the form prints only \"Vendos 'X' në kutinë e duhur nëse nuk po\n   dorëzon për herë të parë... KORRIGJUESE\" (tick if this is not your first\n   submission for this filing period), with no separate \"Original\" box. `true`\n   means the box is ticked (a corrective/amended filing); the absence of a\n   printed \"Original\" counterpart is disclosed rather than a second field\n   invented for it.\n3. **`isResidentInAlbania` collapses Section A's own two mutually exclusive\n   checkboxes** (\"[3] REZIDENT NË REPUBLIKËN E SHQIPËRISË\" / \"[4] JOREZIDENT\n   NË REPUBLIKËN E SHQIPËRISË\") into one boolean, matching this registry's\n   established two-checkbox-to-one-boolean convention (e.g.\n   `zm/zra/individual-income-tax-return`'s `isAmendedReturn`).\n4. **`declarantStatus`'s six enum options were confirmed via x/y position\n   re-extraction**, since one option (\"I/E martuar me fëmijë\", married with\n   children) wraps across two stacked text lines at the same x-coordinate and\n   is otherwise interleaved with the other five single-line options in\n   `pdfjs-dist`'s default reading order.\n5. **Box 12 and box 16's owner name/address fields use different\n   `requiredWhen` treatments, disclosed as a deliberate asymmetry**:\n   `mainResidenceOwnership` (box 11) is modelled `required: true` (a question\n   Section A always asks, unconditionally), so `ownerName`/`ownerAddress`\n   (box 12) safely use `requiredWhen { field: mainResidenceOwnership, notEquals:\n   \"OWNED\" }` — the gating field is guaranteed present. Box 15\n   (\"Të dhëna mbi pronësinë e banesës ku jeton\") and box 16's owner\n   name/address, by contrast, sit under a section header that only applies\n   \"NËSE ËSHTË E NDRYSHME\" (if different from the identifying address) with\n   no printed boolean signal of its own; rather than invent an unprinted\n   eligibility gate for an implicitly-conditional section (which this\n   registry does do elsewhere, e.g. `zm/dnrpc/passport-application`, but only\n   where the form's own notes explicitly name the gating criterion) and then\n   need to gate box 16 on box 15 — an optional, possibly-absent field, the\n   exact anti-pattern this registry has previously flagged (`notEquals`\n   against an optional/absent field) — box 15 and box 16's fields are instead\n   all modelled bare-optional with no `requiredWhen`, disclosed here rather\n   than silently normalized to match box 11/12's pattern.\n6. **Box 17 (\"Persona nën kujdestarinë e deklaruesit\") is modelled as two\n   bare-optional non-negative integers** (`dependentsWithinFamilyCount`,\n   `otherDependentsCount`), since the form prints only two blank count cells\n   with no further breakdown.\n7. **Declaration block (`declarantFullName`/`declarationDate`/\n   `declarantSignature`) is modelled `required: true`** even though the form\n   prints no explicit \"will not be accepted unless signed\" disclaimer (unlike\n   `zm/zra/individual-income-tax-return`'s equivalent field, which does cite\n   such a disclaimer) — disclosed as a standard-practice interpretation for a\n   legal declaration's own signature block, not a directly-quoted requirement.\n8. **Every Section B income/deduction/tax-paid line is modelled\n   bare-optional** (`minimum: 0` where applicable, no `minimum` on any field\n   that could be negative — none are, unlike `zm/zra`'s `profitLossForYear`),\n   since a given taxpayer will not have all income categories in a given\n   year; only the declaration block and Section A's core identifying\n   questions are `required: true`.\n9. **Excluded as official-use-only fields, not applicant-supplied data**: the\n   \"Numri i Vendosjes së Dokumentit (NVD)\" header field, explicitly printed\n   \"(Vetëm për përdorim zyrtar)\" (for official use only); and \"Numri\n   Serial\", which the form's own completion guide states \"përdoret nga\n   Drejtoria Rajonale Tatimore (organi tatimor)\" (used by the regional tax\n   directorate) to track the specific document, not a value the taxpayer\n   originates.\n\n## Conformance\n\n3 valid mock scenarios — `valid-resident-single-employer` (a resident,\nsingle-employer individual with only Section A identifying data and the\ndeclaration block populated, no Section B income); `valid-multi-income-and-deductions`\n(a resident individual populating a broad mix of Section B gross-income,\ndeductible-expense, and tax-paid lines, plus a non-owned main residence\nexercising box 12's `requiredWhen`); and `valid-corrective-non-resident`\n(a non-resident, corrective declaration exercising `isCorrectiveDeclaration`\nand `isResidentInAlbania: false`) — plus 9 mutation-control fixtures (one\nmissing statically-required field from each of `taxPeriodYear`,\n`isResidentInAlbania`, `firstName`, `lastName`, `personalIdNumber`,\n`declarantStatus`, `declarantFullName`, `declarationDate`,\n`declarantSignature`) and an unknown-field-rejected fixture are committed\nunder `conformance/al/dpt/individual-annual-income-declaration/1.0.0/`.\n\nAn ephemeral, from-scratch conformance checker (deriving required/\nrequiredWhen rules directly from this schema's own `fields[]`, discarded\nafter use, not committed) ran all 13 fixtures: all 3 valid scenarios at 0\nerrors, all 9 mutation controls each raising exactly 1 error, the\nunknown-field-rejected fixture raising exactly 1 error, and confirmed every\n`requiredWhen` field reference resolves to a real field name (0 dangling\nreferences). Validated clean with `node tools/validate.mjs` and\n`node tools/validate-ajv.mjs`, individually and as part of the full registry\nrun.\n"
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-22"
  },
  "license": "CC-BY-4.0",
  "steps": [
    {
      "id": "declaration_type_and_period",
      "title": "Declaration Type and Tax Period",
      "fields": [
        "isCorrectiveDeclaration",
        "taxPeriodYear"
      ],
      "next": "identifying_data"
    },
    {
      "id": "identifying_data",
      "title": "Section A: Identifying Data",
      "fields": [
        "isResidentInAlbania",
        "firstName",
        "fathersName",
        "lastName",
        "sex",
        "personalIdNumber",
        "mainAddress",
        "cityMunicipalityDistrict",
        "declarantStatus"
      ],
      "next": "additional_individual_data"
    },
    {
      "id": "additional_individual_data",
      "title": "Section A: Additional Individual Data",
      "fields": [
        "phone",
        "mobile",
        "email",
        "mainResidenceOwnership",
        "ownerName",
        "ownerAddress",
        "residentialAddressIfDifferent",
        "residentialPhone",
        "residentialMobile",
        "residentialEmail",
        "residenceOwnership",
        "residenceOwnerName",
        "residenceOwnerAddress",
        "dependentsWithinFamilyCount",
        "otherDependentsCount"
      ],
      "next": "gross_income"
    },
    {
      "id": "gross_income",
      "title": "Section B: Gross Income",
      "fields": [
        "employmentIncomeGross",
        "dividendIncomeGross",
        "rentalIncomeGross",
        "realEstateSaleCapitalGain",
        "bankInterestIncomeGross",
        "securitiesRealEstateInvestmentCapitalGain",
        "lotteryGamblingWinningsGross",
        "intellectualPropertyIncomeGross",
        "giftCapitalGain",
        "foreignSourceIncomeGross",
        "otherIncomeGross"
      ],
      "next": "deductible_expenses"
    },
    {
      "id": "deductible_expenses",
      "title": "Section B: Deductible Expenses",
      "fields": [
        "educationLoanInterestDeduction",
        "medicalExpensesDeduction"
      ],
      "next": "taxes_paid_during_period"
    },
    {
      "id": "taxes_paid_during_period",
      "title": "Section B: Taxes Paid During the Tax Period",
      "fields": [
        "employmentIncomeTaxWithheld",
        "dividendTaxPaid",
        "rentalIncomeTaxPaid",
        "realEstateSaleCapitalGainTaxPaid",
        "bankInterestTaxPaid",
        "securitiesRealEstateCapitalGainTaxPaid",
        "lotteryGamblingTaxPaid",
        "intellectualPropertyIncomeTaxPaid",
        "giftCapitalGainTaxPaid",
        "otherIncomeTaxPaid",
        "foreignSourceIncomeTaxPaid",
        "foreignTaxCreditClaimed"
      ],
      "next": "declaration"
    },
    {
      "id": "declaration",
      "title": "Declaration",
      "fields": [
        "declarantFullName",
        "declarationDate",
        "declarantSignature"
      ]
    }
  ],
  "fields": [
    {
      "name": "isCorrectiveDeclaration",
      "label": "This is a corrective declaration (not your first submission for this filing period)",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "description": "Printed as a single checkbox, \"Vendos 'X' në kutinë e duhur nëse nuk po dorëzon për herë të parë për këtë periudhë të dorëzimit — KORRIGJUESE\" (tick if this is not your first submission for this filing period — CORRECTIVE), with no separate \"Original\" counterpart printed. `true` means the box is ticked.",
      "sourceRef": "Page 1, top-level checkbox — \"KORRIGJUESE\""
    },
    {
      "name": "taxPeriodYear",
      "label": "Tax period (year)",
      "type": "integer",
      "required": true,
      "sourceRef": "Page 1/2/3 header, (2) — \"Periudha tatimore (viti)\""
    },
    {
      "name": "isResidentInAlbania",
      "label": "Resident in the Republic of Albania",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "description": "Section A's own two mutually exclusive checkboxes, \"[3] REZIDENT NË REPUBLIKËN E SHQIPËRISË\" / \"[4] JOREZIDENT NË REPUBLIKËN E SHQIPËRISË\", collapsed into one boolean; `true` means \"REZIDENT\" was ticked. These bracket numbers [3]/[4] are a genuine numbering collision with Section B's own independent [3]/[4] (`employmentIncomeGross`/the excluded employment-tax-calculation box) — the two are unrelated boxes despite sharing a printed number.",
      "sourceRef": "Page 1, Section A header — \"[3] REZIDENT NË REPUBLIKËN E SHQIPËRISË  [4] JOREZIDENT NË REPUBLIKËN E SHQIPËRISË\""
    },
    {
      "name": "firstName",
      "label": "First name (Emri)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, (5) — \"Emri\""
    },
    {
      "name": "fathersName",
      "label": "Father's name (Atësia)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, (5) — \"Atësia\""
    },
    {
      "name": "lastName",
      "label": "Last name (Mbiemri)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, (5) — \"Mbiemri\""
    },
    {
      "name": "sex",
      "label": "Sex",
      "type": "string",
      "required": true,
      "validation": {
        "enum": ["M", "F"]
      },
      "sourceRef": "Page 1, (5) — \"Seksi: M  F\""
    },
    {
      "name": "personalIdNumber",
      "label": "Personal identification number, per the declarant's identity card",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, (6) — \"Numri i identifikimit personal sipas letërnjoftimit të deklaruesit\""
    },
    {
      "name": "mainAddress",
      "label": "Main address (Adresa kryesore)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, (7) — \"Adresa kryesore\""
    },
    {
      "name": "cityMunicipalityDistrict",
      "label": "City / Municipality / District",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, (8) — \"Qyteti/Komuna/Rrethi\""
    },
    {
      "name": "declarantStatus",
      "label": "Declarant's marital/household status",
      "type": "string",
      "required": true,
      "validation": {
        "enum": [
          "MARRIED",
          "MARRIED_WITH_CHILDREN",
          "SINGLE",
          "WIDOWED",
          "DIVORCED",
          "HEAD_OF_HOUSEHOLD"
        ]
      },
      "description": "Printed as six checkboxes: \"I/E martuar\" (Married), \"I/E martuar me fëmijë\" (Married with children), \"Beqar/e\" (Single), \"I/E ve\" (Widowed), \"I/E divorcuar\" (Divorced), \"Kryefamiljar/e\" (Head of household). \"I/E martuar me fëmijë\" wraps across two stacked text lines in the source PDF's own layout; option order and text were confirmed via x/y position re-extraction.",
      "sourceRef": "Page 1, (9) — \"Statusi i Deklaruesit\""
    },
    {
      "name": "phone",
      "label": "Telephone",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, (10) — \"Telefoni\""
    },
    {
      "name": "mobile",
      "label": "Mobile (Cel.)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, (10) — \"Cel.\""
    },
    {
      "name": "email",
      "label": "E-mail address",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, (10) — \"E-mail\""
    },
    {
      "name": "mainResidenceOwnership",
      "label": "Main residence ownership",
      "type": "string",
      "required": true,
      "validation": {
        "enum": ["OWNED", "RENTED", "FREE_USE_FROM_OWNER", "OTHER"]
      },
      "description": "Printed as four checkboxes: \"a) Në pronësi\" (Owned), \"b) Me qira\" (Rented), \"c) Falas nga pronari\" (Free use granted by the owner), \"d) Te tjere\" (Other). Modelled `required: true` since Section A always asks this question, unconditionally (unlike box 15/16's own \"if different\" residence-ownership block, which carries no such unconditional signal — see `residenceOwnership` below).",
      "sourceRef": "Page 1, (11) — \"Të dhëna mbi pronësinë e banesës kryesore\""
    },
    {
      "name": "ownerName",
      "label": "Main residence — owner's name",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "mainResidenceOwnership",
        "notEquals": "OWNED"
      },
      "classification": "pii",
      "sourceRef": "Page 1, (12) — \"Emër/Mbiemëri i pronarit\""
    },
    {
      "name": "ownerAddress",
      "label": "Main residence — owner's address",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "mainResidenceOwnership",
        "notEquals": "OWNED"
      },
      "sourceRef": "Page 1, (12) — \"Adresa\""
    },
    {
      "name": "residentialAddressIfDifferent",
      "label": "Residential address, if different from the main identifying address",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Section header reads \"ADRESA E BANIMIT NËSE ËSHTË E NDRYSHME NGA ADRESA E TË DHËNAVE IDENTIFIKUESE\" (residential address, if different from the identifying-data address). The source prints no separate boolean signal distinguishing \"same address\" from \"different address\"; this whole block (boxes 13-16) is modelled bare-optional, disclosed rather than gated on an unprinted eligibility field.",
      "sourceRef": "Page 2, (13) — \"Adresa\""
    },
    {
      "name": "residentialPhone",
      "label": "Residential address (if different) — telephone",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 2, (14) — \"Nr. Tel\""
    },
    {
      "name": "residentialMobile",
      "label": "Residential address (if different) — mobile",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 2, (14) — \"Cel\""
    },
    {
      "name": "residentialEmail",
      "label": "Residential address (if different) — e-mail",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 2, (14) — \"E-mail\""
    },
    {
      "name": "residenceOwnership",
      "label": "Ownership of the residence lived in (if different from the main address)",
      "type": "string",
      "required": false,
      "validation": {
        "enum": ["OWNED", "RENTED", "FREE_USE_FROM_OWNER", "OTHER"]
      },
      "description": "Printed as the same four-option checkbox set as box 11 (\"a) Në pronësi  b) Me qira  c) Falas nga pronari  d) Të tjera\"), but under the \"if different\" section header with no unconditional-question signal of its own — modelled bare-optional, unlike box 11's `mainResidenceOwnership`.",
      "sourceRef": "Page 2, (15) — \"Të dhëna mbi pronësinë e banesës ku jeton\""
    },
    {
      "name": "residenceOwnerName",
      "label": "Residence lived in (if different) — owner's name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Bare-optional, not gated on `residenceOwnership` — see this document's own VERIFICATION.md finding 5 for why box 16 is not gated the same way box 12 is (box 12's gating field, `mainResidenceOwnership`, is unconditionally `required: true`; box 15's `residenceOwnership` is not, so gating box 16 on it would compare against a field that may be legitimately absent).",
      "sourceRef": "Page 2, (16) — \"Emri/Mbiemri i pronarit\""
    },
    {
      "name": "residenceOwnerAddress",
      "label": "Residence lived in (if different) — owner's address",
      "type": "string",
      "required": false,
      "sourceRef": "Page 2, (16) — \"Adresa\""
    },
    {
      "name": "dependentsWithinFamilyCount",
      "label": "Number of dependants under the declarant's guardianship, within the family",
      "type": "integer",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, (17) — \"Numri i personave brenda familjes në kujdestari\""
    },
    {
      "name": "otherDependentsCount",
      "label": "Number of other dependants under the declarant's guardianship",
      "type": "integer",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, (17) — \"Të tjerë persona në kujdestari\""
    },
    {
      "name": "employmentIncomeGross",
      "label": "Gross income from wages or bonuses from employment relationships",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "description": "Section B's own [3]/[4] restart Section A's bracket numbering from 3; this is Section B's box [3], unrelated to Section A's identically-numbered residency checkboxes (see `isResidentInAlbania`). Section B's box [4] (\"Tatimi i llogaritur mbi pagat dhe shpërblimet e punësimit\", the employment-tax calculation) is excluded from `fields[]` — the declarant's own progressive-bracket (0%/13%/23%) rate-table computation, per GSP-0013 §7, matching this registry's `zm/zra/individual-income-tax-return` box-9 precedent.",
      "sourceRef": "Page 2, Section B, [3] — \"Të ardhurat bruto nga paga apo shpërblime nga marrëdhëniet e punësimit\""
    },
    {
      "name": "dividendIncomeGross",
      "label": "Gross income from dividends",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [5] — \"Të ardhurat bruto nga dividenti\""
    },
    {
      "name": "rentalIncomeGross",
      "label": "Gross income from rent",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [6] — \"Të ardhurat bruto nga qiraja\""
    },
    {
      "name": "realEstateSaleCapitalGain",
      "label": "Capital gain from the sale of immovable property owned by the declarant",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [7] — \"Fitime kapitale nga shitja e pasurisë së paluajtshme në pronësi të deklaruesit\""
    },
    {
      "name": "bankInterestIncomeGross",
      "label": "Gross income from bank interest",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [8] — \"Të ardhurat bruto nga interesat bankare\""
    },
    {
      "name": "securitiesRealEstateInvestmentCapitalGain",
      "label": "Capital gain from investments in securities or immovable property",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [9] — \"Fitimi kapital i krijuar nga investimet në tituj apo nga pasuri të paluajtshme\""
    },
    {
      "name": "lotteryGamblingWinningsGross",
      "label": "Gross amounts won from the lottery or other games of chance",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [10] — \"Shuma bruto të fituara nga lotaria apo lojëra të tjera të fatit\""
    },
    {
      "name": "intellectualPropertyIncomeGross",
      "label": "Gross income from intellectual property, licences, exclusive rights, and other intangible assets",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [11] — \"Të ardhurat bruto nga pasuria intelektuale, liçensa, të drejta ekskluzive dhe pasuri të tjera që përbëhen vetëm nga të drejta dhe që nuk kanë formë fizike\""
    },
    {
      "name": "giftCapitalGain",
      "label": "Capital gain from gifting",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [12] — \"Fitime kapitale nga dhurimi\""
    },
    {
      "name": "foreignSourceIncomeGross",
      "label": "Gross income realized outside the territory of the Republic of Albania",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [13] — \"Të ardhura bruto të realizuara jashtë territorit të Republikës së Shqipërisë\""
    },
    {
      "name": "otherIncomeGross",
      "label": "Other gross income not mentioned above",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "description": "Box [15] (\"SHUMA E TË ARDHURAVE BRUTO\", kutia 3 + kutia 5 deri 14) is a formula total of every other Gross Income box in this step, excluded per GSP-0013 §7.",
      "sourceRef": "Page 2, Section B, [14] — \"Të ardhura bruto të tjera të papërmendura më lart\""
    },
    {
      "name": "educationLoanInterestDeduction",
      "label": "Bank loan interest paid for education (own, children's, or wards')",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 2, Section B, [16] — \"Shuma e interesit bankar të kredisë së marrë për shkollim\""
    },
    {
      "name": "medicalExpensesDeduction",
      "label": "Medical expenses (own, children's, or wards') not covered by mandatory health insurance",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "description": "Box [18] (\"SHUMA E SHPENZIMEVE TË ZBRITSHME\", kutia 16 deri 17) is a formula total of this step's two boxes, excluded per GSP-0013 §7. Boxes [19]-[21] (taxable income excluding employment income, tax calculated on it, and the overall calculated-tax total) are each themselves further formula/rate-table computations chained from boxes already excluded above, likewise excluded per GSP-0013 §7.",
      "sourceRef": "Page 2, Section B, [17] — \"Shpenzimet për mjekim për vete apo për fëmijët dhe personat në kujdestari\""
    },
    {
      "name": "employmentIncomeTaxWithheld",
      "label": "Tax on gross income from wages or bonuses from employment, withheld by the employer(s)",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "description": "This is the same box (22) whose amount the government-hosted `id=11427` guidance PDF (see VERIFICATION.md) cross-references directly (\"shënuar në kutinë 22\") when explaining how withheld employment tax reconciles against box 4's calculated figure — see this document's own VERIFICATION.md for the corroboration this cross-reference provides for this schema's overall box numbering.",
      "sourceRef": "Page 3, Section B, [22] — \"Tatimi mbi të ardhurat bruto nga paga apo shpërblimet nga marrëdhëniet e punësimit\""
    },
    {
      "name": "dividendTaxPaid",
      "label": "Tax paid on dividend income",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [23] — \"Tatimi mbi dividentin\""
    },
    {
      "name": "rentalIncomeTaxPaid",
      "label": "Tax paid on rental income",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [24] — \"Tatimi mbi qiranë\""
    },
    {
      "name": "realEstateSaleCapitalGainTaxPaid",
      "label": "Tax paid on capital gains from the sale of immovable property",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [25] — \"Tatimi mbi fitimet kapitale nga shitja e pasurisë së paluajtshme\""
    },
    {
      "name": "bankInterestTaxPaid",
      "label": "Tax paid on bank interest",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [26] — \"Tatimi mbi interesat bankare\""
    },
    {
      "name": "securitiesRealEstateCapitalGainTaxPaid",
      "label": "Tax paid on capital gains from investments in securities or immovable property",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [27] — \"Tatimet mbi fitimet kapitale të krijuara nga investimet në tituj apo në pasuri të paluajtshme\""
    },
    {
      "name": "lotteryGamblingTaxPaid",
      "label": "Tax paid on lottery or other games-of-chance winnings",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [28] — \"Tatimi mbi fitimet nga lotaritë apo lojrat e tjera të fatit\""
    },
    {
      "name": "intellectualPropertyIncomeTaxPaid",
      "label": "Tax paid on intellectual-property income (rubric 11)",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [29] — \"Tatimi mbi të ardhurat bruto nga të ardhurat e rubrikës [11]\""
    },
    {
      "name": "giftCapitalGainTaxPaid",
      "label": "Tax paid on capital gains from gifting",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [30] — \"Tatimi nga të ardhurat nga fitimet kapitale nga dhurimi\""
    },
    {
      "name": "otherIncomeTaxPaid",
      "label": "Tax paid on other income",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [31] — \"Tatimi mbi të ardhura të tjera\""
    },
    {
      "name": "foreignSourceIncomeTaxPaid",
      "label": "Tax paid on income realized outside the territory of the Republic of Albania",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "sourceRef": "Page 3, Section B, [32] — \"Tatimi mbi të ardhurat bruto të realizuara jashtë territorit të Republikës së Shqipërisë\""
    },
    {
      "name": "foreignTaxCreditClaimed",
      "label": "Foreign tax credit claimed",
      "type": "number",
      "required": false,
      "validation": {
        "minimum": 0
      },
      "description": "Box [34] (\"SHUMA E TATIMIT TË PAGUAR\", kutia 22 deri kutia 32) is a formula total of every Taxes Paid box above, excluded per GSP-0013 §7. Boxes [35] (\"TATIMI I DETYRUAR PËR T'U PAGUAR\", kutia 21 - kutia 34, the balance due) and [36] (\"TATIMI I PAGUAR TEPËR\", kutia 34 - kutia 21, the refund due) are both further formula computations chained from already-excluded boxes, likewise excluded per GSP-0013 §7. Box order (34→35→36) and each box's own printed formula were confirmed via x/y position re-extraction, since the source PDF's right-margin box-number column and inline box-number column are interleaved in `pdfjs-dist`'s default reading order.",
      "sourceRef": "Page 3, Section B, [33] — \"Kreditimi i tatimit të huaj\""
    },
    {
      "name": "declarantFullName",
      "label": "Full name of the person making the return",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Printed identically at the foot of both page 1 and page 2 (\"Personi Deklarues (Emri/Mbiemri)\"), modelled once. The source prints no explicit \"will not be accepted unless signed\" disclaimer (unlike this registry's `zm/zra/individual-income-tax-return`); `required: true` is a standard-practice interpretation for a legal declaration's own signature block, disclosed here rather than directly quoted from the source.",
      "sourceRef": "Page 1/2 footer — \"Personi Deklarues (Emri/Mbiemri)\""
    },
    {
      "name": "declarationDate",
      "label": "Date of declaration",
      "type": "date",
      "required": true,
      "sourceRef": "Page 1/2 footer — \"Data e deklarimit\""
    },
    {
      "name": "declarantSignature",
      "label": "Signature of the person making the return",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1/2 footer — \"Firma\""
    }
  ]
}
