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

166 lines
3.1 KiB
Markdown

# 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