FactuGES_ERP/docs/customer-invoices/README.md
david e0ba5ef229 feat: add proforma duplicator service and related tests
- Implemented ProformaDuplicator service for duplicating proforma documents.
- Added tests for duplicating proformas, including scenarios for successful duplication, audit failure propagation, and payment term adaptations.
- Created ProformaStatusChanger service to handle status changes of proformas with corresponding tests.
- Developed ProformaArchiver service for unarchiving proformas and added tests to verify functionality.
- Introduced a test fixture for creating proforma instances for testing purposes.
2026-08-26 13:03:39 +02:00

59 lines
2.8 KiB
Markdown

# customer-invoices
Índice de documentación del área de `customer-invoices`, con separación explícita entre SSOT vigente, documentación parcialmente superada y material histórico.
## SSOT de lectura rápida
- Semántica operativa de proformas: `proforma-series-contract.md`, `proforma-create-contract.md`, `proforma-tax-config.md`
- Numeración documental: `../document-series/README.md`
- Perfil VeriFactu empresarial: `settings/verifactu-company-profile-backend-design.md`
- Auditoría SSOT transversal: `../documentation-ssot-audit.md`
Regla crítica vigente:
- `IssuedInvoice` no tiene `verifactuPolicy` como requisito actual.
- La cardinalidad vigente es `IssuedInvoice 1 -> 0..1 VerifactuRecord`.
- La dirección futura deseada es `IssuedInvoice 1 -> 0..N VerifactuRecord`.
## Documentación vigente (`CURRENT`)
### Contratos funcionales y de transporte
- [Plazos de pago](../catalogs/payment-terms.md)
- [Contrato de series de proformas](./proforma-series-contract.md)
- [Contrato de create de proformas](./proforma-create-contract.md)
- [Contrato de readiness de emisión de proformas](./proforma-issuance-readiness-contract.md)
- [Configuración fiscal persistida en proformas](./proforma-tax-config.md)
- [Contrato de listado de proformas](./proforma-list-contract.md)
- [Contrato de archivado de proformas](./proforma-archive-contract.md)
- [Contrato de borrado de proformas](./proforma-delete-contract.md)
- [Contrato de duplicado de proformas](./proforma-duplicate-contract.md)
- [Contrato de series de issued invoices](./issued-invoice-series-contract.md)
- [Contrato de snapshot documental](./document-series-snapshot-contract.md)
## Documentación vigente con secciones superadas (`PARTIALLY SUPERSEDED`)
- [Diseño backend del perfil VeriFactu empresarial](./settings/verifactu-company-profile-backend-design.md)
Referencia canónica para `CompanyVerifactuProfile` y settings backend; no usar sus secciones antiguas como requisito para reintroducir `IssuedInvoice.verifactuPolicy`.
### Reports y flujos integrados
- [Reports de proformas](./proformas-reports.md)
- [FactuGES -> Proformas V2](../factuges/create-proforma-from-factuges.md)
### SQL y validaciones
- [Índice SQL de `customer-invoices`](./sql/README.md)
## Histórico o transicional (`HISTORICAL`)
- [Split Proformas / Issued Invoices](./split-proformas-issued-invoices-migration.md)
- [InvoiceSeries legacy](./invoice-series.md)
## Criterio de lectura
- Para semántica vigente de negocio, empieza por `proforma-series-contract.md`, `proforma-create-contract.md` y `proforma-tax-config.md`.
- Para SQL manual o runbooks, usa `sql/README.md`.
- Para decisiones antiguas, migraciones o trazabilidad, consulta solo la sección histórica.
- Para saber qué documento manda en cada contexto y qué piezas están superadas, consulta `../documentation-ssot-audit.md`.