Registry entry

Botswana Individual Tax Return (BURS Form ITA 20/96)

The Botswana Unified Revenue Service's (BURS) "Tax Return and Return of Other Information of an Individual" (Form ITA 20/96), used by an individual taxpayer to declare personal particulars and all sources of income (business, farming, rental, employment, interest, property disposals, other income, and foreign investments), claim exempt income and deductible contributions/premiums, declare tax credits already deducted, answer general information questions, and make the accompanying signed declaration, for the tax year ended 30th June. Opens Botswana as the registry's 80th jurisdiction (Taxes, 1 of 6). 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 Botswana or the Botswana Unified Revenue Service.

Registry entry

bw/burs/individual-tax-return

Jurisdiction
Botswana · national
Version
1.0.0
Verification
draft

Authoritative source Form ITA 20/96, "Tax Return and Return of Other Information of an Individual", Botswana Unified Revenue Service, 6 pages (2-page return form plus a 4-page completion guide), native (searchable-text) PDF.

Machine access

Schema document
registry/bw/burs/individual-tax-return/1.0.0/schema.jsonapplication/schema+json
Registry catalog
registry/index.jsonone record per schema id

Field reference

86 fields across 6 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.

Section A: Declaration of Personal Particulars

  • taxYearEnded integer required

    Tax Year Ended 30th June

    range: 1996–∞
  • fullName string required

    Full Name

    classification: pii
  • residentialAddress string required

    The form prints two alternative blank-line formats for this single address: (a) House/Plot Number, Name of Street, Name of Town — if the filer stays in town; (b) House/Plot Number, Name of Ward, Name of Village — if the filer stays in a village. Modelled as one free-text field covering whichever format applies, since the form provides no separate town/village indicator distinguishing two distinct addresses.

  • addressForServiceOfNotice string optional

    Optional per the form's own layout: printed as a distinct blank beneath the residential address with no explicit mandatory marker, for filers whose notice address differs from their residential address.

  • telephoneWork string optional

    Telephone (Work)

    classification: pii
  • telephoneHome string optional

    Telephone (Home)

    classification: pii
  • spouseFullName string optional

    Full Name of Spouse (Mr/Mrs)

    classification: pii
  • spousePostalAddress string optional

    Postal Address of Spouse

  • countryOfCitizenship string required

    Country of Citizenship

  • nationalIdentityCardNumber string optional

    Modelled optional: not every filer (e.g. a non-citizen resident taxpayer) necessarily holds a Botswana National Identity Card.

    classification: pii
  • daysPresentInBotswana integer required

    The form's own printed sentence continues "...during the year ended 30th June, ...." — the same tax year already captured in taxYearEnded, so no separate year field is modelled here.

    range: 0–366
  • lastReturnYearEnded integer optional

    Left blank for a filer's first-ever Botswana tax return.

    range: 1990–∞
  • lastReturnTaxOffice string optional

    Tax Office where last return was lodged

Section B.1-2: Business and Farming Income

  • businessNameAndAddress string optional

    Name and Address of Business

  • businessNatureOfBusiness string optional

    Nature of Business

  • businessProfitLossPerAccounts number optional

    Business Profit/Loss Per Accounts

  • businessChargeableIncomeOrLoss number optional

    Business Chargeable Income/Loss

  • farmingLocationOfFarm string optional

    Location of Farm

  • farmingNatureOfFarming string optional

    Nature of Farming

  • farmingProfitLossPerAccounts number optional

    Farming Profit/Loss per Accounts

  • farmingChargeableIncomeOrLoss number optional

    Farming Chargeable Income/Loss

