# Validação de IVA intracomunitário VIES e autoliquidação B2B

> Este módulo verifica os números de IVA intracomunitário na base VIES da Comissão Europeia, aplica automaticamente a autoliquidação (fatura a 0 % de IVA) aos seus clientes profissionais de outro…

- Página: <https://www.datafirefly.com/pt/documentation/validation-tva-intracommunautaire-vies/>
- Idioma: pt
- Atualizado em: 2026-09-09
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/validation-tva-intracommunautaire-vies/index.md), [en](https://www.datafirefly.com/en/documentation/validation-tva-intracommunautaire-vies/index.md), [es](https://www.datafirefly.com/es/documentation/validation-tva-intracommunautaire-vies/index.md), [de](https://www.datafirefly.com/de/documentation/validation-tva-intracommunautaire-vies/index.md), [it](https://www.datafirefly.com/it/documentation/validation-tva-intracommunautaire-vies/index.md), [pl](https://www.datafirefly.com/pl/documentation/validation-tva-intracommunautaire-vies/index.md), [nl](https://www.datafirefly.com/nl/documentation/validation-tva-intracommunautaire-vies/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

Este módulo verifica os números de IVA intracomunitário na base **VIES** da Comissão Europeia, aplica automaticamente a **autoliquidação** (fatura a 0 % de IVA) aos seus clientes profissionais de outro país da UE e mantém um **registo de provas com data e hora**, que é o documento que a administração fiscal exige numa inspeção.

O dado mais importante a configurar é o **seu próprio número de IVA**: sem ele, o VIES não emite um número de consulta oficial, que é a prova mais sólida em caso de inspeção.

## Pré-requisitos

- PrestaShop 8.0 a 9.x, em contexto simples ou multiloja.
- PHP 7.4 a 8.3. A extensão SOAP é recomendada; na sua falta, o módulo passa automaticamente para a API REST do VIES.
- Acesso de saída em HTTPS para `ec.europa.eu` a partir do seu servidor.

## Instalação

1. No back-office, vá a **Módulos > Gestor de módulos > Carregar um módulo**.
2. Selecione o ficheiro ZIP do módulo e inicie a instalação.
3. Clique em **Configurar** assim que a instalação terminar.

A instalação cria a tabela do registo de consultas e um separador **Registo VIES** no menu Encomendas.

## Configuração

### O seu número de IVA de comerciante

Introduza o número de IVA da sua empresa no campo previsto. Assim que estiver preenchido, cada verificação consulta o VIES com um identificador de requerente: a base devolve então um **número de consulta oficial** com data e hora, oponível à administração. É a definição mais importante desta página.

Numa empresa portuguesa, o número a introduzir é o NIF precedido do prefixo `PT` (por exemplo, `PT500000000`) e tem de estar registado no VIES. O registo no VIES não é automático com a atribuição do NIF: se a sua empresa nunca fez operações intracomunitárias, confirme no Portal das Finanças que consta do registo antes de contar com a autoliquidação.

### País de estabelecimento

Indique o país a partir do qual fatura. A autoliquidação só se aplica a clientes estabelecidos _noutro_ país da UE: uma encomenda para o seu próprio país continua a ser tributada normalmente.

Com Portugal como país de estabelecimento, uma venda a uma empresa portuguesa com NIF válido continua a ser tributada à taxa portuguesa: a autoliquidação intracomunitária não se aplica dentro do mesmo Estado-Membro. Os Açores e a Madeira também são território nacional, pelo que uma venda para as ilhas nunca é uma operação intracomunitária.

### Ativar a isenção (autoliquidação)

Ativa ou desativa a passagem automática a 0 % de IVA. Se estiver desativada, a verificação e o registo continuam a funcionar, mas o imposto nunca é alterado, o que é útil numa fase de observação.

### Verificação em tempo real

Ativa o emblema de validação instantânea no formulário de morada e, se o ativar, no campo de registo. O controlo é acionado durante a escrita, com um curto atraso anti-repetição.

### Comportamento quando o VIES está indisponível

Duas opções:

- **Aceitar** (predefinição): a encomenda avança sem aplicar a isenção. É a opção comercialmente mais prudente, porque não perde a venda.
- **Bloquear**: a validação falha enquanto o VIES não confirmar o número.

Nos dois casos, a indisponibilidade fica registada e pode ser reverificada mais tarde pelo cron.

### Janelas de validade, cache e revalidação

- **Validade**: período durante o qual uma prova válida no registo autoriza a isenção sem nova chamada.
- **Cache**: período durante o qual uma verificação recente é reutilizada em vez de voltar a consultar o VIES.
- **Revalidação**: idade a partir da qual o cron volta a verificar um número.

### Grupo de clientes B2B (opcional)

Se escolher um grupo, qualquer cliente com número de IVA validado é automaticamente acrescentado a ele, o que é prático para aplicar preços ou regras B2B.

### Texto da menção legal na fatura

A menção de autoliquidação impressa nas faturas a 0 % é personalizável nos cinco idiomas. Pode usar as variáveis `%vat%` (número de IVA do cliente), `%date%` (data de verificação), `%consultation%` (número de consulta) e `%name%` (nome do profissional).

Os cinco idiomas fornecidos não incluem o português: escreva você mesmo a menção portuguesa. Uma redação corrente é «IVA autoliquidação, nos termos do artigo 194.º da Diretiva 2006/112/CE», e o Código do IVA português exige que a fatura indique o motivo da não liquidação do imposto. Confirme a redação exata com o seu contabilista certificado, uma vez que é ela que legitima a fatura sem IVA.

## A verificação do lado do cliente

Quando um cliente introduz o seu número de IVA no checkout ou no registo, aparece um emblema: **válido** (com o nome do profissional devolvido pelo VIES), **inválido**, **formato incorreto** ou **VIES indisponível**. Se o número for válido e o cliente estiver estabelecido noutro país da UE, a encomenda é faturada sem imposto.

## O registo de provas

Cada consulta fica registada em **Encomendas > Registo VIES**: data e hora, país, número de IVA, resultado, nome do profissional, número de consulta oficial, canal (morada, registo, encomenda, cron, manual) e endereço IP.

O registo é **só de leitura**: não é possível qualquer eliminação, e a tabela é **conservada mesmo depois de desinstalar** o módulo. Uma pista de auditoria só tem valor se for inalterável.

Este registo é também o seu suporte documental para a declaração recapitulativa (anexo recapitulativo do IVA) das operações intracomunitárias, que deve entregar à AT com a periodicidade aplicável. O módulo não a preenche por si: fornece as provas de que cada operação isenta assentava num número válido no momento da venda.

No momento da validação de uma encomenda, é gravado um instantâneo de prova associado ao número da encomenda, o que liga cada fatura sem imposto à sua prova. O painel VIES na ficha da encomenda mostra esse estado num relance.

### Exportação CSV

No ecrã do registo, o botão de exportação gera um ficheiro CSV com todas as consultas, para entregar tal como está ao seu contabilista certificado ou à administração.

## Revalidação automática (cron)

A página de configuração mostra um **URL de cron** protegido por um token. Chame-o uma vez por dia, para voltar a verificar os números de IVA cuja última consulta esteja a ficar antiga. Cada passagem trata até 25 números.

Exemplo de entrada no crontab:

```
0 4 * * * curl -s "https://a-sua-loja.pt/index.php?fc=module&module=dfviesb2b&controller=cron&token=O_SEU_TOKEN" > /dev/null
```

## A menção legal na fatura

A menção de autoliquidação é impressa automaticamente na fatura em PDF, no idioma do cliente, **apenas** quando a fatura é efetivamente emitida a 0 % de IVA e existe uma prova válida no registo. Não é acrescentada qualquer menção numa fatura tributada normalmente.

Numa loja portuguesa, a fatura com valor fiscal é a emitida pelo seu software de faturação certificado pela AT. Garanta que a menção de autoliquidação e a isenção também constam desse documento, e não apenas do PDF do PrestaShop: é o documento certificado que conta perante a AT.

## Resolução de problemas

### Não aparece qualquer número de consulta

Confirme que o seu número de IVA de comerciante está preenchido: sem ele, o VIES responde mas não emite um número de consulta oficial.

### O emblema fica em «VIES indisponível»

O serviço VIES tem interrupções regulares do lado da Comissão Europeia. Confirme também que o seu servidor consegue alcançar `ec.europa.eu` em HTTPS. O cron recupera os números não verificados.

### A isenção não é aplicada

Certifique-se de que o cliente está estabelecido num país da UE diferente do seu, que o número é válido e recente no registo, e que a isenção está ativa na configuração.

Este módulo automatiza a verificação, a isenção e a constituição das provas. Não substitui o seu contabilista certificado: continua a ser responsável pelas suas obrigações fiscais.
