2.0 KiB
2.0 KiB
US-MGN-004-006-002: Validar Factura de Proveedor y Generar Asiento
RF Asociado: RF-MGN-004-006 Módulo: MGN-004 - Financiero Básico Epic: Facturas de Proveedor Prioridad: P0 (MVP) Story Points: 5 Sprint: Sprint 11 Estado: Ready for Development Fecha: 2025-11-24
User Story
Como usuario de compras o contador, Quiero validar facturas de proveedor draft, Para contabilizarlas y generar asiento contable automático.
Descripción Detallada
Al validar factura proveedor:
- State: draft → open
- Asiento contable generado:
- Débito: Cuentas de Gasto (product.expense_account) por subtotal de cada línea
- Débito: Impuestos (tax.paid_account) por impuestos
- Crédito: Cuentas por Pagar (partner.payable_account) por total
Criterios de Aceptación
Escenario 1: Validar y generar asiento
Dado que factura proveedor draft, subtotal=1000, IVA 21%=210, total=1210, Cuando valido, Entonces asiento:
- Débito: Gastos 1000
- Débito: IVA a Recuperar 210
- Crédito: Cuentas por Pagar 1210
Escenario 2: Calcular due_date
Dado que invoice_date + payment_term, Cuando valido, Entonces due_date calculado correctamente.
Reglas de Negocio
- RN-1: Solo draft pueden validarse.
- RN-2: Asiento débito a gastos, crédito a payables.
- RN-3: Facturas open son inmutables.
Tareas Técnicas
Backend
- POST /vendor-invoices/:id/validate
- Service: VendorInvoiceService.validate()
- Service: VendorInvoiceService.generateJournalEntry()
- Generar asiento con estructura correcta
- Unit tests (8 test cases)
Frontend
- Botón Validar
- Modal confirmación
- E2E test