{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "na/namra/return-of-income-individuals",
  "version": "1.0.0",
  "title": "Namibia Return of Income: Individual (Form 6-0/0014C/1)",
  "description": "The Namibia Revenue Agency's (NamRA) \"Return of Income: Individual\" (Form 6-0/0014C/1), the annual domestic-tax return an individual taxpayer must render on or before 30 June of each year, per the form's own printed instruction. Opens Namibia as a new jurisdiction (GOV-4491, child of GOV-4488 \"GovSchema Standard Research\", following GOV-4424's original scouting pass and GOV-4488's re-verification of the live source immediately before this authoring cycle). This is the simplified edition of the individual return, restricted by the form's own printed Note 6 to taxpayers with at most one employer/retirement fund and no farming or other business income during the year of assessment — taxpayers with more than one employer, partial-year employment, deductible expenses against remuneration, or farming/business activity are directed by the same note to complete Form 6-0/0014B or 6-0/0014A instead, which this schema does not model. This schema models Schedule 1 (Personal Particulars, contact details, banking details, and the signed declaration), the prior-year-filing and Namibia-residency-transition questions, Schedule 2 (a 6-slot bounded table of dependent children/stepchildren), Schedule 3 (salary/wages/pension income, its two same-schedule deduction items with attached fund names, and the housing/company-vehicle disclosure questions), and the Employees' Tax Deducted table (a 3-slot bounded table of PAYE 5 certificate numbers and amounts). Every printed line that is purely a same-form arithmetic total of other same-form lines (the Schedule 3 Sub-Total, Total Deductions, and Net Salary lines, and the Employees' Tax Deducted table's own Sum of Employees' Tax Credits line) is excluded from `fields[]`, per this registry's standing closed decision to defer calculated/derived fields (GSP-0013 §7, founder-confirmed on GOV-302) — see this document's own VERIFICATION.md for the full list of excluded lines and disclosed findings. 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 Government of the Republic of Namibia or the Namibia Revenue Agency.",
  "status": "draft",
  "jurisdiction": {
    "country": "NA",
    "level": "national"
  },
  "authority": {
    "name": "Namibia Revenue Agency",
    "abbreviation": "NamRA",
    "url": "https://www.namra.org.na"
  },
  "process": {
    "type": "filing",
    "language": "en"
  },
  "source": {
    "url": "https://itas.namra.org.na/assets/documents/return-forms/Return_for_Individual.pdf",
    "retrievedAt": "2026-07-23",
    "documentRef": "Form 6-0/0014C/1, \"Return of Income: Individual\""
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-23",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-23",
    "notes": "See VERIFICATION.md for the full write-up: source re-fetch/hash, extraction method, document structure, scope decisions, and disclosed findings, including a material file-size change flagged before authoring by GOV-4491's own delegating issue."
  },
  "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-23"
  },
  "license": "CC-BY-4.0",
  "steps": [
    {
      "id": "header_and_registration",
      "title": "Tax Year and Office of Registration",
      "fields": ["taxYear", "registrationOffice", "taxFileIdentificationNumber"],
      "next": "schedule1_personal_particulars"
    },
    {
      "id": "schedule1_personal_particulars",
      "title": "Schedule 1: Personal Particulars",
      "fields": ["initialsAndSurname", "postalAddress", "firstNames", "identityNumber", "residentialAddress", "magisterialDistrict", "returnOffice", "spouseFullName", "spouseTaxFileIdentificationNumber"],
      "next": "taxpayer_contact_details"
    },
    {
      "id": "taxpayer_contact_details",
      "title": "Taxpayer's Contact Details",
      "fields": ["workTelephoneNumber", "homeTelephoneNumber", "faxNumber", "cellphoneNumber", "emailAddress"],
      "next": "taxpayer_banking_details"
    },
    {
      "id": "taxpayer_banking_details",
      "title": "Taxpayer's Banking Details",
      "fields": ["bankName", "branchCode", "accountNumber", "accountType", "accountHolder"],
      "next": "prior_year_and_residency"
    },
    {
      "id": "prior_year_and_residency",
      "title": "Prior-Year Filing and Namibia Residency",
      "fields": ["renderedReturnLastYear", "priorYearReturnOffice", "priorYearIncome", "dateOfArrival", "dateOfDeparture"],
      "next": "schedule2_children"
    },
    {
      "id": "schedule2_children",
      "title": "Schedule 2: Own Children or Stepchildren Supported",
      "fields": ["child1Name", "child1BirthMonth", "child1BirthYear", "child2Name", "child2BirthMonth", "child2BirthYear", "child3Name", "child3BirthMonth", "child3BirthYear", "child4Name", "child4BirthMonth", "child4BirthYear", "child5Name", "child5BirthMonth", "child5BirthYear", "child6Name", "child6BirthMonth", "child6BirthYear"],
      "next": "schedule3_employment_income"
    },
    {
      "id": "schedule3_employment_income",
      "title": "Schedule 3: Salary, Wages, Pension and Annuities",
      "fields": ["employerRevenueCode", "employerOrFundName", "employmentPeriod", "grossAmount", "pensionProvidentFundContribution", "pensionProvidentFundName", "retirementAnnuityFundContribution", "retirementAnnuityFundName1", "retirementAnnuityFundName2", "childEducationInsurancePremium"],
      "next": "schedule3_housing_and_vehicle"
    },
    {
      "id": "schedule3_housing_and_vehicle",
      "title": "Schedule 3: Housing and Company Vehicle Disclosure",
      "fields": ["ownsResidence", "ownerNameAddress", "rentalPaidToOwner", "ownerIsEmployer", "ownsCompanyVehicle", "vehicleMakeModel", "vehiclePurchasePrice", "vehicleConditionsOfUse"],
      "next": "employees_tax_deducted"
    },
    {
      "id": "employees_tax_deducted",
      "title": "Employees' Tax Deducted",
      "fields": ["payeCertificateNumber1", "employeesTaxDeducted1", "payeCertificateNumber2", "employeesTaxDeducted2", "payeCertificateNumber3", "employeesTaxDeducted3"],
      "next": "declaration"
    },
    {
      "id": "declaration",
      "title": "Declaration",
      "fields": ["declarantName", "declarationDate"]
    }
  ],
  "fields": [
    {
      "name": "taxYear",
      "label": "Tax Year",
      "type": "integer",
      "required": true,
      "description": "The year of assessment this return covers.",
      "sourceRef": "Page 1, header — \"TAX YEAR\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "registrationOffice",
      "label": "Office of Registration",
      "type": "string",
      "required": true,
      "description": "The NamRA office at which the taxpayer is registered.",
      "sourceRef": "Page 1, header — \"OFFICE OF REGISTRATION\""
    },
    {
      "name": "taxFileIdentificationNumber",
      "label": "File Identification Number",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The taxpayer's own file identification number, which the source's own instruction says must always be mentioned in correspondence and at interviews.",
      "sourceRef": "Page 1, header — \"ALWAYS MENTION THIS FILE IDENTIFICATION NUMBER IN YOUR CORRESPONDENCE AND AT INTERVIEWS\""
    },
    {
      "name": "initialsAndSurname",
      "label": "Initials and Surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Schedule 1 — \"INITIALS AND SURNAME\""
    },
    {
      "name": "postalAddress",
      "label": "Postal Address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The taxpayer's postal address, printed as a single multi-line block.",
      "sourceRef": "Schedule 1 — \"POSTAL ADDRESS\""
    },
    {
      "name": "firstNames",
      "label": "First Names: Self",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Schedule 1 — \"FIRST NAMES: SELF\""
    },
    {
      "name": "identityNumber",
      "label": "Identity No.: Self",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Schedule 1 — \"IDENTITY NO.: SELF\""
    },
    {
      "name": "residentialAddress",
      "label": "Residential Address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The taxpayer's residential address, printed as a single multi-line block.",
      "sourceRef": "Schedule 1 — \"RESIDENTIAL ADDRESS\""
    },
    {
      "name": "magisterialDistrict",
      "label": "Magisterial District",
      "type": "string",
      "required": true,
      "sourceRef": "Schedule 1 — \"MAGISTERIAL DISTRICT\""
    },
    {
      "name": "returnOffice",
      "label": "Return Office",
      "type": "string",
      "required": true,
      "description": "The NamRA regional office this return is being submitted to.",
      "sourceRef": "Schedule 1 — \"RETURN OFFICE\""
    },
    {
      "name": "spouseFullName",
      "label": "Spouse's Full Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 1 — \"SPOUSE'S FULL NAME\""
    },
    {
      "name": "spouseTaxFileIdentificationNumber",
      "label": "Spouse's Income Tax File Identification No.",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 1 — \"SPOUSE'S INCOME TAX FILE IDENTIFICATION NO.\""
    },
    {
      "name": "workTelephoneNumber",
      "label": "Work Telephone No.",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "\"TAXPAYER'S CONTACT DETAILS (NOT REPRESENTATIVE)\" — \"WORK TELEPHONE NO.\""
    },
    {
      "name": "homeTelephoneNumber",
      "label": "Home Telephone No.",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "\"TAXPAYER'S CONTACT DETAILS (NOT REPRESENTATIVE)\" — \"HOME TELEPHONE NO.\""
    },
    {
      "name": "faxNumber",
      "label": "Fax No.",
      "type": "string",
      "required": false,
      "sourceRef": "\"TAXPAYER'S CONTACT DETAILS (NOT REPRESENTATIVE)\" — \"FAX NO.\""
    },
    {
      "name": "cellphoneNumber",
      "label": "Cellphone No.",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "\"TAXPAYER'S CONTACT DETAILS (NOT REPRESENTATIVE)\" — \"CELLPHONE NO.\""
    },
    {
      "name": "emailAddress",
      "label": "Email Address",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "\"TAXPAYER'S CONTACT DETAILS (NOT REPRESENTATIVE)\" — \"EMAIL ADDRESS\"",
      "validation": {
        "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
        "maxLength": 254
      }
    },
    {
      "name": "bankName",
      "label": "Name of Bank",
      "type": "string",
      "required": false,
      "description": "The source's own instruction notes banking details are requested because refunds are transferred electronically to the taxpayer's bank account.",
      "sourceRef": "\"TAXPAYER'S BANKING DETAILS\" — \"NAME OF BANK\""
    },
    {
      "name": "branchCode",
      "label": "Branch Code",
      "type": "string",
      "required": false,
      "sourceRef": "\"TAXPAYER'S BANKING DETAILS\" — \"BRANCH CODE\""
    },
    {
      "name": "accountNumber",
      "label": "Account No.",
      "type": "string",
      "required": false,
      "classification": "financial",
      "sourceRef": "\"TAXPAYER'S BANKING DETAILS\" — \"ACCOUNT NO.\""
    },
    {
      "name": "accountType",
      "label": "Type of Account",
      "type": "enum",
      "required": false,
      "description": "Mark one of the three printed account-type boxes.",
      "sourceRef": "\"TAXPAYER'S BANKING DETAILS\" — \"TYPE OF ACCOUNT\" (SAVINGS / CURRENT / TRANSMISSION)",
      "validation": {
        "enum": ["SAVINGS", "CURRENT", "TRANSMISSION"]
      }
    },
    {
      "name": "accountHolder",
      "label": "Account Holder",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "\"TAXPAYER'S BANKING DETAILS\" — \"ACCOUNT HOLDER\""
    },
    {
      "name": "renderedReturnLastYear",
      "label": "Did You Render a Return of Income for Last Year?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Page 2 — \"DID YOU RENDER A RETURN OF INCOME FOR LAST YEAR?\""
    },
    {
      "name": "priorYearReturnOffice",
      "label": "To Which Office?",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "renderedReturnLastYear", "equals": true },
      "description": "The NamRA office to which last year's return of income was rendered.",
      "sourceRef": "Page 2 — \"TO WHICH OFFICE?\""
    },
    {
      "name": "priorYearIncome",
      "label": "What Was Your Income for Last Year?",
      "type": "number",
      "required": false,
      "requiredWhen": { "field": "renderedReturnLastYear", "equals": false },
      "description": "Printed only for a taxpayer who did not render a return of income last year, in Namibia Dollars.",
      "sourceRef": "Page 2 — \"WHAT WAS YOUR INCOME FOR LAST YEAR? N$\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "dateOfArrival",
      "label": "Date of Arrival",
      "type": "date",
      "required": false,
      "description": "Only applicable if the taxpayer was previously resident outside Namibia and arrived (or returned) during the year of assessment.",
      "sourceRef": "Page 2 — \"IF PREVIOUSLY RESIDENT OUTSIDE NAMIBIA\" / \"DATE OF ARRIVAL\""
    },
    {
      "name": "dateOfDeparture",
      "label": "Date of Departure",
      "type": "date",
      "required": false,
      "description": "Only applicable if the taxpayer has left Namibia during the year of assessment.",
      "sourceRef": "Page 2 — \"IF YOU HAVE LEFT NAMIBIA\" / \"DATE OF DEPARTURE\""
    },
    {
      "name": "child1Name",
      "label": "Child/Stepchild 1: Name and Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Schedule 2's printed table has exactly 6 numbered rows (1-6); flattened here to child1..child6, per this registry's bounded-repeating-group convention. Not required: a taxpayer with no children, or fewer than 6, leaves the remaining rows blank. Each row is for an own child or stepchild who, on the last day of the year of assessment, was unmarried, not over the age of 26, and not liable for the payment of Income Tax during the year, per Schedule 2's own printed (a)-(c) conditions.",
      "sourceRef": "Schedule 2, row 1 — \"Names and surname of each child or stepchild\""
    },
    {
      "name": "child1BirthMonth",
      "label": "Child/Stepchild 1: Date of Birth — Month",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 2, row 1 — \"Date of birth\" / \"Month\"",
      "validation": {
        "pattern": "^(0[1-9]|1[0-2])$"
      }
    },
    {
      "name": "child1BirthYear",
      "label": "Child/Stepchild 1: Date of Birth — Year",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 2, row 1 — \"Date of birth\" / \"Year\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "child2Name",
      "label": "Child/Stepchild 2: Name and Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 2, row 2 — \"Names and surname of each child or stepchild\""
    },
    {
      "name": "child2BirthMonth",
      "label": "Child/Stepchild 2: Date of Birth — Month",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 2, row 2 — \"Date of birth\" / \"Month\"",
      "validation": {
        "pattern": "^(0[1-9]|1[0-2])$"
      }
    },
    {
      "name": "child2BirthYear",
      "label": "Child/Stepchild 2: Date of Birth — Year",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 2, row 2 — \"Date of birth\" / \"Year\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "child3Name",
      "label": "Child/Stepchild 3: Name and Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 2, row 3 — \"Names and surname of each child or stepchild\""
    },
    {
      "name": "child3BirthMonth",
      "label": "Child/Stepchild 3: Date of Birth — Month",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 2, row 3 — \"Date of birth\" / \"Month\"",
      "validation": {
        "pattern": "^(0[1-9]|1[0-2])$"
      }
    },
    {
      "name": "child3BirthYear",
      "label": "Child/Stepchild 3: Date of Birth — Year",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 2, row 3 — \"Date of birth\" / \"Year\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "child4Name",
      "label": "Child/Stepchild 4: Name and Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 2, row 4 — \"Names and surname of each child or stepchild\""
    },
    {
      "name": "child4BirthMonth",
      "label": "Child/Stepchild 4: Date of Birth — Month",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 2, row 4 — \"Date of birth\" / \"Month\"",
      "validation": {
        "pattern": "^(0[1-9]|1[0-2])$"
      }
    },
    {
      "name": "child4BirthYear",
      "label": "Child/Stepchild 4: Date of Birth — Year",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 2, row 4 — \"Date of birth\" / \"Year\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "child5Name",
      "label": "Child/Stepchild 5: Name and Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 2, row 5 — \"Names and surname of each child or stepchild\""
    },
    {
      "name": "child5BirthMonth",
      "label": "Child/Stepchild 5: Date of Birth — Month",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 2, row 5 — \"Date of birth\" / \"Month\"",
      "validation": {
        "pattern": "^(0[1-9]|1[0-2])$"
      }
    },
    {
      "name": "child5BirthYear",
      "label": "Child/Stepchild 5: Date of Birth — Year",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 2, row 5 — \"Date of birth\" / \"Year\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "child6Name",
      "label": "Child/Stepchild 6: Name and Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Schedule 2, row 6 — \"Names and surname of each child or stepchild\""
    },
    {
      "name": "child6BirthMonth",
      "label": "Child/Stepchild 6: Date of Birth — Month",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 2, row 6 — \"Date of birth\" / \"Month\"",
      "validation": {
        "pattern": "^(0[1-9]|1[0-2])$"
      }
    },
    {
      "name": "child6BirthYear",
      "label": "Child/Stepchild 6: Date of Birth — Year",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 2, row 6 — \"Date of birth\" / \"Year\"",
      "validation": {
        "minimum": 1000,
        "maximum": 9999
      }
    },
    {
      "name": "employerRevenueCode",
      "label": "Revenue Code",
      "type": "string",
      "required": false,
      "description": "The Revenue Code identifying the trade or profession of the taxpayer's employer and/or retirement fund, per the form's own printed Revenue Codes list. Schedule 3 in its entirety is only applicable to a taxpayer with salary, wages, pension, or annuity income during the year, consistent with this registry's established convention for optional income-statement lines.",
      "sourceRef": "Schedule 3 — \"Please indicate the Revenue code in which trade or profession your employer and/or retirement fund falls (see list above)\""
    },
    {
      "name": "employerOrFundName",
      "label": "Name of Employer or Retirement Fund",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 3, Line No. 1 — \"Name of Employer or Retirement Fund\""
    },
    {
      "name": "employmentPeriod",
      "label": "Period (full year only)",
      "type": "string",
      "required": false,
      "description": "Per this form's own Note 6, this simplified edition only covers a taxpayer employed for the full year of assessment; a taxpayer employed for only part of the year is directed to Form 6-0/0014B or 6-0/0014A instead.",
      "sourceRef": "Schedule 3, Line No. 1 — \"Period (full year only)\""
    },
    {
      "name": "grossAmount",
      "label": "Gross Amount (N$ Only)",
      "type": "integer",
      "required": false,
      "description": "Whole Namibia Dollars only, per the column's own printed \"(N$ ONLY)\" heading.",
      "sourceRef": "Schedule 3, Line No. 1 — \"Gross amount (N$ ONLY)\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "pensionProvidentFundContribution",
      "label": "Less 1: Current Contributions to Approved Pension/Provident Fund",
      "type": "integer",
      "required": false,
      "sourceRef": "Schedule 3, item 1 — \"Current contributions to approved Pension/Provident Fund\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "pensionProvidentFundName",
      "label": "Name of Fund (Pension/Provident)",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 3, item 1 — \"Name of Fund\""
    },
    {
      "name": "retirementAnnuityFundContribution",
      "label": "Less 2: Current Contributions to Approved Retirement Annuity Funds",
      "type": "integer",
      "required": false,
      "description": "Per the form's own Note 5, when this contribution is claimed as a deduction the fund administrator's certificate must be attached unless already shown on the taxpayer's PAYE 5 Certificate.",
      "sourceRef": "Schedule 3, item 2 — \"Current contributions to approved Retirement Annuity Funds (see note 5)\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "retirementAnnuityFundName1",
      "label": "Name of Fund(s) (Retirement Annuity) — 1",
      "type": "string",
      "required": false,
      "description": "The printed \"Name of Fund(s)\" caption has exactly 2 blank lines; flattened here to retirementAnnuityFundName1/2, per this registry's bounded-repeating-group convention.",
      "sourceRef": "Schedule 3, item 2 — \"Name of Fund(s)\", line 1"
    },
    {
      "name": "retirementAnnuityFundName2",
      "label": "Name of Fund(s) (Retirement Annuity) — 2",
      "type": "string",
      "required": false,
      "sourceRef": "Schedule 3, item 2 — \"Name of Fund(s)\", line 2"
    },
    {
      "name": "childEducationInsurancePremium",
      "label": "Less 3: Current Premiums Paid Under Policies of Insurance for the Education or Training of a Child",
      "type": "integer",
      "required": false,
      "description": "Per the form's own Note 5, when this premium is claimed as a deduction the policy insurer's certificate must be attached unless already shown on the taxpayer's PAYE 5 Certificate.",
      "sourceRef": "Schedule 3, item 3 — \"Current premiums paid under policies of insurance for the education or training of a child (see note 5)\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "ownsResidence",
      "label": "Are You the Owner of the House You Are Residing In?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Schedule 3(a) — \"Are you the owner of the house you are residing in?\""
    },
    {
      "name": "ownerNameAddress",
      "label": "Name and Address of Owner",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "ownsResidence", "equals": false },
      "classification": "pii",
      "sourceRef": "Schedule 3(a)(i) — \"Name and address of owner\""
    },
    {
      "name": "rentalPaidToOwner",
      "label": "Amount of Rental Paid to the Owner",
      "type": "number",
      "required": false,
      "requiredWhen": { "field": "ownsResidence", "equals": false },
      "sourceRef": "Schedule 3(a)(ii) — \"Amount of rental paid to the owner\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "ownerIsEmployer",
      "label": "Whether the Owner of the Property Is Also Your Employer",
      "type": "boolean",
      "required": false,
      "requiredWhen": { "field": "ownsResidence", "equals": false },
      "sourceRef": "Schedule 3(a)(iii) — \"Whether the owner of the property is also your employer\""
    },
    {
      "name": "ownsCompanyVehicle",
      "label": "Are You in Possession of a Company Vehicle?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Schedule 3(b) — \"Are you in possession of a company vehicle?\""
    },
    {
      "name": "vehicleMakeModel",
      "label": "Make and Model of Vehicle",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "ownsCompanyVehicle", "equals": true },
      "sourceRef": "Schedule 3(b)(i) — \"Make and model of vehicle\""
    },
    {
      "name": "vehiclePurchasePrice",
      "label": "Purchase Price",
      "type": "number",
      "required": false,
      "requiredWhen": { "field": "ownsCompanyVehicle", "equals": true },
      "sourceRef": "Schedule 3(b)(ii) — \"Purchase price\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "vehicleConditionsOfUse",
      "label": "Conditions of Use",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "ownsCompanyVehicle", "equals": true },
      "description": "E.g. limitation regarding costs paid by employer or limitations regarding kilometres travelled for private purposes, per the form's own printed example.",
      "sourceRef": "Schedule 3(b)(iii) — \"Conditions of use (e.g. limitation regarding costs paid by employer or limitations regarding kilometres travelled for private purposes)\""
    },
    {
      "name": "payeCertificateNumber1",
      "label": "PAYE 5 Certificate Number 1",
      "type": "string",
      "required": false,
      "description": "The printed \"Employees' Tax Deducted\" table has exactly 3 blank rows; flattened here to payeCertificateNumber1..3 / employeesTaxDeducted1..3, per this registry's bounded-repeating-group convention.",
      "sourceRef": "Page 4 — \"EMPLOYEES' TAX DEDUCTED\" / \"PAYE 5 CERTIFICATE NUMBERS\", row 1"
    },
    {
      "name": "employeesTaxDeducted1",
      "label": "Employees' Tax Deducted 1 (N$)",
      "type": "number",
      "required": false,
      "sourceRef": "Page 4 — \"EMPLOYEES' TAX DEDUCTED\", row 1 (N$ / Cents)",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "payeCertificateNumber2",
      "label": "PAYE 5 Certificate Number 2",
      "type": "string",
      "required": false,
      "sourceRef": "Page 4 — \"EMPLOYEES' TAX DEDUCTED\" / \"PAYE 5 CERTIFICATE NUMBERS\", row 2"
    },
    {
      "name": "employeesTaxDeducted2",
      "label": "Employees' Tax Deducted 2 (N$)",
      "type": "number",
      "required": false,
      "sourceRef": "Page 4 — \"EMPLOYEES' TAX DEDUCTED\", row 2 (N$ / Cents)",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "payeCertificateNumber3",
      "label": "PAYE 5 Certificate Number 3",
      "type": "string",
      "required": false,
      "sourceRef": "Page 4 — \"EMPLOYEES' TAX DEDUCTED\" / \"PAYE 5 CERTIFICATE NUMBERS\", row 3"
    },
    {
      "name": "employeesTaxDeducted3",
      "label": "Employees' Tax Deducted 3 (N$)",
      "type": "number",
      "required": false,
      "sourceRef": "Page 4 — \"EMPLOYEES' TAX DEDUCTED\", row 3 (N$ / Cents)",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "declarantName",
      "label": "Name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "\"DECLARATION\" — \"NAME\""
    },
    {
      "name": "declarationDate",
      "label": "Date",
      "type": "date",
      "required": true,
      "sourceRef": "\"DECLARATION\" — \"DATE\""
    }
  ],
  "documents": [
    {
      "id": "employeeTaxCertificatesPaye5",
      "label": "PAYE 5 and/or PAYE 5(A) employee's tax certificate(s)",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "handling": "Applicable to a taxpayer completing Schedule 3 (salary/wages/pension income). Left plain-optional rather than requiredWhen-gated on a Schedule 3 field, per this registry's documented notEquals-against-an-absent-optional-field bug class.",
      "sourceRef": "Schedule 3 heading — \"ATTACH YOUR EMPLOYEE'S TAX CERTIFICATES PAYE 5 AND/OR PAYE 5(A).\""
    },
    {
      "id": "retirementAnnuityOrChildEducationCertificate",
      "label": "Retirement annuity fund / child education insurance premium certificate",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "handling": "Per the form's own Note 5, required when claiming a Retirement Annuity Fund contribution or a child education/training insurance premium as a deduction, unless the amount is already shown on the taxpayer's PAYE 5 Certificate.",
      "sourceRef": "Page 2, Important Notes and Instructions, Note 5"
    },
    {
      "id": "swornDeclarationAttestation",
      "label": "Declaration of accuracy",
      "category": "attestation",
      "required": true,
      "statement": "I DECLARE THAT THE INFORMATION FURNISHED IN THIS RETURN IS TRUE AND CORRECT.",
      "sourceRef": "\"DECLARATION\" block"
    }
  ]
}
