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