Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
alldantas
Product and Topic Expert
Product and Topic Expert
This blog post describes the steps to configure the SAP S/4HANA Cloud to meet custom (e.g. new country localization) requirements for Tax Code determination in Purchase Documents using the pricing Condition Technique. This extension scenario is implemented using Business Configuration (SSCUIs).

Business Need


Before we go into the details of the configuration itself, let’s understand the Business Need context.

Problem statement: Tax Code on Purchase Document Item is not being automatically determined or it is being wrongly determined.

Tax Code is an essential attribute of a purchase document item. It is used to retrieve tax rates and other subsequent determinations (accounting determination, tax reporting, etc.). So, to avoid any possible manual user error in this assignment, it must be automatically determined based on the context data (master data coming from the plant, material, etc. and document data).

Main Scope Items (Scenarios) reached by this configuration:

Business and Configuration Flows


See below a simplified business process and application configuration (shown in blue) flows. Thanks mohamed.shawky2 for sharing this very useful document.


Simplified Business Process and Application Configuration Flows




Prerequisites for Configuration


You have administrative access to SAP S/4HANA Cloud and have implementation and configuration experience on the system.



Required Authorizations























Business Role Business Role ID
Configuration Expert - Business Process Configuration SAP_BR_BPC_EXPERT
Tax Specialist SAP_BR_TAX_SPECIALIST
Purchaser SAP_BR_PURCHASER





 

Standard Delivered Content


As part of the standard content for SAP S/4HANA Cloud, SAP deliveries the pricing condition TTX1 (Non-Deductible Tax) that already has a configuration for tax code determination using the condition technique.

More details on this delivered content (as well for your own configuration) can be accessed via the SSCUIs under (Application Area) Sourcing and Procurement, (Sub Application Area) Master Data, (Item Name) Pricing. Screenshots with the relevant content can be found below in section TTX1 – Delivered Content.

Some examples of condition records for a starter pack country Bahamas (BS) are shown below in section TTX1 – Example of Delivered Condition Records. The resulting determination can be seen on Example of Determination from the Delivered Content section.

Then, to demonstrate a possible custom configuration, we quickly show an Example of Custom Configuration, followed by an Example of Custom Condition Records for it and its subsequent Example determination from the customization.

Login for configuration


Log in as a Configuration Expert in your quality (Q) system. From the Implementation Cockpit tab, open the app Manage Your Solution.

Verify whether the local country version is set on the country you wish to configure. If not, you should choose the respective country by clicking on the button Set Country Version, located in the right bottom corner of your screen. For the examples here we are going use Bahamas (BS).

Once the country is set correctly, click on the first option Configure Your Solution. Please keep in mind that a business change project must be open, in order for you to be able to record the changes.

TTX1 - Delivered Content


Once you are logged in for configuration, filter it to (Application Area) Sourcing and Procurement, (Sub Application Area) Master Data, (Item Name) Pricing. Tip: you can also just type "500126" on the search field (Configuration Item ID).


Configure Your Solution - Source and Procurement - Master Data - Pricing




  • Go to "Step 1 - Set Pricing Condition Types - Purchasing" (ID 101094) and click on Configure button, then click on the Position button and inform TTX1 as the Condition Type. Once positioned, click on the Details button (Ctrl+Shift+F2) and you will see the following screen:



Condition TTX1 - Details




  • Now you can go back to the Configure Your Solution and go to "Step 2 - Set Calculation Schema - Purchasing" (ID 101095) and click on Configure button, then select the Schema A7Y001. Double click on the "Control data" to open schema overview and you will see the following screen - notice the condition TTX1 on Step 850:



Procedure A7Y001 - Overview




  • Now you can go back to the Configure Your Solution and go to "Step 6 - Determine Calculation Schema for Standard Purchase Orders" (ID 102144) and click on Configure button. Notice here that for Schema Group 7Y10 for Purchasing Organizations, combined with any of the Schema Group for Suppliers, the Procedure will be set as A7Y001:



