FactuGES_ERP/docs/customer-invoices/sql
david ee040b8335 Característica: Mejora de los modelos de facturas proforma y emitidas con atributos de serie de documentos
- Se han añadido `document_series_id`, `invoice_series_code` e `invoice_reference` a los modelos y instantáneas de facturas emitidas.
- Se han introducido `proforma_series_code` y `proforma_number`, y se han actualizado las referencias en los modelos y instantáneas de las facturas proforma.
- Se han actualizado los esquemas de la base de datos y los scripts SQL para dar cabida a los nuevos campos y garantizar la integridad de los datos.
- Se ha elaborado la documentación correspondiente a las nuevas series de documentos «contrato de instantánea» y «contrato de serie de facturas emitidas».
- Se han implementado scripts SQL de rellenado para completar los registros existentes con los nuevos campos.
2026-08-04 11:05:02 +02:00
..
add-issued-invoice-reference.sql Característica: Mejora de los modelos de facturas proforma y emitidas con atributos de serie de documentos 2026-08-04 11:05:02 +02:00
add-proforma-archive-columns.sql Archivado de proformas 2026-07-29 14:40:59 +02:00
add-proforma-document-series-columns.sql feat(document-series): implement document series management API 2026-07-28 18:04:57 +02:00
add-proforma-list-indexes.sql feat: enhance proforma listing and archiving functionality 2026-07-29 22:24:53 +02:00
add-proforma-tax-config-columns.sql Configuración fiscal para proformas 2026-07-29 11:00:37 +02:00
dev-split-proformas-issued-invoices.sql Característica: Mejora de los modelos de facturas proforma y emitidas con atributos de serie de documentos 2026-08-04 11:05:02 +02:00
fix-proforma-series-semantics.sql feat(document-series): implement document series management API 2026-07-28 18:04:57 +02:00
normalize-document-series-snapshots.sql Característica: Mejora de los modelos de facturas proforma y emitidas con atributos de serie de documentos 2026-08-04 11:05:02 +02:00
README.md Característica: Mejora de los modelos de facturas proforma y emitidas con atributos de serie de documentos 2026-08-04 11:05:02 +02:00
validate-proforma-archive.sql Implement archive and unarchive functionality for proformas, including UI dialogs and logic for handling draft proformas. 2026-07-29 18:23:57 +02:00
validate-proforma-soft-delete.sql Borrado de proformas draft 2026-07-29 12:43:54 +02:00
validate-proforma-tax-config.sql Configuración fiscal para proformas 2026-07-29 11:00:37 +02:00
validate-split-proformas-issued-invoices.sql Actualización de documentación 2026-07-29 11:24:06 +02:00

SQL Customer Invoices

Estado

Este directorio mezcla SQL vigentes de soporte con SQL historicos/transicionales.

SQL vigentes

  • add-proforma-document-series-columns.sql
  • add-proforma-tax-config-columns.sql
  • add-issued-invoice-reference.sql
  • normalize-document-series-snapshots.sql
  • fix-proforma-series-semantics.sql
  • validate-proforma-tax-config.sql
  • validate-proforma-soft-delete.sql

SQL históricos / transicionales

  • dev-split-proformas-issued-invoices.sql
  • validate-split-proformas-issued-invoices.sql

Estos archivos no deben tratarse como el camino normal de entornos nuevos salvo que exista un escenario legacy concreto que los requiera.

Orden recomendado en desarrollo para el estado vigente

  1. Verificar que la BD objetivo es inequívocamente de desarrollo.
  2. Hacer backup o confirmar que los datos son descartables.
  3. Ejecutar el DDL vigente que falte para proformas.
  4. Ejecutar normalize-document-series-snapshots.sql para completar snapshots y validaciones de seriado.
  5. Ejecutar las validaciones SQL vigentes.
  6. Levantar backend V2 y validar flujos funcionales.

Propiedades de los scripts históricos de split

  • Crea tablas con CREATE TABLE IF NOT EXISTS.
  • Añade verifactu_records.issued_invoice_id con ALTER TABLE ... ADD COLUMN IF NOT EXISTS.
  • Conserva UUIDs legacy.
  • No borra ni modifica datos legacy.
  • Usa NOT EXISTS para evitar duplicados en reejecuciones.
  • No usa INSERT IGNORE.

Cuándo no ejecutar

No ejecutar si:

  • no existe una configuración de desarrollo clara
  • hay duda sobre si la BD es producción
  • no existe backup verificable
  • el entorno no tiene aún las credenciales/localización confirmadas

Procedimiento preliminar de producción

No ejecutar todavía. Referencia operativa:

  1. Backup verificado.
  2. Ventana de mantenimiento.
  3. Bloquear escrituras del backend.
  4. Ejecutar create tables / columnas transicionales.
  5. Ejecutar backfill idempotente y conservador.
  6. Ejecutar validaciones SQL.
  7. Desplegar backend con wiring V2.
  8. Monitorizar errores y métricas.
  9. Mantener legacy congelado para rollback y auditoría.
  10. Ejecutar rollback según punto de corte si alguna validación falla.