VerifactuMidAPI/documentacion
admin 4225af5b05 Update documentation and organize test files
- Fix JSON syntax errors in api.md
- Fix typos in verifactu.md and formato_datos.md
- Update README.md with current status (anulation implemented)
- Move all Python test files to test/ folder
- Remove certificates from data/certs/ and test/certs/
2026-05-14 20:50:55 +02:00
..
README.md Update documentation and organize test files 2026-05-14 20:50:55 +02:00
api.md Update documentation and organize test files 2026-05-14 20:50:55 +02:00
arqui.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +02:00
certificado_pruebas.md Fix integración VeriFactu AEAT: XML, hash y encadenamiento 2026-05-13 01:13:09 +02:00
config.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +02:00
formato_datos.md Update documentation and organize test files 2026-05-14 20:50:55 +02:00
seguridad.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +02:00
testing.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +02:00
tokens.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +02:00
verifactu.md Update documentation and organize test files 2026-05-14 20:50:55 +02:00

README.md

VeriFactu MidAPI

API intermediaria para la comunicación con el sistema de facturación VeriFactu de la AEAT (Agencia Estatal de Administración Tributaria) de España.

Propósito

Esta API actúa como intermediaria entre aplicaciones empresariales y el sistema VeriFactu de Hacienda, permitiendo:

  • Alta de facturas: Registro de facturas emitidas en el sistema de Hacienda
  • Anulación de facturas: Cancelación de facturas previamente registradas
  • Gestión de certificados: Registro y validación de certificados digitales cualificados
  • Sistema de tokens: Autenticación mediante tokens para operaciones con facturas

Características

  • Implementación en Go 1.26+
  • Sin dependencias externas
  • Endpoints REST para integración
  • Criptografía RSA para cifrado de contraseñas
  • certificados almacenados temporalmente para validación, luego de forma permanente
  • Tokens de acceso similares a APIs como OpenAI

Estructura del Proyecto

VerifactuMidAPI/
├── api/              → Handlers HTTP, rutas
├── internal/         → Lógica de negocio
│   ├── cert/         → Gestión de certificados
│   ├── config/       → Configuración
│   └── crypto/       → Criptografía RSA
├── verifactu/        → Cliente SOAP para AEAT
├── documentacion/    → Documentación técnica
└── test/            → Pruebas

Inicio Rápido

# Compilar
go build -o verifactu-api.exe ./main.go

# Ejecutar
./verifactu-api.exe

Configuración

Editar config.yml:

server:
  port: 6789

verifactu:
  production: false  # true para producción

certificates:
  storage_path: ./data/certs/

crypto:
  keys_path: ./keys/

Estado

  • Alta de facturas
  • Fallback local (cuando AEAT no disponible)
  • Tokens para certificados
  • Registro de certificados
  • Cifrado RSA de contraseñas
  • Anulación de facturas (básico, sin comunicación AEAT)
  • Consultas
  • Subsanación
  • Conexión real con AEAT (necesita certificado FNMT registrado)

Pruebas

# Tests de certificados (en test/)
python test/run_tests.py

# Test de factura
python test/test_invoice.py

Notas

  • AEAT devuelve 403 Forbidden (necesita certificado cliente)
  • Fallback local guarda facturas cuando AEAT no disponible
  • Certificado se convierte usando Python cryptography