#GPPT Validating Australia Business Numbers (ABN)

 This article and sample GP Power Tools project comes about after hearing about a disturbing situation that has resulted in an unsuspecting Australian business receiving a surprise $100,000 tax bill.

The sample project code provided at the bottom of this article was created to help ensure that Australian Microsoft Dynamics GP sites don’t get caught out in the same way.

To help you understand what happened we need to first provide a simple explanation of how Australian GST (Goods and Services Tax) works.

Disclaimer: I am not a tax accountant or representative of the Australian Taxation Office, so all of the information included in this article is of a general nature.

Introduction to GST and ABNs

In Australia, we have a Good and Service Tax (GST) applied all transactions (with a few exceptions, such as fresh food). The GST rate is 10% and must be included in the final price when selling to consumers, but must be shown separately when selling to businesses.

The GST does not add to the cost of doing business (other than the administrative effort). Whenever a business sells goods or services they must charge the GST and remit that amount to the Australian Taxation Office (ATO). Whenever a business makes purchases any GST they have been charged can be claimed as a credit back from the ATO. The reporting for the GST can be monthly or quarterly and is called the Business Activity Statement (BAS). It will show the amount of GST collected and the amount of GST paid and the resulting difference is paid to or credited back from the ATO.

For this system to work all Australian business should have a registered Australian Business Number (ABN) with the ATO. If a supplier does not provide a business with a valid ABN, the business is required to withhold 48.5% of the payment and remit that amount to the ATO. So while most businesses have an ABN, not all business are registered for GST. A small business with an annual turnover of less than $50,000 can decide to not register for GST. This means that they do not need to charge and collect GST and they are not eligible to claim any GST credits for purchases they make.

The ABN should be included on all invoices generated, along with the GST amount and labelled as “Tax Invoice”. A valid Tax Invoice is required if you get audited to prove that you are eligible to claim the GST credits for purchases back from the ATO.

So what happened?

The normal process when onboarding a new supplier is to get their ABN and use the Australian Business Register Lookup to validate it is correct. There is a website to do this as well as a webservice that can be used by applications such as Microsoft Dynamics GP to check that the ABN is valid and whether a company is registered for GST. However, after this onboarding process, it is not common to recheck information unless the supplier business itself changes.

In the situation that recently came to my attention, a contractor had an ABN and was registered for GST when onboarded many years ago and the tax schedules in GP were set up accordingly. At some stage in the following years the contractor de-registered for GST and did not notify its customers. They also continued to send out “Tax Invoices” with a GST amount showing, but instead of remitting the collected GST to the ATO, they kept it as an extra 10% profit.

The business was unaware of the change in GST status for this contractor and continued as before claiming the GST credit for the invoices they received from the contractor.

Now, many years later, the ATO ruled that the GST Credits that have been claimed for this contractor since it was de-registered for GST need to be repaid, as the ATO did not receive any GST from the contractor.

The bottom line is the business is now liable for a $100,000 tax bill. While you might think the contractor is at fault for still collecting a “GST” amount rather than reducing their invoices, the ATO has decided that the business should have checked the GST status for the vendor and stopped claiming the GST credits.

How can GP Power Tools help?

When I was informed of this story last week, I knew straight away that I could use GP Power Tools – Developer Tools module to create a solution to this problem.

Below is the Project Setup window with the components that make up the code:

The ABN_CUSTOMER and ABN_VENDOR triggers add the option to check the Australian Business Numbers of Customers/Debtors and Vendors/Creditors from the Customer Maintenance/Debtor Maintenance and Vendor Maintenance/Creditor Maintenance windows.

The ABN_CUSTOMER and ABN_VENDOR parameter lists are used to allow a selection of a range of customers or vendors and to select whether to just check that the ABN is valid, or also check if the customer or vendor is registered for GST. By default, vendors are also checked for GST registration.

The triggers in turn run the ABN_CUSTOMER and ABN_VENDOR Runtime Execute Scripts. They will loop through all customers and vendors that have an ABN entered into the Tax Registration Number field on the Options window, are not marked as Inactive, and have the country field of the primary address set to Australia or left blank.

The ABN_ABR_WEB Runtime Execute Script uses the Dexterity .Net Interop to call request a page from the Australian Business Register web site and then parse the response to check whether the ABN is valid and if it is registered for GST.

After processing the selected records, a dialog will display the results and if there are any invalid records, a second dialog will be shown containing the customers or vendors that need to be reviewed. The data in this second dialog is in tab delimited form and can be cut and pasted into Excel.

In the future, I might even update this project to check the supplier’s GST status every time it is entered into a transaction. Let me know in the comments if you think I should invest the time in adding this functionality.

Note: While this example is specific to Australia, the code could be updated to work with any other country that has similar taxation requirements

Downloading and Installing

Download the example code, import using the Project Setup window (now possible for first time imports with Build 28.8 onwards), or use Configuration Export/Import window (for older builds):

The code will be active on next login or after switching companies, or you can start the triggers manually from the Project Setup window.

More free customizations on the GP Power Tools Samples page:

Feedback received so far from beta testers of this code has been very positive.

Hope this helps avoid any unexpected GST liabilities.


This article was originally posted on http://www.winthropdc.com/blog.


Leave a Comment