Skip to main content

Proposals & Invoices · Article 5.3

Crear una enmienda (el asistente de 4 pasos)

El asistente de enmienda en `/proposals/{id}/amend` le guía a través de líneas, motivo, vista previa y correo electrónico — en ese orden. Cinco minutos para un cambio sencillo, diez para uno complejo. El cliente no ve nada hasta que hace clic en Enviar en el Paso 4.

El asistente se abre con el alcance efectivo actual como punto de partida — esas son las líneas originales si ninguna enmienda ha sido firmada antes, o las líneas de la enmienda firmada más reciente si está encadenando (artículo 7.6). Edita, reorganiza, añade o elimina líneas en el Paso 1; explica el porqué en el Paso 2; revisa el addendum renderizado en el Paso 3; y elabora el correo electrónico en el Paso 4. Todo antes del botón Enviar del Paso 4 es privado para usted.

Quick visual tour

  1. creating-an-amendment step 1: ¿Detectó una cláusula que necesita cambiar en una propuesta firmada?

    Step 1: ¿Detectó una cláusula que necesita cambiar en una propuesta firmada?

  2. creating-an-amendment step 2: Haga clic en Enmendar en la propuesta — se abre el asistente de enmienda.

    Step 2: Haga clic en Enmendar en la propuesta — se abre el asistente de enmienda.

  3. creating-an-amendment step 3: Edite las líneas que cambiaron. Tres barras resaltadas muestran el delta.

    Step 3: Edite las líneas que cambiaron. Tres barras resaltadas muestran el delta.

  4. creating-an-amendment step 4: Envíe la enmienda. El cliente recibe una nueva solicitud de firma por correo electrónico.

    Step 4: Envíe la enmienda. El cliente recibe una nueva solicitud de firma por correo electrónico.

  5. creating-an-amendment step 5: El cliente firma la enmienda — ambos vuelven a estar en la misma página.

    Step 5: El cliente firma la enmienda — ambos vuelven a estar en la misma página.

Step by step

  1. Paso 1: líneas.

    Los elementos originales aparecen en la mitad superior, bloqueados y atenuados. Su lista revisada editable aparece debajo. Cada fila recibe una etiqueta de color — verde + añadido, ámbar ~ modificado, rojo − eliminado, gris igual — para que usted (y el cliente, en la vista de diferencias) pueda ver de un vistazo qué ha cambiado. El banner contextual del depósito a la derecha muestra: % del depósito del contrato original, efectivo del depósito cobrado y cuál será el nuevo amount_due (o reembolso, si es Δ_REEMBOLSO). El asistente recalcula después de cada pulsación de tecla.

  2. Paso 2: motivo.

    Un campo de texto breve. Mínimo 10 caracteres para Δ+ / Δ=0, 30 caracteres cuando se reduce el alcance (Δ− / Δ_REEMBOLSO) — el mínimo más largo le anima a registrar el fundamento de cualquier reducción, ya que es el caso más probable de ser cuestionado posteriormente. El motivo aparece literalmente en el PDF del addendum y en la vista de diferencias del cliente.

  3. Paso 3: vista previa.

    El asistente renderiza el PDF del addendum sobre la marcha a través de un endpoint /preview-pdf y lo integra en un iframe. Léalo. Confirme que las líneas, los totales, el desglose del IVA y el motivo se ven correctos. Marque la casilla de consentimiento («He revisado el PDF renderizado y confirmo que refleja con precisión el cambio») — Enviar está desactivado hasta que lo haga. Cualquier edición que realice le enviará de vuelta al Paso 1 e invalidará el consentimiento (tendrá que volver a marcarlo).

  4. Paso 4: compositor de correo electrónico.

    Asunto y cuerpo predefinidos en el idioma de la propuesta; ambos editables. El destinatario corresponde por defecto al correo electrónico del cliente registrado, pero puede anularse (p. ej., para un firmante alternativo). Haga clic en Enviar enmienda al cliente para activar el correo y bloquear la enmienda para ediciones posteriores.

El asistente ocupa la pantalla completa con una barra de progreso de cuatro pasos en la parte superior. El banner contextual del depósito permanece fijo en el Paso 1. Los errores (p. ej., «El motivo debe tener ≥ 30 caracteres» en Δ−) aparecen en línea en la parte superior del paso correspondiente. Después de Enviar, se le redirige a /proposals/{id} donde la enmienda aparece en un panel de «Enmienda pendiente» con cuenta atrás, botón de copiar enlace y un botón de Cancelar.

Why this works this way

El asistente crea automáticamente (o reanuda automáticamente) una fila de borrador ProposalAmendment la primera vez que avanza más allá del Paso 1. A partir de entonces, cada navegación entre pasos aplica un PATCH al borrador en el servidor con las líneas y el motivo actuales. Esto significa que cerrar el navegador a mitad del asistente nunca pierde el trabajo — abra /proposals/{id}/amend de nuevo y aterrizará donde lo dejó.

Un detalle de implementación más sutil: el asistente crea una fila «vista previa» de FinalInvoice adjunta al borrador de la enmienda, con status=cancelled (no activa). El estado cambia a active solo en el momento en que el cliente firma, que es cuando upsert_pending_invoice_for_amendment se convierte en process_amendment_signed. Dos consecuencias: 1. Su contador FAC-2026-NNNN avanza cuando redacta (el número está reservado). Si cancela el borrador, el número permanece en su libro como una fila cancelada — esto es normal y coincide con lo que los Steuerberater alemanes esperan ver como cancelaciones numeradas en el registro de auditoría. 2. El iframe de vista previa del Paso 3 se renderiza contra esta factura de vista previa — es exactamente el PDF que recibirá el cliente, por lo que lo que usted ve es lo que ellos obtienen.

Si la propuesta principal está en estado en_trabajo (depósito pagado, proyecto en curso), el Paso 1 muestra un botón adicional de llamada de acción en rojo «Reembolsar todo» además del editor de líneas — al hacer clic, establece la cantidad de cada línea en 0, lleva revised_total a 0, y en la firma del cliente la cascada en process_amendment_signed emite Storno + DepositInvoiceCorrection + CreditNote y activa el reembolso de Stripe. Esta es la única ruta legítima para reembolsar un depósito en_trabajo; el DELETE directo en la propuesta es rechazado con HTTP 409 in_work_requires_amendment (según [D-125]).

Troubleshooting

Keep reading

Crear una enmienda (el asistente de 4 pasos) · Help · Clozo