View Issue Details

IDProjectCategoryView StatusLast Update
0006126OXID eShop (all versions)1.05. Userspublic2024-08-14 11:27
Reporterhenrik.steffen Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status confirmedResolutionopen 
Product Version4.9.3 / 5.2.3 
Summary0006126: oxonlinevatidcheck: Business customers can't order with VAT-ID if check service is down
DescriptionThis was reported years ago (and solved?) as 0001803

OXID is using this service for online validation of VAT IDs:
http://ec.europa.eu/taxation_customs/vies/vatRequest.html

As you can read here:
http://ec.europa.eu/taxation_customs/vies/help.html
Most countries have regular daily service interruptions. This means, that the online validation for German VAT IDs for instance, can't be performed at night during a time frame of 6 hours every night!

This is an amazing conversion killer, because users can't complete the check-out when specifying their valid (!) VAT-ID during check-out.


It should better be differed between a really invalid VAT-ID and a service interruption. The user could get a warning message like this: We can't confirm that your VAT-ID is correct at the moment. But we should not prevent the user from completeing his order.

TagsBacklogged, Checkout, VAT
Attached Files
ThemeAzure
BrowserAll
PHP VersionNot defined
Database VersionNot defined

Relationships

related to 0001803 resolvedsarunas_valaskevicius user is not allowed to finish order, if online vatId check is not accessible 
has duplicate 0006131 closedQA Wrong error-message if the online-vatid-check-service is not available 
has duplicate 0007575 closedSvenBrunk Error handler doesn't write in oxideshop.log, when VAT-ID-check fails due to a request limit 

Activities

florian.auer

2015-05-04 16:55

reporter   ~0010939

What exactly is the expected behavior when the online check webservice is not available? Should the customer be able to place the order, and the shop owners should be notified that they have to check the VAT ID manually?

QA

2015-05-04 17:01

administrator   ~0010940

IMHO, proper behavior would be an error message explaining why VAT couldn't be checked, and letting the user proceed with the checkout (but without deducting VAT).

No idea what would be legally correct, though.

henrik.steffen

2015-05-18 17:16

reporter   ~0010968

yes, that would be a great solution.

florian.auer

2015-05-21 16:04

reporter   ~0010979

So the warning message should be something like this?

"Your VAT ID cannot be checked currently. You will be able to continue, however please double-check your VAT ID manually."

QA

2015-05-21 16:23

administrator   ~0010981

Last edited: 2015-05-21 16:25

An error message should point out that VAT is not deducted because of the temporary unavailability of the web service.

Something along the line of
"Your VAT ID cannot be checked currently. You will be able to continue, but we
hope for your understanding that VAT cannot be deducted."

henrik.steffen

2015-05-22 13:04

reporter   ~0010989

I preferred the former version of the warning message posted by florian.auer

I'd in fact deduct the VAT anyways, because the user will probably not complete his order if the VAT is not deducted as expected. Imagine user would pay by creditcard or sofortüberweisung, then immediately the too high amount would get billed.

It's not the fault of the user, that the vat-check is unavailable, so he should be able to perform the check-out as desired.

On the other hand, it's the obligation of the merchant to ensure that the VAT-ID is really valid. So he should see a warning in the OXID backend, and there should be a flag somewhere on the OXORDER table, so ERP-Systems would also be able to detect that a manual cross-check is neccessary.


Usually, placing an order in a web-shop is just an offer of the user to buy something from a merchant. It's up to the merchant to decide if he really wants to confirm the order and deliver the goods. So, if merchant finds out that the VAT-ID is invalid, he would be able to cancel the order or contact the user.

florian.auer

2015-07-20 10:23

reporter   ~0011112

This is really a tricky one. From a legal point of view, we must show the VAT if we do not know if the customer is B2C or B2B. On the other hand however, we do not want to create overhead for the shop owner, and also do not want to scare away the B2B customer (see comment 0006126:0010989).

So, from my point of view, the following would be a feasable solution:

- Deduct the VAT anyways
- Force the customer to check a checkbox like "I hereby confirm that I'm a B2B guy and am eligible to receive invoices without VAT"
- Let customer continue checkout
- Add a warning for the shop owner to double check the VAT ID

In any way, this will be a new feature, as not an existing functionality is macfunctioning, but new functionality will be added.

henrik.steffen

2015-07-20 10:30

reporter   ~0011113

yes, this sounds like a good solution.

Well, It's certainly a feature - but at the same time, it's a workaround for a very poor current implementation.

I would be happy, if this fix could high attention by product owner, so it can be implemented soon.

Thank you!

henrik.steffen

2015-10-21 16:19

reporter   ~0011274

UPDATE:
Currently, our customers experience even more problems with the VAT realtime check service, because the online webserver seems to be heavily used.

There are reponse times between 8-12 seconds for each checkVat request.

In the OXID source code, the timeout is limited to 5 seconds. So users will always see the error message "invalid vat-id" in the front end, if the webservice is delayed. That's really bad and displeases both merchants and users.

florian.auer

2015-10-22 14:03

reporter   ~0011277

Hi again,

unfortunately, the solution I thought of in my previous comment is not the way to go. According to the EU website, this is what should be done when VAT cannot be validated:

"Q18 : What do I have to do if I can not check the validity of the VAT number of my customer?

If you believe that your customer is not a taxable person, you should not exempt the supply but should charge VAT."

http://ec.europa.eu/taxation_customs/vies/faq.html?locale=en#item_18

henrik.steffen

2015-10-22 15:09

reporter   ~0011278

Hi Florian,
in a B2B shop we regularly believe that everyone who registers an account is a company with a valid vat-id. When the webservice to make it 100% isn't available or too heavily loaded, still in 99% we would believe that the company actually is a valid company.
Nevertheless, the shop should indicate, that the given VAT number has not been confirmed to be valid by the webservice. Instead, the merchant should recheck once more manually.

florian.auer

2015-10-22 16:48

reporter   ~0011279

Last edited: 2015-10-22 16:48

OK, but if you don't want to rely on the VAT webservice anyways, then why don't you simply disable it? (Master -> Core Settings -> "Settings" tab -> VAT -> Disable online VAT ID check")

florian.auer

2015-10-22 17:05

reporter   ~0011280

Last edited: 2015-10-22 17:06

This is a feature request:

- Do not charge VAT, even if VAT ID couldn't be checked
- Allow check-out, even if VAT ID online check is enabled in settings but EU webservice is not reachable
- Add hint to shop owner if VAT ID couldn't be checked automatically

florian.auer

2015-10-22 18:06

reporter   ~0011281

Added my User Story and some mocks for your information. We will have to double-check this from a legal point of view. If legal check is successful, the feature will run through our input management process for prioritization.

michael_keiluweit

2022-02-01 18:37

administrator   ~0013699

Still reproducible.

Change the value of OxidEsales\EshopCommunity\Core\OnlineVatIdCheck::$_sWsdl to some none existing website like 'https://sakdaslkdjaldlkasdjalksdjlsdsadljdskl.de' and the ust id check returns 'false' everytime.

QA

2022-03-23 09:20

administrator   ~0013805

assigned to Sven.
-MK