🧩 Día 32: Toma de Requisitos (1/3) – Análisis Legal y de Contexto

Proyecto: Plugin WP Verifactu for WooCommerce
Alumno: Alejandro


🎯 Objetivo del día

Comprender a fondo el marco normativo, funcional y estratégico en el que se desarrollará el plugin WP Verifactu, que debe estar alineado con los requisitos legales establecidos por la AEAT y cumplir con estándares de seguridad para un producto que se espera comercializar como software SaaS.


1️⃣ Parte General: Requisitos Legales, de Contexto y Seguridad

¿Qué se espera investigar y documentar?

  • Requisitos legales: No basta con decir «según la AEAT». Hay que citar los artículos, secciones, normas técnicas, APIs oficiales o métodos criptográficos exigidos.
  • Entorno legal: Plazos, responsabilidades del desarrollador, obligaciones ante Hacienda, responsabilidad por errores.
  • Seguridad: Requisitos relacionados con:
    • Cifrado de datos.
    • Integridad del ticket generado.
    • Firma digital.
    • Registro de logs y control de accesos.
    • Interacción segura entre WooCommerce, nuestro web service y la AEAT.
  • Aspectos comerciales: Eres un “productor de software”, por tanto, debes cumplir las obligaciones de la Orden Ministerial y el Reglamento Técnico de Verifactu.

2️⃣ Parte Específica del Proyecto: WP Verifactu

📌 Marco Legal Fundamental (obligatorio analizar y citar)

  • Orden HFP/387/2024, de 24 de abril
    BOE oficial: PDF completo
    Título completo: Regulación técnica y funcional de los sistemas de facturación con Verifactu y remisión automática de registros a la AEAT.
  • Reglamento Técnico de Verifactu (Anexo I)
    Estudia y cita los siguientes aspectos:
    • Art. 5: requisitos de los sistemas informáticos.
    • Art. 9: formato del XML.
    • Art. 12-15: Firma de los datos, eventos de auditoría, hashes encadenados.
    • Art. 19: remisión a la AEAT.
    • Anexo III: APIs y sistemas de integración.
  • Plazos clave
    • El software debe estar listo antes del 29 de julio de 2025.
    • Aún no se ha definido el plazo para los usuarios finales, pero tú eres responsable como proveedor.

Aquí tienes una versión mejorada y ampliada de la sección «Documentación adicional para estudiar» del Día 32, con múltiples fuentes actuales, enlaces reales y referencias claras para que el programador pueda abordar todos los requisitos legales y técnicos del proyecto WP Verifactu:


📚 Documentación oficial y técnica para WP Verifactu

1. Normativa legal y reglamentos relevantes

  • Orden HAC/387/2024, de 24 de abril
    Publicada en el BOE el 28 de octubre de 2024, desarrolla los requisitos técnicos para sistemas de facturación conformes con Veri*Factu (verifacti.com, sede.agenciatributaria.gob.es).
    Incluye reglas sobre formatos XML, encadenamiento de hash, firma, logs, transmisión en línea y conservación.
  • Real Decreto 1007/2023, de 5 de diciembre (RRSIF)
    Establece requisitos del sistema Veri*Factu (artículos 7, 14–16) e interoperabilidad con sistemas no verificables (sede.agenciatributaria.gob.es, sede.agenciatributaria.gob.es).
  • Real Decreto 254/2025, de 1 de abril
    Modifica el RD 1007/2023; actualiza aspectos técnicos y operativos del sistema (sede.agenciatributaria.gob.es).
  • Ley 58/2003, General Tributaria (art. 29.2.j: obligación de trazabilidad y conservación) (sede.agenciatributaria.gob.es).

2. Información técnica desde la Agencia Tributaria

  • Página oficial “Sistemas Informáticos de Facturación (SIF) y Veri*Factu”
    Describe los requisitos técnicos y funcionales del sistema Veri*Factu: identificación, integridad, trazabilidad, conservación, logs, envío inmediato, QR y funcionalidades diferenciadas (sede.agenciatributaria.gob.es, sede.agenciatributaria.gob.es).
  • Preguntas frecuentes (FAQ)
    Documentan en detalle puntos como manejo de fallos, interoperabilidad entre módulos, responsabilidad del titular del sistema, plazos y firma (sede.agenciatributaria.gob.es).

