Uecko_ERP/docs/customer-invoices/proforma-duplicate-contract.md
2026-07-30 12:45:33 +02:00

29 lines
1.1 KiB
Markdown

# Duplicado de proformas
## Endpoint
- `POST /proformas/:proforma_id/duplicate`
## Semántica
- Permite duplicar cualquier proforma no eliminada.
- La proforma origen puede estar archivada.
- Si la proforma origen está eliminada lógicamente, el endpoint responde como no disponible.
- El duplicado siempre nace en `draft`, activo, con `archived_at = NULL`, `deleted_at = NULL` y `linked_invoice_id = NULL`.
- La numeración siempre es nueva y se consume desde `document-series`.
- Se intenta reutilizar la misma serie documental del origen si sigue activa; si no, se usa la serie por defecto de `document_type=proforma`.
- `target_invoice_series_code` solo se conserva si sigue siendo una serie activa de `issued_invoice`; si no, pasa a `NULL`.
- Se copian datos comerciales y fiscales del origen.
- Se copian las líneas con nuevos IDs y se recalculan impuestos y totales con el motor actual.
## Response
- `201 Created`
- Devuelve el snapshot completo de la nueva proforma.
## UI
- Acción de fila `Duplicar` en `/proformas` y `/proformas/archived`.
- No muestra `Duplicar` en `/proformas/deleted`.
- Tras duplicar redirige a `/proformas/:id/edit`.