Section B.3-8: Rental, Employment, Interest, Property Disposal, Other and Foreign Investment Income

  • rentalPropertyAddress string optional

    Address of Property (Rental Income)

  • rentalPeriodLetFrom date optional

    Rental Period Let — From

  • rentalPeriodLetTo date optional

    Rental Period Let — To

  • rentalGrossRent number optional

    Gross Rent

    range: 0–∞
  • rentalChargeableIncomeOrLoss number optional

    Rental Chargeable Income/Loss

  • employmentRemunerationEmployerName string optional

    Employer Name (Remuneration)

  • employmentRemunerationPeriodEmployed string optional

    Modelled as free text: the form prints a single "Period Employed" column header with no separate From/To sub-labels (unlike Section B.3's Rental Income, which does print "Period Let From/To").

  • employmentNatureOfEmployment string optional

    Nature of Employment

  • employmentRemunerationBeforeTax number optional

    Remuneration before Tax

    range: 0–∞
  • employmentBenefitsEmployerName string optional

    Employer Name (Benefits and Allowances)

  • employmentBenefitsDescription string optional

    Description of Benefits and Allowances granted by the employer

  • interestBuildingSocietyPayerName string optional

    Name of Payer — Building Society Interest

  • interestBuildingSocietyGrossIncome number optional

    Gross Income — Building Society Interest

    range: 0–∞
  • interestBuildingSocietyChargeableIncome number optional

    Chargeable Income — Building Society Interest

    range: 0–∞
  • interestBankPayerName string optional

    Name of Payer — Bank Interest

  • interestBankGrossIncome number optional

    Gross Income — Bank Interest

    range: 0–∞
  • interestBankChargeableIncome number optional

    Chargeable Income — Bank Interest

    range: 0–∞
  • interestOtherPayerName string optional

    Name of Payer — Other Interest

  • interestOtherGrossIncome number optional

    Gross Income — Other Interest

    range: 0–∞
  • interestOtherChargeableIncome number optional

    Chargeable Income — Other Interest

    range: 0–∞
  • propertyDisposalDescription string optional

    Description of Property (Property Disposal)

  • propertyDisposalDate date optional

    Date of Disposal

  • propertyDisposalSellingPrice number optional

    Selling Price

    range: 0–∞
  • propertyDisposalChargeableIncome number optional

    Chargeable Income (Property Disposal)

  • otherIncomePensionAnnuityPayerName string optional

    Name of Payer — Pension/Annuity

  • otherIncomePensionAnnuityGrossIncome number optional

    Gross Income — Pension/Annuity

    range: 0–∞
  • otherIncomePensionAnnuityChargeableIncome number optional

    Chargeable Income — Pension/Annuity

    range: 0–∞
  • otherIncomeLine2NatureOfIncome string optional

    Section B.7's own instruction ("specify nature of income excluding dividends, see Guide") applies: unlike line a (fixed as "Pension/Annuity"), this second blank row ("b.") carries no printed nature, so the filer supplies it.

  • otherIncomeLine2PayerName string optional

    Name of Payer (Other Income, line b)

  • otherIncomeLine2GrossIncome number optional

    Gross Income (Other Income, line b)

    range: 0–∞
  • otherIncomeLine2ChargeableIncome number optional

    Chargeable Income (Other Income, line b)

    range: 0–∞
  • otherIncomeLine3NatureOfIncome string optional

    Nature of Income (Other Income, line c)

  • otherIncomeLine3PayerName string optional

    Name of Payer (Other Income, line c)

  • otherIncomeLine3GrossIncome number optional

    Gross Income (Other Income, line c)

    range: 0–∞
  • otherIncomeLine3ChargeableIncome number optional

    Chargeable Income (Other Income, line c)

    range: 0–∞
  • foreignInvestmentInterestGrossIncome number optional

    Section B.8 is explicitly scoped "(for Botswana citizens only)" on the form itself; not gated to countryOfCitizenship since that field is free text, not a Botswana/non-Botswana boolean.

    range: 0–∞
  • foreignInvestmentInterestAmountBroughtIntoBotswana number optional

    Amount brought into Botswana — Foreign Investment Interest

    range: 0–∞
  • foreignInvestmentInterestChargeableIncome number optional

    Chargeable Income — Foreign Investment Interest

    range: 0–∞
  • foreignInvestmentDividendsGrossIncome number optional

    Gross Income — Foreign Investment Dividends

    range: 0–∞
  • foreignInvestmentDividendsAmountBroughtIntoBotswana number optional

    Amount brought into Botswana — Foreign Investment Dividends

    range: 0–∞
  • foreignInvestmentDividendsChargeableIncome number optional

    Chargeable Income — Foreign Investment Dividends

    range: 0–∞
  • foreignInvestmentBusinessGrossIncome number optional

    Gross Income — Foreign Investment Business

    range: 0–∞
  • foreignInvestmentBusinessAmountBroughtIntoBotswana number optional

    Amount brought into Botswana — Foreign Investment Business

    range: 0–∞
  • foreignInvestmentBusinessChargeableIncome number optional

    Chargeable Income — Foreign Investment Business

    range: 0–∞

Section C-D: Exempt Income and Claims

  • exemptIncomePayerName string optional

    Name of Payer (Exempt Income)

  • exemptIncomeNature string optional

    Nature of Income (Exempt Income)

  • exemptIncomeTotalAmount number optional

    Total Amount (Exempt Income)

    range: 0–∞
  • pensionFundEmployerName string optional

    Name of Employer (Pension Fund Contributions)

  • pensionFundName string optional

    Name of Fund (Pension Fund Contributions)

  • pensionFundContributionsInTaxYear number optional

    Contributions made in the Tax Year

    range: 0–∞
  • retirementAnnuityInsurerName string optional

    Name of Insurer (Retirement Annuity Scheme)

  • retirementAnnuityPolicyNumber string optional

    Policy Number (Retirement Annuity Scheme)

  • retirementAnnuityPremiumsPaidInTaxYear number optional

    The form directs the filer to "Please enclose receipt" — the receipt itself is a supporting document outside this schema's field-level scope.

    range: 0–∞

Section E-F: Tax Credits and General Information

  • taxCreditEmployerOrIncomeSourceName string optional

    Name of Employer or Income Source (Tax Credits)

  • taxCreditNatureOfIncome string optional

    Nature of Income (Tax Credits)

  • taxCreditAmountOfTax number optional

    The form directs the filer to enclose certificates or other evidence of tax withheld/paid, and notes credit is not available for tax withheld on dividends — both are sourcing/supporting-evidence notes, not further fields.

    range: 0–∞
  • usedRentedPropertyInTaxYear boolean required

    Did you use rented property for residential or business purposes in the tax year?

  • rentedPropertyDetails string optional

    Collapses the form's own multi-part instruction into one free-text field: "state in the case of each property its address, the name and address of the landlord, the rent paid in the year, any premium paid in the year and the annual rental" — the printed blank lines carry no further sub-labels of their own.

  • movablePropertyTransferredByGift boolean required

    Was any movable property transferred to you during the year by gift, inheritance or similar disposition?

  • giftedPropertyTransferorNameAndAddress string optional

    Name and Address of the Transferor

Section G: Declaration

  • declarantFullName string required

    The declaration's own printed address blank ("...of...") repeats Section A's Address for Service of Notice within the sworn-declaration sentence; not modelled as a second field.

    classification: pii
  • declarationDate date required

    Date

  • declarationSignature string required

    The form states no explicit "return will not be accepted unless signed" warning (unlike some sibling registry schemas), but Section G's own heading requires the declaration "to be completed and signed by the Taxpayer or his authorised agent."

    classification: pii
  • signedByAuthorisedAgent boolean optional

    Disclosed interpretation: the form prints "Taxpayer/Authorised Agent* *Delete as appropriate", a manual strike-through convention rather than a printed checkbox. Modelled as a directly-supplied boolean flag.

  • authorisedAgentFullName string optional

    Full name of Authorised Agent

    classification: pii

Verification record

Candidate selection

GOV-4307 ("GovSchema Standard Research"). This cycle's own Known Gaps re-scan found the registry's existing 79-jurisdiction backlog largely resolved to confirmed dead ends at every near-complete jurisdiction screened (AE Passport, BR/CH/PL/SK Visa, CZ Passport, GR National ID, NO Passport — all previously re-confirmed weak/dead-end across 2+ prior cycles each), so this cycle scouted new-jurisdiction candidates instead, per the standing routine's own "prefer deepening an open backlog item; otherwise scout new jurisdictions in parallel" heuristic. Three candidates were screened in parallel via independent research agents: Botswana, Uganda, and Bolivia, across all six verticals each. Botswana came back the strongest by a wide margin — 4 of 6 verticals (Taxes, Visa, DMV, Passport) confirmed STRONG on first pass, only Business Formation (CIPA's initial registration is portal-gated; only post-incorporation maintenance forms are downloadable) and National ID (Omang, in-person only) dead ends. Uganda came back 3 of 6 STRONG (Business Formation, National ID, DMV); Bolivia came back weak (only a JPG-scanned Taxes form, every other vertical a hard SPA/login/timeout wall). Botswana was picked as the new 80th jurisdiction; its Taxes form was chosen to author first per the scouting agent's own recommendation (cleanest unauthenticated 200 response, richest field set, and a built-in Guide explaining every field) — see the Known Gaps section for Botswana's other three disclosed-STRONG verticals, left as open backlog for a future cycle.

