You are on page 1of 8

Customizing R/3 FI for VAT Processing

by Roy Brookes, Senior FI/CO Consultant

You customize R/3 in three steps. (Figure 1 is an overview of the configuration process.) The
stages are:
• Change basic settings
• Calculation procedures
• Posting

FI Global Settings

Tax on Sales/Purchases
Basic Settings
Check calculation procedure - condition
Check calculation procedure types OBQ1
Check calculation procedure - access
Check calculation procedure sequences OBQ2
Check calculation procedure -
Check calculation procedure procedures OBQ3
Assign country to calculation
procedure OBBG
Check and change settings for tax
processing OBCN
Define fiscal regional codes for
Fiscal Regional Codes Italy/Spain OBAD
Define fiscal regional codes for other
Fiscal Regional Codes countries OBAE
Define taxes on sales/purchases codes FTXP
Specify base amount OB69
Define tax accounts OB40
Define account for exchange rate
difference posting OBYY
Allocate tax codes for non-taxable
transactions OBCL

Figure 1 Configuration steps

Basic Settings, Calculation, and Posting

SAP uses condition types (e.g., MWAS sales tax and MWVS input tax) as the basis of a
calculation procedure, which enables integration between the SD, MM, and FI modules.

Here are the steps:

Create an Access Sequence (MWST Tax Indicator) and underneath it an access code (10 (Table
3) Tax Code).

Create a calculation procedure for each country or jurisdiction for which you need one (for
example, TAXF = sales tax for France and TAXIT = sales tax for Italy). Behind this you put a
control procedure, which defines the calculation steps (TAXF).

Procedure TAXF Sales Tax – France:

Step Control Condition type Description From To

100 0 BASB Base Amount
110 0 MWAS Sales Tax 100
120 0 MWVS Input Tax 100
140 0 MWVN Non-deductible Input Tax 100
150 0 NLXA Acquisition Tax Credit 100
160 0 NLXV Acquisition Tax Debit 150

Next you assign a country to a calculation procedure (AT Austria = TAXAT).

You check and change settings for tax processing as follows:

Process MWS
Text Output tax
Tax type 1 Output tax
Not deductible (not used here)
Posting indicator. 2 Separate line item

Process NAV
Text Non-deductible input tax
Tax type 2 Input tax
Not deductible (checked in this case)
Posting indicator. 2 Separate line item

Process VST
Text Input tax
Tax type 2 Input tax
Not deductible (not used here)
Posting indicator 2 Separate line item

For Italy it is necessary to define fiscal regional codes for local reporting (PR 034 = Parma). In
theory, this is also necessary for Spain, but the Spanish authorities are more relaxed and this is
not always required. Other countries also use fiscal regional codes but without the stringent
requirements of Italy (Hamburg (Germany) = 02).

You are now ready to define tax codes, which will be used in transactions. These are what the
user sees.

Here is the configuration of a tax code:

Country key FR France

Tax code D1 Deferred input tax - standard rate 19,6%
Procedure TAXF
Tax type V Input tax

Tax type AccKy Tax percentage rate Level From level Cond.type
Base Amount 100 0 BASB
Sales Tax MWS 110 100 MWAS
Input Tax VST 19,600 120 100 MWVS
Non-deductible Input Tax NVV 140 100 MWVN
Acquisition Tax Credit ESA 150 100 NLXA
Acquisition Tax Debit ESE 160 150 NLXV

Behind the VAT code you define its properties:

Tax code D1 Deferred input tax - standard rate 19,6%

Tax type V Input tax
Check (this box is checked if you want SAP to check the calculation as a percentage of the tax
base amount)
EC code (this box is used to define European Acquisition Tax codes and together with the
processes ESA and ESE causes them to create the double posting referred to above).

Target tax code V1 (This is used in connection with deferred tax accounting – see the description
of Cash Accounting above – This tax code will transfer input tax to code V1 when the related
invoices are paid).

It is also necessary to assign a G/L account to the tax code. Several tax codes of like type may
share a G/L account. You can maintain these account assignments through transaction code
OB40 (maintenance of Table T030K) but this is where they are initially set -- e.g.:

Chart of accts SCOA Standard Chart of Accounts

Tax code D1
Process G/L acct
VST 2120300

Tip! When entering accounts in VAT codes with no tax rate, entering a rate of 0 allows you to
access the tax accounts field. You need to put a G/L account behind the tax code even though no
posting will be created because the zero-rated codes are defined as output or input tax, not as
"no tax."

Tip! You can use transaction code FTXP to jump directly to the tax code definition and then use
the Environment menu to navigate through the calculation procedure, automatic postings, etc.

Whether or not the tax base is net must be specified by checking the box (yes) or not (no) – e.g.:

UK Checked
Germany Unchecked

Accounts have to be defined for exchange rate difference postings -- e.g.:

Chart of accounts SCOA Standard Chart of Accounts

Process KDT Tax exchange rate differences

Debit Credit
6011076 6011075

Finally, tax codes have to be allocated for non-taxable transactions, outside the scope of VAT
(e.g., general ledger journal entries between accounts which require a valid tax code) – e.g.:
Input VN and Output AN.

