La normativa antifraude (RD 1007/2023 y Orden HAC/1177/2024) obliga a casi cualquier empresa española a emitir con un Sistema Informático de Facturación que garantice integridad, conservación, trazabilidad e inalterabilidad. Este prototipo cubre el modo local con firma electrónica XAdES Enveloped real, libros de registros y de eventos encadenados, detección de anomalías y un panel que mapea cada uno de los 16 requisitos a su estado real en el sistema.
El SIF Antifraude es un prototipo de Sistema Informático de Facturación que implementa los requisitos de la normativa antifraude española (RD 1007/2023 y Orden HAC/1177/2024) en su modo NO Veri*Factu, el universal y obligatorio para cualquier sistema de facturación. Está escrito en PHP 8.1 puro sobre SQLite, sin librerías intermediarias: la firma XAdES, el encadenamiento por huella y el registro de eventos están programados a mano usando las extensiones nativas de PHP (OpenSSL, DOM, hash, PDO SQLite). El objetivo es demostrar, de forma verificable y auditable, cómo un sistema garantiza integridad, conservación, trazabilidad e inalterabilidad de los registros de facturación.
El sistema cubre el ciclo completo de un registro: alta y anulación de facturas, rectificativas, huella SHA-256 encadenada (cada registro incorpora la huella del anterior), firma XAdES Enveloped con certificado cualificado, un libro de eventos del SIF también encadenado y firmable, un proceso de detección de anomalías que recalcula la cadena y valida las firmas, y exportación a XML. Una pantalla de cumplimiento evalúa los requisitos legales (R1 a R16), varios de ellos en vivo contra el estado real de la base de datos.
Es un prototipo de referencia con fines de demostración y aprendizaje, no un SIF certificado: la firma XAdES es funcional a nivel de perfil BES y, según indica la propia documentación, debe validarse contra el perfil exacto de la AEAT antes de producción. Sin certificado configurado el sistema funciona igual, pero deja los registros sin firmar y marca ese requisito (R5) como pendiente.
Genera un registro de facturación de alta por cada factura y un registro de anulación independiente cuando se anula; el alta original se marca como anulada (anulada=1) pero nunca se borra, cumpliendo la conservación.
Calcula la huella de cada registro (alta, anulación o evento) sobre sus campos concatenados en el orden oficial como pares clave=valor, incorporando la huella del registro anterior para formar una cadena cuya rotura es detectable.
Firma cada registro y cada evento con un certificado cualificado en formato .p12, implementando el perfil XAdES-BES (SignedInfo, SignatureValue, KeyInfo X509 y SignedProperties con SigningTime y SigningCertificate) con OpenSSL y canonicalización C14N exclusiva, sin librerías externas.
Mantiene una bitácora encadenada y firmable con los eventos exigidos: instalación, arranque, parada, generación de registro, lanzamiento y detección de anomalías, restauración y exportación, según el catálogo del art. 9.
Recalcula toda la cadena de huellas y valida las firmas; si alguien altera un importe directamente en la base de datos, la verificación lo detecta como huella no coincidente o firma inválida y lo anota como evento de anomalía.
Agrupa las altas por prefijo de serie y comprueba que los sufijos numéricos sean consecutivos, reportando huecos y duplicados; además sugiere el siguiente número correlativo al preparar una emisión.
Permite corregir una factura mediante rectificativa (por sustitución o por diferencias) sin editar el original, marca la factura origen como rectificada y reconstruye el ciclo de vida completo (alta, rectificativas, anulación) consultando los registros enlazados por número/serie.
Incluye los campos Subsanacion y RechazoPrevio del XSD de la AEAT en el registro de alta, para marcar reenvíos de registros con errores o rechazados previamente; ambos quedan reflejados en el XML firmado cuando aplican.
Exporta registros y eventos a ficheros XML legibles guardados en disco (carpeta storage), anotando el evento de exportación correspondiente para dejar traza de la operación.
Evalúa los 16 requisitos legales y muestra su estado; varios se comprueban en vivo contra el estado real del sistema (integridad de la cadena, validez de las firmas, disponibilidad del certificado, eventos registrados, huecos de numeración) y otros reflejan capacidades soportadas por diseño. Genera además el código QR con la URL de cotejo de cada factura.
Capturas con datos de demostración. Los certificados y datos fiscales reales nunca se publican.
Si algo de esto encaja con un problema real de tu negocio, lo convertimos en una solución mantenible y con control total.
Hablemos de tu proyectoÚltima actualización: 03/07/2026
Recopilamos datos personales únicamente cuando el usuario nos los facilita voluntariamente a través de:
| Dato | Obligatorio | Finalidad |
|---|---|---|
| Nombre | Sí | Identificar al remitente y personalizar la respuesta |
| Empresa | No | Contextualizar la consulta profesional |
| Sí | Responder a la consulta y enviar confirmación de recepción | |
| Servicio de interés | No | Derivar la consulta al área adecuada |
| Mensaje | No | Comprender la necesidad del usuario |
Correo de confirmación: al enviar el formulario de contacto, se envía automáticamente un email de confirmación a la dirección indicada por el usuario, como acuse de recibo de la solicitud.
| Dato | Obligatorio | Finalidad |
|---|---|---|
| Nombre | Sí | Mostrar la autoría del comentario publicado |
| Sí | Verificación interna y notificaciones (no se publica) | |
| Contenido del comentario | Sí | Publicación en la sección de comentarios del artículo |
Los comentarios pueden requerir aprobación del moderador antes de su publicación.
| Tipo de dato | Plazo | Criterio |
|---|---|---|
| Formulario de contacto | 12 meses | Desde la última comunicación |
| Comentarios del blog | Indefinido | Mientras permanezca publicado |
| Datos de clientes | 5-6 años | Obligaciones fiscales |
| Cookies | Variable | Según tipo de cookie |
Transcurridos los plazos, los datos serán eliminados o anonimizados.
De acuerdo con el RGPD y la LOPDGDD, tienes derecho a:
Para ejercer estos derechos: info@joanmedina.es
Puedes reclamar ante la AEPD en www.aepd.es.
En 30 minutos analizo tu empresa y te digo con claridad dónde estás perdiendo tiempo, qué automatizaría primero y qué evitaría. Sin compromiso, sin letra pequeña.
+10 años de experiencia · +200 procesos automatizados
Diagnóstico gratuito — Detecta dónde se pierden horas y qué automatización tiene más retorno
Pedir diagnóstico