Developer forum

Forum » Ecommerce - Standard features » Reverse Charge VAT

Reverse Charge VAT

Aki Ruuskanen
Aki Ruuskanen
Reply

Hi,

I have some problems getinng the Reverse Charge VAT working. 

I have set the Reverse Charge VAT on the eCommerce settings for the website. 

I have set the Reverse Charge VAT for the country.

I have set the Reverse Charge VAT for the user that I am testing with. 

But when I am logged in with the user is still get the VAT amount with GetString("Ecom:Order.OrderLines.Total.PriceVAT") and the percent with GetString("Ecom:Order.PriceWithoutFees.VATPercentFormatted")

Is there something more I need to do?

 

 

 


Replies

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi,

Does anyone on Dynamicweb have any input on this? 

How is it supposed to work? Should the VAT-tag be zero when a customer has "Reverse Charge VAT" checked?

Regards / Aki

 
Morten Bengtson Dynamicweb Employee
Morten Bengtson
Reply

Hi Aki,

Yes, I believe the VAT template tags should return zero, if reverse charge for VAT is enabled. 

  1. Does the solution have live integration or any custom providers that might affect prices?​
  2. Was the carts created using the shopping cart app on a page or by using the web api?
  3. Was the carts created before or after changing the reverse charge settings?
  4. Can you provide some more details, preferably a dump of data for the order and order lines?
    Try to execute the following sql statement (replace the where condition) and then post the results here:
SELECT 
OrderId, OrderDate, OrderVATCountryCode, OrderCustomerAccessUserId, OrderReverseChargeForVat, CountryReverseChargeForVAT, AccessUserReverseChargeForVat, OrderVAT, OrderPriceVAT, OrderShippingFeeVAT, OrderPaymentFeeVAT, OrderTotalDiscountVAT,
OrderLineId, OrderLineType, OrderLineBOM, OrderLineReverseChargeForVat, OrderLinePriceVAT, OrderLineUnitPriceVAT, OrderLineTotalDiscountVAT
FROM EcomOrders
LEFT JOIN AccessUser ON OrderCustomerAccessUserId = AccessUserId
LEFT JOIN EcomCountries ON OrderVATCountryCode = CountryCode2
LEFT JOIN EcomOrderLines ON OrderId = OrderLineOrderId
WHERE OrderId = 'YOUR ORDER ID HERE' 

Maybe that can tell us more about why the values are not zero.

/Morten

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi Morten,

Yes, the solution has a priceprovider for retrieving prices from BC. (Should not affect VAT as it is handled in DW, or...?)

The cart is created with the shopping cart app.

Just to be sure, I emptied the cart and created a new one, with same results. 

Here is the result of the SQL. 

OrderId OrderDate OrderVATCountryCode OrderCustomerAccessUserId OrderReverseChargeForVat CountryReverseChargeForVAT AccessUserReverseChargeForVat OrderVAT OrderPriceVAT OrderShippingFeeVAT OrderPaymentFeeVAT OrderTotalDiscountVAT OrderLineId OrderLineType OrderLineBOM OrderLineReverseChargeForVat OrderLinePriceVAT OrderLineUnitPriceVAT OrderLineTotalDiscountVAT
CART41798 2023-03-31 08:13:24.077 SE 16303 1 1 1 21,42 21,42 21,42 0 0 OL125710 0 0 1 0 0 0    
 
Morten Bengtson Dynamicweb Employee
Morten Bengtson
Reply

Thanks for providing more details.
It seems that the problem is related to VAT on fees - in this case the shipping fee contains VAT.
We fixed a bug related to that in version 9.14.4 (Dynamicweb.Ecommerce 1.14.19).
Which version are you using?

/Morten

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi,

That seems to explain it. This one runs on 9.14.3 so an upgrade should fix it. 

Thanks for the input. I'll upgrade my dev enviroment and give it a try. 

Regards / Aki

 

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi again Morten,

I have upgraded my local solution and made som tests. 

if I set the "Reverse Charge VAT" on the language and the eCom settings in the site. All users get the reverse charge. 

Here is an example. AccessUserReverseChargeForVat is 0 but the VAT is set to 0. 

OrderId OrderDate OrderVATCountryCode OrderCustomerAccessUserId OrderReverseChargeForVat CountryReverseChargeForVAT AccessUserReverseChargeForVat OrderVAT OrderPriceVAT OrderShippingFeeVAT OrderPaymentFeeVAT OrderTotalDiscountVAT OrderLineId OrderLineType OrderLineBOM OrderLineReverseChargeForVat OrderLinePriceVAT OrderLineUnitPriceVAT OrderLineTotalDiscountVAT
CART40837 2023-03-31 10:39:52.687 SE 16303 1 1 0 0 0 0 0 0 OL123483 0 0 1 0 0 0
 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply
This post has been marked as an answer

Yes, that is correct and working as intended.

On countries and on vatgroups you can enable reverse VAT = "Allow reverse VAT charge" would be a better label.

On websites and  users you then set "Enable reverse VAT charge (where reverse charge is allowed". So if it is enabled, and VAT is calculated in the context of a country or vat group with "Allow reverse VAT charge" the 0% will kick in.

So if you want to calculate vat for users by default, you do not set the "Reverse charge for vat" on website settings. Then if you have some users where reverse vat charge is enabled, you do that on the user only.

Votes for this answer: 1
 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi Nicolai,

That setup works as expected. Thanks for clarifying. 

I agree, that renaming the lables to mayby "Allow Reverse Charge VAT" and "Apply Reverse Charge VAT" would make it a bit easier to understand the differences.

Regards / Aki

 

You must be logged in to post in the forum