The codes are created in the normal way first, but with a zero percentage rate (NB: These are
codes with no rate not zero-rate codes). Here they are defined as being the codes to use for non-
taxable transactions.

Tip! It is possible to use transaction code OBCL to jump directly to where these tax codes are

This is the end of the normal customizing in the IMG but there are other customizing functions
related to VAT.

Default tax code for processing incoming invoices. FI Customising – Transaction Code

It is not absolutely necessary to have a default tax code but it has the advantage that the system
will propose it when you process an invoice through invoice verification and it saves one step if
you simply accept it. You can overwrite what is proposed if you want or need to. It is not
completely idiot-proof but it cuts down the likelihood of error.

The most commonly used codes in Italy were looked at before settling on V1 for domestic
vendors and E1 for foreign vendors. It is possible to select several codes in transaction code
OMR2, but SAP can only default in one at a time so there is not much point in doing that.

VAT Return configuration

When configuring VAT processing it is also necessary to maintain Table TRVOR (with transaction
code SM31) and enter the company code and fiscal year against the ABAP which runs the
advance tax return (e.g., RFUMSV20 for Italy and Spain prior to Release 4.6C) and against the
ABAP which runs the document journal (RFBELJ10). Otherwise the report will not run and the
error report does not tell you much except to point you towards Table TRVOR.

This table links the company codes to the ABAP used to run the document journal RFBELJ10
and to the ABAP used to generate the advance tax return RFUMSV00 (and previously
RFUMSV20). It is essential to maintain it or the advance tax return will not run. The document
journal has to be run before the advance tax return and the journal totals and posting date are
stored in the details behind Table TRVOR and accumulated for the year-end return.

The table has to be maintained when a new fiscal year is opened and the counters behind it
(accessed via the details icon) have to be reset to zero. It is usual to give authorization for this to
a senior accountant so that the SAP implementation team are not called back every year to do it.
If this causes an authorization issue (because SM31 allows access to all tables), you can try what
we did on one of my projects. We applied to SAP for an access key for a developer to build a
maintenance dialogue just for table TRVOR (it does not exist in standard SAP), and then we
created a transaction code to run it. We gave the chief accountant authorization for this
transaction code in conjunction only with his own company code. Bingo!

Transporting VAT codes

Transporting tax codes requires manual post-processing. Changes to tax codes are not entered
into a transport request automatically. This must be done manually in a separate step as
described below.

A transport request, which contains the tables to be transported, and information on tax
percentage rates is generated using the function Transport>Export.
The following are transported:
• The tax code
• Texts for the tax code
• Properties of the tax code

Tax accounts, which can also maintained within this transaction, are not transported with the
above objects.

This transport request is imported into the target system using the import program R3TRANS.
This way the tax codes but not the tax percentage rates are in the target system. (You can also
use transaction code FTXP and go Tax code>Import and pull up a list of transports).

The tax percentage rates reach the target system using the function Transport>Import as

1. Start program RFTAXIMP.

2. The country entered is proposed and the first order number found which contains tax codes
still to be imported is proposed for this country.
3. If there are several orders for the same country, then you may have to change the order
number manually.
4. Program RFTAXIMP generates a batch input session with the name TXnnnnnnnnnn, where
nnnnnnnnnn = order number.
5. Processing this batch input session creates the tax percentage rates for the imported tax
codes in the corresponding country.

Personally, I like to obtain access to each of the target clients and go in and check and correct as
necessary, because the transport system is not perfect and things often drop off or get lost. At the
very least, an eyeball check in the target clients is necessary. If your system landscape is very
complex with clients all over the place, this can be very time-consuming and boring, but it is the
only way to get it 100 percent right (and what else would we settle for?)

European VAT Codes in Italy

VAT codes. E1, E2, etc. all need to be modified in country code IT. Under properties you need to
put the EC Code 1 to indicate that this is a European code. SAP will shout at you that this is an
indicator for output tax although the acquisition tax codes are defined under properties as input
tax codes. When you read the SAP documentation it becomes very confusing, but what it
amounts to is that these input tax codes have to be defined as both input and output by this route.
Then the double tax entry (debit and credit for the same amount into two different tax accounts)
reports correctly when you run the VAT report RFUMSV20. Without this indicator the codes show
as positive and negative input tax not as input and output.

General Ledger Account Master Records

Financial accounting>General ledger>Master records>Company code>Change

Care must be taken when assigning tax categories in G/L account master records (screen field
SKB1-MWSKZ). In this field you enter a symbol, which determines which tax codes can be used
to post items to this G/L account. When users make postings to this account, the system will
check whether the tax code they have entered in the line item is allowed for this account.

Example: If you enter "+", you can only post items with an output tax code to this account. The
symbols ">" and "<" are reserved for tax accounts only.

Note: If you always post items with the same tax rate to this account, it may be useful to enter a
tax code. The system will default the specified tax code when users post items to this account.
They are then not able to change it. You could use this option for the "Domestic trip costs - lump-
sum taxation" account in Germany, for example. This is risky unless you are absolutely sure of
what you are doing.

