# US-MGN-003-006-001: Gestión de Condiciones de Pago (Payment Terms) **RF Asociado:** [RF-MGN-003-006](../../02-modelado/requerimientos-funcionales/mgn-003/RF-MGN-003-006-condiciones-de-pago-payment-terms.md) **Módulo:** MGN-003 - Catálogos Maestros **Epic:** Configuración Financiera **Prioridad:** P0 (MVP) **Story Points:** 5 **Sprint:** Sprint 6 **Fecha:** 2025-11-24 --- ## User Story **Como** administrador, **Quiero** definir condiciones de pago (inmediato, 30 días, 60/90 días, etc.), **Para** calcular fechas de vencimiento automáticamente en facturas. --- ## Criterios de Aceptación ### Escenario 1: Condición de pago simple **Cuando** creo payment term "30 días neto", **Entonces** facturas con este término vencen 30 días después de fecha factura. ### Escenario 2: Condición con múltiples plazos **Cuando** creo "50% inmediato, 50% a 30 días", **Entonces** factura genera 2 líneas de vencimiento. ### Escenario 3: Descuento por pronto pago **Cuando** configuro "2% descuento si paga en 10 días, neto 30", **Entonces** sistema calcula descuento si pago antes de 10 días. --- ## Reglas de Negocio - **RN-1:** Payment term puede tener múltiples líneas (plazos) - **RN-2:** Cada línea: % monto, días de plazo, descuento opcional - **RN-3:** Sistema calcula due_date = invoice_date + días --- ## Tareas Técnicas - [ ] CRUD de payment terms - [ ] Tabla: master.payment_term_lines - [ ] Función: calculateDueDates(invoiceDate, paymentTerm) - [ ] Seed data: términos comunes - [ ] Tests --- ## Estimación: 5 SP --- ## Referencias - [RF-MGN-003-006](../../02-modelado/requerimientos-funcionales/mgn-003/RF-MGN-003-006-condiciones-de-pago-payment-terms.md)