Ir al contenido

Duplicar Presupuesto

Crea una copia de un presupuesto existente, útil para reutilizar plantillas o hacer versiones.

  1. Abre el presupuesto que deseas duplicar.
  2. Clic en el botón “Duplicar” (icono de Copy).
  3. El sistema crea un nuevo borrador con:
    • Mismos datos del cliente
    • Mismas líneas (descripción, cantidad, precio, IVA)
    • Mismo descuento y retención
    • Fecha de emisión: hoy
    • Estado: Borrador
  4. Se abre automáticamente el formulario de edición del duplicado.
CampoOriginalDuplicado
NúmeroPRES-000042(sin asignar, es borrador)
Fecha emisión01/02/2026Fecha actual
EstadoAceptadoBorrador
Válido hasta28/02/2026(vacío, puedes configurarlo)
  • Se abre el formulario del nuevo presupuesto.
  • Toast de confirmación: “Presupuesto duplicado”.
  • El nuevo presupuesto aparece en la lista con estado “Borrador”.
MensajeCausaSolución
”Error al duplicar”Cliente eliminadoVerifica que el cliente existe
”No se pudo cargar el presupuesto”ID inválidoVerifica que el presupuesto existe
Información técnica

Proceso de duplicación:

  1. Obtener presupuesto original con líneas
  2. Crear nuevo registro en quotes con status = ‘draft’, issue_date = NOW(), sin número asignado
  3. Crear nuevos registros en quote_items copiando todas las líneas

Queries de diagnóstico:

-- Verificar integridad del duplicado
SELECT q.id,
COUNT(qi.id) as lineas_count,
SUM(qi.line_total) as suma_lineas,
q.subtotal,
CASE
WHEN COUNT(qi.id) = 0 THEN 'ERROR: Sin líneas'
WHEN ABS(SUM(qi.line_total) - q.subtotal) > 0.01 THEN 'ERROR: Descuadre'
ELSE 'OK'
END as estado
FROM quotes q
LEFT JOIN quote_items qi ON qi.quote_id = q.id
WHERE q.id = '<new_quote_id>'
GROUP BY q.id, q.subtotal;