You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: changelog.txt
+16-1Lines changed: 16 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,21 @@
1
1
*** EU VAT Number Changelog ***
2
2
3
-
2025-02-09 - version 3.0.4
3
+
2026-03-16 - version 3.1.0
4
+
* Fix - Ensure that orders without shipping address fields (e.g., virtual products) correctly appear in the EC Sales List report.
5
+
* Fix - Ensure that the Create Order REST API response does not get corrupted when VAT validation fails.
6
+
* Fix – Resolve an issue where the Blocks checkout would fail silently after switching from an EU country to a non-EU country when a VAT number had been entered.
7
+
* Fix - Respect "Failed Validation Handling" setting when VIES service is unavailable for a member state.
* Fix - Ensure that the `{vat_id}` placeholder is replaced with the VAT number correctly on block checkout.
10
+
* Fix - Improved the translation system to ensure all text is correctly displayed in the selected language.
11
+
* Fix – Make the “optional” string translatable.
12
+
* Fix - Ensure that Greece VAT number validation correctly uses “EL” instead of “GR” as the VAT prefix in the shortcode checkout when the country code prefix is not required.
13
+
* Fix - More specific error message for checkout when two-character VAT number is missing.
14
+
* Dev - Bump WooCommerce "tested up to" version 10.6.
15
+
* Dev - Bump WooCommerce minimum supported version to 10.4.
16
+
* Dev - Bump Wordpress minimum supported version to 6.8.
17
+
18
+
2026-02-09 - version 3.0.4
4
19
* Fix - Ensure that VAT number validation applies only to EU countries.
5
20
* Fix - VAT number not verified on manually created order.
6
21
* Fix - Inconsistent value between `vat_number`, `billing_vat_number` and `shipping_vat_number` usermeta fields.
// translators: %1$s - VAT number field label, %2$s - VAT Number from user, %3$s - Billing country.
426
-
returnnewWP_Error( 'wc-eu-vat-api-error', sprintf( __( 'You have entered an invalid country code for %1$s (%2$s) for your country (%3$s).', 'woocommerce-eu-vat-number' ), get_option( 'woocommerce_eu_vat_number_field_label', 'VAT number' ), $vat_number, $country ) );
457
+
returnnewWP_Error( 'wc-eu-vat-validation-error', sprintf( __( 'You have entered an invalid country code for %1$s (%2$s) for your country (%3$s).', 'woocommerce-eu-vat-number' ), get_option( 'woocommerce_eu_vat_number_field_label', 'VAT number' ), $vat_number, $country ) );
427
458
}
428
459
429
460
if ( ! empty( $cached_result ) ) {
@@ -453,8 +484,33 @@ public static function vat_number_is_valid( $vat_number, $country, $postcode = '
// Add detailed order note about VAT validation result.
1081
+
wc_eu_vat_maybe_add_order_note(
1082
+
$order,
1083
+
self::$data['vat_number'],
1084
+
self::$data['validation']['valid'] ?? null
1085
+
);
1021
1086
}
1022
1087
1023
1088
/**
@@ -1056,6 +1121,11 @@ public static function validate_vat_format( $vat_number = '', $address_country_c
1056
1121
$vat_number = $country_code . $vat_number;
1057
1122
}
1058
1123
1124
+
// If country prefix is required but not provided, show a specific error.
1125
+
if ( empty( $country_code ) && self::is_country_prefix_required() ) {
1126
+
returnnewWP_Error( 'wc-eu-vat-country-code-required', __( 'A valid two character country code is required at the start of the VAT number.', 'woocommerce-eu-vat-number' ) );
0 commit comments