FactuGES_ERP/docs/README.md

100 lines
5.2 KiB
Markdown
Raw Normal View History

2026-07-06 12:04:47 +00:00
# ERP Docs
2025-04-22 15:09:57 +00:00
Este directorio reúne la documentación técnica, operativa y de apoyo del ERP.
## Cómo leer esta documentación
- Empieza por este índice si necesitas orientarte.
- Usa los documentos en subdirectorios temáticos como fuente de verdad operativa.
- Trata los documentos marcados como históricos o legacy como contexto, no como contrato vigente.
- Si hay duda sobre qué documento manda, consulta la [auditoría SSOT](./documentation-ssot-audit.md).
## Estructura documental
### Documentación vigente
#### Arquitectura y runtime
- [Arquitectura general](./architecture/README.md)
- [Requisitos de `companies`](./companies/company-requirements.md)
2026-07-06 12:04:47 +00:00
- [Contexto tenant y `X-Company-Id`](./architecture/tenant-context.md)
- [Tratamiento de errores HTTP en frontend](./architecture/http-error-handling-frontend.md)
- [API de autenticación de `identity`](./architecture/identity-auth-api.md)
- [Relación entre `identity` y `companies`](./architecture/identity-and-companies.md)
- [Estado de migración a `identity`](./architecture/identity-migration-status.md)
2026-07-29 09:24:06 +00:00
#### Frontend
2026-07-29 09:24:06 +00:00
- [Flujo de auth y selección de empresa](./frontend/auth-and-company-selection.md)
2026-09-01 07:16:52 +00:00
- [Diseño de pantallas de listado](./frontend/diseno-pantallas-listado.md)
- [Diseño de cuadros de diálogo de formulario](./frontend/diseno-cuadros-dialogo.md)
- [Sistema modular de Settings](./settings/frontend-erp-settings-system-design.md)
- [Integración de módulos con Settings](./settings/frontend-erp-settings-module-integration-design.md)
- [README de `apps/web`](../apps/web/README.md)
2026-07-29 09:24:06 +00:00
#### Customer invoices y proformas
2026-07-29 09:24:06 +00:00
- [Índice de `customer-invoices`](./customer-invoices/README.md)
- [Auditoría SSOT documental](./documentation-ssot-audit.md)
feat: add proforma customer change evaluation utility - Implemented `evaluateProformaCustomerChange` function to assess changes in customer details for proforma invoices. - Introduced types for customer change details, blockers, field differences, and fiscal targets. - Added utility functions for normalizing text and formatting recipient information. test: add unit tests for customer payment resolver - Created tests for `CustomerPaymentResolver` to validate payment term retrieval and handling of inactive terms. - Ensured proper behavior when clearing payment terms and handling non-existent terms. test: add unit tests for customer default payment term resolver - Developed tests for `CustomerDefaultPaymentTermResolver` to verify default payment term resolution logic. - Included scenarios for creating customers with and without explicit payment term IDs. feat: implement customer default payment term resolver - Created `CustomerDefaultPaymentTermResolver` to manage default payment term resolution during customer creation. - Integrated with company finder and payment resolver services. test: add unit tests for create customer use case - Implemented tests for `CreateCustomerUseCase` to ensure correct handling of payment term IDs during customer creation. - Validated behavior when no explicit payment term ID is provided. test: add unit tests for update customer use case - Developed tests for `UpdateCustomerUseCase` to verify payment term handling during customer updates. - Ensured that inactive payment terms are not assigned and that explicit null values are respected. feat: add dependency injection for customer company services - Implemented DI for customer company dependencies to facilitate service resolution. test: add tests for customer create data utility - Created tests for `buildCustomerCreateData` to validate payment term handling based on user input.
2026-08-17 09:25:34 +00:00
- [Plazos de pago](./catalogs/payment-terms.md)
- [Diseño backend del perfil VeriFactu empresarial](./customer-invoices/settings/verifactu-company-profile-backend-design.md)
Documento parcialmente superado: sigue siendo canónico para `CompanyVerifactuProfile`, pero no para reintroducir `IssuedInvoice.verifactuPolicy`.
- [Diseño frontend de Settings para VeriFactu](./customer-invoices/settings/frontend-erp-settings-verifactu-design.md)
- [Contrato de series de proformas](./customer-invoices/proforma-series-contract.md)
2026-07-29 09:24:06 +00:00
- [Contrato de create de proformas](./customer-invoices/proforma-create-contract.md)
- [Configuración fiscal persistida en proformas](./customer-invoices/proforma-tax-config.md)
- [Reports de proformas](./customer-invoices/proformas-reports.md)
2026-07-29 09:24:06 +00:00
#### Document series
2026-07-29 09:24:06 +00:00
- [README de `document-series`](./document-series/README.md)
- [Diseño de `document-series`](./document-series/document-series-design.md)
- [Validación manual de `document-series`](./document-series/manual-validation.md)
- [Validación manual de concurrencia](./document-series/manual-concurrency-validation.md)
2026-07-29 09:24:06 +00:00
#### Módulos y runtime local
2026-07-29 09:24:06 +00:00
2026-07-06 15:47:05 +00:00
- [README de `modules/identity`](../modules/identity/README.md)
- [README de `modules/companies`](../modules/companies/README.md)
- [README de `modules/auth`](../modules/auth/README.md)
2026-08-11 07:59:09 +00:00
- [API pública de selección y alta rápida de clientes](./customers/customer-selection-and-quick-create.md)
- [Tests HTTP backend](./testing/backend-http-integration.md)
- [Harness frontend con `node:test`](./testing/frontend-node-test.md)
2025-04-22 15:09:57 +00:00
#### Guías y estándares
2026-07-29 09:24:06 +00:00
- [Guía de diseño de DTOs](./DTOS - GUÍA DE DISEÑO.md)
- [Convención de nombres de schemas DTO](./CONVENCION NOMBRADO DE ESQUEMAS DTO.md)
#### SQL operativos y runbooks
- [SQL de `customer-invoices`](./customer-invoices/sql/README.md)
- [Validación de migración a `document-series`](./document-series/sql/validate-document-series-migration.sql)
2026-07-29 09:24:06 +00:00
- [Seed local de admin](./dev/seed-local-admin.sql)
### Material auxiliar
- [Base común para prompts backend](./backend-prompt-base.md)
- [Prompt de auth](./prompt-auth.md)
- [Prompt de customer invoices](./prompt-customer-invoices.md)
- [Plantilla auxiliar](./TEMPLATE.md)
### Histórico, transicional o de descubrimiento
2025-04-22 15:09:57 +00:00
Estos documentos se conservan por trazabilidad, auditoría o contexto de decisiones. No deben usarse como fuente de verdad del runtime actual sin contrastarlos con la documentación vigente.
- [Borrador legacy de API](./API.md)
- [Requisitos generales históricos](./REQUISITOS GENERALES.md)
- [Requisitos históricos del módulo de clientes](./REQUISITOS CLIENTES.md)
- [Notas históricas de facturas de cliente](./FACTURAS DE CLIENTE.md)
- [Split histórico Proforma / IssuedInvoice](./customer-invoices/split-proformas-issued-invoices-migration.md)
- [Migración desde `customer_invoice_series`](./document-series/migration-from-customer-invoice-series.md)
- [InvoiceSeries legacy](./customer-invoices/invoice-series.md)
2025-04-22 15:09:57 +00:00
## Regla práctica de mantenimiento
2025-04-22 15:09:57 +00:00
- Los documentos operativos vigentes deben vivir en subdirectorios temáticos y tener una responsabilidad clara.
- Los documentos raíz en mayúsculas o con naming heredado deben considerarse legacy o auxiliares salvo que este índice los declare explícitamente vigentes.
- Si una regla ya tiene fuente canónica, los demás documentos deben resumirla y enlazarla, no copiarla.
- Para VeriFactu e `IssuedInvoice`, el estado vigente es: sin `verifactuPolicy`, cardinalidad actual `1 -> 0..1`, objetivo futuro `1 -> 0..N`.