Authorities Have Extensive Power to Enforce VAT

Enforcement is carried out by authorities in the various countries of the EU, but not in any uniform
fashion. In Italy, enforcement is carried out by the “fiscal police” (Guardia Fiscale), who wear
uniforms and carry firearms. They have extensive powers of entry and search and can seal files,
cupboards, and drawers – even whole buildings if they suspect fraud.

I have personal experience of the Guardia Fiscale arriving unannounced to carry out a routine
VAT inspection on the books and records of an Italian company. The police arrived in a number
of cars with blue lights flashing, laptops under their arms, and automatics on their hips. They took
over the boardroom and demanded to see the books and records for a particular year. They
settled down for the week. The next day a second team arrived in exactly the same manner and
demanded to see the books and records of a different year.

In another case, also in Italy, a financial director was fired and replaced by an American from the
parent company. On the day the new guy arrived, so did the Guardia Fiscale. Acting on a tip-off
about wrongdoing, they proceeded to seal the building and go through it very thoroughly. After six
weeks -- during which they found nothing, but prevented the American director and his team from
working -- it transpired that their anonymous informant was the disgruntled former finance
director. Knowing the system, he had decided to make life uncomfortable for his successor.

The usual method of enforcement in a day-to-day sense is the VAT inspection, a standard audit
of the registered taxable entity’s books and records that often results in a close-out meeting to
discuss any discrepancies. Usually, an additional assessment or similar settlement is agreed
upon. Disagreements can be taken to special courts. In rare cases, tax officers will call in the
criminal police or maintain a close watch on the taxable entity without alerting the company’s
officers that they intend to do so.

Technical Terminology

Output Tax – VAT on a taxable entity's sales.

Input Tax – VAT on a taxable entity's purchases or expenses, which normally may be offset
against output tax.

Non-deductible Input tax – In most countries, specific rules define some input tax as non-
deductible because it relates to activities that are subject to special fiscal rules, such as business
entertaining (in the United Kingdom if you eat with someone in the course of business and you
pay for both meals, 50 percent is non-deductible because it represents the tax on the portion paid
on behalf of another person).

Zero-Rating – Activities which are encouraged, such as exporting, and some other activities
which would suffer unduly if they had to pay the tax (such as house-building in the UK) are zero-
rated for VAT purposes. This means that the taxable entity declares the activity as taxable
transactions but applies tax at zero per cent. It may deduct input tax as described above and so
may end up a net reclaimer of tax.
Exemption – This means that an activity is outside the scope of VAT. National governments
decide which activities fall into this category within certain limits. Most fees payable to
government departments are exempt and other taxes are also usually exempt.

Tax Point – point of supply. This is the point when a supply of goods or services takes place or is
deemed to take place – delivery or the issuing of an invoice. The liability to VAT arises whether or
not the transaction is completed or paid for.

Tax Base – This is the amount from which the VAT is calculated. VAT is always a percentage of
this amount. When VAT is returned to the fiscal authorities, the tax base is normally also

Bad Debt Relief – If a customer fails to pay a debt that includes VAT and this VAT has been
declared and paid over to the fiscal authorities, it is usually possible to reclaim the VAT from the
government subject to certain rules.

Cash Accounting – In some countries it is possible to defer payment of tax to the government
until the taxable entity has collected it from the customer. Taxable entities that opt for this type of
treatment cannot deduct input tax until they have paid it to their supplier.

VAT account – This may consist of a single General Ledger account or several grouped accounts
but they have to be properly defined as tax accounts and allow the VAT inspectors to trace all
taxable transactions and determine whether the tax liability has been correctly derived from the
books and accounted for. The G/L account(s) making up the VAT account are usually included
among current liabilities or split between current assets and current liabilities.

Net Basis – Cash discounts, prompt payment discounts, and other such deductions may be net or
gross of VAT.

European Acquisition Tax – This is a variation on VAT. When a company sells goods to a
customer in another EU country, it treats the sale as an export and zero-rates it. The purchasing
company has to account for VAT on its purchase but it can not reclaim input VAT which it has not
paid, so the purchasing company declares both input and output tax on the same transaction so
as to include VAT payable and create deductible VAT at the same time. By declaring both input
and output tax in its VAT return it both receives and pays tax, the net effect being NIL but the
statistical tax base is updated and the fiscal authorities can see the effects of cross-border

Strictly speaking only sales completely outside the EU are considered “Exports” and cross-border
trading is regarded as “Intra-Community Commerce.”

Roy Brookes is a senior consultant in SAP FI-CO and a qualified accountant and business
consultant. Having worked with VAT during many years in accounting, finance and business
consulting, he is now an expert in the field of VAT and European taxes in relation to SAP and has
designed and implemented VAT schemes at European and country level during the European
rollouts of SAP R/3 in a number of multinational companies, including Reichhold Chemicals,
Ferro, Greene Tweed, Lever-Fabergé, Cadbury-Schweppes-Orangina-Pampryl in France and
Lilly Italia. You may reach him by email at