- Add internal/formats/registry.go with Transformer interface
- Add internal/formats/native/ for current API format
- Add internal/formats/dolibarr/ for Dolibarr BFF format
- Refactor factura.go to use TransformAuto() for auto-detection
- Remove format query param — detection is now automatic
- Move ERRORES.md to documentacion/
- Add PREREQUISITES.md with system requirements and setup steps
- Update documentacion/README.md as documentation index
- Simplify root README.md as project summary
- 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/
Bugs corregidos tras validación directa contra la plataforma de pruebas:
- Hash: formato key=valor& en lugar de separador |
- TipoHuella: código 01 en lugar de literal SHA-256
- FechaHoraHusoGenRegistro: formato ISO 8601 con huso horario
- IdSistemaInformatico: 2 caracteres (01)
- Namespaces SOAP: URLs correctas de www2.agenciatributaria.gob.es
- Estructura XML: eliminados wrappers Content/AltaReq sobrantes
- Encadenamiento: xs:choice correcto (PrimerRegistro XOR RegistroAnterior)
- RegistroAnterior: referencia datos de la factura anterior, no la actual
- Destinatarios: bloque obligatorio para facturas F1/F3/rectificativas
- wsu:Id: eliminado atributo con namespace no declarado
- Parser respuesta: mapeado a RespuestaRegFactuSistemaFacturacion real
- Campo emisor_nombre añadido al input de factura
La API envía y recibe correctamente contra prewww1.aeat.es
con respuesta EstadoEnvio=Correcto y CSV asignado por la AEAT.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>