Database DDL Files - erp-core
Version: 1.1.0
Fecha: 2026-02-03
Total Archivos: 38
Total Schemas: 20
Convenciones de Numeracion
Los archivos DDL siguen un esquema de numeracion por rangos segun dominio funcional:
| Rango |
Dominio |
Descripcion |
| 01-09 |
Foundation |
Auth, core, mobile, billing base |
| 10-15 |
System |
Audit, feature-flags, webhooks, storage, AI, WhatsApp |
| 16-19 |
Partners & Products |
Partners, products, warehouses, attributes |
| 20-24 |
Catalogs & Operations |
Core catalogs, inventory, sales, purchases, invoices |
| 25-29 |
Fiscal & CFDI |
Catalogos SAT, facturacion electronica CFDI |
| 30-49 |
Reserved |
Expansiones futuras |
| 50-59 |
Financial |
Contabilidad completa |
| 60-69 |
Projects |
Proyectos y timesheets |
Archivos DDL por Dominio
Foundation (01-09)
| # |
Archivo |
Schema |
Descripcion |
| 01 |
01-auth-profiles.sql |
auth |
Usuarios, sesiones, perfiles |
| 02 |
02-auth-devices.sql |
auth |
Dispositivos, biometria |
| 03 |
03-core-branches.sql |
core |
Sucursales, horarios |
| 04 |
04-mobile.sql |
mobile |
Sesiones movil, push, sync |
| 05 |
05-billing-usage.sql |
billing |
Suscripciones, planes, uso |
| 06 |
06-auth-extended.sql |
auth |
OAuth, MFA extendido |
| 07 |
07-users-rbac.sql |
auth |
Roles, permisos, grupos |
| 08 |
08-plans.sql |
billing |
Planes detallados, features |
| 09 |
09-notifications.sql |
notifications |
Notificaciones multicanal |
System (10-15)
| # |
Archivo |
Schema |
Descripcion |
| 10 |
10-audit.sql |
audit |
Logs de auditoria completos |
| 11 |
11-feature-flags.sql |
feature_flags |
Feature toggles por tenant |
| 12 |
12-webhooks.sql |
webhooks |
Suscripciones y entregas |
| 13 |
13-storage.sql |
storage |
Archivos, buckets, uploads |
| 14 |
14-ai.sql |
ai |
Modelos, prompts, completions |
| 15 |
15-whatsapp.sql |
whatsapp |
Conversaciones, mensajes |
Partners & Products (16-19)
| # |
Archivo |
Schema |
Descripcion |
| 16 |
16-partners.sql |
partners |
Clientes/proveedores, tax_info, segments |
| 17 |
17-products.sql |
products |
Productos comerciales |
| 18 |
18-warehouses.sql |
inventory |
Almacenes, zonas, ubicaciones |
| 19 |
19-product-attributes.sql |
products |
Atributos, variantes |
Catalogs & Operations (20-24)
| # |
Archivo |
Schema |
Descripcion |
| 20 |
20-core-catalogs.sql |
core |
Paises, monedas, UoM, secuencias |
| 21 |
21-inventory.sql |
inventory |
Stock, lots, pickings, transfers |
| 22 |
22-sales.sql |
sales |
Ordenes de venta, cotizaciones |
| 23 |
23-purchases.sql |
purchases |
Ordenes de compra |
| 24 |
24-invoices.sql |
billing |
Facturas operacionales, pagos |
Fiscal & CFDI (25-29)
| # |
Archivo |
Schema |
Descripcion |
| 25 |
25-payment-terminals.sql |
billing |
Terminales punto de venta |
| 26 |
26-fiscal-catalogs.sql |
fiscal |
Catalogos SAT (regimenes, usos CFDI, formas pago) |
| 27 |
27-cfdi-core.sql |
fiscal |
CFDI: certificados, facturas CFDI, conceptos |
| 28 |
28-cfdi-operations.sql |
fiscal |
CFDI: cancelaciones, logs, complementos pago |
| 29 |
29-cfdi-rls-functions.sql |
fiscal |
CFDI: RLS, funciones auxiliares, triggers, vistas |
Financial (50-57)
| # |
Archivo |
Schema |
Descripcion |
| 50 |
50-financial-schema.sql |
financial |
Schema y extensiones |
| 51 |
51-financial-accounts.sql |
financial |
Plan de cuentas, tipos |
| 52 |
52-financial-journals.sql |
financial |
Diarios contables |
| 53 |
53-financial-entries.sql |
financial |
Asientos contables |
| 54 |
54-financial-invoices.sql |
financial |
Facturas contables |
| 55 |
55-financial-payments.sql |
financial |
Pagos contables |
| 56 |
56-financial-taxes.sql |
financial |
Impuestos |
| 57 |
57-financial-bank-reconciliation.sql |
financial |
Conciliacion bancaria |
Projects (60+)
| # |
Archivo |
Schema |
Descripcion |
| 60 |
60-projects-timesheets.sql |
projects |
Hojas de tiempo |
Matching (46)
| # |
Archivo |
Schema |
Descripcion |
| 46 |
46-purchases-matching.sql |
purchases |
3-way matching PO/Receipt/Invoice |
Schemas PostgreSQL
| Schema |
Proposito |
DDL Files |
| auth |
Autenticacion y usuarios |
01, 02, 06, 07 |
| audit |
Logs de auditoria |
10 |
| billing |
Facturacion SaaS |
05, 08, 24 |
| core |
Catalogos compartidos |
03, 20 |
| feature_flags |
Feature toggles |
11 |
| financial |
Contabilidad |
50-57 |
| fiscal |
Catalogos SAT y CFDI |
26, 27, 28, 29 |
| inventory |
Inventario y stock |
18, 21 |
| mobile |
App movil |
04 |
| notifications |
Notificaciones |
09 |
| partners |
Clientes/proveedores |
16 |
| products |
Productos |
17, 19 |
| projects |
Proyectos |
60 |
| purchases |
Compras |
23, 46 |
| sales |
Ventas |
22 |
| storage |
Archivos |
13 |
| webhooks |
Webhooks |
12 |
| whatsapp |
WhatsApp |
15 |
| ai |
Inteligencia artificial |
14 |
Orden de Ejecucion
Para una instalacion limpia, ejecutar en orden numerico:
for f in $(ls *.sql | sort -n); do
psql -d erp_db -f "$f"
done
Dependencias importantes:
01-auth-profiles.sql debe ejecutarse primero (define auth.users, auth.tenants)
50-financial-schema.sql antes del resto de financial
20-core-catalogs.sql antes de inventory/sales/purchases
24-invoices.sql y 26-fiscal-catalogs.sql antes de 27-cfdi-core.sql
27-cfdi-core.sql antes de 28-cfdi-operations.sql y 29-cfdi-rls-functions.sql
Notas de Sprint 2 (2026-01-24)
Cambios realizados:
- 21-inventory.sql: Agregadas tablas
lots y pickings con ENUMs
- 16-partners.sql: Agregadas tablas
partner_tax_info y partner_segments
- 26-fiscal-catalogs.sql: Renumerado de 21 a 26 para evitar conflicto
Renumeracion historica:
21-fiscal-catalogs.sql -> 26-fiscal-catalogs.sql (Sprint 2, 2026-01-24)
25-fiscal-catalogs.sql eliminado (duplicado)
Notas de Sprint - Modulo CFDI (2026-02-03)
Archivos creados:
-
27-cfdi-core.sql: Tablas core del modulo CFDI
cfdi_certificates: Certificados CSD para timbrado
cfdi_pac_configurations: Configuracion de PACs
cfdi_invoices: Extension de facturas con datos CFDI 4.0
cfdi_invoice_items: Conceptos con claves SAT
cfdi_invoice_item_taxes: Impuestos por concepto
cfdi_related_documents: CFDIs relacionados
-
28-cfdi-operations.sql: Operaciones CFDI
cfdi_cancellation_requests: Solicitudes de cancelacion
cfdi_operation_logs: Audit trail de operaciones
cfdi_payment_complements: Complementos de pago (REP)
cfdi_payment_complement_documents: Documentos en complemento
cfdi_stamp_queue: Cola de timbrado asincrono
-
29-cfdi-rls-functions.sql: Seguridad y funciones
- RLS policies para multi-tenancy
- Funciones auxiliares (validate_rfc, generate_folio, etc.)
- Triggers de auditoria y validacion
- Vistas para reportes y monitoreo
ENUMs creados:
cfdi_voucher_type: Tipos de comprobante (I, E, T, N, P)
csd_certificate_status: Estados de certificado CSD
cfdi_status: Estados del CFDI
cfdi_relation_type: Tipos de relacion entre CFDIs
cfdi_cancellation_reason: Motivos de cancelacion SAT
cancellation_request_status: Estados de solicitud cancelacion
cfdi_operation_type: Tipos de operacion para logs
payment_complement_status: Estados del complemento de pago
Funciones creadas:
fiscal.get_default_certificate(): Obtener certificado activo
fiscal.get_active_pac(): Obtener PAC configurado
fiscal.validate_rfc(): Validar RFC mexicano
fiscal.generate_cfdi_folio(): Generar folios consecutivos
fiscal.can_cancel_cfdi(): Verificar si CFDI puede cancelarse
fiscal.get_invoice_payment_balance(): Saldo de factura PPD
fiscal.get_cfdi_summary(): Resumen de CFDIs por periodo
Vistas creadas:
fiscal.v_cfdi_pending_stamp: CFDIs pendientes de timbrar
fiscal.v_cfdi_pending_cancellations: Cancelaciones pendientes
fiscal.v_certificates_expiring: Certificados por vencer
fiscal.v_pac_stamp_usage: Uso de timbres por PAC
fiscal.v_invoices_pending_payment: Facturas PPD con saldo
Referencias
- Entities:
docs/_definitions/ENTITIES-CATALOG.md
- Services:
docs/_definitions/SERVICES-CATALOG.md
- Invoices/Payments:
docs/_definitions/INVOICES-PAYMENTS-REFERENCE.md
Documentacion actualizada: 2026-02-03 - Modulo CFDI