Pular para o conteúdo principal

VeriFactu Fase 3: Envio à AEAT

O que é a Fase 3

A Fase 3 de VeriFactu é o envio automático dos registros de faturamento à Agência Tributária (AEAT) por meio de mensagens SOAP/XML. Complementa as fases anteriores (hash SHA-256 e QR) com a transmissão efetiva de cada registro e cancelamento de fatura ao sistema SII da AEAT.

Com esta fase ativa, o Frihet gera o XML conforme a Ordem HAC/1177/2024, assina-o com seu certificado digital e o envia diretamente aos servidores da AEAT. Tudo acontece em segundo plano, sem intervenção manual.

Certificado digital

Para enviar registros à AEAT, você precisa de um certificado digital válido. O Frihet aceita certificados nos formatos .pfx ou .p12.

Onde obter um certificado

EmissorTipoCusto
FNMT (Fabrica Nacional de Moneda y Timbre)Pessoa física ou jurídicaGratuito
CamCert (Camaras de Comercio)EmpresaVariável
ACCV (Comunitat Valenciana)RegionalGratuito

Carregar o certificado

  1. Vá para Configurações > Conformidade
  2. Na seção Certificado Digital, clique em Carregar certificado
  3. Selecione seu arquivo .pfx ou .p12
  4. Digite a senha do certificado
Criptografia da senha

A senha do seu certificado é criptografada com AES-256-GCM antes de ser armazenada. Em nenhum momento é armazenada em texto simples.

Sandbox vs Produção

O toggle Modo sandbox em Configurações > Conformidade permite enviar registros para o ambiente de testes da AEAT antes de ativar o envio real.

  • Sandbox: os registros são enviados para o endpoint de testes. A AEAT os valida, mas não os registra oficialmente. Útil para verificar se o certificado e os dados estão corretos.
  • Produção: os registros são enviados para o endpoint oficial. As faturas ficam registradas no sistema SII da AEAT.
dica

Ative o modo sandbox durante os primeiros dias para confirmar que seu certificado funciona corretamente e que os dados são gerados sem erros.

Envio automático

Ativação

  1. Vá para Configurações > Conformidade
  2. Ative o toggle Enviar automaticamente à AEAT

Com este toggle ativo, cada fatura emitida ou cancelada é enviada automaticamente:

Fluxo de registro (fatura emitida)

  1. O hash SHA-256 da fatura (cadeia imutável) é calculado
  2. O XML de registro é gerado conforme a especificação AEAT
  3. O XML é assinado com seu certificado digital
  4. É enviado via SOAP para o endpoint da AEAT
  5. A resposta (CSV atribuído ou erro) é armazenada

Fluxo de cancelamento (fatura cancelada)

  1. O hash de cancelamento é calculado com os 5 campos necessários
  2. O XML de cancelamento é gerado
  3. É assinado e enviado para o endpoint da AEAT
  4. A resposta e o status de cancelamento são armazenados

Ambos os fluxos são fire-and-forget: o usuário pode continuar trabalhando enquanto o envio é processado em segundo plano.

Envio manual

Se o envio automático não estiver ativo, ou se precisar reenviar uma fatura específica:

  1. Abra a fatura em questão
  2. Clique no menu de ações (três pontos)
  3. Selecione Enviar à AEAT
  4. Um diálogo de confirmação é exibido com a prévia do hash
  5. Confirme para iniciar o envio

O envio manual segue o mesmo fluxo técnico que o automático.

Status de envio

Cada fatura exibe um badge com seu status de envio à AEAT:

StatusBadgeDescrição
PendenteContorno (sem cor)Hash calculado, envio não iniciado
EnviadoCinzaMensagem SOAP enviada, aguardando resposta da AEAT
AceitoVerdeA AEAT aceitou o registro e atribuiu um código CSV
RejeitadoVermelhoA AEAT rejeitou o registro. Ver detalhe do erro
ErroVermelhoErro técnico no envio (rede, certificado, timeout)

Consultar o status

O status de envio é visível em:

  • A visualização de detalhes de cada fatura (badge junto ao número)
  • A lista geral de faturas (coluna de status)
  • O livro registro ampliado (colunas adicionais)

Tentativas automáticas

Quando um envio falha por erro técnico (timeout, erro de rede, serviço AEAT não disponível), o Frihet tenta novamente automaticamente:

  • Frequência: a cada 15 minutos
  • Máximo de tentativas: 3
  • Após 3 falhas: o status permanece como Erro e requer intervenção manual

Para tentar novamente manualmente uma fatura com status Erro:

  1. Abra a fatura
  2. No badge de status vermelho, clique em Tentar novamente
  3. Uma nova tentativa de envio é executada.

Indicadores em PDF

As faturas aceitas pela AEAT incluem informações adicionais no PDF gerado:

  • Badge "Registrada na AEAT" no cabeçalho do documento
  • Código CSV atribuído pela AEAT, junto ao QR de verificação

Esses indicadores só aparecem quando o status de envio é Aceito.

Livro registro ampliado

Com a Fase 3 ativa, o livro registro de faturas emitidas inclui 3 colunas adicionais:

ColunaDescrição
Status Envio AEATStatus do envio do registro de entrada (Pendente, Enviado, Aceito, Rejeitado, Erro)
CSV AEATCódigo seguro de verificação atribuído pela AEAT ao aceitar o registro
Status Cancelamento AEATStatus do envio do registro de cancelamento (se aplicável)

Essas colunas são adicionadas ao final do CSV exportado, após as 12 colunas padrão.

Solução de problemas

"Certificado não configurado"

Um certificado digital não foi carregado. Vá para Configurações > Conformidade e carregue seu arquivo .pfx ou .p12.

"NIF não configurado"

O perfil fiscal não possui NIF. Vá para Configurações > Perfil Fiscal e complete seu identificador fiscal.

Erro SOAP / Erro de conexão

Possíveis causas:

  • Certificado expirado: verifique a data de validade do seu certificado. Os certificados FNMT têm validade de 4 anos.
  • Senha incorreta: carregue o certificado novamente com a senha correta.
  • Serviço AEAT não disponível: a AEAT tem janelas de manutenção. O sistema tentará novamente automaticamente.
  • Dados fiscais incompletos: verifique se seu NIF, endereço fiscal e dados da empresa estão completos.
Certificado expirado

Um certificado expirado bloqueia todos os envios. Renove seu certificado na FNMT ou CamCert antes da data de vencimento.

Fatura rejeitada pela AEAT

A AEAT pode rejeitar um registro por:

  • NIF do emissor não coincide com o certificado
  • Formato de data incorreto
  • Tipo de fatura inválido para a operação

Verifique a mensagem de erro nos detalhes da fatura. Corrija os dados e use Tentar novamente para enviar novamente.

A obrigação de envio à AEAT tem prazos escalonados conforme o RDL 15/2025:

Tipo de contribuinteData limite
Sociedades (Ltda., S.A.)1 de janeiro de 2027
Autônomos (pessoa física)1 de julho de 2027
informação

O Frihet já suporta o envio à AEAT. Recomenda-se ativar o modo sandbox com antecedência para validar a configuração antes que a obrigação entre em vigor.

Relação com outras fases

  • Fase 1 (Hash SHA-256): é calculado automaticamente em cada fatura. É a base do registro. Ver VeriFactu.
  • Fase 2 (QR AEAT): o código QR no PDF linka para a sede eletrônica da AEAT para verificação.
  • Fase 3 (Envio AEAT): esta página. Transmissão efetiva do registro à AEAT via SOAP/XML.

Anterior: VeriFactu | Próximo: Imutabilidade e registro