Factuarea APIDevelopers

Códigos de error de VeriFactu

Todos los códigos de error de la API pública que emite VeriFactu, con su estado HTTP, su type y una página por código.

Códigos de error que emite VeriFactu. Cada code enlaza a su propia página con la causa y la acción a tomar.

CodeTypeHTTPDescripción
alta_record_not_foundnot_found_error404La factura no tiene registro de alta, así que la operación que depende de él no tiene sobre qué trabajar.
anulacion_record_already_existsconflict_error409La factura ya tiene un registro de anulación en la cadena, y la anulación se declara una sola vez.
certificate_expiredinvalid_request_error422El certificado está fuera de su ventana de validez: ha caducado, o todavía no es válido.
certificate_nif_mismatchinvalid_request_error422El NIF del titular del certificado no coincide con el de la empresa. Los registros AEAT se firman en nombre de la empresa, así que ambos deben ser el mismo.
certificate_not_foundnot_found_error404La empresa no tiene ningún certificado FNMT que corresponda al identificador, o no tiene ninguno subido.
certificate_too_largeinvalid_request_error422El fichero supera el límite de 100 KB, cuando un certificado FNMT real pesa unos pocos kilobytes.
chain_position_conflictconflict_error409Dos registros de la misma empresa intentaron tomar a la vez la misma posición de la cadena de huellas y los reintentos automáticos no resolvieron la colisión.
clock_drift_exceededinvalid_request_error422El reloj del servidor se desvió del NTP por encima del margen permitido. La marca de tiempo de generación entra en la huella AEAT, así que un reloj desincronizado produciría registros que la AEAT rechaza.
declaracion_already_existsconflict_error409La empresa ya tiene presentada la declaración responsable del SIF de ese período.
declaracion_not_foundnot_found_error404La empresa no tiene presentada la declaración responsable del SIF del período solicitado.
event_already_processedinvalid_request_error422Ese evento del SIF ya está registrado en la cadena de eventos, y cada evento se procesa exactamente una vez.
invalid_certificate_formatinvalid_request_error422El fichero no es un contenedor PKCS#12: sus primeros bytes no corresponden a la estructura ASN.1 que exige el formato, diga lo que diga la extensión.
invalid_certificate_passwordinvalid_request_error422La contraseña no abre el fichero del certificado.
invalid_representationinvalid_request_error422La representación incumple una regla: falta el anexo I firmado o el justificante del apoderamiento, el documento no es un PDF válido o supera los 5 MB, signer_name, power_of_attorney_reference o el motivo de la revocación (reason, de 3 a 500 caracteres) no respetan su longitud, valid_until es anterior a granted_on o la supera en más de 5 años, o la representación ya está revocada (o no hay ninguna vigente que revocar).
max_retries_exceededinvalid_request_error422Solo aplica a los EVENTOS del modo NO VERI*FACTU (POST /v1/companies/{company}/verifactu/events/{id}/retry): el evento agotó su tope de intentos de transmisión. Los registros de facturación NO tienen tope de reintentos —el art. 16.4 de la Orden HAC/1177/2024 exige reintentar al menos una vez por hora mientras dure la incidencia—, así que ningún reintento de un registro devuelve ya este código.
mode_switch_blocked_until_year_endinvalid_request_error422El modo VeriFactu se activó en este ejercicio y ya se emitió al menos un registro de facturación. Dar marcha atrás degradaría la integridad de una cadena ya declarada a la AEAT.
record_already_acceptedinvalid_request_error422La AEAT ya aceptó el registro. La aceptación es terminal y su contenido queda congelado como parte de la cadena de huellas.
record_immutableinvalid_request_error422El registro pertenece a un ledger de solo-adición: una vez escrito, su contenido fiscal queda cerrado a modificaciones y a borrado.
record_not_rejectedinvalid_request_error422Solo se puede subsanar un registro de alta que la AEAT aceptó (o aceptó con errores) o rechazó. Este registro está en otro estado —pendiente de remitir, enviado sin respuesta o en error técnico—, que cubre el reintento y no la subsanación.
record_not_subsanableinvalid_request_error422El registro no admite subsanación: no es un registro de alta, no es el ÚLTIMO alta de su factura (otra subsanación posterior lo sustituye), la factura está anulada, es un rechazado cuya alta corregida ya espera reenviarse, o no tiene factura de origen desde la que regenerar sus datos.
representation_requiredinvalid_request_error422El modo de remisión pide a Factuarea que remita tus registros a la AEAT en tu nombre, y la empresa no tiene una representación vigente —ni revocada ni caducada— del tipo que ese modo necesita (el anexo I firmado para social_collaborator, el apoderamiento inscrito para power_of_attorney).
requires_annulmentinvalid_request_error422El contenido regenerado cambia un campo que entra en la huella —NIF del emisor, serie y número, fecha de expedición, tipo de factura, cuota o importe total— y la cadena no se puede reescribir.
signing_certificate_unavailableinvalid_request_error422La empresa tiene VeriFactu activado en modo NO VERI*FACTU, donde cada registro de facturación se firma (Orden HAC/1177/2024, arts. 6.c y 14), y no hay con qué firmarlo. error.param dice QUÉ falta, y es estable: certificate = el certificado de la empresa falta, está caducado o revocado, lleva el NIF de otra empresa o su archivo .p12 no se puede leer (dañado, o con una contraseña guardada que ya no es válida); representation = en los modos de remisión por tercero, la representación que habilita a Factuarea a firmar en nombre de la empresa no está activa; system_certificate = el certificado de Factuarea no está disponible o no se puede leer. Sin firma no existe registro válido, y una factura emitida o anulada no puede quedar sin el suyo, así que la operación se rechaza antes de ejecutarse.
sii_excludedinvalid_request_error422La empresa está registrada en el SII, y los obligados al SII quedan excluidos del reglamento VeriFactu.
social_collaborator_unavailableinvalid_request_error422El acuerdo de colaboración social con la AEAT aún no está en vigor en esta instancia, así que no se puede elegir el modo social_collaborator.
system_certificate_unavailableapi_error500El certificado de Factuarea que remite los registros en los modos de tercero falta, ha caducado o ha sido revocado. Es un problema nuestro, no de tu petición.
verifactu_already_submittedinvalid_request_error422La factura ya tiene su registro de alta. Existe exactamente un alta por factura, así que una segunda rompería la idempotencia de la cadena.
verifactu_mode_invalidinvalid_request_error422El modo queda fuera del catálogo verifactu / no_verifactu.
verifactu_not_eligibleinvalid_request_error422La factura no se puede registrar ahora mismo en la AEAT: la empresa no está en modo VeriFactu, no tiene certificado activo, o el certificado está revocado o emitido para otro NIF. Al emitir o anular, el mismo código con el subcódigo signing_certificate_unavailable indica que la empresa, con VeriFactu activado en modo NO VERI*FACTU, no tiene con qué firmar el registro (error.param: certificate, representation o system_certificate, según lo que falte), y con otros error.param que un dato de la factura no cabe en el registro de alta (lee error.param y error.message).
verifactu_record_not_foundnot_found_error404El identificador no corresponde a ningún registro de facturación de la empresa autenticada.
verifactu_transmission_failedinvalid_request_error422El envío del registro a la AEAT no llegó a completarse: el endpoint estaba inaccesible o respondió con una incidencia.

Relacionado

En esta página

¿Te echamos una mano?Contactar con soporte