Handling Australian GST Requirements for Payables Transactions in eConnect

David Meego - Click for blog homepageAs part of the handling of Australian Good and Services Tax (GST), Microsoft Dynamics GP needs to be able to track if a Tax Invoice has been received for payables transactions.

This is important as a company must have a Tax Invoice for a purchase before they are allowed to claim the Input Tax Credit for that purchase. The Input Tax Credits are balanced against the tax they have collected from sales and only the balance is due to the Australian Taxation Office (ATO).


So what are the requirements for a Tax Invoice in Australia? This information is not specifically needed for this article, but the accounting geeks out there might find it interesting.

Below are some guidelines, but as I am not a Tax Accountant, please get advice from a Tax professional if you have questions.

Supplies of less than $1000

Tax invoices for taxable supplies totalling less than $1000 must include:

  1. the Australian business number (ABN) of the supplier
  2. the GST inclusive price of the taxable supply
  3. the words 'Tax Invoice' stated prominently
  4. the date of issue of the tax invoice
  5. the name of the supplier
  6. a brief description of each item supplied
  7. the GST amount. This can be shown separately or as a statement along the lines of “the total price includes GST”


Tax Invoice example for less than $1000

Supplies of $1000 or more

Tax invoices for taxable supplies totalling $1000 or more must include:

  1. the ABN of the supplier
  2. the GST-inclusive price of the taxable supply
  3. the words ‘”Tax Invoice” stated prominently
  4. the date of issue of the tax invoice
  5. the name of the supplier
  6. the name of the recipient
  7. the address or the ABN of the recipient
  8. a brief description of each thing supplied
  9. the quantity of the goods or the extent of services supplied
  10. A: when GST payable is exactly 1/11th of the total price, a statement along the lines of “the total price includes GST” or  B: the GST amount

 
Tax Invoice examples for $1000 or more


To handle the tracking of this requirement (once Australian GST is enabled in Company Options), there will be a Tax Invoice Required checkbox added to the Tax Detail Maintenance window, and a Tax Invoice Received checkbox added to the Creditor Maintenance Options (Vendor Maintenance Options) window. These two checkboxes are used to identify when a transaction using specific Tax Details requires a Tax Invoice and which Creditors/Vendors always provide Tax Invoices.

On the Transaction, there is a Tax Invoice Required checkbox which will be set if any of the Tax Details used on the transaction have their Tax Invoice Required checkbox selected. There is also a Tax Invoice Received checkbox which defaults to the value stored on the Creditor/Vendor and is tracked in the PM_Tax_Invoices (PM30800) table. If the transaction is not marked as Tax Invoice Received during the original data entry, it can be marked as received after the fact using the Track Tax Invoice Received window (under Purchasing Routines).

Now that we have the background information all sorted, here is the problem:

eConnect does not have any of the handling for Tax Invoices for Australian GST added to its code.  I have raised this issue as Problem Report 69941. However, as this can be resolved with a custom post integration stored procedure, the fix will not be a high priority.

For this custom code to work I needed to solve a couple of issues:

  1. How to read the Enable GST for Australia Company Option from the SY_Company_MSTR (SY01500) table.
  2. How to make sure that I looked at the correct System Database when running under Microsoft Dynamics GP 2013.

For the solutions to these issues please see the articles listed under More Information.

 

The code below is an excerpt of the body of the taPMTransactionInsertPost stored procedure. The complete code with the parameter list is attached to the bottom of this article.  

SQL Code Excerpt for taPMTransactionInsertPost

SET NOCOUNT ON

SELECT @O_iErrorState = 0

-- Check that Australian GST is enabled in Company Options for current company
declare @Opt10 INT
declare @SQLCode NVARCHAR(4000)
declare @SYSDBNAME CHAR(80)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SY00100]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
select top 1 @SYSDBNAME = DBNAME from SY00100
else
set @SYSDBNAME = 'DYNAMICS'
set @SQLCode = N'select @pOpt10 = CASE WHEN Company_Options & 65536 * 2 > 0 THEN 1 ELSE 0 END -- Bit 17: Australian GST
from ' + rtrim(@SYSDBNAME) + '..SY01500 (nolock)
where INTERID = DB_NAME()'
exec sp_executesql @SQLCode, N'@pOpt10 int output', @Opt10 output

IF @Opt10 = 1 BEGIN
-- Update Transaction's Tax Invoice Required Flag based on Tax Details
IF exists (select * from PM10000 (nolock) where VCHNUMWK = @I_vVCHNUMWK) BEGIN
update PM10000 set TaxInvReqd = (select max(D.TaxInvReqd) as TaxInvReqd from PM10500 T (nolock)
join TX00201 D on D.TAXDTLID = T.TAXDTLID
where T.VCHRNMBR = VCHNUMWK)
where VCHNUMWK = @I_vVCHNUMWK
END

 -- Update Tax Invoice Received Table, default in value from Vendor table
IF not exists (select * from PM30800 (nolock) where VCHRNMBR = @I_vVCHNUMWK) BEGIN
insert into PM30800 (VENDORID, VCHRNMBR, DOCTYPE, DOCNUMBR, POPRCTNM, Tax_Date, TaxInvRecvd, GSTDSAMT)
values (@I_vVENDORID, @I_vVCHNUMWK, @I_vDOCTYPE, @I_vDOCNUMBR, '', @I_vTax_Date
, (select TaxInvRecvd from PM00200 (nolock) where VENDORID = @I_vVENDORID)
, (select sum(TAXAMNT) as GSTDSAMT from PM10500 (nolock) where VCHRNMBR = @I_vVCHNUMWK))
END

END

RETURN (@O_iErrorState)

/* Copyright © Microsoft Corporation.  All Rights Reserved.                     */
/* This code released under the terms of the                                    */
/* Microsoft Public License (MS-PL, https://opensource.org/licenses/ms-pl.html.) */

 

 

More Information:  

 

Hope you find this information useful, even if not working with Australian GST. 

David

SQL taPMTransactionInsertPost For Australian Taxes.zip