EU VAT guide

MS_MAX_CONCURRENT_REQ in VIES: what it means and what to do

MS_MAX_CONCURRENT_REQ means VIES could not process your VAT check because the concurrent-request limit for the selected member state was reached. This is a country request limit, not an invalid VAT result. Check the country status, reduce parallel requests if you run an integration, and retry later.

Request not processed? Match the message to the error

The official message begins: ‘Your Request for VAT validation has not been processed; the maximum number of concurrent requests for this Member State has been reached.’ This is the message associated with MS_MAX_CONCURRENT_REQ.

If VIES says ‘Your request for VAT validation has not been processed’, read which limit was reached. The start of the message alone does not distinguish the country limit from the global limit.

‘For this Member State’ points to MS_MAX_CONCURRENT_REQ: the limit applies to concurrent checks for the country you are querying. Reduce parallel checks to that country and retry later.

GLOBAL_MAX_CONCURRENT_REQ reports the overall concurrent-request limit. Slow down your requests and retry later; switching the country is not a remedy for a global limit.

These messages describe an unprocessed request. Keep the failed attempt separate from a completed valid or invalid result, and use the exact error code when reviewing a batch or an integration.

What does VIES MS_MAX_CONCURRENT_REQ mean?

MS means member state. The European Commission defines this error as high traffic towards the member state you are trying to reach. It describes a capacity limit for checks sent to that country, not a problem with the customer's VAT registration.

A concurrency error leaves the VAT check unresolved. Keep the error separate from valid and invalid results until a later check returns a validation response.

Why can MS_MAX_CONCURRENT_REQ appear after just one VAT check?

The Commission describes high traffic towards the member state you are trying to reach. The error does not tell you how many requests your own application made, so a single failed check does not show that you caused the limit.

For a manual check, keep the VAT number and country unchanged and retry later. For a batch or integration, queue the unresolved checks and reduce parallel requests to that country. These are handling recommendations, not a way to bypass VIES capacity limits.

What to do before you retry

1. Save the country code, VAT number, time and exact error so you can distinguish an unsuccessful attempt from a completed validation.

2. Check the member-state status before trying again. An available status does not guarantee that your next request will avoid a concurrency limit.

3. Retry later. For automated checks, use a queue, reduce concurrent requests to the affected country and back off between retries instead of repeatedly resending the whole batch.

4. Record the later validation response separately. Do not mark the customer as having an invalid VAT number solely because a retry also fails.

Compare the VIES error codes

MS_MAX_CONCURRENT_REQ: the concurrent-request limit for one member state has been reached. Reduce requests to that country and retry later.

GLOBAL_MAX_CONCURRENT_REQ: the VIES-wide concurrent-request limit has been reached. Slow down and retry later.

MS_UNAVAILABLE: the member-state application is not replying or is unavailable. Check that country's status and retry later.

SERVICE_UNAVAILABLE: VIES encountered a network or web-application error. Retry later.

TIMEOUT: no reply arrived within the allotted time. Retry later; no VAT validity conclusion follows from the timeout.

INVALID_INPUT: the official service identifies an invalid country code or an empty VAT number. Check the submitted details before retrying.

Does MS_MAX_CONCURRENT_REQ mean my VAT number is invalid?

No. The request was not processed because the member-state concurrency limit was reached. You still need a completed VIES check to establish the validation result at that time.

How long should I wait before retrying?

The official VIES error definition says to try again later; it does not give a fixed waiting time. For an integration, space out retries and reduce parallel checks for that country. Do not assume a particular delay guarantees success.

Is MS_MAX_CONCURRENT_REQ the same as VIES being down?

No. It reports a concurrent-request limit for one member state. MS_UNAVAILABLE, SERVICE_UNAVAILABLE and TIMEOUT describe different failures, so check the exact code and the country status before deciding what to do.

Official source for these error definitions

These definitions come from the European Commission's VIES checkVat service documentation. Queueing, backoff and keeping failed checks separate are practical handling recommendations, not a promised recovery time from VIES.

Which error did you get?

Each of these has its own page with the handling rule, because the right response differs: some want a retry, some want a slower retry, and one wants you to fix the input before asking VIES again.

Use the country code from your request to find the relevant member state on the live status board.

Validating VAT numbers at volume?

Join the batch/API list for CSV validation, retries, audit exports, and developer access.

Explore API & batch options

Related VIES guides

Check a VAT number

You can paste the full VAT ID with country prefix, or choose the country and enter the local number. A leading VAT label is accepted.