Schema Group 7Y10 Procedure Determination




  • Other relevant configuration is the access sequence. Go to the "Step 10 - Define Access Sequences" (ID 102889) and click on Configure button, then click on the Position button and inform TTX1 as the Access Sequence. Once positioned, select this line and double click on the Accesses to see the tables of this access sequence - you can also select any specific table and click on the Fields to explore which fields are used for the determination:

    • One very important option here is the Exclusive indicator. We recommend you to set it as true, so to stop reading next tables once you have already found your condition record.





Access Sequence TTX1 - Overview


 

TTX1 - Example of Delivered Condition Records


Now you must log with Tax Specialist role.

  • Go to the app Set Tax Rates (Purchasing), inform the Condition Type TTX1, then click on the button Condition Information (Shift+F4), inform the Destination Country (in our example here, BS) and finally click on button Execute (F8). You must see a list of condition records for this country with the tables that contains any value:



Condition Records TTX1 - List




  • You can also go back and select to view the condition records by Key Combination (Shift+F5). Select, for example, Taxes: Material, Plant and Origin, then click on the button Choose, inform the Destination Country (in our example here, BS) and finally click on button Execute (F8). You must see a list of condition records for this country for this specific table - notice in the last column the Tax Code:



Condition Records TTX1 - Material, Plant and Origin


 

Example of Determination from the Delivered Content



  • Here I logged with Purchaser role to show a Purchase Order Item created for this country and the relevant organizational structure we have for the standard configuration:



Purchase Order Item - Tax and Pricing details




  • And here, for demonstration purposes only, using the backend system (via a support incident), we could see from the ME23N the Pricing Analysis, with the Access Details for the TTX1.



Pricing Analysis in the backend system



Pricing Analysis in the backend system - condition record details


 




Example (dummy) of Custom Configuration


ATTENTION! This is a very unreal example, just to demonstrate a creation of a custom schema, with custom access table, with custom pricing schema. Usually, the access tables are created only if there is not a standard table available. And also, you should use Country and/or Company Code as your first fields to make sure this condition records will only apply to your specific scenario - remember that your SAP S/4HANA Cloud could be used in many other countries and company codes.

For demonstration purposes only, we are going to create a new access table with just the material group field and assign this table to a new access sequence, which in turn is going to be used in a new condition type, that is going to be used in a new pricing procedure, that finally will be configured to be determined in replacement of the standard procedure.

Once you are logged in for configuration, filter it to (Application Area) Sourcing and Procurement, (Sub Application Area) Master Data, (Item Name) Pricing. Tip: you can also just type "500126" on the search field (Configuration Item ID).

For all the SSCUIs, remember that you have access to the Configuration Help by clicking on the dropdown option of the Configure button. Read all the documentation to make sure you are following the rules and recommendations (e.g. namespaces).

  • Go to "Step 8 - Create Condition Table" (ID 102890) and click on Configure button. You can create the new table 999 (you an do by copying from some existing table or start from scratch). Then you need to adjust the Selected Fields accordingly.

    • Validity Period is a great option, allowing you to set the condition records validity as time-dependent.





New Access Table 999






    • Once you finished the configuration, click on Generate (Shift+F4) button to "activate" your new table.





Generate Access Table 999



Access Table 999 Generation Log




  • On "Step 10 - Define Access Sequence" (ID 102889), click on Configure button (notice it is a cross-client table), then click on New Entries (F5) and create the new access sequence ZTX1, with its specific Accesses (in our example, only access No. 40 with Table 999), and its corresponding Fields (which are automatically copied):



Access Sequence ZTX1




  • Go to "Step 1 - Set Pricing Condition Types - Purchasing" (ID 101094) and click on Configure button, then click on the Position button and inform TTX1 as the Condition Type. Once positioned, select this condition and click on the Copy As... (F6) button and inform the new condition type ZTX1.

    • Change the Access Sequence to the one we created before (ZTX1).

    • You may optionally change the description, but do not change any other control fields, because they are very important to set this condition as a tax determination condition.





Condition Type ZTX1




  • Now, go to "Step 2 - Set Calculation Schema - Purchasing" (ID 101095) and click on Configure button, then select the Schema A7Y001 and click on the Copy As... (F6) button and inform the new Calculation Schema Z7Y001.

    • Change the condition type on step 850 to our ZTX1 condition created before.





