Europeans have lived with the Value Added Tax (VAT) for many years now, but to Americans or other non-Europeans who want to do business in Europe or to implement new systems in European subsidiary companies, VAT is often imperfectly understood.
Europeans have lived with the Value Added Tax (VAT) for many years now, but to Americans or other non-Europeans who want to do business in Europe or to implement new systems in European subsidiary companies, VAT is often imperfectly understood.
In the United States and other countries, a sales tax is often applied at point of sale. VAT is sometimes thought to be the same. Well, it is and it isn’t. VAT is eventually passed on to the consumer as part of the price of goods purchased, but VAT goes much further than that. All the participants in the production/distribution chain are liable for collection and payment of the percentage tax. The tax is difficult to avoid or evade and is therefore quite efficient.
Drawing on my extensive experience designing and implementing VAT during European rollouts of SAP for a number of multinational companies, I’ll explain what VAT is, how it works, and how it can be customized in an SAP context. You’ll see why it is sometimes necessary to make manual entries after you have customized VAT, even though VAT is a fixed percentage. I’ll also give you customizing tips that you won’t find documented elsewhere and step-by-step customizing instructions in the download at the bottom of this article.
What the VAT Is
VAT is a European Union (EU) tax. One of the guiding principles of the EU is to encourage a gradual shift from taxes on income to taxes on spending. The idea is that the perceived burden of taxation is lighter when people feel they can choose whether to spend money, and therefore pay tax, on purchases. All EU member states sign up to the principle when they join. A levy on member states’ net VAT is a major source of financing for the EU’s central institutions.
Put simply, VAT works by adding tax to the net cost of goods at each stage of production and distribution. A VAT charge on sales is called “output tax,” and tax paid on purchases is called “input tax.” The burden of the tax falls on the final customer, but it has been collected at each intermediate stage. For example, say a producer of steel sells raw material to a manufacturer of washing machines. The steel producer adds VAT to his price using a percentage and declares and pays this to the fiscal authorities. The washing machine manufacturer transforms the raw material into a product.
When he sells the washing machine to a distributor, he adds VAT to his price as a percentage. He files a return with the fiscal authorities in which he declares this VAT. He then deducts the VAT that he paid to his steel supplier and pays only the net tax. This continues up the supply chain until the product reaches the general public. Because VAT is a percentage tax applied according to rules that do not change frequently, it is easy to use as an instrument of fiscal policy by simply raising and lowering rates.
All the participants in the production/distribution chain have to be VAT-registered and are liable to collect and pay the tax. Small businesses may buy from retailers and extend the chain if they are themselves VAT-registered. The vast majority of customers at the end of the chain are not VAT-registered and are payers of the tax.1
SAP R/3 is well equipped to handle this consequence-laden process. It’s very important to understand that you must fulfill the obligation to report VAT correctly, on time. European Authorities have extensive power to enforce VAT.
Next, I will give an overview of the mechanics of VAT processing in R/3 for those of you who are planning to do business with EU countries or who are in the EU and are just getting started with VAT.
Day-to-Day Processing in R/3
The R/3 user’s main contact with VAT is through condition types in SD pricing or in purchase orders, or through VAT codes when processing transactions. You can cause VAT codes to default via a customizing transaction. Automatic postings are created in FI, and VAT appears on invoices issued to customers.
R/3 checks calculations and gives an error message if they are not right (for instance, when a VAT amount is entered manually and a mistake occurs).
VAT is accumulated in G/L accounts and also in a VAT register (an SAP table) where it is held until it is declared and cleared. Tax can be manually entered or calculated by the system during manual entry of tax-relevant accounting documents. To see VAT amounts and the tax base, select the Taxes button in the document overview.
If a G/L account has been defined as VAT-relevant in the G/L account master record, R/3 calls for a valid VAT code on every transaction coded to the account. If the transaction concerned is itself not VAT-relevant (e.g., a transfer of a balance between two G/L accounts or an accrual), you can use a code for non-VAT-relevant transactions. This is a valid VAT code that does not create a VAT posting.
Record Keeping and Compliance
All countries require records to be kept in a way that provides a complete audit trail enabling a tax inspector to reconstruct a VAT return or decompose it to its constituent transactions and compare them to the accounting records. Records have to be properly prepared, safeguarded, and available for inspection at short notice.
Closing and Reporting
On a regular basis, usually monthly or quarterly, VAT has to be returned (declared). R/3 has standard functionality for this. (Usually the declaration is made on paper, and sent in by mail, although in the United Kingdom you can file by email.) The closing and reporting process includes the following:
- Transferring the deferred tax
- Generating the advance tax return
- Creating annual tax reports
- Posting the tax payable to the VAT liability account
Transferring deferred tax: In the case of France, deferred tax has to be transferred to input tax for those vendor invoices which have been paid since the last report. Italy also has deferred tax. In France, it applies to vendors; in Italy it can apply to customers. For example, in Italy, pharmaceutical companies do not have to pay the tax until their hospital customer has paid its bill. The menu path is Main Menu>Accounting>Financial accounting> General ledger>Periodic processing>Closing>Report>Transfer deferred tax.
This runs program RFUMSV25 (or a variant if one has been set up). The program sweeps through the G/L account to which the relevant VAT code posts and identifies which invoices are paid and which are unpaid. For all paid invoices that it finds, it changes the VAT code from, for example, D1 (deferred VAT) to V1 (normal VAT). It then produces a printable list. The program generates postings and physically transfers the deferred VAT to deductible VAT.
Note
You may be wondering why a manual entry is sometimes required, when the VAT is a fixed percentage. Here’s an example: Say you receive a purchase invoice from a vendor. You enter the invoice and the tax code. However, the tax amount charged by the vendor may be incorrect. The basic rule is that if the vendor has entered the wrong tax amount, you still must enter it. You have to deduct the amount the vendor has charged you or the government’s books won’t balance. This means you must force the system to accept the incorrect amount. Then you notify the vendor of the incorrect amount, and receive a credit note and a new invoice. This can happen when the rules on what is taxable change, or when the tax rate itself changes. Another case in which you have to make manual entries is with imported goods from outside the EU payable in foreign currency. The base amount on which the tax is calculated may change from the time the vendor figured the value and the time when it goes through customs, because of a difference in the exchange rate. You can only enter the amount of tax that customs has charged you. If the base amount doesn’t correspond exactly, you have to force the system to accept it.
Generating the advance tax return: Next, you run program RFUMSV00 (or a variant if one has been set up). This prepares a list of the tax collected and payable or deductible together with the tax base amounts by tax code. This list is used as the basis for manual preparation of the official tax return form. The menu path to do this is Main Menu>Accounting> Financial accounting>General ledger> Periodic processing>Closing>Report> Report selection. Then continue to follow the menu path General ledger>Period End Jobs G/L>Custom Reports Other> Custom G/L Update Sessions> Information system>Adequacy and documentation>Lists>Reporting>Tax reports>General>Generate advance return. This takes you to a selection screen for the country and type of tax. This is also where you can select the layout for your report.
For Germany and Belgium, RFUMSV00 can also print the tax return if required to do so. A standard SAPscript layout is provided. This usually needs to be customized. SAP has not extended this facility to other countries yet, presumably because of the wide variation in the tax return forms and the complexity of providing SAPscripts for each of them (taking into account the fact that they change from year to year in some countries too). Most people prefer to use the list generated by RFUMSV00 as the basis of a handwritten form.
Previous releases of R/3 provided a special program for Italy and Spain, RFUMSV20, but in Release 4.6, this has been combined into RFUMSV00 and it no longer exists as a separate program. Following this merger, the ALV (ABAP List Viewer) capabilities were added to RFUMSV00, allowing a certain amount of customization of the lists and the creation of different layouts. A lot of SAP notes have been issued to fix resulting bugs. Some have subsequently been incorporated into Support Packages. Before using RFUMSV00, which is an enormous program with more than 20,000 lines of code, check through the list of SAP notes and compare these to the Support Packages applied to the system to determine which SAP notes, if any, still need to be applied, particularly if you are implementing in Spain or Italy. This is an important point. I once went to the SAP Help site looking for patches and found more than 100.
Annual tax report for France, Italy, and Spain: A special program, RFUSVJ10, generates the annual tax report for France, Italy, and Spain. This report creates the annual tax journal, which should display and sort the annual tax and net amounts per tax indicators (output or input) according to tax number and account. Per tax number, account, and fiscal year, the number of items, the tax, net and total amounts, as well as the non-tax-relevant amounts are displayed. The validation can be managed per tax type depending on the parameter: “Summarization level 0/1/2” per account number on a line item level, per tax indicators (output tax or input tax), or per fiscal year (output tax and input tax). The document volume to be dealt with is to be accrued via the posting date or via the parameter “Period for the current year.”
The system checks the data according to the parameters you set, and issues an error message if the data doesn’t fit them.
You have three choices of how the data is sorted in the report:
1. The report creates the annual tax report sorted according to tax type (output tax and input tax). It is sorted as follows:
- Company code
- Tax type: input tax/output tax
- Tax number
- Account number
- Fiscal year
- Tax indicator
- Deductible and non-deductible input tax
- Percentage rate
- Document number
2. Per tax number and account number, the following data is displayed in line item level:
- Document number
- Reference number
- Document date
- Tax indicator
- Marking for non-deductible input tax
- Posting key
- Net amount in local currency
- Tax amount in local currency
- Amounts with zero percentage
- Portion of the non-deductible tax amount of the total tax amount
- Total amount in local currency
3. For every tax type, the following overview (summary sheet input tax and output tax) is output per tax indicator and percentage rate:
- Tax name
- Tax rate
- Tax indicator
- Marking for non-deductible input tax
- Net amount in local currency
- Tax amount in local currency
- Amounts with zero percentage
- Portion of the non-deductible tax amount at the total tax amount
- Total amount in local currency
The number of items per tax indicators and the percentage rate are also displayed.
For most other countries, it is sufficient to run the advance tax return for the month of December and simply accumulate the year’s figures.
Posting the tax payable: After preparing the VAT return, you must transfer the declared tax from the various G/L accounts where it has been booked to the VAT liability account. Do this via menu path Main Menu>Accounting> Financial accounting>General ledger>Periodic processing> Closing>Report>Post tax payable or transaction code FB41.
The document type to use is normally SA (all G/L documents). It looks very much like any other G/L journal entry but the difference is that using this routine updates the tax registers with the amounts declared. The subsequent payment (or refund) is then booked against the VAT liability account and cleared. You can semi-automate this process by allowing the advance tax return program RFUMSV00 to create a batch input file containing the postings and then processing that file. You can also re-direct the automatic posting to a vendor account, which can then be paid using standard payment program functionality.
Download: Customizing R/3 FI for VAT Processing
1. It is possible for a company to be a net receiver of tax, where, for example, it pays tax to its suppliers, which it can reclaim, but is not liable for tax on its end product because of “zero-rating.”
Roy Brookes
Roy Brookes is a senior consultant in SAP FI/CO and a qualified accountant and business consultant. He has worked for many years in accounting, finance, and business consulting. He is an SAP expert and has designed and implemented FI and CO solutions at the European and country level during the European rollouts of SAP R/3 in a number of multinational companies. He has also worked in the US and Turkey.
You may contact the author at Roy.Brookes@Hamburg.de.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.