When setting up an SAP system in new countries, one of the most difficult parts is setting up the correct tax system. Part of the tax system in SAP can be the Plants Abroad functionality. See under which circumstances you might want to start using Plants Abroad and the legal requirements that can affect your system. View required customizing activities and an example of the results when using Plants Abroad for a cross-border stock transfer.
Key Concept
You can use Plants Abroad to handle tax issues for companies that have tax registration in more than one country. Plants Abroad ensures that the correct value-added tax (VAT) registration number prints on sales and purchasing documents, calculates the right tax, handles stock transfers, and conducts tax and Intrastat reporting correctly.
Although the EU is called a single market, in effect it is still a union of 27 independent countries, each of which has its own legislation and its own tax rules. As a consequence, every company doing business in an EU country must acquire a value-added tax (VAT) registration number for that country. Not only must the company acquire a VAT registration number, it also must fulfill country-specific legal reporting.
Figure 1 shows a situation that requires Plants Abroad. The example company is located in Germany and it has a warehouse in the Netherlands. In the company’s SAP system, the company code address would be the company’s central location — in this example, Germany. Therefore, the company must have a VAT registration number in Germany and in the Netherlands.

Figure 1
Example for using Plants Abroad
You must report any goods movement from or to the Dutch warehouse to the Dutch legal authorities. Any sale or purchase from or for the Dutch warehouse is relevant to the Dutch VAT legislation. This also applies to the head office in Germany. In Germany, the company needs to report all goods movement from and to Germany and any sale or purchase is relevant for German VAT. To handle companies with more than one VAT registration number in SAP, you can either set up a company code per VAT registration number or activate Plants Abroad.
Plants Abroad is available since R/3 Release 4.0. I’ll describe the steps required to set up Plants Abroad and show the result for the stock transfer from Germany to the Netherlands. Some of the customizing steps are only relevant for Plants Abroad; some are also applicable for intercompany billing in general. My process involves 12 customizing steps: five within FI, six within Sales and Distribution (SD), and one last step in Materials Management (MM).
I’ll then look at intercompany stock transfers and invoices, and two kinds of reporting: VAT and Intrastat. The system reports the stock transfer for VAT and Intrastat in the two countries based on the same stock transfer purchase order. The reporting in two different countries is only possible when you have activated the Plants Abroad functionality.
Customizing Steps within FI
The first five steps concern your initial activation of Plants Abroad in FI, including:
- Step 1. Activate Plants Abroad
- Step 2. Enter foreign VAT registration number for Plants Abroad
- Step 3. Determine how to set up your tax calculation procedures
- Step 4. Assign a country to the calculation procedure
- Step 5. Define tax codes for sales and purchases
Step 1. Activate Plants Abroad. To activate Plants Abroad, follow IMG menu path Financial Accounting > Financial Accounting Global Settings > Tax on Sales/Purchases > Basic Settings > Plants Abroad > Activate Plants Abroad. This is a global setting, which means that the consequences are visible for all company codes that use taxes. The only exceptions are company codes that use jurisdiction codes, such as company codes for companies located in the US. For more details about tax codes, see the download, “Consequences of Activating Plants Abroad” at the bottom of this article.
Step 2. Enter foreign VAT registration number for Plants Abroad. You can enter foreign VAT registration numbers by following IMG menu path Financial Accounting > Financial Accounting Global Settings > Tax on Sales/Purchases > Basic Settings > Plants Abroad > Enter VAT Registration Number for Plants Abroad. You have to allocate this VAT registration number in the SAP system for every country in which your company has a VAT registration number. Figure 2 shows the Dutch VAT registration number allocated to company code 0208. You use this setting to print the registration number on all legal documents for company code 0208 that are subject to Dutch legislation.

