OCA / account-financial-tools

Odoo Accountant Financial Tools and Utils
GNU Affero General Public License v3.0
308 stars 750 forks source link

VAT validation must be based on delivery address instead of invoice address #1645

Closed source-promo closed 11 months ago

source-promo commented 1 year ago

Module

Check VAT on invoice validation

Describe the bug

When there is a VAT required for a specific fiscal position, its checking for the VAT of the customer instead of delivery address and throws error / warning. According to regulations, the taxes and also VAT depends on delivery address and not on customer / invoice address.

To Reproduce

Affected versions:

Steps to reproduce the behavior:

  1. Create invoice with customer which does not have a VAT.
  2. Choose delivery address with contact which has a valid VAT assigned
  3. Select fiscal position which has "VAT required".
  4. Try to confirm the invoice and it will raise error "You are trying to validate a customer invoice/refund with the fiscal position 'XXX' that require the customer to have a VAT number. But the Customer 'XXX' doesn't have a VAT number in Odoo. Please add the VAT number of this Customer in Odoo and try to validate again.

Expected behavior It must validate the VAT on contact of the delivery address instead of contact of customer. So if delivery address contact has assigned a valid VAT its must not throw an error.

Additional context Add any other context about the problem here. (e.g. OS, Python version, ...)

rafaelbn commented 1 year ago

Hello @source-promo !

This is incorrect, VAT depends on customer / client and not in delivery address.

Delivery address could have the VAT whatever, the invoice it for the customer and the customer is going to declare it fiscal and accountably , not the delivery address.

In my opinion this is not a BUG and functionality is OK.

Let's see what the maintainer think about @alexis-via

https://github.com/OCA/account-financial-tools/tree/16.0/account_fiscal_position_vat_check

alexis-via commented 1 year ago

I also disagree ; VAT is required for the customer, not for the delivery address.

source-promo commented 1 year ago

Hey @alexis-via @rafaelbn, I am very confident its a bug.

Please see EU Tax regualtions here: https://taxation-customs.ec.europa.eu/where-tax_en https://www.artitecshop.com/en/blogs/nieuws/new-european-vat-rules-for-e-commerce/

To clarify (lets say I am a German company): My customer is a German company and delivery Address is an Austrian company. This would mean if the Austrian company (delivery address) does have a valid VAT its without taxes by European VAT law. So the invoice I create and send to my German customer will display delivery address AT and tax free with ref to Austrian VAT number.

Currently this module would check if VAT number of German customer is set and valid but not if its VAT number of delivery address. Because in my example above if delivey address does not have a valid VAT number its taxed with 19% German taxes instead of free of tax.

rafaelbn commented 1 year ago

Dear @source-promo ,

I can happily discuss about this in Valencia 😄 . And I understand your question but I think (about module) you miss understand which is the customer vs which is the tax-ability.

Maybe it's needed a new module or new options.

If you want to check both VAT, then we need a new module or improve with more options this one.

I think you are talking about l10n_eu_oss with is a new set of modules to manage it.

Glad to talk about it, thank you!