Inaccurate profit center accounting (PCA) reports can result from using profit centers incorrectly for triangular sales orders. The author demonstrates how to avoid this situation by pointing out some common mistakes and providing tips on setting up profit centers correctly.
Recently I was working for a company that wanted to use profit center accounting (PCA) for its product-related financial reports. To its surprise, the company discovered that the reports were inaccurate.
The cause turned out to be a combination of incorrect use of profit centers for its triangular sales orders combined with the standard SAP settings. A triangular sales order for this company is a sales order registered in Company A to be delivered by Company B. Figure 1 shows why this is called a triangular sales order. In triangular sales orders, the delivering and selling company may reside in one country. The country names have been added to the figure to illustrate the example used in this article.

Figure 1
lustration of a triangular sales order
If everything had been set up correctly, the revenue from the customer invoice and the costs from the inter-company invoice would have been booked on a profit center belonging to the Company A (Belgium). The revenue of the inter-company invoice and the costs of the goods would have been booked on a profit center belonging to Company B (Holland). However, because the profit center master data was set up incorrectly, all costs and revenues were reported either in Company A or Company B.
I will show you how to set up the profit center customizing and profit center master to get the correct postings. First, I'll explain some basic principles that show how the process should have worked.
Using Profit Centers
The company in my example has several product lines. Each profit center represents one product line within a country. The code for the profit center is the country code followed by a two-digit number representing the business line. The coding of the profit center numbers is such that all profit centers with the same suffix (e.g., 10 or 50) form a complete product line. A profit center is always allocated to all the company codes within the country. This definition of profit center structures is common in Europe. You can visualize the whole structure with a matrix. Since R/3 Release 4.6, such a matrix can easily be shown via transaction KE56. (Figure 2.) For previous versions, use transactions KCH5N or KEOA2.

Figure 2
Profit center allocation with KE56
KE56 is not a customizing transaction, but a "normal" one. The menu path is Accounting> Enterprise controlling> Profit center accounting>Master data> Profit center>Collective processing> Company code assignment.
Note! Before Release 4.6, you had to maintain the company code allocation of the profit centers using the standard profit center change transaction KE52. |
Triangular Sales Order
A triangular sales order is a sales order made by Company A with the goods delivered by Company B. In the enterprise in my example, problems arose if a sales order was to be delivered by a company located in a different country — for example, a Belgian company selling to a Belgian customer with the delivery made by the Dutch company.
Within the enterprise, the delivering profit center always belongs to the same product line. In the sales order in Figure 3, you can see that the sales order belongs to sales area 2800/10/10, which is related to company code 2800. This is a Belgian company code.

Figure 3
Sales order heade
The shipping tab (Figure 4) of the sales order item indicates that the delivery is by the Dutch company (0100). The Account assignment tab (Figure 5) of the sales order item shows that the item is allocated to profit center NL30.

Figure 4
Shipping ta

Figure 5
Sales order item account assignmen
How This Profit Center Is Derived
First, the program checks if it can use a substitution rule to derive the profit center. In this case, a substitution rule exists. (Figure 6.) Based on the substitution rule, the profit center to be used is BE30. (The customizing of the substitution rules is explained in the customizing section of the article.)

Figure 6
Profit center derivation
Next the system checks if the derived profit center can be used. For this sales order, the profit center BE30 cannot be used because it is not allocated to the delivering company code 0100.
If the program detects that the profit center cannot be used, it checks the material master data of the sales order item material. If the material master data for the delivering company code contains a profit center, this profit center is used. As the material master contains profit center NL30, this profit center is used.
Invoicing the Triangular Sales Order
After the goods have been delivered to the customer, invoicing takes place. The triangular sales order triggers two invoices, one for the customer and one intercompany invoice.
Figure 7 shows the profit center document for the customer invoice. The column Profit center shows to which profit center the revenue is allocated. You can see that the correct profit center BE30 has been used. This is the correct profit center because the Belgian company is invoicing the customer; therefore, the revenue must be posted on a Belgian profit center.

Figure 7
Profit center document for customer invoice
In the sales order item the profit center was originally NL30 (Figure 5). This original value has been overwritten by using profit center substitution for sales orders within the customizing settings for profit center accounting.
Figure 8 shows the profit center document for the intercompany sales invoice. You find the profit center used in the column Profit center. This invoice is created for the Dutch company code. Therefore, the revenue must also be posted on the Dutch profit center NL30. The figure shows that profit center NL30 has been used to post the revenue.

