42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
# F-142 — Implementer evidence
|
|
|
|
## Entrega
|
|
|
|
Se completó la fase obligatoria de discovery antes de crear componentes o endpoints:
|
|
|
|
- `docs/reporting/REPORTING_ARCHITECTURE.md`
|
|
- `docs/reporting/REPORTING_TASKS.md`
|
|
|
|
También se abrieron los tickets P0 iniciales en el backlog mediante `scripts/new_ticket.py`:
|
|
|
|
- F-143 — contracts, filters and RBAC
|
|
- F-144 — historical store and financial snapshots
|
|
- F-145 — payment lines and POS cash-safe capture
|
|
- F-146 — ReportingService, summary and sales API
|
|
- F-147 — Admin reporting shell and global filters
|
|
- F-148 — sales dashboard and channel views
|
|
- F-149 — product/category/brand reports
|
|
- F-150 — CSV export
|
|
|
|
## Hallazgos principales
|
|
|
|
- La fuente única actual es `orders_orders` + `orders_items`, pero las ventas todavía no tienen `store_id` directo.
|
|
- TPV ya distingue `source`, `terminal_id` y `cash_session_id`, aunque el flujo POS completo todavía está en tickets POS posteriores.
|
|
- Pagos actuales son eventos de proveedor y no contienen método de pago ni líneas para pagos mixtos.
|
|
- No existe un modelo de devoluciones detallado ni movimientos de caja inmutables.
|
|
- `orders_items` conserva precio/descuento/impuesto, pero no `vat_rate` ni `cost_at_sale`; por tanto IVA por tipo y margen se marcan como no disponibles.
|
|
- El total de pedido no separa portes, por lo que la API futura debe distinguir total cobrado de ventas de mercancía.
|
|
- Categoría/marca actuales no son snapshots históricos.
|
|
|
|
## Scope deliberadamente excluido
|
|
|
|
No se implementaron endpoints, tablas reporting paralelas, dashboards, datos mock, cálculos financieros frontend ni caché prematura. La implementación comienza en F-143/F-144/F-145 y respeta el orden de dependencias documentado.
|
|
|
|
## Verificación
|
|
|
|
```text
|
|
./scripts/verify.sh ✅
|
|
backlog válido (264) ✅
|
|
una sola feature activa (F-142) ✅
|
|
```
|