# VERI*FACTU checks of the AEAT Validaciones 1.2.2 (8 April 2026)

Source: https://xmlvalid.com/rules/sets/es-verifactu

> 98 rules by xmlvalid, after the AEAT's validations document and error codes for VERI*FACTU records (MIT). Source: https://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/_menu_/Documentacion/Sistemas_Informaticos_de_Facturacion_y_Sistemas_VERI_FACTU/Validaciones_y_errores/Validaciones_y_errores.html

- [VF-1108](https://xmlvalid.com/rules/VF-1108.md) (error): El NIF del IDEmisorFactura debe ser el mismo que el NIF del ObligadoEmision (…, …).
- [VF-1111](https://xmlvalid.com/rules/VF-1111.md) (error): El campo CodigoPais es obligatorio cuando IDType es distinto de NIF-IVA (02).
- [VF-1114](https://xmlvalid.com/rules/VF-1114.md) (error): Si la factura es de tipo rectificativa, el campo TipoRectificativa debe tener valor.
- [VF-1115](https://xmlvalid.com/rules/VF-1115.md) (error): Si la factura no es de tipo rectificativa, el campo TipoRectificativa no debe tener valor.
- [VF-1116](https://xmlvalid.com/rules/VF-1116.md) (error): Debe informarse el campo FacturasSustituidas sólo si la factura es de tipo F3.
- [VF-1117](https://xmlvalid.com/rules/VF-1117.md) (error): Si la factura no es de tipo rectificativa, el bloque FacturasRectificadas no podrá venir informado.
- [VF-1118](https://xmlvalid.com/rules/VF-1118.md) (error): Si la factura es de tipo rectificativa por sustitución el bloque ImporteRectificacion es obligatorio.
- [VF-1119](https://xmlvalid.com/rules/VF-1119.md) (error): Si la factura no es de tipo rectificativa por sustitución el bloque ImporteRectificacion no debe tener valor.
- [VF-1122](https://xmlvalid.com/rules/VF-1122.md) (error): El campo CodigoPais indicado no coincide con los dos primeros dígitos del identificador (…, …).
- [VF-1124](https://xmlvalid.com/rules/VF-1124.md) (error): El valor del campo TipoImpositivo no está incluido en la lista de valores permitidos (…).
- [VF-1126](https://xmlvalid.com/rules/VF-1126.md) (error): El valor del CodigoPais solo puede ser ES cuando el IDType sea Pasaporte (03) o No Censado (07). Si IDType es No Censado (07) el CodigoPais debe ser ES (España).
- [VF-1127](https://xmlvalid.com/rules/VF-1127.md) (error): El valor del campo TipoRecargoEquivalencia no está incluido en la lista de valores permitidos (…).
- [VF-1130](https://xmlvalid.com/rules/VF-1130.md) (error): El campo NumSerieFactura contiene caracteres no permitidos (…).
- [VF-1138](https://xmlvalid.com/rules/VF-1138.md) (error): El campo Macrodato solo debe ser informado con valor S si el valor de ImporteTotal es igual o superior a +-100.000.000
- [VF-1139](https://xmlvalid.com/rules/VF-1139.md) (error): Si el campo ImporteTotal está informado y es igual o superior a +-100.000.000 el campo Macrodato debe estar informado con valor S.
- [VF-1140](https://xmlvalid.com/rules/VF-1140.md) (error): Los campos CuotaRepercutida y BaseImponibleACoste deben tener el mismo signo.
- [VF-1142](https://xmlvalid.com/rules/VF-1142.md) (error): El campo CuotaRepercutida tiene un valor incorrecto para el valor de los campos BaseImponibleOimporteNoSujeto y TipoImpositivo suministrados (…, …).
- [VF-1143](https://xmlvalid.com/rules/VF-1143.md) (error): Los campos CuotaRepercutida y BaseImponibleOimporteNoSujeto deben tener el mismo signo.
- [VF-1144](https://xmlvalid.com/rules/VF-1144.md) (error): El campo CuotaRepercutida tiene un valor incorrecto para el valor de los campos BaseImponibleACoste y TipoImpositivo suministrados (…, …).
- [VF-1146](https://xmlvalid.com/rules/VF-1146.md) (error): Sólo se permite que la fecha de expedicion de la factura sea anterior a la fecha operación si los detalles del desglose son ClaveRegimen 14 o 15 e Impuesto 01, 03 o vacío.
- [VF-1147](https://xmlvalid.com/rules/VF-1147.md) (error): Si ClaveRegimen es 14, FechaOperacion es obligatoria y debe ser posterior a la FechaExpedicionFactura.
- [VF-1148](https://xmlvalid.com/rules/VF-1148.md) (error): Si la ClaveRegimen es 14, el campo TipoFactura debe ser F1, R1, R2, R3 o R4.
- [VF-1149](https://xmlvalid.com/rules/VF-1149.md) (error): Si ClaveRegimen es 14, el NIF de Destinatarios debe estar identificado en el censo de la AEAT y comenzar por P, Q, S o V.
- [VF-1150](https://xmlvalid.com/rules/VF-1150.md) (error): Cuando TipoFactura sea F2 y no este informado NumRegistroAcuerdoFacturacion o FacturaSinIdentifDestinatarioArt61d no sea S el sumatorio de BaseImponibleOimporteNoSujeto y CuotaRepercutida de todas las líneas de detalle no podrá ser superior a 3.000.
- [VF-1152](https://xmlvalid.com/rules/VF-1152.md) (error): La fecha de expedición no puede ser inferior al 28 de octubre de 2024 (…).
- [VF-1153](https://xmlvalid.com/rules/VF-1153.md) (error): Valor del campo RechazoPrevio no válido, solo podrá incluirse el campo RechazoPrevio con valor X si se ha informado el campo Subsanacion y tiene el valor S.
- [VF-1155](https://xmlvalid.com/rules/VF-1155.md) (error): Se está informando el bloque Tercero sin estar informado el campo EmitidaPorTerceroODestinatario.
- [VF-1156](https://xmlvalid.com/rules/VF-1156.md) (error): Para el bloque IDOtro y IDType NIF-IVA (02), el valor de TipoFactura es incorrecto.
- [VF-1157](https://xmlvalid.com/rules/VF-1157.md) (error): El valor de cupón solo puede ser S o N si está informado. El valor de cupón sólo puede ser S si el tipo de factura es R1 o R5.
- [VF-1158](https://xmlvalid.com/rules/VF-1158.md) (error): Se está informando EmitidaPorTerceroODestinatario, pero no se informa el bloque correspondiente.
- [VF-1159](https://xmlvalid.com/rules/VF-1159.md) (error): Se está informando del bloque Tercero cuando se indica que se va a informar de Destinatario.
- [VF-1161](https://xmlvalid.com/rules/VF-1161.md) (error): El valor del campo RechazoPrevio no es válido, no podrá incluirse el campo RechazoPrevio con valor S si no se ha informado del campo Subsanacion o tiene el valor N.
- [VF-1162](https://xmlvalid.com/rules/VF-1162.md) (error): Si el TipoImpositivo es 21%, sólo se admite TipoRecargoEquivalencia 5,2 ó 1,75.
- [VF-1163](https://xmlvalid.com/rules/VF-1163.md) (error): Si el TipoImpositivo es 10%, sólo se admite TipoRecargoEquivalencia 1,4.
- [VF-1164](https://xmlvalid.com/rules/VF-1164.md) (error): Si el TipoImpositivo es 4%, sólo se admite TipoRecargoEquivalencia 0,5.
- [VF-1165](https://xmlvalid.com/rules/VF-1165.md) (error): Si el TipoImpositivo es 0% sólo se admite TipoRecargoEquivalencia 0% entre el 1 de enero de 2023 y el 30 de septiembre de 2024.
- [VF-1166](https://xmlvalid.com/rules/VF-1166.md) (error): Si el TipoImpositivo es 2% entre el 1 de octubre de 2024 y el 31 de diciembre de 2024, sólo se admite TipoRecargoEquivalencia 0,26.
- [VF-1167](https://xmlvalid.com/rules/VF-1167.md) (error): Si el TipoImpositivo es 5% sólo se admite TipoRecargoEquivalencia 0,5 si Fecha Operacion (Fecha Expedicion Factura si no se informa FechaOperacion) es mayor o igual que el 1 de julio de 2022 y el 31 de diciembre de 2022.
- [VF-1168](https://xmlvalid.com/rules/VF-1168.md) (error): Si el TipoImpositivo es 5% sólo se admite TipoRecargoEquivalencia 0,62 si Fecha Operacion (Fecha Expedicion Factura si no se informa FechaOperacion) es mayor o igual que el 1 de enero de 2023 y el 30 de septiembre de 2024.
- [VF-1169](https://xmlvalid.com/rules/VF-1169.md) (error): Si el TipoImpositivo es 7,5% entre el 1 de octubre de 2024 y el 31 de diciembre de 2024, sólo se admite TipoRecargoEquivalencia 1.
- [VF-1177](https://xmlvalid.com/rules/VF-1177.md) (error): El valor de campo IdSistemaInformatico del bloque SistemaInformatico es incorrecto: dos posiciones, cada una una letra mayúscula (excepto la Ñ) o un dígito (…).
- [VF-1182](https://xmlvalid.com/rules/VF-1182.md) (error): El valor del campo OperacionExenta es incorrecto (…).
- [VF-1183](https://xmlvalid.com/rules/VF-1183.md) (error): El campo FacturaSimplificadaArticulos7273 solo se podrá rellenar con S si TipoFactura es de tipo F1 o F3 o R1 o R2 o R3 o R4.
- [VF-1185](https://xmlvalid.com/rules/VF-1185.md) (error): El campo FacturaSinIdentifDestinatarioArt61d solo se podrá rellenar con S si TipoFactura es de tipo F2 o R5.
- [VF-1186](https://xmlvalid.com/rules/VF-1186.md) (error): Si EmitidaPorTercerosODestinatario es igual a T el bloque Tercero será de cumplimentación obligatoria.
- [VF-1188](https://xmlvalid.com/rules/VF-1188.md) (error): El NIF del bloque Tercero debe ser diferente al NIF del ObligadoEmision.
- [VF-1189](https://xmlvalid.com/rules/VF-1189.md) (error): Si TipoFactura es F1 o F3 o R1 o R2 o R3 o R4 el bloque Destinatarios tiene que estar cumplimentado.
- [VF-1190](https://xmlvalid.com/rules/VF-1190.md) (error): Si TipoFactura es F2 o R5 el bloque Destinatarios no puede estar cumplimentado.
- [VF-1191](https://xmlvalid.com/rules/VF-1191.md) (error): Si TipoFactura es R3 sólo se admitirá NIF o IDType = No Censado (07).
- [VF-1192](https://xmlvalid.com/rules/VF-1192.md) (error): Si TipoFactura es R2 sólo se admitirá NIF o IDType = No Censado (07) o NIF-IVA (02).
- [VF-1194](https://xmlvalid.com/rules/VF-1194.md) (error): El valor del campo TipoImpositivo es incorrecto, el valor informado solo es permitido para FechaOperacion o FechaExpedicionFactura posterior o igual a 1 de julio de 2022 e inferior o igual a 30 de septiembre de 2024.
- [VF-1197](https://xmlvalid.com/rules/VF-1197.md) (error): Si CalificacionOperacion tiene valor Operación Sujeta y No exenta - Con inversión del sujeto pasivo (S2) TipoFactura solo puede ser F1, F3, R1, R2, R3 y R4.
- [VF-1198](https://xmlvalid.com/rules/VF-1198.md) (error): Si CalificacionOperacion tiene valor Operación Sujeta y No exenta - Con inversión del sujeto pasivo (S2) TipoImpositivo y CuotaRepercutida deberan tener valor 0.
- [VF-1199](https://xmlvalid.com/rules/VF-1199.md) (error): Si Impuesto es '01' (IVA), '03' (IGIC) o no se cumplimenta y ClaveRegimen es 01 no pueden marcarse la OperacionExenta E2, E3.
- [VF-1200](https://xmlvalid.com/rules/VF-1200.md) (error): Si ClaveRegimen es 03 CalificacionOperacion sólo puede ser Operación Sujeta y No exenta - Sin inversión del sujeto pasivo (S1).
- [VF-1201](https://xmlvalid.com/rules/VF-1201.md) (error): Si ClaveRegimen es 04 CalificacionOperacion sólo puede ser Operación Sujeta y No exenta - Con inversión del sujeto pasivo (S2) o bien OperacionExenta.
- [VF-1202](https://xmlvalid.com/rules/VF-1202.md) (error): Si ClaveRegimen es 06 TipoFactura no puede ser F2, F3, R5 y BaseImponibleACoste debe estar cumplimentado.
- [VF-1203](https://xmlvalid.com/rules/VF-1203.md) (error): Si ClaveRegimen es 07 OperacionExenta no puede ser E2, E3, E4 y E5 o CalificacionOperacion no puede ser S2, N1, N2.
- [VF-1205](https://xmlvalid.com/rules/VF-1205.md) (error): Si ClaveRegimen es 10 CalificacionOperacion tiene que ser N1, TipoFactura F1 y Destinatarios estar identificada mediante NIF.
- [VF-1206](https://xmlvalid.com/rules/VF-1206.md) (error): Si ClaveRegimen es 11 TipoImpositivo ha de ser 21%.
- [VF-1207](https://xmlvalid.com/rules/VF-1207.md) (error): La CuotaRepercutida solo podrá ser distinta de 0 si CalificacionOperacion es Operación Sujeta y No exenta - Sin inversión del sujeto pasivo (S1).
- [VF-1208](https://xmlvalid.com/rules/VF-1208.md) (error): Si CalificacionOperacion es Operación Sujeta y No exenta - Sin inversión del sujeto pasivo (S1) y BaseImponibleACoste no está cumplimentada, TipoImpositivo y CuotaRepercutida son obligatorios.
- [VF-1209](https://xmlvalid.com/rules/VF-1209.md) (error): Si CalificacionOperacion es Operación Sujeta y No exenta - Sin inversión del sujeto pasivo (S1) y ClaveRegimen es 06, TipoImpositivo y CuotaRepercutida son obligatorios.
- [VF-1211](https://xmlvalid.com/rules/VF-1211.md) (error): El bloque Tercero no puede estar identificado con IDType=No Censado (07).
- [VF-1220](https://xmlvalid.com/rules/VF-1220.md) (error): El valor del campo NombreSistemaInformatico es incorrecto.
- [VF-1221](https://xmlvalid.com/rules/VF-1221.md) (error): El valor del campo IDType del sistema informático es incorrecto (…).
- [VF-1224](https://xmlvalid.com/rules/VF-1224.md) (error): Si se informa el campo GeneradoPor deberá existir la agrupación Generador y viceversa.
- [VF-1227](https://xmlvalid.com/rules/VF-1227.md) (error): Si el campo GeneradoPor es igual a E debe estar relleno el campo NIF del bloque Generador.
- [VF-1229](https://xmlvalid.com/rules/VF-1229.md) (error): Si el valor de GeneradoPor es igual a T el valor del campo IDType del bloque Generador no debe ser No Censado (07).
- [VF-1230](https://xmlvalid.com/rules/VF-1230.md) (error): Si el valor de GeneradoPor es igual a D y el CodigoPais tiene valor ES (España), el valor del campo IDType del bloque Generador debe ser Pasaporte (03) o No Censado (07).
- [VF-1232](https://xmlvalid.com/rules/VF-1232.md) (error): Si se identifica a través de la agrupación IDOtro y CodigoPais tiene valor ES (España), el campo IDType debe valer Pasaporte (03).
- [VF-1234](https://xmlvalid.com/rules/VF-1234.md) (error): Si se identifica a través de la agrupación IDOtro y CodigoPais tiene valor ES (España), el campo IDType debe valer Pasaporte (03) o No Censado (07).
- [VF-1235](https://xmlvalid.com/rules/VF-1235.md) (error): El valor del campo TipoImpositivo es incorrecto, el valor informado sólo es permitido para FechaOperacion o FechaExpedicionFactura posterior o igual a 1 de octubre de 2024 e inferior o igual a 31 de diciembre de 2024.
- [VF-1236](https://xmlvalid.com/rules/VF-1236.md) (error): El valor del campo TipoImpositivo es incorrecto, el valor informado solo es permitido para FechaOperacion o FechaExpedicionFactura posterior o igual a 1 de octubre de 2024 e inferior o igual a 31 de diciembre de 2024.
- [VF-1237](https://xmlvalid.com/rules/VF-1237.md) (error): El valor del campo CalificacionOperacion está informado como Operación No sujeta (N1 o N2) y el impuesto es IVA. No se puede informar de los campos TipoImpositivo, CuotaRepercutida, TipoRecargoEquivalencia y CuotaRecargoEquivalencia.
- [VF-1238](https://xmlvalid.com/rules/VF-1238.md) (error): Si la operacion es exenta no se puede informar ninguno de los campos TipoImpositivo, CuotaRepercutida, TipoRecargoEquivalencia y CuotaRecargoEquivalencia.
- [VF-1245](https://xmlvalid.com/rules/VF-1245.md) (error): Si el campo Impuesto está vacío o tiene valor IVA(01) o IPSI(02) o IGIC(03) el campo ClaveRegimen debe de estar cumplimentado.
- [VF-1246](https://xmlvalid.com/rules/VF-1246.md) (error): El valor del campo ClaveRegimen es incorrecto (… para el Impuesto …).
- [VF-1252](https://xmlvalid.com/rules/VF-1252.md) (error): Si ClaveRegimen es 08 el campo CalificacionOperacion tiene que tener el valor Operación No sujeta por reglas de localización (N2) e ir siempre informado.
- [VF-1255](https://xmlvalid.com/rules/VF-1255.md) (error): Si FechaOperacion (FechaExpedicionFactura si no se informa FechaOperacion) es mayor o igual que 01/02/2021 no se permite el valor 'GB' para Identificaciones NIF-IVA
- [VF-1257](https://xmlvalid.com/rules/VF-1257.md) (error): El campo BaseImponibleACoste solo puede estar cumplimentado si la ClaveRegimen es = '06' o Impuesto = '02' (IPSI) o Impuesto = '05' (Otros).
- [VF-1259](https://xmlvalid.com/rules/VF-1259.md) (error): En el bloque Generador si se identifica mediante NIF, el NIF debe estar identificado y ser distinto del NIF ObligadoEmision.
- [VF-1260](https://xmlvalid.com/rules/VF-1260.md) (error): El campo ClaveRegimen solo debe de estar cumplimentado si el campo Impuesto está vacío o tiene valor IVA(01) o IPSI(02) o IGIC(03)
- [VF-1262](https://xmlvalid.com/rules/VF-1262.md) (error): La longitud de huella no cumple con las especificaciones.
- [VF-1281](https://xmlvalid.com/rules/VF-1281.md) (error): Solo se puede cumplimentar TipoRecargoEquivalencia y CuotaRecargoEquivalencia cuando CalificacionOperacion tiene valor Operación Sujeta y No exenta - Sin inversión del sujeto pasivo (S1)
- [VF-1284](https://xmlvalid.com/rules/VF-1284.md) (error): Si se ha informado de TipoRecargoEquivalencia tambien se debe informar de CuotaRecargoEquivalencia y viceversa.
- [VF-1286](https://xmlvalid.com/rules/VF-1286.md) (error): Si el impuesto es IVA(01), IGIC(03) o vacio, si ClaveRegimen es 02 solo se podrá informar OperacionExenta.
- [VF-1289](https://xmlvalid.com/rules/VF-1289.md) (error): Si Impuesto es IVA(01) o vacio y si el campo OperacionExenta es igual a 'E5' sólo deberá existir la agrupación IDOtro en el bloque Destinatario.
- [VF-1292](https://xmlvalid.com/rules/VF-1292.md) (error): El HASH no es alfanumérico.
- [VF-1293](https://xmlvalid.com/rules/VF-1293.md) (error): Si ClaveRegimen es 20 el campo CalificacionOperacion tiene que tener el valor Operación No sujeta por reglas de localización (N2) e ir siempre informado.
- [VF-2000](https://xmlvalid.com/rules/VF-2000.md) (warning): El cálculo de la huella suministrada es incorrecta (Huella …, calculada …).
- [VF-2002](https://xmlvalid.com/rules/VF-2002.md) (warning): La longitud de huella del registro anterior no cumple con las especificaciones.
- [VF-2003](https://xmlvalid.com/rules/VF-2003.md) (warning): El contenido de la huella del registro anterior no cumple con las especificaciones: 64 caracteres hexadecimales en mayúsculas.
- [VF-2005](https://xmlvalid.com/rules/VF-2005.md) (warning): El campo ImporteTotal tiene un valor incorrecto para el valor de los campos BaseImponibleOimporteNoSujeto, CuotaRepercutida y CuotaRecargoEquivalencia suministrados (…, …).
- [VF-2006](https://xmlvalid.com/rules/VF-2006.md) (warning): El campo CuotaTotal tiene un valor incorrecto para el valor de los campos CuotaRepercutida y CuotaRecargoEquivalencia suministrados (…, …).
- [VF-2008](https://xmlvalid.com/rules/VF-2008.md) (warning): El valor de la huella del registro anterior debe ser diferente a la huella del registro actual.
- [XV-ES-01](https://xmlvalid.com/rules/XV-ES-01.md) (error): A Spanish NIF has no valid check character, so the AEAT won't find it in its census ('…' in …/…).
- [XV-ES-02](https://xmlvalid.com/rules/XV-ES-02.md) (error): An EU VAT number given with IDType 02 (NIF-IVA) doesn't have the structure of any member state's VAT number: a country prefix in capitals and its number of characters, as the AEAT's validations document lists them ('…').
