O que leva o bloco Encadeamento
- O primeiro registo
- Leva PrimerRegistro com o valor S e mais nada. Se a AEAT já tivesse registos seus com o mesmo sistema, responde com o 2007, que tem página própria.
- Todos os restantes
- Levam RegistroAnterior: o NIF do emitente, o número e a data da fatura anterior, e a sua impressão digital.
A impressão digital é um SHA-256 escrito em hexadecimal e em maiúsculas, com 64 caracteres. A do registo anterior tem de cumprir esse formato; caso contrário, a AEAT emite um aviso sem rejeição.

Os que aceitam o registo
| Código | Texto da AEAT |
|---|---|
| 2002 | La longitud de huella del registro anterior no cumple con las especificaciones. |
| 2003 | El contenido de la huella del registro anterior no cumple con las especificaciones. |
| 2008 | El valor de la huella del registro anterior debe ser diferente a la huella del registro actual. |
Com estes três a fatura fica registada e na Odoo aparece como «Aceptado con errores (subsanar)».
Os que rejeitam o registo
- Dados do registo anterior: 1174 para a sua data, 1175 para o seu número e 1269 para um RegistroAnterior mal preenchido.
- Blocos: 1180 é o erro genérico do Encadeamento e 1274 um valor incorreto em PrimerRegistro.
- Impressões digitais: 1291 e 1292 quando o hash, do anterior ou do atual, não é alfanumérico; 1247 para um tipo de impressão digital incorreto.
- Comprimentos: 1262 da impressão digital, 1263 do tipo de impressão digital, 1264 do campo de primeiro registo, 1265 do tipo de fatura, 1266 da quota total e 1267 do montante total.
Como a Odoo encadeia
O módulo encadeia cada registo ao publicar a fatura, por ordem e com um número de registo consecutivo por empresa. Para o bloco Encadeamento procura o registo com o número imediatamente anterior, seja um registo ou um anulação, e copia o seu NIF, número, data e impressão digital. Se não o encontrar, não envia nada e para com «Record … is chained to a previous record that does not exist.».
A impressão digital e a impressão digital anterior são guardadas no momento do encadeamento e não podem ser alteradas depois. A fila envia os registos de cada empresa por ordem de cadeia, e todos os dias o cron Verifactu: Nightly Integrity Check percorre a cadeia inteira para confirmar que continua íntegra.

O que fazer com um destes códigos
- Abra Registos de Conformidade › Estado da Cadeia e clique em Verificar Integridade. Se a cadeia local estiver quebrada, deixe de faturar a partir dessa empresa e escreva-nos.
- Se a cadeia local estiver bem, o problema está na forma como chegou à AEAT. Guarde a resposta do envio, o campo Raw Response da fila.
- Escreva para comercial@flexigobe.com com as duas coisas. Os registos encadeados não se mexem à mão: não se apagam nem se editam.
Os códigos desta página, com o texto da AEAT
Cada código com o seu texto literal, tal como o dá a lista de erros da AEAT:
| Código | Texto da AEAT |
|---|---|
| 1174 | El valor del campo FechaExpedicionFactura del bloque RegistroAnteriores incorrecto. |
| 1175 | El valor del campo NumSerieFactura del bloque RegistroAnterior es incorrecto. |
| 1180 | Error en el bloque de Encadenamiento. |
| 1247 | El valor del campo TipoHuella es incorrecto. |
| 1262 | La longitud de huella no cumple con las especificaciones. |
| 1263 | La longitud del tipo de huella no cumple con las especificaciones. |
| 1264 | La longitud del campo primer Registro no cumple con las especificaciones. |
| 1265 | La longitud del campo tipo factura no cumple con las especificaciones. |
| 1266 | La longitud del campo cuota total no cumple con las especificaciones. |
| 1267 | La longitud del campo importe total no cumple con las especificaciones. |
| 1269 | El bloque Registro Anterior no esta informado correctamente. |
| 1274 | Valor incorrecto campo primer registro |
| 1291 | El HASH del Registro anterior no es alfanumérico. |
| 1292 | El HASH no es alfanumérico. |
| 2002 | La longitud de huella del registro anterior no cumple con las especificaciones. |
| 2003 | El contenido de la huella del registro anterior no cumple con las especificaciones. |
| 2008 | El valor de la huella del registro anterior debe ser diferente a la huella del registro actual. |
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- Código do módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Código do módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): data/verifactu_crons.xml
- Código do módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_registro.py
- Código do módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