3. APIs y documentación técnica para desarrolladores

  • Documentación API oficial (Verifactu API)
    Describe endpoints para registro de facturas, estado, webhooks, autenticación con Bearer Token, uso de JSON y flujo completo de comunicación con la AEAT (app.verifactuapi.es).
    • URL base: https://app.verifactuapi.es/docs
    • Incluye colección Postman para pruebas.
  • Información técnica de VerifactuAPI
    Servicio SaaS que facilita la integración con AEAT, asumiendo firma electrónica, encadenamiento de hash y remisión (app.verifactuapi.es, verifacti.com).
  • API competencia (Binovo)
    También ofrece documentación de integración con WooCommerce y otros ERPs, útil como referencia de métodos y endpoints (apiverifactu.es).

4. Implementaciones y ejemplos de código

  • Repositorio GitHub “VeriFactu” (mdiago)
    Ejemplo de implementación Java/.NET con código real para envío de registros, firma, manejo de certificados y flujo completo de comunicación (github.com).
  • TicketBAI API
    Aunque es normativa vasca, el diseño arquitectónico y de flujos REST es muy similar y útil como ejemplo de sistemas de facturación fiscal integrados (apiverifactu.es).

5. Soporte y contacto con AEAT

  • Es posible solicitar ayuda oficial escribiendo a: verifactu@correo.aeat.es, útil para resolver dudas técnicas concretas (nemon.io).

📄 Cómo debería estructurarse esta sección en el PDF


3️⃣ Requisitos Legales que se deben especificar (no solo nombrar)

El documento de requisitos debe incluir con claridad:

RequisitoDetalle técnico exigido
Identificación del sistemaID único del sistema de facturación
Hash encadenadoSHA256 del contenido del ticket + anterior hash
FirmaFirma con certificado digital del fabricante
InmutabilidadLogs inmutables de facturas y eventos
Integración con AEATAPI RESTful, JSON/XML, con TLS y autenticación
Eventos de auditoríaRegistro de acciones del usuario sobre cada ticket
Licencia del sistemaNúmero de licencia o inscripción del productor de software
Tiempo de conservación4 años mínimo (art. 29 del Reglamento de Facturación)
Control de versionesCada cambio del plugin debe registrarse y documentarse

4️⃣ Recomendación estratégica

Este plugin debe pensarse desde el inicio como producto SaaS, con un backend propio que reciba la info de WooCommerce, la firme, la almacene, y la reenvíe a la AEAT.
➤ Por tanto, la toma de requisitos debe contemplar esta arquitectura completa.
No es un plugin sencillo: es un sistema fiscal.


5️⃣ Tareas del día

🔍 Investigación

  • Leer y extraer todos los requisitos técnicos de los documentos legales anteriores.
    No vale solo nombrarlos, hay que copiarlos, desglosarlos y comentarlos.
  • Comprobar si AEAT ha publicado nuevas APIs, guías o boletines.

📑 Entregables esperados

  • Documento PDF llamado DIA-32-TOMA DE REQUISITOS (1_3)_ANÁLISIS LEGAL WP VERIFACTU
  • Debe incluir:
    • Sección de introducción (contexto fiscal y objetivos del plugin)
    • Tabla de requisitos legales detallados
    • Riesgos legales por incumplimiento
    • Cómo verificar cada requisito legal en el desarrollo (tests, logs, auditoría)
    • Bibliografía legal y enlaces
    • Anexo con resumen de APIs si están publicadas

🟢 Avance

Durante el Día 33, el trabajo se centrará en desglosar con claridad los requisitos funcionales y de seguridad del plugin WP Verifactu:

  • ¿Qué debe poder hacer el plugin desde la perspectiva del usuario final?
  • ¿Cómo debe protegerse contra ataques como XSS, CSRF o fuga de datos?
  • ¿Qué funciones específicas debe tener para cumplir los artículos legales ya analizados?

Posteriormente, en el Día 34, se abordará la lógica de negocio, casos de uso clave y requisitos para la futura publicación del plugin como producto comercial (SaaS o venta directa), incluyendo:

  • ¿Qué roles interactúan con el sistema?
  • ¿Qué pantallas o funciones ve un usuario WooCommerce, un gestor fiscal, o el administrador?
  • ¿Cómo se monetiza o licencia el plugin?
  • ¿Qué elementos exige WordPress.org para su inclusión en el repositorio oficial?

Este enfoque en tres días te permitirá tener una toma de requisitos sólida, profesional y segura, que te distinguirá como desarrollador full stack serio y que protege legalmente tanto a ti como a tus clientes.