Calculation Schema Z7Y001 - Overview - Notice the ZTX1 replaces TTX1




  • Finally, on the configuration side, go to "Step 6 - Determine Calculation Schema for Standard Purchase Orders" (ID 102144) and click on Configure button. We then replace the standard A7Y001 by our new created Z7Y001:



Determination of Calculation Schema - Changing to the New Schema


 

Example of Custom Condition Records


Now you must log with Tax Specialist role.

For this example, we will use Material Group L001 (Trading Materials), which is the product we will use in the test. Also, we will set the Tax Code as V2, just to differentiate from the previous determination (V1) that was done using the standard configuration.

  • Go to the app Set Tax Rates (Purchasing), inform the Condition Type ZTX1, then click on button Execute (F8).

    • You can then create new Entries, as for example for our L001 Matl Group.

    • Remember that the Valid On date is very important, if you for example wants this determination to be valid only after a given date (example from 1 January 2021 on).

    • Notice that the Tax Code column is the most important one for this condition type.





Create Condition Record for L001




Example determination from the customization



  • Here I logged with Purchaser role and created a new Purchase Order Item for this country and the relevant organizational structure for our custom configuration:

    • As we could see below, the tax code V2 was determined.

    • Notice that since V2 is not actually maintained in the system, there is no "value" being calculate (but that is just another configuration):





Purchase Order Item - Tax and Pricing details


 

  • Again, for demonstration purposes only, accesing the backend system (via a support incident), we could see from the ME23N the Pricing Analysis, with the Access Details for the ZTX1.



Pricing Analysis (in the backend system) for the new ZTX1







Conclusion


As we have seen above, TTX1 is the standard condition type that is used in S/4HANA Cloud to determine the purchase tax code.

Customers can configure their own determination using the condition technique accordingly to their needs.

By defining and configuring your tax code determination following the suggested steps above, you can customize and then test the tax code determination in your purchase documents. Please always ensure testing your configuration in the quality system, before releasing the business configuration project from the quality system to the productive system.

Check other related configuration



References



(Some) Final remarks



  • First thing you need to do is to plan ahead (based on your current and if possible your future needs \_o_/) what will be your access tables and in which sequence you should perform their reading (from the more specific tables to the more generic ones). Together with that, of course, you need to define the tax indicators for the Master Data (e.g. Tax Indicator for the Material).

  • Some of the other configuration options can also be used here (e.g. Schema Group for Suppliers - to, for example, determine specific Pricing Procedures for a given scenario). Just remember to configure the whole chain of determination that would depend on your new created value(s).

  • If you are not already familiarized with condition technique, make sure you test your configuration results more broadly to avoid unexpected results.


Thank you for reading this blog post. Please send your feedback or collaboration below.
17 Comments
bruno_renzo
Employee
Employee
So cool alldantas! It is amazing to see how flexible S/4HANA Cloud can be.

Very nice article, super detailed and well written!
fegutieri
Product and Topic Expert
Product and Topic Expert
Excellent information alldantas ! Thanks for sharing such a valuable information !
mosmart
Participant

In the context of S/4Hana CE 2008, Is it possible to add fields to the Sourcing & Procurement Pricing field catalogue? Equivalent to Sales SSCUI 103118 (Change Field Catalog).

alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Morne,

For Sourcing and Procurement Pricing unfortunately there is no such configuration for the field catalog as it is in the Sales. If I am not wrong it was also not available in the On Premise IMG.

Sales usually requires more flexibility due to the internal pricing strategies - in Purchase you take the pricing as it is. Of course, that reflects in the creation of other condition types / tables for tax, etc.

Have you found some specific field needed in the Procurement? Describe a little bit what could be your scenario.

Best regards!

 
Christoph_Lehne
Advisor
Advisor
side-remark:

The introduction of the ZTX1 condition is possible, but would  - strictly speaken - not have been needed.

Any SAP condition type can point to a custom access sequence, which is regular SSC UI fine-tuning.

 
Christoph_Lehne
Advisor
Advisor
a side-remark to the Sales Pricing Field Catalog with SSCUI 103118:

In cloud, *only* extension fields can be added, no SAP fields.

This restriction (*) will hold true, when purchasing will once go for the extension field scenario, i.e. an extension field in a purchasing document shall become pricing-relevant.

The reason for the restriction is, that the field transport from the document to pricing needs to be guaranteed. We at SAP development simply wanted to avoid addition cloud logic for the cloud use-case. By the way, the field transport for extension fields is done in a generic way.

In contrast to cloud, in oP, SAP standard fields can be added by the customer him/herself, which is modification-free, as the underlying DB-table is a (client-independent) G-table. Customer inserts in G-tables are not overwritten by SAP => no modification. For oP, the mentioned field transport has to be done with a BAdI implementation in oP (if no yet done by SAP e.g. via move-corresponding).

 




And yes, I agree to Morne, that the purchasing pricing field catalog is rather small compared to the (probably many more) possible SAP fields.

The only possibility is to approach the corresponding product owners or solution managers to get more SAP fields into the field catalog for the upcoming releases. Development can add the fields and check the field transport.

 

Christoph Lehner, Pricing Development

 

 
alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
Thank you very much for your great remark Christoph!

Very well explained! Almost a blog post itself 😉

 
alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
That is true! Anyway, just trying to keep things organized!
Irene_Gordon
Explorer
0 Kudos
Great blog ! - for TTX1, is there a way to see what is behind the routine '93' associated with this as it doesn't appear in S/4H On prem.

many thanks, Irene
alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Irene, in On Prem you can access it via the transaction VOFM.

Go to Requirements, then Pricing, then choose the formula 93 and click on the icon Source Text (or F5).

It will open the Include for the LV61A093.

You can also use for Copying Requirements, Data Transfer, Requirements, Formulas etc.

Best regards

 
Irene_Gordon
Explorer
0 Kudos
Thanks for the reply Andre. Sadly 93 doesn't exist in On Prem, hence my question... I wondered what routine was delivered as Standard in cloud but not available in the On Prem version. regards, Irene
alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Irene, what is your OP version? Eventually this is a new formula introduced recently, so it could be that an older version still does not have it.
mosmart
Participant
0 Kudos
Hi Andre, I designed an "essential feature" solution in S4HC CE since 3rd party solution vendors and and SAP's add on could not be implemented in the project timeline. I wanted to mirror the sales solution in procurement, but this was not possible since I could not add extension fields to the procurement pricing field catalog. Consequently, I had to re-purpose a SAP standard field in procurement. This is not ideal for at least 2 reasons. First, the field is earmarked for integration with ARIBA in a future project. Secondly the field is in the general data of the product master. The solution requires at least a plant level field. If you need more details PM me. Else, I have voted for  Improvement Request Details - Customer Influence (sap.com)  which has been acknowledged.
alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi there,

Just found an older blog post from arun.yesodharan / arunyash87 / arunyesodharan (profile and linked profiles).

It is from the OP SAP ERP world, but goes with the same approach. Good to know that some old and good practices are still evolving.

Automatic Tax Code Determination in PO

Regards to all!
mohamedshawky
Associate
Associate
0 Kudos
Thanks Andre it is very useful blog
alldantas
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Mohamed,

Thank you very much for creating the business and configuration flows. I added the image with them to the blog, so users can have a handy cheat sheet 😉

Best regards,

André
sivasankarans
Explorer
0 Kudos

Very useful and informative write-up. Thanks a lot. 

I would like to check BTW, how to access tax data relevant CDS views like we used to refer to tax condition record and go back to tax procedures and tax categories in the back end e.g. ECC / R3 earlier release Tables like T007, T007A, T007C etc. 

In S4H Public Cloud, I find few CDS Views like I_TaxBalanceGrop, I_TaxBaseBalancesGroup etc, but they are not accessible as a frontend. Another table / view I_OperationalAcctgDocTaxItem - almost has all relevant Data that we see in BSET except the Tax Rate.  

Is there any better way to fetch tax data like Tax Code, Tax Category, Tax Rate and various Tax amounts in a single point of source? 

Any help is much appreciated 

Thanks, Sivasankaran