Reaching the live source

Independently re-fetched https://www.burs.org.bw/phocadownload/individual%20blank%20return.pdf directly (not just trusting the scouting agent's report):

  • HTTP 200, 148,353 bytes, no login/CAPTCHA/WAF gate — a plain unauthenticated curl with a realistic desktop User-Agent reached it cleanly.
  • sha256 5480c72c7a78cae21ac8942855e5e74fccf04540522d185ebd38d2b3321f9ec8.
  • PDF header %PDF-1.6 at byte 0 — a genuine native (searchable-text) PDF, confirmed by clean pdfjs-dist text-layer extraction across all 6 pages (no OCR/scan-image fallback needed).

Extraction method

Extracted with pdfjs-dist (vendored from an existing scratch install at /tmp/node_modules, CommonJS build at legacy/build/pdf.js), reading each text item's raw string and its transform x/y position across all 6 pages. Also rendered pages 1-2 to PNG via node-canvas (/tmp/node_modules/canvas) at 2.5x scale to visually confirm table/grid row structure — this environment's embedded-font glyph outlines did not rasterize (blank text, grid lines only), the same known limitation documented in this registry's zm/zra/individual-income-tax-return precedent, so the rendered images were used only to inspect ruled-line row counts, never as a substitute for the clean text-layer extraction (which read every field label correctly).

