VerifactuMidAPI/documentacion
admin 4ab7670232 Implement VeriFactu API with certificate management, invoice submission and local fallback
- Add API handlers for facturas (alta/anulacion)
- Implement certificate storage with temp/permanent flow
- Add token generation for authenticated sessions
- Add fallback to local storage when AEAT unavailable
- Update config with certificate path/password
- Add client certificate conversion for TLS
- Add comprehensive documentation
2026-04-17 13:03:06 +02:00
..
README.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +02:00
api.md Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +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 Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +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 Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +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 Implement VeriFactu API with certificate management, invoice submission and local fallback 2026-04-17 13:03:06 +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
  • Fallback a local cuando AEAT devuelve error
  • Anulación de facturas (básico)
  • Consultas
  • Subsanación
  • Conexión real con AEAT (certificado necesario en servidor con Python cryptography)

Pruebas

# Tests de certificados
python test/run_tests.py

# Test de factura
python 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