Registry entry

South Africa Individual Income Tax Return (ITR12), 2026 year of assessment

File a South African individual income tax return (ITR12) for the 2026 year of assessment (1 March 2025 to 28 February 2026) via SARS eFiling, the SARS MobiApp, or a telephonic SARS eBooking appointment. The ITR12 is a dynamically customised return: a taxpayer first answers a set of 'Form Wizard' Yes/No questions, and SARS generates only the return sections those answers require. This document models the taxpayer-information intake (identity, marital status, contact and address details, tax practitioner details), the 'Standard Questions on Form Wizard' (SARS's own term for the common-case customisation questions: employment status, IRP5/IT3(a) employment income, medical expenditure, retirement annuity contributions, travel/vehicle-fringe-benefit deductions, investment/trust/tax-free-investment income, rental income, partnerships, director/close-corporation membership, the Voluntary Disclosure Programme, high-value assets, s18A donations, and other income/expenses), the bank account details section, and the declaration and signature. It deliberately does not model the 'Comprehensive Questions on Form Wizard' (non-resident sourced income, foreign income, capital gains, local farming, and the many downstream income/deduction schedules those wizard answers dynamically add, e.g. rental-income or partnership detail grids) — SARS's own guide draws this same standard/comprehensive boundary, and the downstream sections are themselves repeating, per-item detail grids (e.g. up to 20 rental activities or 20 trusts) that spec v0.3's flat field model cannot represent (see SPEC.md Section 12). It does not submit the return; the live SARS eFiling/MobiApp source is always authoritative (see VERIFICATION.md).

Registry entry

za/sars/individual-income-tax-return-itr12

Jurisdiction
South Africa · national
Version
1.0.0
Verification
draft

Authoritative source IT-AE-36-G05 (Comprehensive Guide to the ITR12 Income Tax Return for Individuals), Revision 40, effective 29 June 2026

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

78 fields across 10 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.

Taxpayer identity

  • incomeTaxReferenceNumber string required

    Personal identifier; handle as sensitive data. The taxpayer's 10-digit SARS income tax reference number, conventionally starting with 0, 1, 2, 3, or 9 (e.g. 0123456789). Pre-populated on the return and cannot be amended through it.

    patternclassification: sensitive-pii
  • isTaxPractitionerDeclaration boolean required

    Mark true if a registered tax practitioner is completing and submitting the return on the taxpayer's behalf. Determines whether the return carries a Taxpayer Declaration (false) or a Tax Practitioner Declaration (true) for signature, and whether the Tax Practitioner Details fields must be completed.

  • identificationType enum required

    Whether the taxpayer is identified by South African ID number or by passport. Pre-populated from SARS registration records and cannot be amended through the return itself; changes require contacting SARS.

    enum: sa_id | passport
  • idNumber string optional

    Personal identifier; handle as sensitive data. The taxpayer's 13-digit South African ID number.

    patternclassification: sensitive-pii
  • passportNumber string optional

    Passport number

    length: 1–20classification: sensitive-pii
  • passportCountry string optional

    Three-letter country code of the passport's issuing country, e.g. ZAF for South Africa.

    pattern
  • passportIssueDate date optional

    Passport issue date

  • surname string required

    Personal identifier; handle as sensitive data. Mandatory and editable through the return.

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

    First name

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

    Other name

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

    The taxpayer's full initials.

    length: 1–10classification: pii
  • dateOfBirth date required

    Pre-populated from SARS registration records; cannot be amended through the return.

    classification: sensitive-pii

Marital status and spouse details

  • maritalStatus enum required

    The taxpayer's marital status as at 28 February (the last day of the year of assessment). Mandatory: it may affect the assessment where the taxpayer received investment or rental income, or entered into capital gain transactions.

    enum: not_married | married_in_community_of_property | married_out_of_community_of_property
  • spouseInitials string optional

    Spouse's initials

    length: 1–10classification: pii
  • spouseIdNumber string optional

    Personal identifier; handle as sensitive data. Required if the spouse has a South African ID number; use spousePassportNumber/spousePassportCountry instead for a foreign spouse.

    patternclassification: sensitive-pii
  • spousePassportNumber string optional

    For a foreign spouse without a South African ID number.

    length: 0–20classification: sensitive-pii
  • spousePassportCountry string optional

    Spouse's passport country of issue

    pattern

Contact and address details

  • emailAddress string optional

    Encouraged (supports SARS's 'Go-Green' initiative and enables the notice of assessment to be emailed), not mandatory.

    patternlength: 3–254classification: pii
  • noEmailAddressDeclared boolean optional

    I declare that I do not have an email address

  • cellphoneNumber string optional

    Encouraged (SARS sends the assessment result by SMS), not mandatory.

    length: 0–20classification: pii
  • noCellphoneNumberDeclared boolean optional

    I declare that I do not have a cellphone number

  • homeTelephoneNumber string optional

    Home telephone number

    length: 0–20classification: pii
  • businessTelephoneNumber string optional

    Business telephone number

    length: 0–20classification: pii
  • contactDetailsConfirmedCorrect boolean required

    Do you confirm that the email and telephone number(s) supplied are correct?

  • residentialAddressSameAsPostal boolean required

    Residential address is the same as postal address

  • postalAddressLine1 string required

    Postal address

    length: 1–200classification: pii
  • postalSuburb string required

    Suburb (postal address)

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

    City/town (postal address)

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

    Postal code (postal address)

    patternclassification: pii
  • residentialAddressLine1 string optional

    Residential address

    length: 1–200classification: pii
  • residentialSuburb string optional

    Suburb (residential address)

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

    City/town (residential address)

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

    Postal code (residential address)

    patternclassification: pii

Tax practitioner details

  • taxPractitionerRegistrationNumber string optional

    The first two characters must be 'PR' followed by 7 alphanumeric characters.

    pattern
  • taxPractitionerTelephoneNumber string optional

    Tax practitioner telephone number

    length: 0–20classification: pii
  • taxPractitionerEmailAddress string optional

    If the tax practitioner has no email address, mark the corresponding 'no email address' declaration on the return instead (not separately modeled here).

    length: 0–254classification: pii

Residency and employment status

  • isRsaTaxResidentFullYear boolean required

    This schema models the resident 'Standard Questions on Form Wizard' only. A taxpayer who is a foreign national and not an RSA tax resident, who ceased or reinstated RSA tax residency during the year, or who otherwise uses the 'Form Wizard for Non-Resident' (Comprehensive Guide §4.1.2-4.1.3, §4.3) is out of scope for this document.

  • wasUnemployedFullYear boolean required

    I was unemployed for the full year of assessment and did not receive any income

  • madeRetirementAnnuityContributionsWhileUnemployed boolean optional

    Made retirement annuity fund contributions while unemployed for the full year

  • wasUnemployedForPartOfYear boolean required

    I was unemployed for one or more periods during this year of assessment

  • numberOfUnemploymentPeriods integer optional

    Each continuous period of unemployment during the year of assessment counts as one period. Maximum of 5.

    range: 1–5

Other income sources

  • receivedInterestDividendsOrReit boolean required

    I received local/foreign interest, REIT distributions, taxable local/foreign dividends, or s8E/s8EA deemed dividend income

  • receivedExemptDividendIncome boolean optional

    I received exempt local and/or foreign dividend income

  • receivedTrustIncome boolean required

    I received or became entitled to income as a beneficiary of a trust, or income deemed to be mine under s7

  • numberOfTrusts integer optional

    Maximum of 20.

    range: 1–20
  • hadTaxFreeInvestmentTransactions boolean required

    I had contribution, transfer, withdrawal, or income transactions on a Tax Free Investment this year

  • numberOfTaxFreeInvestments integer optional

    Number of tax free investments

    range: 1–∞
  • derivedRentalIncome boolean required

    I derived income from letting fixed property/properties

  • numberOfRentalProperties integer optional

    Maximum of 20.

    range: 1–20
  • isPartnerInBusiness boolean required

    I am a partner in one or more businesses

  • numberOfPartnershipBusinesses integer optional

    Maximum of 20.

    range: 1–20
  • isDirectorOrCloseCorporationMember boolean required

    Selecting this adds a Statement of Local and Foreign Assets and Liabilities section to the return, out of scope for this document.

  • relatesToVoluntaryDisclosureProgramme boolean required

    This return relates to an application made under the SARS Voluntary Disclosure Programme

  • hasAssetsExceedingR50Million boolean required

    I have assets which at market value are in excess of R50 million

  • hasOtherIncomeOrAllowableExpenses boolean required

    Also select true if no IRP5/IT3(a) certificate was received but medical expenses and/or retirement annuity contributions must still be claimed. Triggers a more comprehensive set of questions, out of scope for this document.

Donations

  • claimSection18ADonations boolean required

    I want to claim donations made to an approved Public Benefit Organisation under s18A

  • numberOfPboDonationsRecipients integer optional

    Maximum of 99.

    range: 1–99

Bank account details

  • bankAccountHolderDeclaration enum required

    Bank account holder declaration

    enum: uses_own_sa_bank_account | uses_third_party_sa_bank_account | no_sa_bank_account
  • reasonForNoOrThirdPartyBankAccount enum optional

    Reason for no local / third-party bank account

    enum: 7 values
  • bankAccountNumber string optional

    Personal identifier; handle as sensitive data.

    patternclassification: financial
  • bankName string optional

    Bank name

    length: 1–100classification: financial
  • branchNumber string optional

    Auto-completed on the return once bankName is selected from the drop-down list, unless 'Other' is selected.

    patternclassification: financial
  • accountType enum optional

    Account type

    enum: cheque | savings | transmission
  • accountHolderName string optional

    As registered at the bank.

    length: 1–140classification: financial
  • bankDetailsAgreementStatement boolean optional

    I declare that the bank account information provided is true and correct in every respect

Declaration and signature

  • declarationTrueAndCorrect boolean required

    Misrepresentation, neglect, or omission may be subject to penalties, additional assessments and interest, or criminal prosecution. The declaration text shown differs depending on whether the taxpayer or a tax practitioner signs (see isTaxPractitionerDeclaration).

  • declarationDate date required

    Date signed

Verification record

This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and flow and states the current verification claim honestly.

Current claim

  • status: draft
  • verification.method: manual-source-review-v1
  • verification.lastVerifiedAt: 2026-07-05

Every field and document was read directly from the text layer of SARS's own current Comprehensive Guide to the ITR12 (IT-AE-36-G05, Revision 40, effective 29 June 2026), which is written for the 2026 year of assessment. It remains draft, not verified, because the live eFiling wizard could not be walked interactively — see "What is NOT yet independently verified" below.

Access notes

  • https://www.sars.gov.za/wp-content/uploads/Ops/Guides/IT-AE-36-G05-Comprehensive-Guide-to-the-ITR12-Income-Tax-Return-for-Individuals-External-Guide.pdf was fetched directly, HTTP 200, with a genuine text layer — extracted in full with pdfjs-dist (getTextContent), not OCR. It is a 144-page guide; the sections read closely for this schema were §3 (general information — due dates, required documentation), §4.1 (Standard Questions on Form Wizard, in full), and §5 (Complete Taxpayer Details: Taxpayer Information, Declaration and Signature, Bank Account Details).
  • A second PDF, a Provincial Treasury-hosted copy of SARS's own 2017 "LookFeel" ITR12 mock-up (https://www.treasury.gov.za/research/NT-SDF/Available%20Datasets/Personal%20Income%20Tax%20-%20ITR12%20form.pdf), was fetched directly (HTTP 200, genuine text layer) and used only to corroborate that the taxpayer-information field set (name, surname, other name, initials, ID/passport, marital status, spouse details, contact details) and rough field lengths (13-digit ID number, 10-digit tax reference number) have been stable since at least 2017 — it is 9 years out of date and was not used as the source of record for any field's current-year presence, wording, or requiredness; those all come from the 2026-effective Comprehensive Guide.
  • The tax reference number's 10-digit length and its leading-digit convention (0, 1, 2, 3, or 9) are both sourced from third-party tax-preparation guidance (TaxTim); on independent re-check, the current Comprehensive Guide never restates a digit count or format for the income tax reference number at all (it is described only as an unamendable pre-populated field, §5.1(b)) — corrected from this document's earlier draft note, which had overstated that the guide itself confirms the 10-digit length. Flagged below as needing a first-party SARS source.
  • www.sarsefiling.co.za (the live eFiling portal) requires a registered eFiler login to reach the actual return wizard; it was not walked screen-by-screen this cycle (see "What is NOT yet independently verified").

Sources examined

What was confirmed against the source

| Source element | Field(s) / document(s) | |---|---| | Comprehensive Guide §3.1/§3.4 — due dates and required documentation | schema description; irp5Certificates, medicalSchemeTaxCertificate, retirementAnnuityFundCertificate, taxFreeInvestmentCertificate, section18ADonationCertificate, travelLogbook documents | | Comprehensive Guide §4.1.1 "PERSON MAKING THE DECLARATION" | isTaxPractitionerDeclaration | | Comprehensive Guide §4.1.2/§4.1.3 "RESIDENCY"/"NON-RESIDENTS" (used to draw the resident-only scope boundary) | isRsaTaxResidentFullYear | | Comprehensive Guide §4.1.4 "EMPLOYMENT STATUS" | wasUnemployedFullYear, madeRetirementAnnuityContributionsWhileUnemployed, wasUnemployedForPartOfYear, numberOfUnemploymentPeriods | | Comprehensive Guide §4.1.5 "INCOME RECEIVED REFLECTED ON AN IRP5/IT3(a) EMPLOYEE TAX CERTIFICATE" | receivedIrp5Income, numberOfIrp5Certificates, paidMedicalExpensesAsMainMember, paidMedicalExpensesForDependentFamily, madeRetirementAnnuityContributions, contributedToPensionOrProvidentFundNotOnCertificate, claimTravelAllowanceDeduction, numberOfVehiclesForTravelClaim, claimEmployerProvidedVehicleDeduction, numberOfEmployerProvidedVehicles, receivedForeignServiceRemunerationOnCertificate | | Comprehensive Guide §4.1.6 "INVESTMENT INCOME" | receivedInterestDividendsOrReit, receivedExemptDividendIncome, receivedTrustIncome, numberOfTrusts, hadTaxFreeInvestmentTransactions, numberOfTaxFreeInvestments | | Comprehensive Guide §4.1.7 "RENTAL INCOME" | derivedRentalIncome, numberOfRentalProperties | | Comprehensive Guide §4.1.8 "PARTNERSHIPS" | isPartnerInBusiness, numberOfPartnershipBusinesses | | Comprehensive Guide §4.1.9 "DIRECTOR OR MEMBER OF A CLOSE CORPORATION" | isDirectorOrCloseCorporationMember | | Comprehensive Guide §4.1.10 "VOLUNTARY DISCLOSURE PROGRAMME" | relatesToVoluntaryDisclosureProgramme | | Comprehensive Guide §4.1.11 "ASSETS" | hasAssetsExceedingR50Million | | Comprehensive Guide §4.1.12 "DONATIONS" | claimSection18ADonations, numberOfPboDonationsRecipients | | Comprehensive Guide §4.1.14 "OTHER INCOME AND ALLOWABLE EXPENSES" | hasOtherIncomeOrAllowableExpenses | | Comprehensive Guide §5.1 "TAXPAYER INFORMATION" | incomeTaxReferenceNumber, identificationType, idNumber, passportNumber, passportCountry, passportIssueDate, surname, firstName, otherName, initials, dateOfBirth, maritalStatus, spouseInitials, spouseIdNumber, spousePassportNumber, spousePassportCountry, emailAddress, noEmailAddressDeclared, cellphoneNumber, noCellphoneNumberDeclared, homeTelephoneNumber, businessTelephoneNumber, contactDetailsConfirmedCorrect, residentialAddressSameAsPostal, postalAddressLine1, postalSuburb, postalCityTown, postalCode, residentialAddressLine1, residentialSuburb, residentialCityTown, residentialPostalCode, taxPractitionerRegistrationNumber, taxPractitionerTelephoneNumber, taxPractitionerEmailAddress | | Comprehensive Guide §5.2 "DECLARATION AND SIGNATURE" | declarationTrueAndCorrect, declarationDate, declarationSignature document | | Comprehensive Guide §5.3/§5.3.1 "BANK ACCOUNT DETAILS" | bankAccountHolderDeclaration, reasonForNoOrThirdPartyBankAccount, bankAccountNumber, bankName, branchNumber, accountType, accountHolderName, bankDetailsAgreementStatement | | Comprehensive Guide §5.3.2/§5.3.3 — bank-detail-change documentation and proof-of-residential-address table | proofOfResidentialAddress, bankVerificationDocument documents | | Comprehensive Guide §5.1(b) — ID/passport pre-populated identity | identityDocument document |

What is NOT yet independently verified

  • The live sarsefiling.co.za wizard was not walked screen-by-screen this cycle: it requires a registered eFiler login (username/password plus, typically, an OTP to a South African cell number), which could not be exercised. Field names/labels here are the guide's own quoted wording, not the wizard's HTML field IDs.
  • The 10-digit tax-reference-number leading-digit rule (0/1/2/3/9) is sourced from third-party guidance (TaxTim), not a first-party SARS statement; the guide itself only states the number is 10 digits.
  • The exact branch-number format (branchNumber is modeled here as a 6-digit universal branch code, the common South African convention) is not explicitly restated in the guide, which instead describes the field as auto-completed once a bank is selected from a drop-down.
  • This document covers the resident, "Standard Questions on Form Wizard" pathway only (Comprehensive Guide §4.1). Out of scope, per description: the "Comprehensive Questions on Form Wizard" (§4.2 — non-resident sourced income, foreign income beyond a single IRP5 flag, capital gains, local farming) and every downstream, per-item repeating income/deduction detail grid a "Yes" answer dynamically adds to the return (e.g. up to 20 rental activities, 20 trusts, or 20 partnership businesses) — spec v0.3 has no repeating/nested field model (SPEC.md Section 12).
  • Not authored against the v0.3 edition axis. edition.scheme is a closed enum (us-tax-year/gb-tax-year/award-year, spec v0.3 SPEC.md §5.7, GSP-0005); extending it to a South African tax-year scheme is a one-way-door spec change (GSP-0019, open) not made unilaterally here. This follows the same non-edition precedent set by fr/dgfip/income-tax-return-2042 and de/finanzamt/income-tax-return-elster. A future year's ITR12 would ship as a new major version of this document, or the schema would be re-authored under the edition axis if/when GSP-0019 is resolved.

Path to a verified claim (next step)

To advance to status: verified, a reviewer applies manual-source-review-v1 (Procedure step 2) by walking the live sarsefiling.co.za (or SARS MobiApp) wizard end to end with a registered eFiler account, for a taxpayer matching this document's resident/standard-wizard scope; resolves any discrepancy by shipping a new schema version (immutability — VERSIONING §3, practice Procedure step 5); and records the outcome here plus sets status: verified with a current verification.lastVerifiedAt/nextReviewBy.

Re-verification

Per the practice's Cadence, nextReviewBy is set to 2027-01-05 (6 months) — also ahead of the 2027 filing-season guide revision that will supersede this cycle's Revision 40 guide. Re-check the sources on or before that date and on any source.url change.

View the raw record (VERIFICATION.md)

Version history

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

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by South African Revenue Service or any government. The authoritative source is always the live government form and its official instructions.