We normally use python-stdnum for validating the vat numbers. First of all you should check if this library supports the Australian VAT numbers. If it does not support the first step is to create a pull request on this library to validate this numbers.
Once you have the number validation you can add a new type identifier on the party.identifier selection model to include the Australian VaT numbers and validate them.
What I’m not sure if it’s best to have the new identifier as a separate module or as part of standard party module.
If you are concerned about the tul2003 talk about localization modules the idea is that instead of doing custom modules to solve localization problem it is better to have a generic way of solving the problem that each country can extend to fit their needs. In this case we’ve designed the party.identifier model to be generic enough to fit all the countries so each one can implement their needs, so the standard part have already been done.
The idea about this talk is that instead of creating a custom module for something that should be done on all countries, you should first try to find a single way to do it that works for all country allowing each country to implement its specific cases.