Skip to Content
Technical Articles
Author's profile photo Qaiser Rafique

SAP SD: Reverse Tax Calculation, Tax amount rounding and warning message when sales price is less than cost price

Case company suggested retail price/Assessed price includes tax amount and freight value. The suggested material prices are region wise based on customer registered 17% tax and non-registered (further 3%) meaning 20% tax status. Now client requirements are to first calculate the freight and GST from suggested retail price.  Freight determines at the time of delivery based on gross weight. So, freight will calculate through shipment cost and not part of this post. After subtracting freight amount system should subtract the GST amount. Then from value exclusive of tax if there is any discount that applies. Then on discounted price applies Tax 17% for register and further 3% on non-registered. After that withholding tax applies on total amount. Furthermore, to avoid hassle with FBR (federal board of revenue) Tax amount must round-off. In the end compare result “if sale price is less than cost price send message at the time of creating sales order”.

The solution of this scenario is below in three parts.

Part 1- Reverse Tax Calculation

If material price is let say Material-01= 100 PKR, then reverse sales tax works in following way

Step 1: take the total price and divide it by one plus the tax rate

Step 2: multiply the result from step one by the tax rate to get the value of tax

Step 3: subtract the value of tax from step 2 from the total price

Reverse tax calculation based on 17% = 100 *100/117 or 100/1.17 = 85.47 *17%=14.52

Reverse tax calculation based on 20% = 100 *100/120 or 100/1.20 = 83.33*20%=16.66

How to achieve this

Price condition PR00 should be statistical and maintain prices based on region and customer status. You can make any access sequence based on parameters like sales org/ group (for register/non-register) to maintain registered and non-registered customer prices.


price condition

For calculation GST make another Discount condition should be statistical with calculation type should be on H.


This condition maintains the condition record of 17% or 20% based on customer status and material.

Now in pricing procedure maintain Alt. calculation type =82 and Alt. condition base value= 6.


pricing procedure

 From Sales order demo

material price Pr00 =11323.40

Tax reversal = 11323.40 x 100/ 120 = 9436.16*20% =1887.23

value exclusive of tax =11323.40-1887.23=9436.17

Part 2- Tax rounding

In your pricing procedure put Alt. calculation type 17 against your tax condition. This will resolve your problem of rounding tax value.

From Sales order demo

Part 3- message when sales price is less than cost price

In your pricing procedure maintain against VPRS condition (Subtotal B, Requirement 4 and Alt. Calculation type 5). This will through message at the time of sales order if sales price is lower than cost price.

from sales order demo

Please share your feedback for further improvement to tackle the problem.

Thanks, Cheers


Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Sumanth Gururaj
      Sumanth Gururaj

      Good one..Qaiser