# Formatos de Datos ## NIF (Número de Identificación Fiscal) ### Personas Físicas - 8 dígitos + 1 letra final - Ejemplo: `53950250R` ``` ^[A-Z0-9]\d{7}[A-Z]$ ``` ### CIF (Identificación Fiscal Empresas) - 1 letra + 8 dígitos + 1 letra - Ejemplo: `A12345678` ## Fechas Formato: `dd-mm-yyyy` Ejemplo: `17-04-2026` ## Tipos de Factura | Código | Descripción | |--------|------------| | F1 | Factura completa | | F2 | Factura simplificada (ticket) | | R1 | Rectificativa por diferencial | | R2 | Rectificativa por sustitución | | R3 | Rectificativa por descuento | | R4 | Rectificativa por devolución | | R5 | Rectificativa por的其他原因 | ## Sistema Informático | Campo | Descripción | Ejemplo | |-------|------------|--------| | Nombre | Nombre del sistema | Mi ERP | | NIFProveedor | NIF del proveedor | 53950250R | | Version | Versión del software | 1.0 | | NombreSistema | Nombre técnico | Mi-ERP-v1 | | NumeroInstalacion | Número de instalación | 1 | | TipoUsoVerifactu | Tipo de uso VeriFactu | S | ## IVA Cada entrada de IVA: | Campo | Descripción | |-------|------------| | Base | Base imponible | | Cuota | Cuota IVA | | Tipo | Porcentaje (21.0, 10.0, 4.0) | | ClaveRegimen | Clave de régimen (01=general) | | Calificacion | Calificación (S1=sin inversa) | ## Ejemplo Completo ```json { "tipo": "alta", "factura": { "emisor_nif": "53950250R", "num_serie": "FV2026/001", "fecha_expedicion": "17-04-2026", "tipo_factura": "F1", "descripcion": "Factura de prueba", "iva": [ { "base": 100.00, "cuota": 21.00, "tipo": 21.0 } ], "importe_total": 121.00 }, "sistema": { "nombre": "Mi ERP", "nif_proveedor": "53950250R", "version": "1.0" } } ``` ## Hash Encadenado Cada factura incluye el hash SHA-256 de la anterior: ```go hashactual = SHA256(datos_factura + hash_anterior) ``` Esto crea una cadena inmutable de facturas.