# ¿Cómo se gestionan los contratos prorrateados en las renovaciones automáticas?

Cuando un contrato es **prorrateado** y se activa la renovación automática, el sistema realiza una serie de ajustes en los movimientos y valores asociados para asegurar una correcta continuidad. Este proceso se adapta según si existen o no movimientos ya procesados para el último periodo.

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-">---

</div>#### Proceso General

El sistema verifica la existencia de movimientos procesados para el último periodo de canon o comisión del contrato. A partir de esta verificación, se ejecutan diferentes acciones:

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk--1">---

</div>#### Escenario 1: No existen movimientos procesados para el último periodo

Si el sistema determina que **no hay movimientos procesados** para el último periodo del canon o comisión, se realizan los siguientes pasos:

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-eliminaci%C3%B3n-de-movim">1. **Eliminación de movimientos no procesados:** Se borran todos los movimientos que no han sido procesados y que corresponden al último periodo.
2. **Cálculo y asignación del canon proporcional:** Se calcula el **canon proporcional** para el último periodo y este valor se asigna directamente al contrato.
3. **Ajuste de la fecha de fin:** La fecha de fin del contrato se modifica para que coincida con el **último día del mes** correspondiente.
4. **Actualización del contrato principal:** El contrato principal se actualiza con los nuevos valores y fechas.
5. **Restablecimiento del canon:** Finalmente, el valor del canon se restablece al **nuevo canon calculado para el siguiente periodo** de renovación.

</div>##### Ejemplo Práctico: No existen movimientos procesados

**Supuestos de datos:**

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-contrato-id%3A-1001-fe">- **Contrato ID:** 1001
- **Fecha fin original:** 15 de julio de 2025
- **Valor canon original:** $1,000,000
- **Porcentaje incremento canon:** 10%
- **Prorrateado:** 1

</div>**Cálculos:**

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-nuevo-canon%3A-%241%2C000%2C">- **Nuevo canon:** $1,000,000 + 10% = $1,100,000
- **Día del mes de la fecha fin:** 15
- **Valor restante del mes:** ($1,100,000 / 30 días) \* (30 - 15 días restantes) = $36,666.67 \* 15 = $550,000
- **Canon último periodo:** (15 días \* ($1,000,000 / 30 días)) + $550,000 = $500,000 + $550,000 = **$1,050,000**

</div>**Acciones del sistema:**

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-elimina-los-movimien">1. Elimina los movimientos no procesados del último periodo.
2. Asigna al contrato el **canon último periodo de $1,050,000**.
3. Ajusta la fecha fin al **31 de julio de 2025**.
4. Actualiza el contrato principal.
5. Restablece el canon al nuevo valor de **$1,100,000** para el siguiente periodo.

---

</div>#### Escenario 2: Existen movimientos procesados para el último periodo

Si el sistema detecta que **existen movimientos procesados** para el último periodo, el flujo de acciones cambia:

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-obtenci%C3%B3n-de-concept">1. **Obtención de conceptos:** Se identifican los conceptos de canon y comisión asociados al tipo de contrato.
2. **Cálculo de fechas del nuevo periodo:** Se determinan las fechas de inicio y fin para el nuevo periodo de renovación.
3. **Creación de movimiento de canon proporcional:** Se genera un nuevo movimiento de canon con el **valor proporcional restante** del periodo.
4. **Creación de movimiento de comisión:** Se crea un movimiento de comisión, calculando su valor en función del **porcentaje de comisión** del contrato. Si el porcentaje de comisión es 0, el valor de la comisión también será 0.
5. **Asignación de nuevas fechas al contrato:** Las fechas de inicio, fin y cartera del contrato se actualizan para reflejar el nuevo periodo tras la renovación.
6. **Procesamiento y validación de periodos:** El sistema obtiene los nuevos periodos del contrato y, para cada uno, valida y actualiza los movimientos asociados.
7. **Manejo de errores:** Si el procesamiento de los movimientos falla, se realiza un **rollback** (se deshacen los cambios) y se registra el error para su posterior revisión.
8. **Notificación y finalización:** Si todo el proceso es exitoso, se envía un correo electrónico al inquilino para notificarle sobre el nuevo contrato y la transacción se finaliza.

</div>##### Ejemplo Práctico: Existen movimientos procesados

**Supuestos de datos:**

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-contrato-id%3A-1002-fe">- **Contrato ID:** 1002
- **Fecha fin original:** 15 de julio de 2025
- **Valor canon original:** $1,000,000
- **Porcentaje incremento canon:** 10%
- **Prorrateado:** 1
- **Porcentaje comisión:** 5%

</div>**Cálculos:**

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-nuevo-canon%3A-%241%2C000%2C-1">- **Nuevo canon:** $1,000,000 + 10% = $1,100,000
- **Día del mes de la fecha fin:** 15
- **Valor restante del mes:** ($1,100,000 / 30 días) \* (30 - 15 días restantes) = **$550,000**

</div>**Acciones del sistema:**

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-obtiene-los-concepto">1. Obtiene los conceptos de canon y comisión.
2. Calcula las fechas para el nuevo periodo:
    
    
    - **Fecha inicio:** 16 de julio de 2025
    - **Fecha fin:** 31 de julio de 2025
3. Crea un movimiento de canon con un **valor de $550,000**.
4. Crea un movimiento de comisión con un **valor de ($550,000 \* 5%) = $27,500**.

---

</div>#### Resumen Visual

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk-caso-canon-%C3%BAltimo-pe"><table><thead><tr><td>Caso</td><td>Canon último periodo</td><td>Restante</td><td>Comisión</td><td>Fecha fin nueva</td><td>Acción principal</td></tr></thead><tbody><tr><td>**Sin movimientos procesados**</td><td>$1,050,000</td><td>$550,000</td><td>N/A</td><td>2025-07-31</td><td>Elimina movimientos, ajusta canon</td></tr><tr><td>**Con movimientos procesados**</td><td>N/A</td><td>$550,000</td><td>$27,500</td><td>2025-07-31</td><td>Crea movimientos de canon y comisión</td></tr></tbody></table>

---

</div>Este proceso garantiza que los contratos prorrateados mantengan la integridad de su información financiera y de periodos al renovarse automáticamente, generando los movimientos y valores proporcionales necesarios y manteniendo un registro detallado de las transacciones.

<div _ngcontent-ng-c4023224625="" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk--2"></div>