phronCare/docs/stories/story-74-sales-document-draft-review-validation.md
leandro 10db654679
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 26m7s
feat(sales): add sales document draft review and validation close #74
2026-06-11 20:00:57 -03:00

3.1 KiB

PhronCare — Story #74: Sales Document Draft Review & Validation

Objetivo

Incorporar una etapa formal de revisión administrativa para Sales Documents en estado Draft antes de su futura utilización en procesos de facturación fiscal.

La story debe permitir revisar, completar, validar y aprobar un documento comercial sin realizar ninguna emisión fiscal.


Contexto funcional

Actualmente:

Delivery Note ↓ Sales Document

El documento se crea correctamente y queda almacenado con estado Draft.

Sin embargo:

  • no existe una pantalla de revisión;
  • no existe un proceso formal de validación;
  • no existe una separación clara entre creación y aprobación;
  • el usuario no puede revisar fácilmente la información antes de continuar el circuito comercial.

Antes de implementar integración ARCA se requiere formalizar esta etapa.


Alcance

Domain

Incorporar DTOs específicos para revisión y validación:

  • SalesDocumentDraftPreviewDto
  • SalesDocumentDraftReviewDto
  • SalesDocumentDraftValidationDto

Core

Extender SalesDocumentService para:

  • Obtener preview completo.
  • Actualizar información editable del draft.
  • Validar draft.
  • Cambiar estado Draft → Validated.

Data

  • Extender repositorios existentes.
  • No crear nuevas tablas.
  • No modificar modelos scaffold.
  • Reutilizar PhS_SalesDocuments como fuente de verdad.

API

Agregar endpoints:

GET /api/SalesDocument/{id}/draft-preview PUT /api/SalesDocument/{id}/draft-review POST /api/SalesDocument/{id}/validate

UI BackOffice

Nueva pantalla:

SalesDocumentReview.razor

Ruta:

/salesdocuments/{id}/review

Debe mostrar:

  • Cabecera del documento
  • Estado
  • Remitos origen
  • Cliente
  • Bill To Customer
  • Coverage
  • Items
  • Importes
  • Observaciones

Permitir:

  • Guardar revisión
  • Validar documento

Reglas de negocio

Un documento podrá validarse únicamente si:

  • Tiene detalles.
  • Tiene importes válidos.
  • Posee cliente asignado.
  • Permanece en estado Draft.

Una vez validado:

Draft → Validated

No podrá modificarse mediante la pantalla de revisión.


Fuera de alcance

  • ARCA
  • AFIP
  • CAE
  • WSFE
  • Numeración fiscal
  • Factura A/B/C
  • Cálculo IVA
  • Condición fiscal
  • Notas de crédito
  • Notas de débito
  • PDF fiscal

Criterios de aceptación

  • Se puede visualizar un Draft completo.
  • Se puede revisar un Draft.
  • Se puede guardar la revisión.
  • Se puede validar un Draft.
  • El estado cambia a Validated.
  • No se modifican modelos EF generados.
  • Se mantienen contratos existentes.
  • Compila correctamente.

Decisiones de diseño

  • Sales Document continúa siendo la entidad principal.
  • No se crea entidad SalesDocumentDraft.
  • El concepto Draft se representa mediante Status.
  • La revisión administrativa se implementa como workflow sobre el documento existente.
  • La futura emisión fiscal se implementará en una story posterior.

Entregable esperado

  • Domain/*
  • Core/*
  • Models/*
  • API/*
  • UIBlazor/Pages/Sales/SalesDocuments/SalesDocumentReview.razor

Branch sugerido

feature/leandro/74-sales-document-draft-review

Commit sugerido

feat(sales): add sales document draft review and validation close #74