Product change - Adding Price inc vat fields
Last changed: 2022-06-14
New functionality, optionally available for use.
Background
Displaying price from data in Norce [Storm] require some calculations in the Storefront, if you wants to show prices including VAT. The price field on product-, price- and basket-entities are all excluding VAT.
Norce stores all price excluding VAT, since calculations and price rules are always based on excl VAT prices and this makes it more efficient.
With this change we will provide a nice displayable price with VAT included and nicely rounded based on the business rule set up. This will be new field, returned next to the old, so you can pick the field you want in your app. Additionally we have added a new input parameter, where needed, SalesAreaId, if you want to change the VAT region from the application default.
That this might change the PriceIncVat (but not the old field), since the actual rate might be different.
Changes
Storm API
For make this possible there are two changes done for all methods calls returning prices in any way.
- New input parameter “SalesAreaId” (where there wasn't one earlier)
- New Price field “PriceIncVat” (or similar), in the result.
Changes implemented
Entity | New inc VAT field | Corresponding to field | Methods calls |
---|---|---|---|
Product | PriceIncVat | Price | GetProduct All GetProductByXXX |
ProductId | PriceIncVat | Price | SearchProductsLite2 |
ProductItem | PriceIncVat | Price | ListProducts ListProducts2 ListPromotionProducts All ListProductsByXXX |
ProductPrice | ValueIncVat | Value | ListVariantItems ListProductPriceQtyBreak ListProductByPriceList2 |
BasketItem | PriceDisplayIncVat | PriceDisplay | All Basket and Checkout calls |
SummaryItem | AmountIncVat | Amount | All Basket and Checkout calls |
All new field have 4 decimals, but are only using the allowed amount for respective currency
Exceptions
There are a few Methods that has not gotten this upgrade
- Obsolete methods Older methods, market as obsolete are not taken into account in this upgrade. You should upgrade from those methods, if you want to use these fields.
- GetPriceListItem (Under Customers sub-domain) Mostly for B2B use cases, and should not be handled without VAT calculation. Also, the insert and update corresponding methods are always using excluding VAT amounts.
Norce [Storm] Channel Feed
Not changes to the channel feed export, at this time.
Consequences
With this change you can start using the new xxxIncVat field where you need, instead of calculating it yourself.
The old fields are still there and will be usable as well.
Just as before, Norce’s rounding logic is done for a specific market (sales area), which means that a specific VAT rate is taken into account. However, you can have another sales area on the basket created, which could make the current VAT rate something else. In this case the rounding logic will not make a nice looking price. In this case it is up to you how you want to display this to the user.