Exporta serviço para a Europa?
Valida o formato de um número de VAT — o registro fiscal de empresas na União Europeia: confere se tem um prefixo de país europeu válido e um padrão de caracteres coerente.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Via API, paga por uso. Para agências, SaaS e freelancers brasileiros que faturam para clientes europeus e querem barrar VAT digitado errado antes de emitir. Ela valida o formato; não consulta o registro oficial da UE nem confirma se a empresa está ativa — isso é um passo à parte no VIES, o serviço oficial do bloco.
VAT: o “CNPJ” do seu cliente europeu
Quando uma empresa da União Europeia contrata seu serviço, o número de VAT dela é o que a identifica perante o fisco de lá — o papel que o CNPJ cumpre aqui. Ele aparece na invoice que você emite, nos cadastros de marketplace e nas regras de imposto do lado europeu. Um número digitado errado — dígito a menos, prefixo trocado — significa documentação furada e retrabalho na certa, e é exatamente esse tipo de erro que uma checagem de formato pega antes de a fatura sair.
O que a validação faz
Você manda o número com o prefixo do país (DE, PT, FR, ES…) e a API confere o formato: prefixo de país europeu reconhecido e padrão de caracteres coerente com um VAT, devolvendo válido ou inválido e o país lido do prefixo. Isso barra o número digitado errado ou inventado antes de ele entrar na sua invoice. O que ela não faz é confirmar que o número está ativo num registro real: isso exige o VIES, o serviço oficial da UE, num passo à parte. A resposta vem em JSON, pronta para o seu sistema de faturamento ou de onboarding.
Quem precisa disso no Brasil
Mais gente do que parece: agências que atendem clientes europeus, SaaS com assinantes B2B no exterior, exportadores de serviço via plataformas, marketplaces que aceitam vendedores da Europa. Em todos os casos o padrão é o mesmo — o cliente informa um VAT no cadastro, e alguém precisa conferir se ele está bem formado antes de emitir documento fiscal, e saber quais vale a pena mandar ao VIES para a confirmação em vivo.
Preço e forma de uso
US$ 0,002 por consulta, cobrança por uso, pagamento via PayPal — sem plano, sem mínimo. Um onboarding que valida o formato do VAT de cada cliente novo gasta centavos por mês. A consulta é uma chamada de API simples: número entra, veredito de formato sai; dá para pendurar no seu formulário de cadastro ou rodar sobre a planilha de clientes existente. O preço está publicado aqui na página, como todos os do KIT.
Casos de uso
Agência faturando para a Europa
Uma agência de Recife fecha contrato com cliente em Berlim. Antes de emitir a invoice, valida o formato do VAT informado — e evita reemitir documento porque o número veio com um dígito a menos.
Onboarding de SaaS B2B
No plano empresa, o assinante europeu informa o VAT no checkout. A validação automática separa número bem formado de número inventado ou com erro de digitação antes de aplicar as condições de B2B.
Marketplace com vendedores europeus
Plataformas brasileiras que aceitam sellers da UE validam o formato do VAT no cadastro, salvando o resultado no dossiê do vendedor.
Perguntas frequentes
Serve para validar CNPJ?
Não — CPF e CNPJ têm validação própria no KIT (essa, grátis no navegador). Esta é específica do formato dos números de VAT da União Europeia.
Quais países cobre?
Os países da União Europeia, cada um com seu prefixo (DE, FR, PT, IT, ES e os demais). Números de fora do bloco, como o VAT britânico pós-Brexit, não passam por esta validação.
O resultado serve como comprovante fiscal?
A validação confere o formato do número, não o registro oficial. Para provar que a empresa está ativa, quem responde isso é o VIES, num passo à parte. Guarde o resultado do formato como triagem; a interpretação tributária do seu caso é assunto para o seu contador.
Por que a validação de formato é paga?
Você paga a integração: validação na hora, resposta em JSON estruturado, disponível dentro do seu fluxo via API. US$ 0,002 por consulta, via PayPal.
O que vocês retêm da consulta?
O necessário para executar a tarefa e devolver o resultado. Os dados do seu cliente não são reaproveitados; para detalhes de LGPD, o atendimento humano responde em human@forhosting.com.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/verify/vat \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"vat":"ESB12345678"}'const res = await fetch("https://api.kit.forhosting.com/verify/vat", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"vat": "ESB12345678"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/vat",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"vat": "ESB12345678"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/vat", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"vat":"ESB12345678"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"vat":"ESB12345678"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/vat", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"vat": "ESB12345678"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.vat",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |