ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sharan Foga <sha...@apache.org>
Subject Re: Tax exemptions / price including tax
Date Tue, 31 Jul 2018 10:37:18 GMT
(re-sending this message as my first response didn't get through again :-)

Hi Frank

I'm caught up with some other tasks at the moment so don't have time to respond fully. I think
that the best next step would be to create a JIRA ticket on our issue tracker. You can add
all the main details and examples from this discussion and also any attachments. This will
help us understand the issue using some real data and fix it properly.

https://issues.apache.org/jira/projects/OFBIZ?selectedItem=com.atlassian.jira.jira-projects-plugin%3Asummary-page

We can continue the discussion in the ticket itself or on the dev mailing list if fixing it
is going to have a significant impact.

Thanks
Sharan

On 2018/07/31 10:02:41, Frank Herrman <f.herrman@typify.com> wrote: 
> In adition to my last e-mail I just found out that it still is not working as expected,
even when I use prices excl. taxes. I dived into the code and found in applications/order/groovyScripts/entry/OrderReadHelper.java
the function that gets the price on line 2401 (public static BigDecimal getOrderItemSubTotal(GenericValue
orderItem, List<GenericValue> adjustments, boolean forTax, boolean forShipping))
> 
> 
> 
> The first line gets the unit price from an order item (orderItem.getBigDecimal("unitPrice");),
which always includes taxes. Now I believe the real issue is that it should store the price
excl. taxes in the line item as well. But this affects probably a lot of sections of the system.
To test it I tried to divide the unitPrice by 1.21 in that function. This did return the right
price and right total, but the tax exempt was of course still calculated based on the price
of 20 euro excl. taxes (which is 4.20 euros instead of 3.47 euros).
> 
> 
> 
> Anyway, maybe not the right discussion for the user list, but there really is something
wrong here. It doesn't seem to be a configuration error.
> 
> 
> 
> Kind regards,
> 
>  
> 
> Frank
> 
> 
> 
> Op 30-07-18 11:35 heeft Frank Herrman <f.herrman@typify.com> geschreven:
> 
> 
> 
>     Hi Sharan & others,
> 
>     
> 
>     
> 
>     
> 
>     I have set it up like this now:
> 
>     
> 
>     
> 
>     
> 
>     * All product prices are connected to the Dutch tax authority, no tax rate set. Tax
included = Y
> 
>     
> 
>     * I have created 2 tax authorities for The Netherlands and Belgium, connected to
the same party ('belastingdienst', dutch authority)
> 
>     
> 
>     * The Dutch tax authority has the tax set up to 21% sales tax for both countries
> 
>     
> 
>     * The Belgium customer is set up to have a tax exempt for BE and 'belastingdienst'
> 
>     
> 
>     
> 
>     
> 
>     When I look in the prices table of the database I see this:
> 
>     
> 
>     https://ibb.co/kgf8R8 (don't know if images get stripped out, so just pasted a link)
> 
>     
> 
>     
> 
>     
> 
>     This is correct for price without tax and the tax amount.
> 
>     
> 
>     
> 
>     
> 
>     When I create an order within Ofbiz I still get this:
> 
>     
> 
>     https://ibb.co/h77BeT 
> 
>     
> 
>     
> 
>     
> 
>     Which is incorrect (tax exempt is correct, but the amount of 4.20 and the final price
of 20 is not). It seems the system keeps using the 'price' column in the database instead
of the calculated prices and adds tax to it. Other then that it seems the tax exempt functionality
is working as expected now.
> 
>     
> 
>     
> 
>     
> 
>     I just created a script that checks all prices if some of them are set to Tax included
= Y. If that is the case it will set it to 'N' and set the price field to the price excl.
VAT. It is not a nice solution, but this makes it easier to maintain and solves my issues
for now.
> 
>     
> 
>     
> 
>     
> 
>     Kind regards,
> 
>     
> 
>      
> 
>     
> 
>     Frank
> 
>     
> 
>     
> 
>     
> 
>     Op 29-07-18 15:57 heeft Sharan Foga <sharan@apache.org> geschreven:
> 
>     
> 
>     
> 
>     
> 
>         Hi Frank
> 
>     
> 
>         
> 
>     
> 
>         The options I gave were workarounds for if you needed to get something up and
running quickly. I agree with you that long term we need to solve it properly. 
> 
>     
> 
>         
> 
>     
> 
>         Analysis Needed
> 
>     
> 
>         ==========
> 
>     
> 
>         Why doesn't the include tax in price flag work properly for Tax authority setup?
> 
>     
> 
>         
> 
>     
> 
>         From my perspective I also see two requirements (so happy to get your feedback
and anyone else's too :-). 
> 
>     
> 
>         
> 
>     
> 
>         Requirement 1:
> 
>     
> 
>         =========
> 
>     
> 
>         Using your example as the use case - we need to be able to flag that a Belgian
customer is liable for tax in the Netherlands. Note this applies in the case where it is B2C
because the Belgian customer needs to pay Dutch tax. So for a Sales Order from a Belgian customer
there needs to be line calculated for Dutch tax using the Dutch tax rate.
> 
>     
> 
>         
> 
>     
> 
>         I think the nexus flag in the Tax Authority parties tab is supposed to be used
for this but it's not working as such because in OFBiz now the tax calculation for the Sales
Order is based on the customer delivery address. 
> 
>     
> 
>         
> 
>     
> 
>         Requirement 2:
> 
>     
> 
>         =========
> 
>     
> 
>         Again using your example as the use case - we need to be able to flag that a
Belgian customer is exempt from being taxed by the Dutch Tax Authority. Note this applies
in the case where it is B2B where the Belgian customer is a company/business.  So for a Sales
Order from a Belgian customer there needs to be a line on the Sales order saying that the
order is exempt from Dutch tax and the amount that has been exempted.
> 
>     
> 
>         
> 
>     
> 
>         The exempt flag in the Tax Authority parties tab is supposed to be used for this
but it's not working as such because in OFBiz now the tax calculation for the Sales Order
is based on the customer delivery address.
> 
>     
> 
>         
> 
>     
> 
>         Please feel free to comment or give me any feedback on any of these points.
> 
>     
> 
>         
> 
>     
> 
>         Thanks
> 
>     
> 
>         Sharan
> 
>     
> 
>         
> 
>     
> 
>         On 2018/07/29 12:51:18, Frank Herrman <f.herrman@typify.com> wrote: 
> 
>     
> 
>         > Hi Sharan,
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > Thank you very much for your reply, this really helps me. The difficulty
with entering prices excluding VAT for the store managers is that you want to have commercial
sales prices. You rather sell your product for 9.95 euro's then for 10.13 euro's for example.
So if you have to enter prices excluding VAT you need to keep your calculator with you. That
is not very user-friendly.
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > Your second option, defining the tax authority for every product does sound
like a good solution. I might create a script even to set it automatically if the store managers
forget about it. From what you are saying (and I already was thinking) we don't really need
the Belgium tax authority. We don't pay taxes in Belgium, just in the Netherlands. We should
get the exempt working for the B2B customers on the Dutch authority.
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > I will be playing around and let you know what solution worked for us. I
am also willing to provide input for Jira or even in code, just need to find my way around
the standards first ;-). Thanks again.
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > Kind regards,
> 
>     
> 
>         > 
> 
>     
> 
>         >  
> 
>     
> 
>         > 
> 
>     
> 
>         > Frank
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > Op 27-07-18 16:18 heeft Sharan Foga <sharan@apache.org> geschreven:
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     Hi Frank
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     There are a few things to cover here so I’ll answer what I can.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     * Including VAT in Product Prices *
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     In general for Sales Orders - the tax setup and flow for OFBiz is mainly
based on the US system where the product pricing does not include sales tax (or VAT). The
Sales Tax (or VAT) is calculated once you have selected where the order will be shipped to.
OFBiz uses the shipping address to define which Tax Authority to use to calculate the tax.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     That being said there are some ways around it.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     1.  You can setup your product pricing to exclude VAT. This means that
it will be added back into the Sales Order when it is created. 
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     2. You can setup your product price inclusive of VAT then add the tax
authority at the product pricing level (so in the Price tab for the actual Product). Add the
Tax Authority, and set the include tax in the price. Don’t include a rate at this level
because (OFBiz will ignore it!). The tax rate is taken from the main Tax Authority setup.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     What this will do – is that it will assume that the tax is already
included in the product price so at Sales Order entry it will separate it out. So if you set
the product price at 100 Euros and have created the Dutch Tax Authority using 21%  then at
Sales Order Review you should get an adjustment line showing the 17.36 Euros VAT. (Which is
21% VAT on 82.64, and 82.64+17.36 = 100)
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     What I found was missing was that it doesn’t add the VAT adjustment
into the VAT Total as part of the Sales Oorder summary. The adjustment message actually says
VAT not added to totals! (So that is a potential fix that needs to be done).
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     3. We can look for someone to volunteer to do some more analysis on
why the include tax in price flag on the Tax Authorities are not working.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     If you need to get up and running quickly then options 1 and 2 should
help.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     * Tax Exemptions *
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     This is interesting because OFBiz has some functionaliy that calculates
tax exempt amounts based on the flags set for the customer in the Tax Authority Parties tab.
 For Purchase Order it calculates and displays the exempt tax amounts– but for Sales Order
it seems to be a bit different.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     So what is happening with your setup is that you have created a Dutch
Tax Authority and a Belgian Tax Authority, so when you create a Sales Order, OFBiz is looking
at the delivery address and then using the Tax Authority linked to the delivery location to
calculate the taxes. (I think Belgium has 21% VAT too!).  This means that if you have a Belgium
customer, OFBiz ignores the Dutch Tax Authority and is using the Belgian one on your order.

> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     The quickest way to stop VAT being calculated on the Belgian customer
order is to remove the Product Rate from the Belgian Tax Authority and setup the Product Pricing
to not include VAT.
> 
>     
> 
>         > 
> 
>     
> 
>         >     OFBiz will then simply use the Product Price and if it is already exclusive
of VAT, it will be fine. (If it is inclusive of VAT then you will have to do a customisation
 to adjust it).
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     I've included some responses to your questions below:
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     On 2018/07/24 08:38:48, Frank Herrman <f.herrman@typify.com> wrote:

> 
>     
> 
>         > 
> 
>     
> 
>         >     > Hello there,
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Currently I am trying to find a way to implement tax exemptions.
I have found multiple discussions about this issue which is common in Europe. We want to sell
from The Netherlands to Belgium. When we sell to other businesses there we do not have to
charge the VAT (21%). This post brought me close:
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > http://ofbiz.135035.n4.nabble.com/German-store-with-vat-selling-to-europe-and-other-countries-without-Vat-tp4642750p4642752.html
(especially the part after ‘secondly’), but it is still not working. While typing this
e-mail I reproduced all my steps and even got a bit further ahead.
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > The things I did so far:
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   I created two parties, the Dutch and Belgium tax authorities.
I went to accounting->tax authorities to make them tax authorities within Ofbiz for the
two beforementioned countries. I have set ‘require tax id for exemption’ to ‘N’ for
testing purposes (want to make sure this is not the issue).
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   In the product rates tab for the Dutch authority (/accounting/control/EditTaxAuthorityRateProducts?taxAuthPartyId=BELASTINGDIENST&taxAuthGeoId=NED)
I have added Value Added Taxes of 21% for each of my stores.
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   In the Parties tab (still of the Dutch tax authority) I connected
the Belgium Party with ‘Is exempt’ set to ‘Y’.
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Still no luck, it keeps charging 21% VAT when I create an order
within Ofbiz.
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Then I tried to connect the party to the Belgium tax authority
and set ‘is exempt’ to ‘y’ as well. Now when I placed an order I got a really nice
overview:
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Adjustment: Sales Tax  Jurisdiction: Belgium [BEL] Rate: 21% Customer
Tax ID: FODFINANCIEN Exempt Amount: 4.2
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > The grand total was still the original amount including VAT (20
euro’s in this case). It should have charged 16,53 euro while the exempt is 3,47 euro. So
it seems to ignore the fact that the price includes VAT already. That seems to be the bigger
issue.
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > So some things I don’t get:
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   How come that it does something different when I connect
the party to the Belgium tax authority (exempt=y) then to the Dutch authority (exempt=y)?
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     I think the Parties tab is used for linking customers to tax authorities.
I don’t think it is for linking tax authorities to other tax authorities which is why you
might be getting weird output. The associations tab is for linking tax authorities to tax
authorities. 
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   In the product pricing I can set the tax authority, tax rate
and if prices include VAT (set to Y of course). Do I need to set that if I set the VAT percentage
in the Tax Authority? I tried adding and removing it, didn’t make any difference.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     To me this should have been an override setting but it isn't working
as such. In fact the tax rate is completely ignored and will always be taken from the main
Tax Authority Setup. 
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     If you do add the Tax Authority here, it should make a difference in
on the Final Sales Order Review screen.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   How can I make sure prices are including taxes? I checked
the store settings, but couldn’t find anything usefull there. The stores are connected to
the Dutch tax authority. ‘Show prices with VAT tax included’ is set to ‘N’ but does
not make any difference (seems to influence webshop only, but I’m not using Ofbiz for that).
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     For the pricing, I’ve mentioned some options above. I think the store
settings are mainly for the webshop. However if you do set the 'Show prices with VAT tax included
to ‘Y’, in Sales Order entry screens  the product pricing will be adjusted. 
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     Remember I mentioned that the taxes are calculated on the customer delivery
address so the reason the Tax Authority details are needed for the Store is that it means
the tax can be calculated before any delivery address has been selected. 
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >      The only thing I’m not sure about is ‘Prorate Taxes’, I don’t
know what it means since English is not my native language. Changing it did not make any difference
though.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     My understanding of Prorate Taxes is like pro rata and means that if
there is an adjustment to the prices (e.g a discount) then calculate the tax is based on the
discounted amount rather than the original amount. (If anyone has any other understanding
then please feel to respond)
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     >   *   The difference between sales taxes and VAT within Ofbiz.
Somehow it is now showing my VAT tax rules as ‘sales tax’ where it was VAT before. I like
sales tax better since it is also showing in the grand total (as it should), but still I’m
not sure why it switched from VAT to Salex tax when I was messing around with the tax authorities.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     They are pretty much both the same thing just different names. :-) As
OFBiz became more popular in places that use VAT rather than Sales Tax, I think it was added.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     My thought is that it would be good to look at and tidy up the VAT functionality
especially if there are some things that are not working as expected.  I’ll check JIRA to
see if there are any outstanding  issues logged that are linked to what I’ve mentioned here.
 Also real use cases are good so if you can help contribute then that also can help others
understand the problem and provide solutions.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     Sorry for the long post and hope this helps.
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     Thanks
> 
>     
> 
>         > 
> 
>     
> 
>         >     Sharan
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Thank you for reading this far and hopefully someone can shed some
light on the pricing/VAT system. It seems really powerfull, but I’m a bit lost.
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Best regards,
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > Frank
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     > 
> 
>     
> 
>         > 
> 
>     
> 
>         >     
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         > 
> 
>     
> 
>         
> 
>     
> 
>     
> 
>     
> 
> 
> 

Mime
View raw message