# 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`.