Registry entry

Zimbabwe REV 1 — Application for New Registration Form

The Zimbabwe Revenue Authority's (ZIMRA) Form REV 1, "Application for New Registration Form" — the form an individual, organisation, or group uses to register with ZIMRA for the first time and obtain a Business Partner (BP) number, selecting which revenue heads (tax types) it needs to register for. Opens Zimbabwe's Business Formation vertical (2/6) (GOV-4478, child of GOV-4476 "GovSchema Standard Research"), following GOV-4470's ITF 1 cycle which opened Zimbabwe as the registry's 87th jurisdiction under Taxes. This schema models the form's own pages 1-7 (Part I nature of applicant, Part II particulars of applicant, Part III revenue heads and special income tax categories, Part IV industry and sector details, Part V branch/shareholder/director details, Part VI bank details, Part VII particulars of representative, Part VIII tax consultant particulars, Part IX VAT registration information, Part X PAYE registration information, Part XI attachments, and Part XII declaration); the closing portion of page 7 and all of pages 8-18 are a purely informational ISIC-derived Industry Classification Table (industry sections A-U plus specific numeric activity/product codes) referenced by, but not itself part of, the applicant's own Part IV entries, and are excluded from `fields[]` on the same basis this registry excludes reference/lookup directories elsewhere (e.g. `zw/zimra/itf1-employment-income-return`'s regional tax office directory) — see this document's own VERIFICATION.md for the full scope record, including disclosed reasoning on the Part III revenue-heads tick grid (modelled as 38 independent boolean fields, since a business may register for more than one tax head at once) and why the Part IX/X sections were left ungated rather than conditionally required. This schema does not file the registration itself; the live source is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Zimbabwe or the Zimbabwe Revenue Authority.

Registry entry

zw/zimra/rev1-application-for-new-registration

Jurisdiction
Zimbabwe · national
Version
1.0.0
Verification
draft

Authoritative source Form REV 1, "Application for New Registration Form" (DTF: 1, Issue No: 1, Version No: 2, Date of Issue: 31/03/2020)

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

188 fields across 16 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.

Nature of applicant

  • natureOfApplicant enum required

    Select appropriate category.

    enum: Individual | Organisation | Group
  • typeOfBusiness enum required

    Tick the appropriate Type of Business. Each of the 17 named categories plus "Other" prints its own tick box; modelled as a single-select enum since the categories describe mutually exclusive entity types.

    enum: 17 values
  • otherBusinessTypeSpecify string optional

    Other (Specify)

Particulars of applicant

  • registeredName string required

    If an individual state surname first.

    classification: pii
  • tradeName string optional

    Trade Name

  • dateOfIncorporationOrBirth date required

    Date of Incorporation/ Birth

    classification: pii
  • dateOfDeath date optional

    Date of Death (if applicable)

    classification: pii
  • dateOfCommencementOfTrade date optional

    Date of Commencement of Trade

  • registrationNumber string required

    If Company insert Certificate of Incorporation Number, if individual insert national ID No.

    classification: pii
  • physicalAddress string required

    Physical Address

    classification: pii
  • gpsCoordinates string optional

    GPS – Coordinates

  • postalAddress string optional

    Postal Address

    classification: pii
  • nationalProvince string optional

    National Province

  • cityTownGrowthPoint string optional

    City/Town/Growth Point

  • emailAddresses string optional

    Email Addresses

    classification: pii
  • telephoneNumbers string optional

    Telephone Number (s)

    classification: pii
  • faxNumber string optional

    Fax Number

  • cellNumbers string optional

    Cell Number (s)

    classification: pii

Revenue heads

  • atmLevy boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • capitalGainsTaxCompanies boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • capitalGainsTaxIndividuals boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • cgtWithholdingImmovableProperty boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • cgtWithholdingMarketableSecurities boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • customsDutyPrime boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • customsDutyPrivateImports boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • incomeTaxCompanies boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • incomeTaxIndividualEmployment boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • incomeTaxIndividualTrade boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • intermediatedMoneyTransferTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • nonExecutiveDirectorsFeesTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • nonResidentShareholdersTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • nonResidentTaxOnFees boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • nonResidentTaxOnInterest boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • nonResidentTaxOnRemittances boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • nonResidentTaxOnRoyalties boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • payeTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • pensionDeductionDirective boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxBottleStore boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxCottageIndustry boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxHairSalons boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxInformalTrade boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxMining boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxRestaurant boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • presumptiveTaxTransport boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • propertyOrInsuranceCommissionTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • residentShareholdersTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • residentTaxOnFees boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • residentTaxOnInterest boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • royaltiesOnMinerals boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • stampDuty boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • tobaccoLevy boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • valueAddedTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • vatOnForcedSales boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • vatOnImportedServices boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • vatWithholdingTax boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

  • withholdingTaxOnTenders boolean optional

    Tick against required revenue heads (this business may be registering for more than one tax head at once).

Special income tax categories

  • specialCategoryPensionFund boolean optional

    Tick against the applicable category.

  • specialCategoryLicensedInvestor boolean optional

    Tick against the applicable category.

  • specialCategoryHolderOfSpecialMiningLease boolean optional

    Tick against the applicable category.

  • specialCategoryBoot boolean optional

    Tick against the applicable category.

  • specialCategoryBot boolean optional

    Tick against the applicable category.

  • specialCategoryIndustrialParkDeveloper boolean optional

    Tick against the applicable category.

  • specialCategoryTouristFacilityOperator boolean optional

    Tick against the applicable category.

  • specialCategoryNonResidentSatelliteBroadcasting boolean optional

    Tick against the applicable category.

  • specialCategoryNonResidentECommerceOperator boolean optional

    Tick against the applicable category.

  • specialCategoryExportingManufacturingCompany boolean optional

    Tick against the applicable category.

Industry and sector details

  • industryNameDescription string required

    e.g. "Manufacturing" [SECTION] — the industry section per the form’s own Industry Classification Table (Section A-U), which is excluded from this schema’s fields[] as a purely informational lookup reference (see this schema’s VERIFICATION.md).

  • industrySectionCode string optional

    The one-letter Industry Classification Table section code (A-U) corresponding to industryNameDescription. In the source specimen this row’s own CODE cell renders as a solid black rectangle rather than a blank writing box; disclosed in this schema’s VERIFICATION.md rather than silently modelled away.

  • principalActivityDescription string required

    e.g. "Vegetables Cooking Oil" or "groceries".

  • principalActivityCode string optional

    The specific numeric activity/product code from the form’s own Industry Classification Table corresponding to principalActivityDescription.

Branch/division/other information

  • branch1Name string optional

    Name of branch, division, subsidiary or other (1)

  • branch1PhysicalAddress string optional

    Physical Address (1)

  • branch2Name string optional

    Name of branch, division, subsidiary or other (2)

  • branch2PhysicalAddress string optional

    Physical Address (2)

  • branch3Name string optional

    Name of branch, division, subsidiary or other (3)

  • branch3PhysicalAddress string optional

    Physical Address (3)

  • branch4Name string optional

    Name of branch, division, subsidiary or other (4)

  • branch4PhysicalAddress string optional

    Physical Address (4)

Shareholder/member/partner counts

  • numberOfResidentShareholders integer optional

    Number of Resident Shareholders/Members/Partners

    range: 0–∞
  • numberOfNonResidentShareholders integer optional

    Number of Non-Resident Shareholders/Members/Partners

    range: 0–∞

Shareholder's details for private companies

  • shareholder1Name string optional

    Name (1)

    classification: pii
  • shareholder1IdNumber string optional

    ID Number (1)

    classification: pii
  • shareholder1NumberOfShares integer optional

    Number of Shares (1)

    range: 0–∞
  • shareholder1PercentShareholding number optional

    %age Shareholding (1)

    range: 0–∞
  • shareholder1TypeOfShares string optional

    Type of Shares (1)

  • shareholder2Name string optional

    Name (2)

    classification: pii
  • shareholder2IdNumber string optional

    ID Number (2)

    classification: pii
  • shareholder2NumberOfShares integer optional

    Number of Shares (2)

    range: 0–∞
  • shareholder2PercentShareholding number optional

    %age Shareholding (2)

    range: 0–∞
  • shareholder2TypeOfShares string optional

    Type of Shares (2)

  • shareholder3Name string optional

    Name (3)

    classification: pii
  • shareholder3IdNumber string optional

    ID Number (3)

    classification: pii
  • shareholder3NumberOfShares integer optional

    Number of Shares (3)

    range: 0–∞
  • shareholder3PercentShareholding number optional

    %age Shareholding (3)

    range: 0–∞
  • shareholder3TypeOfShares string optional

    Type of Shares (3)

Details of directors

  • nameOfManagingDirector string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

    classification: pii
  • directorBusinessPartnerNumber string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

  • directorIdentificationNumber string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

    classification: pii
  • directorExecutiveOrNonExecutive string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

  • directorResidentialAddress string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

    classification: pii
  • directorTelephoneNumber string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

    classification: pii
  • directorEmailAddress string optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

    classification: pii
  • directorPercentShareholding number optional

    This section captures the Managing Director’s own details; the form’s own instruction directs additional directors to an attached schedule rather than further rows (see directorsIdentityAddressProofCopy in documents[]).

    range: 0–∞

Bank details

  • bank1BankerName string optional

    Name of Bank (Bank 1)

  • bank1Branch string optional

    Branch Name (Bank 1)

  • bank1AccountType string optional

    Type of Account (Bank 1)

  • bank1AccountNumber string optional

    Account Number (Bank 1)

    classification: financial
  • bank1Balance integer optional

    Bank Balance (Bank 1)

    range: 0–∞classification: financial
  • bank1AccountHolderName string optional

    Name of Account Holder (Bank 1)

    classification: pii
  • bank1MobileWalletProvider string optional

    Mobile Bank/Wallet Provider (Bank 1)

  • bank1MobileWalletCellNumber string optional

    Cell Number for Mobile Bank/Wallet Account (Bank 1)

    classification: pii
  • bank2BankerName string optional

    Name of Bank (Bank 2)

  • bank2Branch string optional

    Branch Name (Bank 2)

  • bank2AccountType string optional

    Type of Account (Bank 2)

  • bank2AccountNumber string optional

    Account Number (Bank 2)

    classification: financial
  • bank2Balance integer optional

    Bank Balance (Bank 2)

    range: 0–∞classification: financial
  • bank2AccountHolderName string optional

    Name of Account Holder (Bank 2)

    classification: pii
  • bank2MobileWalletProvider string optional

    Mobile Bank/Wallet Provider (Bank 2)

  • bank2MobileWalletCellNumber string optional

    Cell Number for Mobile Bank/Wallet Account (Bank 2)

    classification: pii
  • bank3BankerName string optional

    Name of Bank (Bank 3)

  • bank3Branch string optional

    Branch Name (Bank 3)

  • bank3AccountType string optional

    Type of Account (Bank 3)

  • bank3AccountNumber string optional

    Account Number (Bank 3)

    classification: financial
  • bank3Balance integer optional

    Bank Balance (Bank 3)

    range: 0–∞classification: financial
  • bank3AccountHolderName string optional

    Name of Account Holder (Bank 3)

    classification: pii
  • bank3MobileWalletProvider string optional

    Mobile Bank/Wallet Provider (Bank 3)

  • bank3MobileWalletCellNumber string optional

    Cell Number for Mobile Bank/Wallet Account (Bank 3)

    classification: pii

Particulars of representative

  • repBusinessPartnerNumber string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

  • repSurname string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repFirstNames string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repNationalIdNumber string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repResidentPermitNumber string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repPhysicalAddress string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repTelephoneNumbers string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repFaxNumber string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

  • repCellNumbers string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii
  • repEmailAddress string optional

    Particulars of the applicant’s Public Officer, Liquidator, Executor, Administrator, or (for a sole trader) Spouse.

    classification: pii

Spouse bank details

  • spouseBank1BankerName string optional

    Applicable to Sole Trader only.

  • spouseBank1Branch string optional

    Applicable to Sole Trader only.

  • spouseBank1AccountType string optional

    Applicable to Sole Trader only.

  • spouseBank1AccountNumber string optional

    Applicable to Sole Trader only.

    classification: financial
  • spouseBank1Balance integer optional

    Applicable to Sole Trader only.

    range: 0–∞classification: financial
  • spouseBank1AccountHolderName string optional

    Applicable to Sole Trader only.

    classification: pii
  • spouseBank2BankerName string optional

    Applicable to Sole Trader only.

  • spouseBank2Branch string optional

    Applicable to Sole Trader only.

  • spouseBank2AccountType string optional

    Applicable to Sole Trader only.

  • spouseBank2AccountNumber string optional

    Applicable to Sole Trader only.

    classification: financial
  • spouseBank2Balance integer optional

    Applicable to Sole Trader only.

    range: 0–∞classification: financial
  • spouseBank2AccountHolderName string optional

    Applicable to Sole Trader only.

    classification: pii
  • spouseBank3BankerName string optional

    Applicable to Sole Trader only.

  • spouseBank3Branch string optional

    Applicable to Sole Trader only.

  • spouseBank3AccountType string optional

    Applicable to Sole Trader only.

  • spouseBank3AccountNumber string optional

    Applicable to Sole Trader only.

    classification: financial
  • spouseBank3Balance integer optional

    Applicable to Sole Trader only.

    range: 0–∞classification: financial
  • spouseBank3AccountHolderName string optional

    Applicable to Sole Trader only.

    classification: pii

Particulars of tax consultant/tax advisor

  • taxConsultantRegisteredName string optional

    If an individual state surname first.

  • taxConsultantTradeName string optional

    If different from above.

  • taxConsultantRegisteredNumber string optional

    Registered Number

  • taxConsultantBusinessPartnerNumber string optional

    Business Partner Number

  • taxConsultantPhysicalAddress string optional

    Physical Address

  • taxConsultantTelephoneNumbers string optional

    Telephone Number(s)

  • taxConsultantEmailAddresses string optional

    E-mail Addresses

Information for VAT registration

  • vatRegistrationType enum optional

    Applicable to applicants registering for Value Added Tax (see the valueAddedTax revenue head); this section carries no visible mandatory-field marker on the source, so it is left ungated here.

    enum: Compulsory Registration | Voluntary Registration
  • taxableTurnoverPast12Months integer optional

    Taxable turnover — Past 12 Months

    range: 0–∞
  • taxableTurnoverNext12Months integer optional

    Taxable turnover — Next 12 Months

    range: 0–∞
  • exemptTurnoverPast12Months integer optional

    Exempt turnover — Past 12 Months

    range: 0–∞
  • exemptTurnoverNext12Months integer optional

    Exempt turnover — Next 12 Months

    range: 0–∞
  • valueOfExportsPast12Months integer optional

    Value of Exports — Past 12 Months

    range: 0–∞
  • valueOfExportsNext12Months integer optional

    Value of Exports — Next 12 Months

    range: 0–∞
  • valueOfImportsPast12Months integer optional

    Value of imports — Past 12 Months

    range: 0–∞
  • valueOfImportsNext12Months integer optional

    Value of imports — Next 12 Months

    range: 0–∞
  • assetStocksOfMaterialsValue integer optional

    Stocks of materials for manufacture or goods for resale — Approximate Value

    range: 0–∞
  • assetMotorVehiclesValue integer optional

    Motor vehicles — Approximate Value

    range: 0–∞
  • assetFurnitureFittingsValue integer optional

    Furniture and Fittings — Approximate Value

    range: 0–∞
  • assetEquipmentValue integer optional

    Equipment — Approximate Value

    range: 0–∞
  • assetPlantMachineryValue integer optional

    Plant and Machinery — Approximate Value

    range: 0–∞
  • assetFixedPropertyValue integer optional

    Fixed Property — Approximate Value

    range: 0–∞
  • assetOtherDescription string optional

    Other (Please specify)

  • assetOtherValue integer optional

    Other — Approximate Value

    range: 0–∞

Information for PAYE registration

  • numberOfPayrolls integer optional

    Applicable to applicants registering for Pay As You Earn (see the payeTax revenue head); this section carries no visible mandatory-field marker on the source, so it is left ungated here.

    range: 0–∞
  • payrollDeveloper string optional

    Applicable to applicants registering for Pay As You Earn (see the payeTax revenue head); this section carries no visible mandatory-field marker on the source, so it is left ungated here.

  • fdsMethodUsed enum optional

    Applicable to applicants registering for Pay As You Earn (see the payeTax revenue head); this section carries no visible mandatory-field marker on the source, so it is left ungated here.

    enum: Average | Forecasted
  • numberOfEmployeesExcludingDirectors integer optional

    Number of Employees (Excluding directors)

    range: 0–∞
  • numberOfDirectorsPartnersMembers integer optional

    Number of Directors/Partners/Member/Individuals

    range: 0–∞
  • numberOfWorkingDirectors integer optional

    Number of Working Directors

    range: 0–∞

Declaration

  • declarantFullName string required

    The declarant’s own full name — the person making the registration application on the applicant’s behalf.

    classification: pii
  • designation string required

    Designation

  • signatureDate date required

    Date

Verification record

Candidate selection

GOV-4478 ("GovSchema Standard Research", child of GOV-4476), following GOV-4470's ITF 1 cycle which opened Zimbabwe as the registry's 87th jurisdiction under Taxes. This cycle authors Zimbabwe's Business Formation vertical (2/6) via ZIMRA's Form REV 1, "Application for New Registration Form" — the form used to register with ZIMRA for the first time and obtain a Business Partner (BP) number.

Reaching the live source

Independently re-fetched and re-hashed:

  • https://www.zimra.co.zw/downloads/9-domestic-taxes?download=378:form-rev-1-application-for-new-registration-form
  • HTTP 200, Content-Type: application/pdf, Content-Length: 479,772 bytes — byte-for-byte matching the delegating issue's own disclosed size.
  • sha256 f7a8a038e2b9227ef261f467ff7c7eb72e61eaef287c3996db0472afce8845dd.
  • No login, CAPTCHA, or WAF gate — a plain unauthenticated curl request with no session/cookie state reached it cleanly.
  • 18 physical pages. Document-control footer stamps DTF: 1 DOMESTIC TAXES ISSUE NO: 1 VERSION NO: 2 DATE OF ISSUE: 31/03/2020 on every page.

Extraction method

Extracted with pdfjs-dist (vendored at /tmp/node_modules/pdfjs-dist, legacy CommonJS build). getAnnotations() confirmed zero /Widget annotations across all 18 pages — a flat (non-AcroForm) specimen, the same print-and-fill pattern as this registry's zw/zimra/itf1-employment-income-return. getTextContent() read every text item's raw string and its transform x/y position, grouped into lines by rounded y-coordinate, across all 18 pages.

The applicant-facing form's own body text (Parts I-XII, pages 1-7) extracted cleanly and unambiguously through the text layer alone, except Part [III].A "Revenue Heads" on page 2 — a four-column, 38-item tick grid whose text items interleave across columns when grouped purely by y-coordinate (each visual row spans four separate item/label/tick cells, and the raw item-by-item extraction order does not match reading order). This section was independently re-verified by rendering page 2 (and page 3, for the Special Income Tax Categories continuation) to a PNG via pdfjs-dist + node-canvas at 2.5x scale and reading the rendered grid directly — glyphs rendered cleanly on this specimen (unlike the ITF1 specimen's font-loading limitation), so the image itself, not just gridlines, was legible. All 38 revenue-head labels and item numbers, and all 10 special-category labels, were transcribed directly off the rendered image, cross-checked against the raw text layer's own (out-of-order) tokens to confirm no label was dropped or duplicated. Pages 1, 3, 4, 5, 6, and 7 were also rendered as a secondary check against the text-layer reconstruction of table/column structure (bounded-slot counts, tick-box layout, checkbox groupings).