Document structure

The 6-page PDF is Form ITA 20/96 itself (pages 1-2, footer-unstamped) followed by its own 4-page "Form ITA 20 (GUIDE) (2011)" completion guide (pages 3-6). Page 1 covers Section A (Declaration of Personal Particulars) and the start of Section B (Income): B.1 Business, B.2 Farming. Page 2 continues Section B: B.3 Rental Income, B.4 Employment (Remuneration and Benefits/Allowances), B.5 Interest (Building Society/ Bank/Other), B.6 Property Disposals, B.7 Other Income (three lettered rows, a=Pension/Annuity fixed, b/c free), B.8 Income from Foreign Investments (three rows: Interest, Dividends, Business — for Botswana citizens only); then Section C (Exempt Income), Section D (Claims: Pension Fund Contributions, Retirement Annuity Premiums), Section E (Tax Credits), Section F (General Information, two Yes/No questions), and Section G (Declaration).

Scope

Models the full 2-page return (Sections A-G) — unlike this registry's larger multi-schedule tax-return precedents (e.g. Zambia's 19-page ITF 46_1, Ukraine's DPS declaration with 10 companion schedules), this form's entire income-declaration structure fits on a single page (page 2) with no separate business/farming computation schedule to defer, so no follow-on-schedule scoping exclusion was needed. Every printed section is modelled; no section is deferred as out-of-scope.

Per the Guide's own instruction ("All numbered parts of [Section B] to be completed entering the word 'NONE' if you have no income from any particular source"), every Section B income-category field is modelled required: false — a GovSchema-driven submission's own omission of these fields is the machine equivalent of the source form's manual "NONE" convention; this registry does not fabricate a value to represent absence.

