erp-core/docs/05-user-stories/mgn-004/US-MGN-004-006-002-validar-factura-proveedor.md

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

Estimación: 9 horas = 5 SP


Referencias