Uecko_ERP/docs/document-series/manual-validation.md

3.1 KiB

Manual validation

Guia minima de validacion manual para el cierre V1 de document-series. No requiere nueva infraestructura de tests automatizados.

Objetivo

Confirmar que document-series es la fuente operativa unica para series y numeracion nueva de customer-invoices y que las restricciones funcionales V1 siguen activas.

Precondiciones

  • BD de desarrollo con tablas document_series, proformas e issued_invoices
  • DDL de docs/customer-invoices/sql/add-proforma-document-series-columns.sql aplicada si proformas aun no tiene las columnas nuevas
  • DDL de docs/customer-invoices/sql/add-proforma-tax-config-columns.sql aplicada si proformas aun no tiene las columnas nuevas
  • seed o migracion conservadora de docs/document-series/sql/migrate-customer-invoice-series-to-document-series.sql aplicada solo si el entorno parte de customer_invoice_series
  • backend arrancado con apps/server/.env.development o equivalente seguro de desarrollo

Casos recomendados

  1. Asignacion de issued_invoice desde document-series

    • crear o dejar activa una serie issued_invoice
    • emitir una factura desde el flujo normal
    • comprobar que la referencia/numero resultante coincide con prefix + padded(next_number) + suffix
    • comprobar que document_series.next_number se incrementa exactamente en 1
  2. Asignacion de proforma desde document-series

    • crear o dejar activa una serie proforma
    • crear una proforma desde el flujo normal
    • comprobar que proformas.document_series_id, proformas.proforma_number y proformas.proforma_reference quedan informados
    • comprobar que proforma_reference usa el formato de la serie asignada
  3. Serie inactiva

    • desactivar una serie
    • intentar asignar numeracion con esa serie
    • comprobar que el caso falla y no incrementa next_number
  4. Vigencia invalida

    • configurar una serie con ventana fuera de fecha
    • intentar asignar numeracion
    • comprobar que el caso falla y no incrementa next_number
  5. API canonica de series documentales

    • llamar a /document-series filtrando document_type = proforma e is_active = true
    • llamar a /document-series filtrando document_type = issued_invoice e is_active = true
    • comprobar que la respuesta refleja filas activas de document_series
  6. Endpoint legacy retirado

    • llamar a /catalogs/invoice-series
    • comprobar 404 o endpoint no registrado
  7. Create de proforma sin lineas

    • crear una proforma con items = []
    • comprobar que devuelve items = []
    • comprobar que devuelve taxes = []
    • comprobar que los totales monetarios quedan a 0
    • comprobar que tax_config queda persistido y se devuelve en GET /proformas/:id

Pendiente conocido

branchId aun no se propaga desde customer-invoices hasta assignNextNumber(...). Toda la validacion de esta fase debe asumirse en alcance de empresa.

Estado Fase 2C en este workspace

  • configuracion de desarrollo detectada: si
  • ejecucion real de SQL desde Codex: no
  • motivo: falta cliente mysql en la terminal y la dependencia mysql2 del workspace no pudo abrirse por una dependencia transitiva ausente