Shopware 5 VAT ID Validation Crisis: Navigating the Deprecated API and Finding Solutions
Shopware 5 VAT ID Validation Crisis: Navigating the Deprecated API and Finding Solutions
If you're running a Shopware 5 store and rely on the SwagVatIdValidation plugin, you might have recently encountered a frustrating issue: VAT ID checks are failing. This is due to the German Federal Central Tax Office (Bundeszentralamt für Steuern) deprecating the XML-RPC interface (eVatr) that the plugin uses. Let's delve into the problem, explore potential solutions, and discuss workarounds to keep your store compliant.
The original forum discussion highlighted the problem, with users reporting that the SwagVatIdValidation plugin was no longer functioning correctly. The core issue stems from the official deprecation of the XML-RPC interface (https://evatr.bff-online.de/evatrRPC) on November 30, 2025. This interface has been replaced by a REST API, rendering the plugin incompatible.
As one user, AlexInno, pointed out, the plugin's reliance on the outdated XML-RPC interface (https://evatr.bff-online.de/evatrRPC) is the root cause. They also inquired about the possibility of a Shopware team update or manual adaptation instructions.
Sacrofano helpfully provided a link to the new API documentation: https://api.evatr.vies.bzst.de/api-docs, emphasizing the shift from XML to JSON and the revised status codes. This change necessitates a significant update to the plugin's code.
Other users shared their experiences and temporary fixes. Steffffi, for example, opted to disable the VAT ID check and manually verify customers due to a low volume of requests. This highlights the immediate need for a solution, even if it's a manual workaround.
Let's break down the key takeaways and explore potential solutions:
Understanding the Problem
- The SwagVatIdValidation plugin is broken. The XML-RPC eVatr API is no longer functional.
- The German Federal Central Tax Office has switched to a REST API. This requires a code update to the plugin.
- Shopware 5 is no longer officially supported. This means official updates are unlikely.
Potential Solutions and Workarounds
- Manual Verification: As Steffffi mentioned, manually verifying VAT IDs is a viable option if you have a low volume of B2B customers. You can use the VIES VAT number validation tool (https://ec.europa.eu/taxation_customs/vies/#/vat-validation) to check the validity of VAT IDs.
- Plugin Modification (Advanced): If you have development experience, you could attempt to modify the SwagVatIdValidation plugin to use the new REST API. This would involve updating the API endpoint, request format, and response parsing logic. You'll need to consult the new API documentation (https://api.evatr.vies.bzst.de/api-docs) for details. The relevant file to modify is likely BffVatIdValidator.php as suggested in the forum.
- Community Plugin/Fork: Keep an eye out for community-developed plugins or forks of the SwagVatIdValidation plugin that have been updated to support the new API. Check the Shopware Community Store and GitHub for potential solutions.
- Disable VAT ID Validation: As a last resort, you can disable the VAT ID validation in the plugin settings. This will allow customers to proceed with their orders without VAT ID verification. However, you'll need to manually verify the VAT IDs before fulfilling the orders to ensure compliance. As AlexInno pointed out, setting the last option in the plugin configuration to "Yes" effectively disables the API connection.
- Migrate to Shopware 6: While it requires more effort, migrating to Shopware 6 is the long-term solution. Shopware 6 receives regular updates and has a more modern architecture. This eliminates the problem entirely and provides access to the latest features and security updates. Migrate My Store can help you with a smooth and efficient migration.
Code Example (Conceptual - Requires Adaptation)
This is a simplified, conceptual example of how the code might need to be adapted. Do not use this code directly in a production environment without thorough testing and adaptation to the specific plugin.
// Old XML-RPC Code (Example)
$client = new Zend\XmlRpc\Client('https://evatr.bff-online.de/evatrRPC');
$result = $client->call('evatr.checkVatId', $params);
// New REST API Code (Conceptual Example)
$client = new \GuzzleHttp\Client();
$resp>request('POST', 'https://api.evatr.vies.bzst.de/api/v1/validate', [
'json' => $params // Adjust parameters as needed
]);
$body = json_decode($response->getBody());
// Process the JSON response
Important Considerations:
- Security: Ensure that any code modifications are secure and do not introduce vulnerabilities.
- Error Handling: Implement robust error handling to gracefully handle API errors and prevent disruptions to the checkout process.
- Compliance: Stay informed about VAT regulations and ensure that your solution complies with all applicable laws.
The Future of Shopware 5 and VAT Compliance
The VAT ID validation issue highlights the challenges of maintaining an outdated e-commerce platform. While workarounds and community solutions may provide temporary relief, migrating to a supported platform like Shopware 6 is the most sustainable approach. This ensures access to the latest security updates, features, and compliance tools.
Don't let outdated technology hinder your business. Explore your migration options and ensure a smooth transition to a modern, compliant e-commerce platform. Contact Migrate My Store today to discuss your Shopware migration needs.