Figure 2
Maintain VAT registration numbers
Step 3. Determine how to set up your tax calculation procedures. This is the most important step in the setup process, and you need to complete it outside of the SAP system. You must decide whether to set up a tax procedure per country or one tax procedure for all countries where you have a VAT registration number. SAP recommends the latter because it results in less maintenance.
The main difference is that when using a procedure per country, you have to set up per country all tax codes you require for all countries involved. By contrast, using one global procedure you set up all tax codes for all countries involved only once. For the SAP system, it is not important how you set up the tax procedures — it is a matter of maintainability and your own preferences. In my example, I assigned the countries to one tax procedure as recommended by SAP.
Step 4. Assign a country to the calculation procedure. If the outcome of the previous step is that you want to use a tax procedure per country, you can skip this step because the system assigns the country to the correct tax procedure by default. If you decided to use one common procedure for all countries, you need to execute this step. You can find the transaction to assign a country to a calculation procedure by following menu path Financial Accounting > Financial Accounting Global Settings > Tax on Sales/Purchases > Basic Settings > Assign Country to Calculation Procedure. This step determines which tax procedure you should use per country. In my example, I allocated Germany to tax procedure TAXEUR. SAP preconfigured this procedure and made it available to use in any SAP system if you allocate more than one EU country to the same tax procedure. The advantage of using this preconfigured procedure is that the settings cover all requirements for all EU countries.
Step 5. Define tax codes for sales and purchases. You can find the settings for the tax codes by using transaction code FTXP or following menu path Financial Accounting > Financial Accounting Global Settings > Tax on Sales/Purchases > Calculation > Define Tax Codes for Sales and Purchases. This is a standard activity that you must perform whenever you set tax codes for a country. You set the indicator for Plants Abroad, so an additional field, Reporting cntry (reporting country), appears on the settings (Figure 3). You can see the settings of the pop-up screen by clicking on the Properties button at the top of the screen. In the example, I set the reporting country for tax code A6 to DE (Germany). The field directs the SAP system to use this tax code for the tax reporting in Germany. Moreover, it helps the user select the correct tax code. Whenever the user searches for a tax code, the SAP system asks for the name of the reporting country.

Figure 3
Define tax code
SD Customizing
You perform the next six steps in SD to maintain your settings:
- Step 6. Maintain and assign pricing procedure
- Step 7. Maintain billing type and billing type proposal
- Step 8. Maintain copy control
- Step 9. Maintain billing relevance for item categories
- Step 10. Maintain declaration numbers
- Step 11. Maintain tax relevancy of master records
Step 6. Maintain and assign pricing procedure. You can find the pricing procedure settings by following menu path Sales and Distribution > Basic Functions > Taxes > Plants Abroad > Maintain And Assign Pricing Procedure > Maintain Pricing Procedures (Figure 4). You need to set these settings properly to handle cross- border stock transfers within one company code correctly. In the example, the company ships goods from a German warehouse to a Dutch warehouse. The ownership of the goods doesn’t change, so you shouldn’t have to perform any invoicing. However, the cross-border stock transfer requires a pro forma invoice to accompany the goods and a VAT posting to handle the tax and Intrastat reporting. You need to set up a special pricing procedure in SD so you can create the pro forma invoice and financial posting.

Figure 4
Maintain pricing procedures
Note
I’m using the term “pro forma invoice” as it best reflects the nature of the sales document you create. It is not really a pro forma invoice that you need to create as the invoice to post in the G/L, but it is not a real invoice either, as it is not sent to a customer.
SAP defined a default tax procedure called RVWIA1 that you can use for this specific situation (Figure 4). The pricing procedure already has the correct condition types. It is not necessary to use different condition types, so I won’t discuss the definition of the condition types.
The following condition types are standard in the default pricing procedure:
- PR00: Basis for the calculation
- WIA3: Output tax valid for country of destination
- WIA2: Output tax valid for the country of departure (0% in EU)
- WIA1: Input tax valid for the country of destination
- R100: Sales discount to reduce the price to zero, therefore it is 100%
- GRWR: Statistical value to use for Intrastat
Step 7. Maintain billing type and billing type proposal. You can find the billing type settings by using transaction code VOFA or following menu path Sales and Distribution > Basic Functions > Taxes > Plants Abroad > Maintain Billing Type And Billing Type Proposal > Maintain Billing Type. You need a special billing type for the pro forma invoice. SAP defined a default billing type: WIA. If necessary, you can define your own billing type using billing type WIA as a reference. For example, some companies always use invoice types starting with Z.
Step 8. Maintain copying control. You can find the settings for copy control by using transaction code VTFL or following menu path Sales and Distribution > Basic Functions > Taxes > Plants Abroad > Maintain Copying Control (Figure 5). In this step, you define the source for the invoice data based on the delivery note because you use the invoice for stock transfers. The default SAP setting is shown in Figure 5. When you use your own defined delivery types, you need to adjust these settings accordingly. The default item category is NLN. The details for this item category are shown in Figure 6.

Figure 5
Maintain copy control

Figure 6
Billing relevancy for item categories
Step 9. Maintain billing relevance for item categories. You can find the billing relevancy settings by following menu path Sales and Distribution > Basic Functions > Taxes > Plants Abroad > Maintain Billing Relevance For Item Categories (Figure 6). You need to define which item categories are relevant for billing. For cross-border stock transfers within the EU, you need to enter J in the Billing Relevance field.
Step 10. Maintain declaration numbers. You can find the settings for billing relevancy by following menu path Sales and Distribution > Basic Functions > Taxes > Plants Abroad > Maintain Declaration Numbers. You need to print this identification number on the Intrastat reporting for the country mentioned in the country key.
Step 11. Maintain tax relevancy of master records. You can find the tax relevancy settings by following menu path Sales and Distribution > Basic Functions > Taxes > Define Tax Relevancy Of Master Records. For the Plants Abroad condition types, you need to indicate which tax classifications you can use. Normally this is 0 (Tax exempt) or 1 (Tax relevant). Figure 7 shows the settings for the customer master; you need to maintain the same kind of settings for the material master.

