# Inmutabilidad y registro

## Por qué la inmutabilidad

El RD 1007/2023 exige que todo Sistema Informático de Facturación (SIF) en España garantice la integridad de los registros fiscales. Esto significa que las facturas emitidas no pueden modificarse ni eliminarse.

Frihet implementa inmutabilidad a nivel de base de datos y de interfaz. Los registros fiscales se protegen automáticamente sin intervención del usuario.

## Facturas que no se pueden borrar

Las facturas en estado **Enviada**, **Cobrada** o **Vencida** no se pueden eliminar. Solo los borradores permiten eliminación.

Para anular una factura ya emitida:

1. Abre la factura
2. Haz clic en **Más opciones** → **Cancelar factura**
3. La factura pasa a estado **Cancelada**
4. Se genera un hash de ANULACION que queda registrado en la cadena

El documento permanece visible en el registro. No desaparece.

## Campos bloqueados

Una vez que una factura tiene hash calculado (`verifactu.hash`), los siguientes campos pasan a ser de solo lectura:

- Número de factura
- Fecha de expedición
- Cliente (nombre y NIF)
- Líneas de factura (descripción, cantidad, precio, tipo impositivo)
- Tipo de IRPF
- Régimen de IVA
- Tipo de operación

Estos campos están bloqueados tanto en la interfaz como en las reglas de base de datos. No es posible modificarlos por ninguna vía.

:::tip
Para corregir una factura ya emitida, crea una [factura rectificativa](../facturacion/abonos) vinculada a la original.
:::

## Numeración secuencial sin saltos

La numeración se genera en el servidor mediante un contador atómico. No depende del cliente ni del navegador.

- Cada serie tiene su propio contador independiente
- No es posible crear huecos en la numeración
- El número se asigna en el momento de la creación, no de forma manual
- El patrón de numeración es configurable (ver [Series y numeración](../facturacion/series-numeracion))

## Registro de auditoría

Cada factura mantiene un registro de cambios (audit log) que se genera automáticamente. Se registran las siguientes acciones:

- Creación del documento
- Modificaciones de campos (antes de bloqueo)
- Cambios de estado
- Cancelación

Cada entrada del registro incluye: fecha/hora, usuario, acción realizada y campos modificados.

El registro de auditoría es inmutable. No se pueden editar ni eliminar entradas del log.

## Cancelación vs. eliminación

| Acción | Cuándo | Qué ocurre |
|--------|--------|------------|
| Eliminar | Solo borradores | Se elimina el documento |
| Cancelar | Facturas emitidas | Estado "Cancelada", hash de ANULACION, documento permanece en registro |
| Rectificar | Facturas con errores | Se crea nueva factura rectificativa vinculada a la original |

---

**Anterior:** [VeriFactu](./verifactu) | **Siguiente:** [Modelos fiscales trimestrales](./modelos-fiscales)
