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/dist.ch/division/material/country/region/customer 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