skip to Main Content

VAT Cash Accounting Scheme Novutech Custom Solution

Background

Many of our customers are located in countries where VAT can be calculated either based on cash accounting or based on accrual accounting depending on local regulations, especially in France.

With the cash accounting method, VAT is calculated when the actual payment is made to the vendor or received from the customer, whereas the accrual accounting method requires businesses to record the VAT as soon as an invoice is issued to a customer or received from a supplier.

This can have an important impact on a company’s cash flow since the VAT cash accounting scheme allows businesses to actually pay their VAT only when (or if) they are paid, but on the other hand denies them the right to any VAT return before payment is made to their suppliers.

NetSuite does not natively allow companies to use both accounting methods simultaneously (except for running reports based on cash movements), which means that a customization is necessary to handle the VAT depending on the transaction and the rules applying to it.

Functionalities

Since there is no standard way of handling this within NetSuite, our customization is designed to dynamically manage the VAT which is either due based on debit/credit transactions or based on cash.

Transit tax codes are used for the creation of bills or invoices where a cash basis regime is applicable. To exclude them from VAT reports, the checkbox “exclude from VAT report” is ticked on the tax code record. Every tax code in transit is linked to a final tax code.

Once a payment is made or received, the “In Transit” tax codes are corrected by the final ones via a journal entry and it is at that moment in time that the VAT is recorded in the VAT return.

Let’s have a look at an example to have a clear understanding of the process:

A bill is made and has not been paid yet. The country of the subsidiary is France and France is using the cash basis accounting method. 

By processing the payment of this bill, a script runs and detects that an “In Transit” tax code has been used in a transaction and that the counterpart with the final tax code needs to be done. 

A screenshot of a social media post

Description automatically generated

A journal Entry is automatically created and corrects the VAT of the payment.

The amount of the tax code in transit is credited. The same amount is debited with the final tax code. 

A direct link between the payment and the journal is present on both transactions and a custom record has been created to make a proper link between the bill, the bill payment and the journal entry for the VAT correction (same logic applies on the sales side). 

A close up of a logo

Description automatically generated
A close up of a logo

Description automatically generated

As shown below, the VAT return is impacted during the correct accounting period when the payment has been made, and not when the initial transaction (bill/bill credit or invoice/credit memo) was created. 

A complete automation has been set in place with scheduled scripts in order to ease the manual intervention of the finance end user.

This customization is designed to work with the following transactions: bill, bill credit, invoice, credit memo. It takes care of partial payment and single payment paying for multiple transactions (as soon as the same tax code is used on the original transaction).

Conclusion

This solution helps European and in particular French businesses to automate one of their crucial tax reporting challenges.

Cash basis VAT has not been part of the current Legacy Tax and not yet part of the new SuiteTax engine. Therefore, our customization provides both existing and future NetSuite customers a robust solution for this important accounting and tax challenge.

In short

  • Powerful automated flow
  • Easy reporting via custom record
  • Compliant for cash basis VAT

A question? You would like to implement this solution?

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top