South Africa VAT number - party identifier type


I’m a complete newbie. Please advise on two things.

  1. How do I create a custom module of I am running tryton locally using docker?
  2. I want to add the South African VAT number as a party identifier type. How do I publicly contribute this?
  • Name: e.g. “South African VAT Number”
  • Code: e.g. “za_vat”
  • Starts with: “4”
  • Length: 10
  • Validation type: Check digit (based on mod 10 or mod 11 algorithm)


Tryton uses python-stdnum for validating the identifiers. I see there is a za_tin already, maybe the za_vat is based on the za_tin?

For contributing to the tryton project you will need to first get za_vat into python-stdnum, and then contribute to the party module in order to include the identifier.

For creating a custom module there is a tutorial.
Personally I do not have experience with docker, so I can not help you with that, hopefully someone who knows will jump in.

1 Like

Thanks! the VAT number isn’t accepted in za_tin so I assume it is the South African Tax ID. We have 3 identifiers:

  1. Company registration number
  2. VAT number
  3. Tax number

VAT number of seller and buyer need to be displayed on Tax Invoices (terminology for sales invoice)