Figue 7
Tax relevancy customer master
MM Customizing Step
For the last step, you need to set the customer master for plants within MM.
Step 12. Set customer master for plants. Follow menu path Materials Management > Purchasing > Purchase Order > Set up Stock Transport Order > Define Shipping Data for Plants. Within a stock transport order, you have to set up the receiving plant as a customer for the sending plant. Define the customer number under which the plant will be known in the SAP system.
Master Data Maintenance Within MM
To prepare an intercompany stock transfer, you also need to set up the delivering plant as a vendor for the receiving plant. Unlike the allocation of a customer to a plant, the allocation of a vendor to a plant is master data maintenance, using transaction MK02. From the Extras menu, select Add.purchasing data to bring up the pop-up screen. Some companies use the plant code as vendor number; others just use a number without any logic as in the example.
Intercompany Stock Transfer
Once you have completed all preparations, you can execute the intercompany stock transfer. To continue with my example, I’ll show you how to transfer stock from Germany to the Netherlands.
The process starts with creating a stock transfer purchase order. A user creates the purchase order for a German plant to deliver to the Dutch plant. The purchase order allocates the vendor number to the German plant. The German plant creates a delivery note for shipping the goods. Based on this delivery, the system creates an intercompany invoice. Figure 8 shows the example and Figure 9 shows the document flow.

Figure 8
Example intercompany goods flow

Figure 9
Document flow
Intercompany Invoice
The intercompany invoice is not a customer invoice because it only contains posting lines for stock and VAT, but not a customer number. You need the invoice for financial posting and as a transportation document, but it isn’t meant for payment.
When you look into the details of the financial document of the invoice (Figure 10), you can see that the system uses the German VAT for the goods dispatch in item 1 (Figure 11). As the VAT percentage is zero, the system does not generate an additional posting line.

Figure 10
Financial posting of the intercompany invoice

Figure 11
German sales VAT
The system uses a Dutch VAT for the posting line for the goods receipt (item 3). The VAT code you use is an acquisition tax and automatically generates line items 2 and 4. You can see VAT details in Figure 12.

Figure 12
Dutch acquisition VAT
VAT Reporting
The intercompany invoice is relevant for VAT reporting in both Germany and the Netherlands. When running the standard VAT report (RFUMSV00), the German report picks up the invoice using German tax code A6, and the Dutch report picks up the Dutch tax code Y4 (Figure 13). The system picks up code A6 (Figure 14) for Germany only because the reporting country for this code is DE (Germany), as is shown in Figure 8. Because tax code Y4 has reporting country NL (Netherlands), it is only reported in the Dutch VAT reporting.

Figure 13
Dutch VAT reporting

Figure 14
German VAT reporting
Intrastat Reporting
You have to report the intercompany invoice for Intrastat in both Germany (as a dispatch) and the Netherlands (as a receipt). For the Intrastat reporting, you need to run all reports for company code 0208 twice, once for each country. As an example, in Figure 15 you see the selection screen for the incoming goods flows for company code 0208, reporting country NL. You then have to run the same report with reporting country DE.

Figure 15
Selection transaction for Intrastat reporting
You can see the final results for the Intrastat reporting in Figure 16 (German Intrastat reporting) and Figure 17 (Dutch Intrastat reporting). Keep in mind that the document number on the dispatch report is the sales invoice number, and on the arrivals report it is the purchase order number.

Figure 16
erman Intrastat reporting

Figure 17
Dutch Intrastat reporting
Consequences of Activating Plants Abroad
When you activate plants abroad, the main change you need to look for is the correct tax code. When you search for the correct tax code using a drop-down list, the system asks you to enter the reporting country and then shows only the tax codes for that particular country. For some transactions, such as FB60, FB70, and MIRO, the system by default displays only the tax codes having a reporting country equal to the country of the company code. For this kind of transaction you can change the reporting country by clicking on the change reporting country icon.
Kees van Westerop
Kees van Westerop has been working as an SAP consultant for more than 25 years. He has an MBA degree in mathematics and a degree in finance. Kees has been concentrating on the financial modules, especially in general ledger accounting, cost center accounting, and consolidation. He also has a great deal of experience with rollouts of kernel systems and integrating finance and logistics.
You may contact the author at keesvanwesterop@hotmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.