Account Entry Validation
Liferay DXP 2026.Q3+ Release Feature
Account entry validation checks a buying account before an order is placed. Liferay provides one validator out-of-the-box: the VIES validator, which verifies a business account’s EU VAT number against the European Commission’s VAT Information Exchange System (VIES) at checkout. See Enabling the VIES Validator for the configuration steps.
This feature is behind the Account Entry Validation and VIES Validator (LPD-89850) release feature flag, which is disabled by default.
The VIES validator checks business accounts whose billing address country is in the validator’s configured country list, using the account’s Tax ID as the VAT number. Other account types and accounts billing from other countries are skipped without a recorded result, and a skipped account completes checkout as though it had passed.
Validation gates order placement. Checks run at the storefront checkout and at the Delivery Cart headless checkout (POST /o/headless-commerce-delivery-cart/v1.0/carts/{cartId}/checkout or /carts/by-externalReferenceCode/{externalReferenceCode}/checkout). A failed check leaves the order unplaced. No other operation runs a check, including a change to an order’s status.
Validation Modes
Each channel has its own Account Entry Validation setting, which determines whether a failed check blocks the order.
| Mode | Description |
|---|---|
| Allow All | Validators run and results are recorded, but no result blocks the order. Use this mode to collect validation history before you enforce a blocking mode. |
| Allow Successes Only | The order proceeds only when the check passes or is skipped. A VIES outage stops EU business checkout on the channel until the service recovers. |
| Allow Technical Failures | An invalid VAT number blocks the order, while a technical failure doesn’t. Orders continue during a VIES outage with their VAT numbers unverified. |
| Disabled | Validators don’t run. This is the default value. |
Validation Results
The account’s validation history records these results:
- SUCCESS: VIES confirmed the VAT number.
- FAILURE: VIES rejected the VAT number, or the validator rejected the account before contacting VIES. A missing Tax ID and a billing address that doesn’t belong to the account both produce this result.
- WARNING: A technical failure. VIES couldn’t answer because of a timeout, an unavailable member state service, or a blocked outbound connection.
- MANUAL: A pass recorded by hand, without a VIES check.
A SUCCESS or MANUAL result is reused instead of calling VIES again until the Check Interval elapses, which defaults to 15 days. The stored result is keyed to the account and the billing address rather than to the order. Checking out with a different billing address triggers a fresh check. FAILURE and WARNING results are always retried at the next checkout.
See Reviewing Account Validation Results for reading the history and recording a manual validation.
Checkout with a Failed Validation
A blocked order stops at the Order Summary checkout step, which displays the validator’s message and offers only the Previous button. The cart keeps its items. The block applies to every member of the account, not only the buyer who attempted checkout.

Checkout offers no inline correction. To resolve a rejected VAT number, set the correct Tax ID on the account’s Details tab. The buyer then repeats the checkout step. See Accounts for more information.
A Delivery Cart headless checkout that fails validation returns HTTP 200 with the cart unplaced and valid set to false. When the validator supplies a message, it appears in the cart’s errorMessages, translated to the request’s locale. The status code doesn’t change when a check blocks the order, so the value of valid is the signal that the checkout didn’t complete. Other failed checks also set valid to false, and the response carries no result status. To confirm account validation was the cause, and to distinguish a rejected VAT number from a technical failure, read resultStatus in the validation history.