Document structure

Pages 1-7 carry the applicant-facing form:

  • Page 1 — Part [I] Nature of Applicant; Part [II] Particulars of Applicant (items 1-10).
  • Page 2 — Part [II] continued (items 11-14); Part [III].A Revenue Heads (38-item tick grid); Part [III].B Special Income Tax Categories (items 1-4).
  • Page 3 — Part [III].B continued (items 5-10); Part [IV] Industry and Sector Details; Part [V].1 Branch/Division/Other Information; Part [V].2 Shareholder/Member/Partner counts; Part [V].3 Shareholder's Details for Private Companies (table header + start of rows).
  • Page 4 — Part [V].4 Details of Directors; Part [VI] Bank Details; Part [VII].1 Particulars of Representative (start).
  • Page 5 — Part [VII].1 continued; Part [VII].2 Spouse Bank Details; Part [VIII] Particulars of Tax Consultant/Tax Advisor; Part [IX] Information for VAT Registration (start).
  • Page 6 — Part [IX] continued; Part [X] Information for PAYE Registration; Part [XI] Attachments.
  • Page 7 (upper portion) — Part [XII] Declaration.

Page 7's lower portion (from "INDUSTRY CLASSIFICATION TABLE" onward) and all of pages 8-18 are a purely informational, ISIC-derived lookup reference: 21 industry sections lettered A-U (page 7), followed by ~11 pages of specific numeric activity/product codes grouped under each industry (pages 8-18). This table is referenced by Part [IV]'s own "Industry Name"/"Principal Key Activity" entries (the form's own NOTES instruct the applicant to "Use the Industry Classification table at the end of the form") but is not itself applicant-supplied data, and is excluded from fields[] on the same basis this registry excludes reference/lookup directories elsewhere (e.g. zw/zimra/itf1-employment-income-return's regional tax office directory, zm/pacra/company-incorporation's analogous classification appendices).

Scope: office-only / computed fields excluded

  • The Industry Classification Table (page 7 lower portion through page 18) — excluded in its entirety as a third-party reference lookup, not applicant data (see Document structure, above). Two fields (industrySectionCode, principalActivityCode) capture the applicant's own transcription of the relevant code from this table, consistent with how other registry schemas model a lookup-derived code field without duplicating the lookup table itself.
  • No "for office use only" box or BP-number-issuance box appears on this form — unlike ITF1, REV 1 does not print any office-only annotation column or pre-issuance box; the entire applicant-facing portion (Parts I-XII) is applicant-supplied data (aside from Business Partner Number fields already assigned to a director/representative/tax consultant who is an existing taxpayer, which are included as ordinary optional string fields since they are applicant-supplied information about an existing registration, not this form's own office-assigned output).
  • No same-form computed/derived totals appear on this form — REV 1 is a registration/particulars form, not a return; it contains no arithmetic-combination lines to exclude under GSP-0013 §7.

Disclosed findings

  1. Part [III].A "Revenue Heads" is modelled as 38 independent boolean fields (plus 10 further booleans for Part [III].B "Special Income Tax Categories"), rather than a single enum, since the form's own instruction — "Tick against required revenue heads" (plural) — and its own four-column grid of 38 separately-boxed tick items make clear that a business may need to register for more than one tax head simultaneously (e.g. Income Tax and VAT and PAYE). This registry's spec (v0.3) has no array/multi-select field type (fieldType enum is string, number, integer, boolean, date, enum, file, object — GSP-0009 composite/repeating values remains an unaccepted proposal), so per-item booleans is the only structurally available representation, consistent with precedent elsewhere in this registry for large independently-tickable checklists (e.g. za/sars/corporate-income-tax-return-itr14-medium-large-business's 125 boolean fields).
  2. Part [I].2 "Type of Business" is modelled as a single-select enum, not booleans, despite being printed as 17 separately-boxed tick items (numbered 3-19, continuing the section's own item numbering from "1. Nature of Applicant"/"2. Type of Business"), because these 17 categories describe mutually exclusive entity types (a business cannot simultaneously be a "Private Company" and a "Trust"), unlike the Revenue Heads grid where multiple selections are the form's own explicit intent. This mirrors this registry's own zw/zimra/itf1-employment-income-return precedent of modelling a tick grid as enum when the underlying options are mutually exclusive (e.g. that schema's boardType).
  3. Part [IV] "Industry and Sector Details" row 1's own printed "CODE" table cell renders as a solid black rectangle in the rendered page-3 image, rather than as an ordinary blank writing box (row 2's "CODE" cell renders normally). This is disclosed rather than silently reconciled; industrySectionCode is modelled as an ordinary optional string field on the reasonable assumption that this is a rendering/print artifact in the source PDF rather than an intentional suppression of the field, but a future review of a re-issued edition of this form should re-check this cell.
  4. Part [V].3 "Shareholder's Details for Private Companies" and Part [V].4 "Details of Directors" are modelled with different cardinalities. The Shareholder's Details table prints 3 ruled rows (confirmed via the rendered page 3/4 image) and is modelled as 3 bounded numbered slots (shareholder1-shareholder3, 5 fields each), mirroring this registry's zm/pacra/company-incorporation bounded-slot precedent. Section 4 ("Details of Directors"), by contrast, prints only a single set of fields beneath the instruction "attach schedule of all directors and their details as below" — modelled here as a single record (the Managing Director), with the form's own instruction directing any additional directors to an attached schedule (see directorsIdentityAddressProofCopy in documents[]) rather than further form rows.
  5. Part [VI] "Bank Details" (3 slots, 8 fields each) and Part [VII].2 "Spouse Bank Details" (3 slots, 6 fields each) share the same 3-bank-column layout but differ in which fields the source prints — the company's own Bank Details table additionally prints "Mobile Bank/Wallet Provider" and "Cell Number for Mobile Bank/Wallet Account" columns that the Spouse Bank Details table (page 5) does not repeat. Modelled with two independent field sets (bank1..3* vs spouseBank1..3*) rather than a shared shape, matching what each table actually prints.
  6. Part [IX] "Information for VAT Registration" and Part [X] "Information for PAYE Registration" are conceptually tied to the valueAddedTax/payeTax revenue-head booleans in Part [III].A, but are deliberately left ungated (required: false, no requiredWhen) rather than conditionally required on those booleans. Two reasons: (a) this form carries no visible mandatory-field marker anywhere in the extracted text or rendered pages (no asterisks), consistent with this registry's own precedent for un-asterisked ZIMRA sources (zw/zimra/itf1-employment-income-return disclosed finding #7); and (b) several of these figures (e.g. zero motor vehicles, zero exempt turnover) are legitimately absent rather than merely unfilled, so a strict requiredWhen gate risks rejecting a genuinely complete, valid submission. Each field's own description notes the section's conceptual tie to its corresponding revenue head.
  7. Part [XI] "Attachments" is modelled as 11 conditional documents[] entries (plus the Part [XII] declaration attestation), gated using the source's own three-way "for whom required" split (Registered Company / Individual / Other Organizations): company-specific documents (Certificate of Incorporation, Memorandum and Articles of Association, 2-directors' identity/address proof, CR14/CR6, the Public Officer's own identity documents) are gated requiredWhen typeOfBusiness in ["Private Company", "Public Company"]; nationalIdentityCopy is gated requiredWhen natureOfApplicant equals "Individual"; partnershipDeedCopy is gated requiredWhen typeOfBusiness equals "Partnership"; constitutionCopy is gated requiredWhen typeOfBusiness in [...] over the remaining non-company, non-individual categories; publicOfficerAppointmentLetter (printed under both the Registered Company and Other Organizations categories, but not Individual) is gated requiredWhen natureOfApplicant notEquals "Individual"; and currentBankStatementCopy / publicOfficerRepresentativeProofOfResidence, which print under all three categories, are modelled required: true unconditionally. This registry's condition schema (§ GSP spec v0.3) supports only a single field with one operator per condition (field/equals/notEquals/in/comparison — maxProperties: 2), so no compound (AND-of-two-fields) gate was available; each document's gate was chosen from the single most specific supporting field.
  8. nationalProvince is modelled type: string, not enum, since the form prints "National Province" as a plain blank with no list of Zimbabwe's own provinces visible anywhere on the form or in the extracted text — consistent with this registry's convention of not inventing an enum the source itself does not print.
  9. No field on this form carries a visible mandatory-field asterisk or equivalent marker. Per this registry's own precedent for un-asterisked sources, only the fields necessary to process a registration at all are modelled required: true: natureOfApplicant, typeOfBusiness, registeredName, dateOfIncorporationOrBirth, registrationNumber, physicalAddress, industryNameDescription, principalActivityDescription (the Part [IV] table's own column header names this information "REQUIRED"), declarantFullName, designation, and signatureDate. Every other field is required: false, gated requiredWhen only where the source's own single-field branching is unambiguous (otherBusinessTypeSpecify).
  10. The physical signature mark itself is not separately modelled as data — captured by the declarationAttestation document's own required: true, consistent with this registry's zw/zimra/itf1-employment-income-return and bo/sin/formulario-200-iva precedent for signature blocks; the accompanying designation/signatureDate fields are modelled as ordinary required fields since they are typed/written data distinct from the signature act.

Conformance

3 valid mock scenarios — valid-private-company-full-registration (a private company registering for Income Tax, VAT, and PAYE simultaneously, exercising the shareholder/director/bank bounded slots, VAT turnover/asset figures, and PAYE headcounts); valid-individual-sole-trader-registration (an individual sole trader registering for Presumptive Tax – Informal Trade only, exercising the representative/spouse-bank-details fields and the false/absent path of the VAT/PAYE sections); and valid-organisation-trust-registration (a Trust registering for Stamp Duty and the Pension Fund special category, exercising the tax-consultant particulars) — plus 11 mutation-control fixtures (one missing statically-required field from each of natureOfApplicant, typeOfBusiness, registeredName, dateOfIncorporationOrBirth, registrationNumber, physicalAddress, industryNameDescription, principalActivityDescription, declarantFullName, designation, signatureDate — one per required field) and one unknown-field-rejected fixture, committed under conformance/zw/zimra/rev1-application-for-new-registration/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 fixtures: all 3 valid scenarios at 0 errors, all 11 mutation controls each raising exactly 1 error, and the unknown-field fixture correctly rejected. Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, individually and as part of the full 617-document registry run. registry-index.json regenerated via npm run build-index in tools/govschema-client/.

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