Disclosed findings and interpretation choices

  1. residentialAddress collapses the form's own two alternative printed formats into one field — the source prints "(a) House/Plot Number, Name of Street, Name of Town — if you stay in town" and "(b) House/Plot Number, Name of Ward, Name of Village — if you stay in a village" as two blank-line continuations of the same Sr No 2 item, not two separate addresses; there is no printed town/village indicator distinguishing two distinct values.
  2. daysPresentInBotswana's own printed sentence repeats "...during the year ended 30th June, ....", which this schema treats as referring to the same tax year already captured in taxYearEnded (the form's own header blank), not a second, independent year field.
  3. employmentRemunerationPeriodEmployed is modelled as free text, not a From/To date pair, since Section B.4(a)'s own column header prints only "Period Employed" (unlike Section B.3 Rental Income's explicit "Period Let From/To", which this schema does split into two date fields).
  4. Section B.7 Other Income's three lettered rows (a/b/c) are modelled as three distinct field groups, since the source genuinely prints three separate blank rows lettered a/b/c — row a's "Nature of Income" is fixed as "Pension/Annuity" per the printed label; rows b/c are fully blank/free-text, per the Guide's own instruction to specify the nature of any other income "not disclosed in Part 1-6" (excluding dividends).
  5. Section B.8 Income from Foreign Investments prints all three rows labelled "a." ("a. Interest", "a. Dividends", "a. Business") rather than a/b/c — read as a bullet-style list-marker artifact of the source PDF's own layout, not literal repeated sub-item lettering, since each row's own "Nature of Income" column value (Interest/Dividends/ Business) is already distinct and printed. Modelled as three independent field groups keyed by that printed nature, consistent with Section B.5's Interest a/b/c treatment. No requiredWhen gate ties these to countryOfCitizenship, since the section's own "(for Botswana citizens only)" qualifier is prose guidance, not a printed boolean/checkbox this schema could condition on, and countryOfCitizenship is free text rather than a Botswana/non-Botswana enum.
  6. signedByAuthorisedAgent is a disclosed directly-supplied boolean, modelling the source's own "Taxpayer/Authorised Agent* *Delete as appropriate" manual strike-through convention — the same no-printed-checkbox pattern this registry's et/ics/passport-application and zm/zra/individual-income-tax-return (Tax Agent block) already use for their own analogous fields.
  7. The Section G declaration's own printed "...of..." blank is not modelled as a second address field — read as the same "Address for Service of Notice" value already captured in Section A (Sr No 2.b), restated within the sworn-declaration sentence's own grammar, not a newly-collected value.
  8. Excluded as official-use-only fields, not applicant-supplied data: page 1's "For Office Use Only" block (Issued From/Office Address Stamp, Received/Tax Office Date Stamp).

Conformance

3 valid mock scenarios — valid-employment-and-interest-income (an individual with Section B.4 Employment income from one employer, Section B.5 Bank interest, and a signed declaration, no business/farming/rental income populated); valid-business-and-rental-income (an individual with Section B.1 Business income, Section B.3 Rental income, Section D Pension Fund contributions, and both Section F questions answered "NO"); and valid-agent-signed-with-gifted-property (an amended-style return signed by an authorised agent, exercising signedByAuthorisedAgent's and both Section F questions' requiredWhen-gated fields) — plus 9 mutation-control fixtures (one missing statically-required field from each of taxYearEnded, fullName, residentialAddress, countryOfCitizenship, daysPresentInBotswana, usedRentedPropertyInTaxYear, movablePropertyTransferredByGift, declarationDate, declarationSignature — 9 fixtures) and one unknown-field-rejected fixture, committed under conformance/bw/burs/individual-tax-return/1.0.0/.

An ephemeral, from-scratch conformance checker (deriving required/ requiredWhen rules directly from this schema's own fields[], discarded after use, not committed) ran all 13 fixtures: all 3 valid scenarios at 0 errors, all 9 static-required mutation controls each raising exactly 1 error, the unknown-field fixture correctly rejected, and confirmed every requiredWhen field reference resolves to a real field name (0 dangling references). Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, individually and as part of the full registry run.

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 Botswana Unified Revenue Service or any government. The authoritative source is always the live government form and its official instructions.