Figure 8
Profit center document for intercompany invoice
How to Implement Substitution
To derive the correct profit center in the sales order, use transaction 0KEM (menu path Enterprise controlling>Profit center accounting>Assignments to profit centers>Sales orders>Sales order substitution>Define substitution rules) to substitute the profit center. Substitution is used to replace (substitute) field values by new values based on certain criteria.
In Figure 6, two criteria must be met: the sales organization (field PCASUB-VKORG) must equal 2800 and division (field PCASUB-SPAR2) must equal 10. If these two criteria are met, then the value of profit center is set to BE30. Once the substitution is created, the substitution must be activated with transaction 0KEL. (Figure 9.)

Figure 9
Activation of profit center substitution
The active status indicator can have several values, each with a different meaning. Table 1 explains the meaning of the indicators. An "X" in the cell means that the substitution is executed.
| | Invoice | Sales order | Invoice | 0 | - | - | - | - | 1 | X | - | - | X | 2 | - | - | - | X | 3 | X | - | X | X | 4 | - | - | X | X | | | | | Table 1 | Meaning of substitution indicators | |
The substitution is not called for internal invoices and stock transfer orders. This is hard-coded in the R/3 system. The settings for the activation of the substitution don't have any influence on the substitution itself.
What Went Wrong in the Original Setup?
In the original situation, the incorrect profit center BE30 was derived in the sales order. Because of this, the profit center in the intercompany invoice was the same as the profit center in the customer invoice. As profit center reporting was not really used, nobody cared about it. When the enterprise management wanted to start using profit center reporting, it suddenly became a problem. Table 2 shows the expected and actual methods.
Process | Profit center used | Profit center used | Revenue intercompany invoice | NL30 | BE30 | Costs of goods sold | NL30 | BE30 | Costs intercompany invoice | BE30 | BE30 | Revenue customer invoice | BE30 | BE30 | | | | | Table 2 | Expected and actual results | |
Based on the customizing settings, the profit center substitution should derive the correct profit center, i.e., a Dutch profit center for the intercompany invoice and a Belgian profit center for the customer invoice. However, it didn't work for the revenue posting because the substitution doesn't work for internal invoices, which is the standard SAP setting.
The solution for this situation is to correct the profit center allocation to company codes. This meant Belgian profit centers were allocated to Belgian company codes only and Dutch profit center to Dutch company codes only. Table 3 shows the allocation before and after the correction.
Company code | 2800 (BE) | 0100 (NL) | 2800 (BE) | 0100 (NL) | Profit center | | | | | NL30 | X | X | | X | BE30 | X | X | X | | | | | | Table 3 | Profit center allocation to company codes | |
Recommendations for Setting Up Triangular Sales Orders
When setting up profit center accounting for triangular sales orders, consider this list of recommendations:
- It is very important to inventory the complete flows (sales order registration, delivery, and invoicing) for all types of sales orders within your enterprise, not just for triangular sales orders. For each type you have to define the relevant variants. For example, for triangular sales orders you may have a variant whereby the selling and delivering company reside in the same country and a variant whereby the two companies are located in two different countries. You only have to consider variants that require different profit center allocation.
- Make an overview of all the variants including the profit center allocation. The profit center allocation concerns both the posting of costs and revenues.
- Check that the profit centers are only allocated to the company codes to which they should be allocated.
- Allocate the material master data to the correct profit centers. This can be done on plant level or company code level, depending on your requirements.
- Set up the profit center substitution rules for sales orders. When setting up the rules you have to consider the way you want to use the substitution. Figure 9 shows how you can activate the substitution.
The prerequisites and criteria used for the substitution are flexible and can be adjusted to your own requirements. The sequence of profit center derivation for sales orders is important to know:
- First, the profit center from the material master is taken.
- Next, the system checks if the profit center is to be substituted. If the prerequisites are met, the system substitutes the profit center.
- Finally, the system checks if the profit center found is valid for the company code. If not, the original profit center from the material master is used again.
- Create and run test scenarios for all the variants of the sales order types you have inventoried. Check that the actual profit center allocation equals the expected allocation.
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.