feat: Initial project structure for ERP Transportistas
Vertical ERP for freight transport and logistics companies. Includes: - Project configuration (CLAUDE.md, SIMCO orchestration) - Backend submodule (NestJS 10.x) - Frontend submodule (React 18.x + Vite) - Database submodule (PostgreSQL 15 + PostGIS) - Requirements documentation (REQ-GIRO-TRANSPORTISTA.md) - 20 modules defined (MAI/MAE/MAA phases) Key features: - Transport orders (OT) management - Fleet and driver management - Real-time GPS tracking - POD (Proof of Delivery) - CFDI with Carta Porte 3.1 compliance - Fuel and maintenance control - Third-party carrier management Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
commit
37ed0aa919
61
.claude/README.md
Normal file
61
.claude/README.md
Normal file
@ -0,0 +1,61 @@
|
||||
# Configuracion Claude Code - ERP Transportistas
|
||||
|
||||
Este directorio contiene la configuracion local de Claude Code para el proyecto ERP Transportistas.
|
||||
|
||||
## Estructura
|
||||
|
||||
```
|
||||
.claude/
|
||||
├── agents/ # Perfiles de agentes locales
|
||||
│ └── _MAP.md # Indice de agentes
|
||||
├── constants/ # Constantes del proyecto
|
||||
│ └── CONSTANTS-PROJECT.yml # SSOT del proyecto
|
||||
├── directivas/ # Directivas locales
|
||||
│ ├── _MAP.md # Indice de directivas
|
||||
│ └── DIRECTIVAS-LOCALES.md
|
||||
└── referencias/ # Referencias y paths
|
||||
└── PATHS-TRABAJO.md
|
||||
```
|
||||
|
||||
## Sistema de Herencia
|
||||
|
||||
Este proyecto hereda de:
|
||||
1. `workspace-v2/CLAUDE.md` - Directivas globales SIMCO
|
||||
2. `erp-core/CLAUDE.md` - Directivas ERP base
|
||||
|
||||
Las directivas locales en este directorio **extienden** (no reemplazan) las directivas heredadas.
|
||||
|
||||
## Aliases Principales
|
||||
|
||||
- `@BACKEND` - backend/src/
|
||||
- `@FRONTEND` - frontend/src/
|
||||
- `@DDL` - database/ddl/
|
||||
- `@DOCS` - docs/
|
||||
- `@CONSTANTS` - .claude/constants/CONSTANTS-PROJECT.yml
|
||||
- `@REQS` - docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
|
||||
|
||||
## Contexto del Giro
|
||||
|
||||
Este es un ERP vertical para **empresas de transporte de carga**. Los modulos especificos del giro incluyen:
|
||||
|
||||
- Ordenes de Transporte (OT)
|
||||
- Tracking GPS en tiempo real
|
||||
- POD (Proof of Delivery)
|
||||
- CFDI con Carta Porte 3.1
|
||||
- Control de flota y operadores
|
||||
- Combustible y mantenimiento
|
||||
|
||||
## Antes de Implementar
|
||||
|
||||
1. Verificar si la funcionalidad ya existe en erp-core
|
||||
2. Consultar REQ-GIRO-TRANSPORTISTA.md
|
||||
3. Verificar coherencia DDL <-> Entity
|
||||
4. Seguir nomenclatura MAI/MAE/MAA
|
||||
|
||||
## Validaciones
|
||||
|
||||
```bash
|
||||
npm run build # Backend
|
||||
npm run lint # Linting
|
||||
npm run test # Tests
|
||||
```
|
||||
58
.claude/agents/_MAP.md
Normal file
58
.claude/agents/_MAP.md
Normal file
@ -0,0 +1,58 @@
|
||||
# Mapa de Agentes - ERP Transportistas
|
||||
|
||||
**Proyecto:** erp-transportistas
|
||||
**Sistema:** SIMCO v4.0.0
|
||||
**Actualizado:** 2026-01-25
|
||||
|
||||
---
|
||||
|
||||
## Agentes Disponibles
|
||||
|
||||
### Perfiles Heredados (workspace-v2)
|
||||
- META-ORQUESTADOR
|
||||
- ARQUITECTO
|
||||
- DESARROLLADOR-BACKEND
|
||||
- DESARROLLADOR-FRONTEND
|
||||
- DBA
|
||||
- QA
|
||||
|
||||
### Perfiles Especializados (giro)
|
||||
|
||||
#### ESPECIALISTA-TRANSPORTE
|
||||
**Rol:** Experto en dominio de transporte de carga
|
||||
**Responsabilidades:**
|
||||
- Validar terminologia del giro
|
||||
- Revisar flujos operativos
|
||||
- Verificar cumplimiento normativo (Carta Porte, NOM-087)
|
||||
- Asegurar coherencia con practicas del sector
|
||||
|
||||
#### INTEGRADOR-GPS
|
||||
**Rol:** Especialista en integracion telematica
|
||||
**Responsabilidades:**
|
||||
- Implementar conectores GPS
|
||||
- Procesar eventos de tracking
|
||||
- Configurar geocercas
|
||||
- Optimizar rendimiento de eventos
|
||||
|
||||
#### ESPECIALISTA-CFDI
|
||||
**Rol:** Experto en facturacion electronica
|
||||
**Responsabilidades:**
|
||||
- Implementar complemento Carta Porte 3.1
|
||||
- Integrar con PAC
|
||||
- Validar estructura XML
|
||||
- Asegurar cumplimiento SAT
|
||||
|
||||
---
|
||||
|
||||
## Asignacion por Modulo
|
||||
|
||||
| Modulo | Agente Principal | Agente Soporte |
|
||||
|--------|------------------|----------------|
|
||||
| MAI-002 Tarifas | DESARROLLADOR-BACKEND | ESPECIALISTA-TRANSPORTE |
|
||||
| MAI-003 OT | DESARROLLADOR-BACKEND | ESPECIALISTA-TRANSPORTE |
|
||||
| MAI-006 Tracking | INTEGRADOR-GPS | DBA |
|
||||
| MAE-016 Carta Porte | ESPECIALISTA-CFDI | DESARROLLADOR-BACKEND |
|
||||
|
||||
---
|
||||
|
||||
*Mapa de Agentes ERP Transportistas*
|
||||
213
.claude/constants/CONSTANTS-PROJECT.yml
Normal file
213
.claude/constants/CONSTANTS-PROJECT.yml
Normal file
@ -0,0 +1,213 @@
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# CONSTANTES DEL PROYECTO: ERP Transportistas
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
version: "1.0.0"
|
||||
project: "erp-transportistas"
|
||||
updated: "2026-01-25"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# IDENTIFICACION
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
identificacion:
|
||||
nombre: "ERP Transportistas"
|
||||
slug: "erp-transportistas"
|
||||
tipo: "CONSUMER"
|
||||
estado: "desarrollo"
|
||||
version: "1.0.0"
|
||||
descripcion: "Vertical ERP para empresas de transporte de carga y logistica"
|
||||
giro: "Autotransporte de carga / 3PL / Logistica"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# BASE DE DATOS
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
database:
|
||||
nombre: "erp_transportistas_db"
|
||||
tipo: "postgresql"
|
||||
version: "15"
|
||||
schemas:
|
||||
- "public"
|
||||
- "transport"
|
||||
- "fleet"
|
||||
- "tracking"
|
||||
- "fuel"
|
||||
- "maintenance"
|
||||
- "carriers"
|
||||
- "billing"
|
||||
- "compliance"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# TECNOLOGIAS
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
stack:
|
||||
backend:
|
||||
framework: "nestjs"
|
||||
version: "10.x"
|
||||
language: "typescript"
|
||||
frontend:
|
||||
framework: "react"
|
||||
version: "18.x"
|
||||
language: "typescript"
|
||||
database:
|
||||
engine: "postgresql"
|
||||
version: "15"
|
||||
extensions:
|
||||
- "postgis" # Para geolocalizacion de rutas/unidades
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# HERENCIA
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
herencia:
|
||||
tipo: "CONSUMER"
|
||||
hereda_de:
|
||||
- "workspace-v2/orchestration/"
|
||||
- "projects/erp-core/"
|
||||
exporta_a: []
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# MODULOS ESPECIFICOS DEL GIRO
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
modulos_especificos:
|
||||
# Fase 1 - MAI (Modulo Aplicacion Inicial)
|
||||
- nombre: "clientes-tarifas"
|
||||
codigo: "MAI-002"
|
||||
descripcion: "Gestion de shippers, tarifas por lane, SLAs"
|
||||
- nombre: "ordenes-transporte"
|
||||
codigo: "MAI-003"
|
||||
descripcion: "Ordenes de transporte con restricciones logisticas"
|
||||
- nombre: "planeacion-tms"
|
||||
codigo: "MAI-004"
|
||||
descripcion: "Consolidacion, capacidad, asignacion de recursos"
|
||||
- nombre: "despacho"
|
||||
codigo: "MAI-005"
|
||||
descripcion: "Checklists pre-viaje, sellos, evidencias, liberacion"
|
||||
- nombre: "tracking"
|
||||
codigo: "MAI-006"
|
||||
descripcion: "GPS, eventos en tiempo real, alertas, ETA"
|
||||
- nombre: "pod-cierre"
|
||||
codigo: "MAI-007"
|
||||
descripcion: "Proof of Delivery, tiempos reales, cierre operativo"
|
||||
- nombre: "incidencias"
|
||||
codigo: "MAI-008"
|
||||
descripcion: "Reclamaciones, flujo de atencion, impacto economico"
|
||||
- nombre: "facturacion-transporte"
|
||||
codigo: "MAI-009"
|
||||
descripcion: "Tarifas, recargos, detention, fuel surcharge"
|
||||
- nombre: "liquidaciones"
|
||||
codigo: "MAI-010"
|
||||
descripcion: "Pago a operadores, viaticos, deducciones"
|
||||
- nombre: "gestion-flota"
|
||||
codigo: "MAI-011"
|
||||
descripcion: "Unidades, remolques, operadores, documentacion"
|
||||
- nombre: "combustible-gastos"
|
||||
codigo: "MAI-012"
|
||||
descripcion: "Control de combustible, peajes, gastos de viaje"
|
||||
- nombre: "mantenimiento-flota"
|
||||
codigo: "MAI-013"
|
||||
descripcion: "Preventivo, correctivo, disponibilidad"
|
||||
- nombre: "carriers-terceros"
|
||||
codigo: "MAI-014"
|
||||
descripcion: "Subcontratacion, documentos, scorecard"
|
||||
- nombre: "portal-cliente"
|
||||
codigo: "MAI-015"
|
||||
descripcion: "Tracking, documentos, autoservicio"
|
||||
|
||||
# Fase 2 - MAE (Modulo Aplicacion Extendido)
|
||||
- nombre: "carta-porte-cfdi"
|
||||
codigo: "MAE-016"
|
||||
descripcion: "CFDI con complemento Carta Porte 3.1"
|
||||
- nombre: "hos-bitacora"
|
||||
codigo: "MAE-017"
|
||||
descripcion: "Horas de servicio, NOM-087, bitacora electronica"
|
||||
- nombre: "reportes-kpis"
|
||||
codigo: "MAE-018"
|
||||
descripcion: "OTIF, costo/km, disponibilidad, scorecards"
|
||||
|
||||
# Fase 3 - MAA (Modulo Aplicacion Avanzado)
|
||||
- nombre: "optimizacion-rutas"
|
||||
codigo: "MAA-019"
|
||||
descripcion: "Optimizacion de rutas, prediccion de ETA"
|
||||
- nombre: "integraciones-edi"
|
||||
codigo: "MAA-020"
|
||||
descripcion: "API clientes, EDI, intercambio de datos"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# ENTIDADES PRINCIPALES
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
entidades_principales:
|
||||
- nombre: "OrdenTransporte"
|
||||
schema: "transport"
|
||||
descripcion: "Solicitud de servicio de transporte"
|
||||
- nombre: "Embarque"
|
||||
schema: "transport"
|
||||
descripcion: "Agrupacion logica de OTs para ejecucion"
|
||||
- nombre: "Viaje"
|
||||
schema: "transport"
|
||||
descripcion: "Ejecucion operativa (unidad + operador + ruta)"
|
||||
- nombre: "Unidad"
|
||||
schema: "fleet"
|
||||
descripcion: "Tractora, remolque, caja"
|
||||
- nombre: "Operador"
|
||||
schema: "fleet"
|
||||
descripcion: "Conductor con licencias y skills"
|
||||
- nombre: "Tarifa"
|
||||
schema: "billing"
|
||||
descripcion: "Precio por lane/servicio/equipo"
|
||||
- nombre: "EventoTracking"
|
||||
schema: "tracking"
|
||||
descripcion: "Posicion GPS y eventos de viaje"
|
||||
- nombre: "POD"
|
||||
schema: "transport"
|
||||
descripcion: "Proof of Delivery con evidencias"
|
||||
- nombre: "CartaPorte"
|
||||
schema: "compliance"
|
||||
descripcion: "CFDI con complemento Carta Porte"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# VARIABLES DE ENTORNO REQUERIDAS
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
env_required:
|
||||
- "DATABASE_URL"
|
||||
- "JWT_SECRET"
|
||||
- "REDIS_URL"
|
||||
- "PAC_URL" # Proveedor de timbrado CFDI
|
||||
- "PAC_USER"
|
||||
- "PAC_PASSWORD"
|
||||
- "GPS_PROVIDER_URL" # Proveedor de telematica
|
||||
- "GPS_API_KEY"
|
||||
- "MAPS_API_KEY" # Google Maps / HERE / similar
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# INTEGRACIONES EXTERNAS
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
integraciones:
|
||||
- nombre: "GPS/Telematica"
|
||||
tipo: "api"
|
||||
descripcion: "Recepcion de posiciones y eventos de unidades"
|
||||
- nombre: "PAC (SAT)"
|
||||
tipo: "api"
|
||||
descripcion: "Timbrado CFDI con Carta Porte"
|
||||
- nombre: "Mapas/Geocoding"
|
||||
tipo: "api"
|
||||
descripcion: "Calculo de distancias, geocodificacion, ETA"
|
||||
- nombre: "WhatsApp/SMS"
|
||||
tipo: "api"
|
||||
descripcion: "Notificaciones a clientes y operadores"
|
||||
- nombre: "Tarjetas Combustible"
|
||||
tipo: "archivo"
|
||||
descripcion: "Conciliacion de cargas de combustible"
|
||||
- nombre: "TAG Peajes"
|
||||
tipo: "archivo"
|
||||
descripcion: "Conciliacion de cruces de casetas"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# FIN DE CONSTANTES
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
234
.claude/directivas/DIRECTIVAS-LOCALES.md
Normal file
234
.claude/directivas/DIRECTIVAS-LOCALES.md
Normal file
@ -0,0 +1,234 @@
|
||||
# Directivas Locales - ERP Transportistas
|
||||
|
||||
**Proyecto:** erp-transportistas
|
||||
**Sistema:** SIMCO v4.0.0
|
||||
**Actualizado:** 2026-01-25
|
||||
|
||||
---
|
||||
|
||||
## DL-001: Dominio Transporte
|
||||
|
||||
**Regla:** Usar terminologia especifica del giro de transporte en todo el codigo y documentacion.
|
||||
|
||||
### Terminologia Obligatoria
|
||||
|
||||
| Termino | Significado | NO usar |
|
||||
|---------|-------------|---------|
|
||||
| OT (Orden de Transporte) | Solicitud de servicio | Pedido, Orden |
|
||||
| Embarque | Agrupacion de OTs | Envio |
|
||||
| Viaje | Ejecucion operativa | Ruta, Servicio |
|
||||
| Unidad | Vehiculo (tractora/remolque/caja) | Camion, Trailer |
|
||||
| Operador | Conductor | Chofer, Driver |
|
||||
| POD | Proof of Delivery | Comprobante, Recibo |
|
||||
| Carrier | Tercero subcontratado | Proveedor, Transportista |
|
||||
| Lane | Ruta origen-destino | Corredor |
|
||||
| Shipper | Cliente que envia | Remitente |
|
||||
| Consignee | Cliente que recibe | Destinatario |
|
||||
|
||||
### Estados del Viaje
|
||||
|
||||
```typescript
|
||||
type EstadoViaje =
|
||||
| 'BORRADOR'
|
||||
| 'PLANEADO'
|
||||
| 'DESPACHADO'
|
||||
| 'EN_TRANSITO'
|
||||
| 'EN_DESTINO'
|
||||
| 'ENTREGADO'
|
||||
| 'CERRADO'
|
||||
| 'FACTURADO'
|
||||
| 'COBRADO';
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DL-002: Coherencia con ERP Core
|
||||
|
||||
**Regla:** No modificar modulos heredados de erp-core. Solo extender.
|
||||
|
||||
### Modulos Heredados (NO MODIFICAR)
|
||||
- auth
|
||||
- users
|
||||
- roles
|
||||
- tenants
|
||||
- audit
|
||||
- notifications
|
||||
- billing
|
||||
- plans
|
||||
- webhooks
|
||||
- feature_flags
|
||||
|
||||
### Modulos que se EXTIENDEN
|
||||
- partners → Agregar campos shipper/consignee
|
||||
- catalogs → Agregar catalogos de transporte
|
||||
- financial → Agregar cuentas de transporte
|
||||
- sales → Servicios de transporte
|
||||
|
||||
### Como Extender
|
||||
|
||||
```typescript
|
||||
// CORRECTO: Extender entity
|
||||
@Entity({ schema: 'transport', name: 'partners_transport_ext' })
|
||||
export class PartnerTransportExtension {
|
||||
@PrimaryColumn()
|
||||
partnerId: string;
|
||||
|
||||
@Column({ nullable: true })
|
||||
codigoSCT: string;
|
||||
|
||||
// ... campos especificos transporte
|
||||
}
|
||||
|
||||
// INCORRECTO: Modificar entity de erp-core
|
||||
// @Entity({ schema: 'public', name: 'partners' })
|
||||
// export class Partner { ... } // NO HACER ESTO
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DL-003: Cumplimiento Carta Porte
|
||||
|
||||
**Regla:** Todo viaje que requiera Carta Porte debe validar datos minimos antes de liberarse.
|
||||
|
||||
### Datos Minimos Obligatorios
|
||||
|
||||
1. **Ubicaciones**
|
||||
- Origen con coordenadas
|
||||
- Destino(s) con coordenadas
|
||||
- Distancia recorrida
|
||||
|
||||
2. **Mercancia**
|
||||
- Clave de producto SAT
|
||||
- Descripcion
|
||||
- Cantidad y unidad
|
||||
- Peso en kg
|
||||
- Valor declarado
|
||||
|
||||
3. **Autotransporte**
|
||||
- Permiso SCT
|
||||
- Numero de permiso
|
||||
- Configuracion vehicular
|
||||
|
||||
4. **Operador**
|
||||
- RFC
|
||||
- Licencia federal
|
||||
- Nombre completo
|
||||
|
||||
5. **Unidad**
|
||||
- Placa
|
||||
- Ano modelo
|
||||
- Aseguradora y poliza
|
||||
|
||||
### Validacion Pre-Despacho
|
||||
|
||||
```typescript
|
||||
// Validar antes de cambiar estado a DESPACHADO
|
||||
async validateCartaPorteData(viajeId: string): Promise<ValidationResult> {
|
||||
const viaje = await this.findById(viajeId);
|
||||
const errors: string[] = [];
|
||||
|
||||
// Validar ubicaciones
|
||||
if (!viaje.origen?.latitud || !viaje.origen?.longitud) {
|
||||
errors.push('Origen sin coordenadas');
|
||||
}
|
||||
|
||||
// Validar mercancia
|
||||
if (!viaje.mercancias?.length) {
|
||||
errors.push('Sin mercancias');
|
||||
}
|
||||
|
||||
// ... mas validaciones
|
||||
|
||||
return { valid: errors.length === 0, errors };
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DL-004: Tracking y Eventos
|
||||
|
||||
**Regla:** Todo evento de tracking debe registrarse con timestamp, geolocalizacion y fuente.
|
||||
|
||||
### Tipos de Evento
|
||||
|
||||
```typescript
|
||||
type TipoEventoTracking =
|
||||
| 'SALIDA' // Gate out
|
||||
| 'ARRIBO_ORIGEN' // Llegada a punto de carga
|
||||
| 'INICIO_CARGA'
|
||||
| 'FIN_CARGA'
|
||||
| 'ARRIBO_DESTINO' // Llegada a punto de entrega
|
||||
| 'INICIO_DESCARGA'
|
||||
| 'FIN_DESCARGA'
|
||||
| 'ENTREGA_POD' // POD capturado
|
||||
| 'DESVIO' // Fuera de ruta
|
||||
| 'PARADA' // Parada no programada
|
||||
| 'INCIDENTE' // Incidencia reportada
|
||||
| 'GPS_POSICION'; // Posicion automatica
|
||||
```
|
||||
|
||||
### Estructura de Evento
|
||||
|
||||
```typescript
|
||||
interface EventoTracking {
|
||||
id: string;
|
||||
viajeId: string;
|
||||
tipo: TipoEventoTracking;
|
||||
timestamp: Date;
|
||||
latitud: number;
|
||||
longitud: number;
|
||||
fuente: 'GPS' | 'APP_OPERADOR' | 'SISTEMA' | 'MANUAL';
|
||||
usuarioId?: string;
|
||||
observaciones?: string;
|
||||
evidencias?: string[]; // URLs de fotos/docs
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DL-005: Multi-Tenancy
|
||||
|
||||
**Regla:** Todas las entidades del giro deben implementar aislamiento por tenant.
|
||||
|
||||
### Patron Obligatorio
|
||||
|
||||
```typescript
|
||||
@Entity({ schema: 'transport', name: 'ordenes_transporte' })
|
||||
@Index(['tenantId', 'codigo'], { unique: true })
|
||||
export class OrdenTransporte {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column()
|
||||
tenantId: string; // OBLIGATORIO
|
||||
|
||||
@Column({ unique: false }) // Unico por tenant, no global
|
||||
codigo: string;
|
||||
|
||||
// ... mas campos
|
||||
|
||||
@CreateDateColumn()
|
||||
createdAt: Date;
|
||||
|
||||
@UpdateDateColumn()
|
||||
updatedAt: Date;
|
||||
|
||||
@Column()
|
||||
createdById: string;
|
||||
}
|
||||
```
|
||||
|
||||
### RLS en DDL
|
||||
|
||||
```sql
|
||||
-- Habilitar RLS
|
||||
ALTER TABLE transport.ordenes_transporte ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Politica de aislamiento
|
||||
CREATE POLICY tenant_isolation ON transport.ordenes_transporte
|
||||
USING (tenant_id = current_setting('app.tenant_id')::uuid);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Directivas Locales ERP Transportistas - SIMCO v4.0.0*
|
||||
138
.claude/referencias/PATHS-TRABAJO.md
Normal file
138
.claude/referencias/PATHS-TRABAJO.md
Normal file
@ -0,0 +1,138 @@
|
||||
# Paths de Trabajo - ERP Transportistas
|
||||
|
||||
**Proyecto:** erp-transportistas
|
||||
**Actualizado:** 2026-01-25
|
||||
|
||||
---
|
||||
|
||||
## Paths Absolutos
|
||||
|
||||
```
|
||||
Raiz del proyecto:
|
||||
C:/Empresas/ISEM/workspace-v2/projects/erp-transportistas/
|
||||
|
||||
Backend:
|
||||
C:/Empresas/ISEM/workspace-v2/projects/erp-transportistas/backend/src/
|
||||
|
||||
Frontend:
|
||||
C:/Empresas/ISEM/workspace-v2/projects/erp-transportistas/frontend/src/
|
||||
|
||||
Database:
|
||||
C:/Empresas/ISEM/workspace-v2/projects/erp-transportistas/database/ddl/
|
||||
|
||||
Documentacion:
|
||||
C:/Empresas/ISEM/workspace-v2/projects/erp-transportistas/docs/
|
||||
|
||||
Orchestration:
|
||||
C:/Empresas/ISEM/workspace-v2/projects/erp-transportistas/orchestration/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Aliases Rapidos
|
||||
|
||||
| Alias | Path Relativo | Descripcion |
|
||||
|-------|---------------|-------------|
|
||||
| @BACKEND | backend/src/ | Codigo fuente backend |
|
||||
| @MODULES | backend/src/modules/ | Modulos NestJS |
|
||||
| @ENTITIES | backend/src/modules/*/entities/ | Entidades TypeORM |
|
||||
| @SERVICES | backend/src/modules/*/services/ | Servicios de negocio |
|
||||
| @CONTROLLERS | backend/src/modules/*/controllers/ | Controllers REST |
|
||||
| @FRONTEND | frontend/src/ | Codigo fuente frontend |
|
||||
| @FEATURES | frontend/src/features/ | Features React |
|
||||
| @PAGES | frontend/src/pages/ | Paginas React |
|
||||
| @DDL | database/ddl/ | Scripts SQL |
|
||||
| @DOCS | docs/ | Documentacion |
|
||||
| @MODULOS | docs/02-definicion-modulos/ | Definicion de modulos |
|
||||
| @REQS | docs/03-requerimientos/ | Requerimientos |
|
||||
| @ORCHESTRATION | orchestration/ | Sistema SIMCO local |
|
||||
| @CONSTANTS | .claude/constants/CONSTANTS-PROJECT.yml | Constantes |
|
||||
|
||||
---
|
||||
|
||||
## Modulos Backend por Crear
|
||||
|
||||
```
|
||||
backend/src/modules/
|
||||
├── clientes-tarifas/ # MAI-002
|
||||
│ ├── entities/
|
||||
│ ├── services/
|
||||
│ ├── controllers/
|
||||
│ └── dto/
|
||||
├── ordenes-transporte/ # MAI-003
|
||||
├── planeacion-tms/ # MAI-004
|
||||
├── despacho/ # MAI-005
|
||||
├── tracking/ # MAI-006
|
||||
├── pod-cierre/ # MAI-007
|
||||
├── incidencias/ # MAI-008
|
||||
├── facturacion-transporte/ # MAI-009
|
||||
├── liquidaciones/ # MAI-010
|
||||
├── gestion-flota/ # MAI-011
|
||||
├── combustible-gastos/ # MAI-012
|
||||
├── mantenimiento-flota/ # MAI-013
|
||||
├── carriers-terceros/ # MAI-014
|
||||
├── portal-cliente/ # MAI-015
|
||||
├── carta-porte-cfdi/ # MAE-016
|
||||
├── hos-bitacora/ # MAE-017
|
||||
└── reportes-kpis/ # MAE-018
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DDL por Crear
|
||||
|
||||
```
|
||||
database/ddl/
|
||||
├── 01-transport-schema-ddl.sql # OT, Embarques, Viajes
|
||||
├── 02-fleet-schema-ddl.sql # Unidades, Remolques, Operadores
|
||||
├── 03-tracking-schema-ddl.sql # Eventos, GPS, Alertas
|
||||
├── 04-fuel-schema-ddl.sql # Combustible, Peajes
|
||||
├── 05-maintenance-schema-ddl.sql # Mantenimiento
|
||||
├── 06-carriers-schema-ddl.sql # Terceros
|
||||
├── 07-billing-transport-ddl.sql # Tarifas, Facturacion
|
||||
├── 08-compliance-schema-ddl.sql # Carta Porte, HOS
|
||||
└── 99-rls-transport-modules.sql # Row Level Security
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Documentacion por Crear
|
||||
|
||||
```
|
||||
docs/02-definicion-modulos/
|
||||
├── MAI-002-clientes-tarifas/
|
||||
├── MAI-003-ordenes-transporte/
|
||||
├── MAI-004-planeacion-tms/
|
||||
├── MAI-005-despacho/
|
||||
├── MAI-006-tracking/
|
||||
├── MAI-007-pod-cierre/
|
||||
├── MAI-008-incidencias/
|
||||
├── MAI-009-facturacion-transporte/
|
||||
├── MAI-010-liquidaciones/
|
||||
├── MAI-011-gestion-flota/
|
||||
├── MAI-012-combustible-gastos/
|
||||
├── MAI-013-mantenimiento-flota/
|
||||
├── MAI-014-carriers-terceros/
|
||||
├── MAI-015-portal-cliente/
|
||||
├── MAE-016-carta-porte-cfdi/
|
||||
├── MAE-017-hos-bitacora/
|
||||
└── MAE-018-reportes-kpis/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Paths Heredados (erp-core)
|
||||
|
||||
```
|
||||
Modulos base (referencia):
|
||||
../erp-core/backend/src/modules/auth/
|
||||
../erp-core/backend/src/modules/users/
|
||||
../erp-core/backend/src/modules/tenants/
|
||||
../erp-core/backend/src/modules/partners/
|
||||
../erp-core/backend/src/modules/catalogs/
|
||||
../erp-core/backend/src/modules/financial/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Paths de Trabajo ERP Transportistas - SIMCO v4.0.0*
|
||||
34
.gitignore
vendored
Normal file
34
.gitignore
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
# Dependencies
|
||||
node_modules/
|
||||
|
||||
# Build outputs
|
||||
dist/
|
||||
build/
|
||||
.next/
|
||||
|
||||
# Environment & secrets
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
.vscode/
|
||||
*.swp
|
||||
*.swo
|
||||
.eslintcache
|
||||
|
||||
# Logs & testing
|
||||
logs/
|
||||
*.log
|
||||
coverage/
|
||||
|
||||
# Temporales
|
||||
tmp/
|
||||
temp/
|
||||
.cache/
|
||||
.turbo/
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
9
.gitmodules
vendored
Normal file
9
.gitmodules
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
[submodule "backend"]
|
||||
path = backend
|
||||
url = http://72.60.226.4:3000/rckrdmrd/erp-transportistas-backend-v2.git
|
||||
[submodule "frontend"]
|
||||
path = frontend
|
||||
url = http://72.60.226.4:3000/rckrdmrd/erp-transportistas-frontend-v2.git
|
||||
[submodule "database"]
|
||||
path = database
|
||||
url = http://72.60.226.4:3000/rckrdmrd/erp-transportistas-database-v2.git
|
||||
39
.trae/rules/project_rules.md
Normal file
39
.trae/rules/project_rules.md
Normal file
@ -0,0 +1,39 @@
|
||||
# Reglas de Proyecto - ERP Transportistas (Trae)
|
||||
|
||||
## Contexto del Proyecto
|
||||
|
||||
Este es un ERP vertical para empresas de transporte de carga. Hereda de erp-core y agrega modulos especificos del giro.
|
||||
|
||||
## Reglas Criticas
|
||||
|
||||
1. **Terminologia**: Usar terminos del giro (OT, Viaje, Operador, POD, Carrier)
|
||||
2. **Multi-tenancy**: Toda entidad debe tener tenantId
|
||||
3. **Carta Porte**: Validar datos antes de liberar viajes
|
||||
4. **Tracking**: Todo evento con timestamp y geolocalizacion
|
||||
|
||||
## Estructura de Modulos
|
||||
|
||||
```
|
||||
backend/src/modules/{modulo}/
|
||||
├── entities/
|
||||
├── services/
|
||||
├── controllers/
|
||||
└── dto/
|
||||
```
|
||||
|
||||
## Nomenclatura
|
||||
|
||||
- MAI-XXX: Modulo Aplicacion Inicial
|
||||
- MAE-XXX: Modulo Aplicacion Extendido
|
||||
- MAA-XXX: Modulo Aplicacion Avanzado
|
||||
|
||||
## Antes de Implementar
|
||||
|
||||
1. Leer REQ-GIRO-TRANSPORTISTA.md
|
||||
2. Verificar si existe en erp-core
|
||||
3. Validar coherencia DDL <-> Entity
|
||||
|
||||
## Referencias
|
||||
|
||||
- CLAUDE.md en raiz del proyecto
|
||||
- docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
|
||||
48
.windsurf/rules/project_rules.md
Normal file
48
.windsurf/rules/project_rules.md
Normal file
@ -0,0 +1,48 @@
|
||||
# Reglas de Proyecto - ERP Transportistas (Windsurf)
|
||||
|
||||
## Contexto del Proyecto
|
||||
|
||||
Este es un ERP vertical para empresas de transporte de carga. Hereda de erp-core y agrega modulos especificos del giro.
|
||||
|
||||
## Reglas Criticas
|
||||
|
||||
1. **Terminologia**: Usar terminos del giro (OT, Viaje, Operador, POD, Carrier)
|
||||
2. **Multi-tenancy**: Toda entidad debe tener tenantId
|
||||
3. **Carta Porte**: Validar datos antes de liberar viajes
|
||||
4. **Tracking**: Todo evento con timestamp y geolocalizacion
|
||||
|
||||
## Estructura de Modulos
|
||||
|
||||
```
|
||||
backend/src/modules/{modulo}/
|
||||
├── entities/
|
||||
├── services/
|
||||
├── controllers/
|
||||
└── dto/
|
||||
```
|
||||
|
||||
## Nomenclatura
|
||||
|
||||
- MAI-XXX: Modulo Aplicacion Inicial
|
||||
- MAE-XXX: Modulo Aplicacion Extendido
|
||||
- MAA-XXX: Modulo Aplicacion Avanzado
|
||||
|
||||
## Stack
|
||||
|
||||
- Backend: NestJS 10.x + TypeScript
|
||||
- Frontend: React 18.x + Vite + TailwindCSS
|
||||
- Database: PostgreSQL 15 + PostGIS
|
||||
- ORM: TypeORM 0.3.x
|
||||
|
||||
## Validaciones
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
npm run lint
|
||||
npm run test
|
||||
```
|
||||
|
||||
## Referencias
|
||||
|
||||
- CLAUDE.md en raiz del proyecto
|
||||
- docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
|
||||
283
CLAUDE.md
Normal file
283
CLAUDE.md
Normal file
@ -0,0 +1,283 @@
|
||||
# CLAUDE.md - ERP Transportistas
|
||||
|
||||
**Hereda de:** workspace-v2/CLAUDE.md + erp-core/CLAUDE.md
|
||||
**Sistema:** SIMCO v4.0.0 + NEXUS v4.0
|
||||
**Proyecto:** erp-transportistas
|
||||
**Tipo:** CONSUMER (Vertical ERP)
|
||||
**Version:** 1.0.0
|
||||
**Actualizado:** 2026-01-25
|
||||
|
||||
---
|
||||
|
||||
## DESCRIPCION DEL PROYECTO
|
||||
|
||||
ERP especializado para empresas de transporte de carga, logistica y 3PL. Implementa funcionalidades especificas del sector:
|
||||
|
||||
- **Gestion de Flota:** Unidades tractoras, remolques, cajas, disponibilidad, documentacion
|
||||
- **Ordenes de Transporte (OT):** Solicitudes de clientes con restricciones logisticas
|
||||
- **Planeacion TMS:** Consolidacion, capacidad, asignacion de recursos
|
||||
- **Despacho:** Checklists pre-viaje, sellos, evidencias de carga, liberacion
|
||||
- **Tracking en Tiempo Real:** GPS/Telematica, eventos, alertas, ETA dinamico
|
||||
- **POD (Proof of Delivery):** Evidencia de entrega, firma digital, fotos
|
||||
- **Facturacion Transporte:** Tarifas por lane, recargos (fuel surcharge, detention)
|
||||
- **CFDI Carta Porte:** Complemento 3.1 obligatorio para transporte
|
||||
- **Control de Combustible:** Vales, tarjetas, consumo esperado vs real
|
||||
- **Mantenimiento de Flota:** Preventivo por km/horas, correctivo, disponibilidad
|
||||
- **Gestion de Carriers (Terceros):** Subcontratacion, documentos, scorecard
|
||||
|
||||
---
|
||||
|
||||
## EXTENSIONES LOCALES
|
||||
|
||||
Este archivo EXTIENDE (no reemplaza) las reglas de:
|
||||
1. `../../CLAUDE.md` (workspace-v2)
|
||||
2. `../erp-core/CLAUDE.md` (ERP base)
|
||||
|
||||
---
|
||||
|
||||
## STACK TECNOLOGICO
|
||||
|
||||
| Capa | Tecnologia | Version |
|
||||
|------|------------|---------|
|
||||
| Backend | NestJS | 10.x |
|
||||
| Frontend | React | 18.x |
|
||||
| Base de Datos | PostgreSQL + PostGIS | 15+ |
|
||||
| ORM | TypeORM | 0.3.x |
|
||||
| Cache | Redis (ioredis) | 7.x |
|
||||
| Language | TypeScript | 5.x |
|
||||
| Mobile | React Native/Expo | - |
|
||||
|
||||
---
|
||||
|
||||
## CREDENCIALES BD
|
||||
|
||||
```
|
||||
Database: erp_transportistas_db
|
||||
User: erp_admin
|
||||
Password: erp_dev_2026
|
||||
Port: 5432
|
||||
Host: localhost
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ESTRUCTURA DEL PROYECTO
|
||||
|
||||
```
|
||||
erp-transportistas/
|
||||
├── CLAUDE.md <- ESTE ARCHIVO
|
||||
├── PROJECT-STATUS.md <- Estado actual
|
||||
├── INVENTARIO.yml <- Inventario SIMCO
|
||||
├── backend/ <- Backend NestJS
|
||||
│ └── src/modules/ <- Modulos implementados
|
||||
├── frontend/ <- Frontend React
|
||||
├── database/
|
||||
│ └── ddl/ <- DDL PostgreSQL
|
||||
├── docs/ <- Documentacion funcional
|
||||
│ ├── 00-vision-general/
|
||||
│ └── 02-definicion-modulos/
|
||||
├── orchestration/ <- Sistema SIMCO local
|
||||
└── .claude/ <- Instrucciones Claude Code
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## SCHEMAS DE BASE DE DATOS
|
||||
|
||||
| Schema | Tablas | ENUMs | Archivo DDL | Descripcion |
|
||||
|--------|--------|-------|-------------|-------------|
|
||||
| transport | ~25 | ~10 | 01-transport-schema-ddl.sql | OT, Embarques, Viajes, Rutas |
|
||||
| fleet | ~15 | ~8 | 02-fleet-schema-ddl.sql | Unidades, Remolques, Operadores |
|
||||
| tracking | ~10 | ~5 | 03-tracking-schema-ddl.sql | Eventos, GPS, Alertas |
|
||||
| fuel | ~8 | ~4 | 04-fuel-schema-ddl.sql | Combustible, Peajes, Gastos |
|
||||
| maintenance | ~12 | ~6 | 05-maintenance-schema-ddl.sql | Mantenimiento, Ordenes de trabajo |
|
||||
| carriers | ~8 | ~4 | 06-carriers-schema-ddl.sql | Terceros, Documentos, Scorecard |
|
||||
| billing | ~10 | ~5 | 07-billing-transport-ddl.sql | Tarifas, Facturacion, Recargos |
|
||||
| compliance | ~10 | ~5 | 08-compliance-schema-ddl.sql | Carta Porte, HOS, Inspecciones |
|
||||
| **Total** | **~98** | **~47** | | |
|
||||
|
||||
---
|
||||
|
||||
## PUERTOS DE DESARROLLO
|
||||
|
||||
| Servicio | Puerto |
|
||||
|----------|--------|
|
||||
| Backend API | 3014 |
|
||||
| Frontend Dev | 5174 |
|
||||
| PostgreSQL | 5432 |
|
||||
| Redis | 6379 |
|
||||
| Adminer | 8080 |
|
||||
| Mailhog | 8025 |
|
||||
|
||||
---
|
||||
|
||||
## MODULOS DEL SISTEMA
|
||||
|
||||
### Modulos Heredados de erp-core (22)
|
||||
|
||||
| Fase | Modulos | Herencia |
|
||||
|------|---------|----------|
|
||||
| Foundation | auth, users, roles, tenants | 100% |
|
||||
| Core Business | catalogs, settings, financial, inventory, purchasing, sales | Extendido |
|
||||
| Extended | audit, notifications, reports, crm, projects | Parcial |
|
||||
| SaaS Platform | billing, plans, webhooks, feature_flags | 100% |
|
||||
| IA/Intelligence | ai_integration, whatsapp_business, mcp_server | 100% |
|
||||
|
||||
### Modulos Propios - Fase 1 MAI (15)
|
||||
|
||||
| Codigo | Nombre | DDL | Backend | Descripcion |
|
||||
|--------|--------|:---:|:-------:|-------------|
|
||||
| MAI-001 | Fundamentos | - | - | Auth, RBAC, multi-tenancy (heredado) |
|
||||
| MAI-002 | Clientes y Tarifas | - | - | Shippers, tarifas por lane, SLAs |
|
||||
| MAI-003 | Ordenes de Transporte | - | - | OT, restricciones, multi-paradas |
|
||||
| MAI-004 | Planeacion TMS | - | - | Consolidacion, capacidad, asignacion |
|
||||
| MAI-005 | Despacho | - | - | Checklists, sellos, evidencias, salida |
|
||||
| MAI-006 | Tracking | - | - | GPS, eventos, alertas, ETA |
|
||||
| MAI-007 | POD y Cierre | - | - | Proof of Delivery, tiempos reales |
|
||||
| MAI-008 | Incidencias | - | - | Reclamaciones, flujo, impacto |
|
||||
| MAI-009 | Facturacion Transporte | - | - | Tarifas, recargos, conciliacion |
|
||||
| MAI-010 | Liquidaciones | - | - | Pago operadores, viaticos, deducciones |
|
||||
| MAI-011 | Gestion de Flota | - | - | Unidades, remolques, operadores |
|
||||
| MAI-012 | Combustible y Gastos | - | - | Vales, peajes, control antifraude |
|
||||
| MAI-013 | Mantenimiento Flota | - | - | Preventivo, correctivo, disponibilidad |
|
||||
| MAI-014 | Carriers (Terceros) | - | - | Subcontratacion, documentos, scorecard |
|
||||
| MAI-015 | Portal Cliente | - | - | Tracking, documentos, autoservicio |
|
||||
|
||||
### Modulos Propios - Fase 2 MAE (3)
|
||||
|
||||
| Codigo | Nombre | DDL | Backend | Descripcion |
|
||||
|--------|--------|:---:|:-------:|-------------|
|
||||
| MAE-016 | Carta Porte CFDI | - | - | Complemento 3.1, PAC, expediente |
|
||||
| MAE-017 | HOS y Bitacora | - | - | Horas de servicio, NOM-087 |
|
||||
| MAE-018 | Reportes y KPIs | - | - | OTIF, costo/km, disponibilidad |
|
||||
|
||||
### Modulos Propios - Fase 3 MAA (2)
|
||||
|
||||
| Codigo | Nombre | DDL | Backend | Descripcion |
|
||||
|--------|--------|:---:|:-------:|-------------|
|
||||
| MAA-019 | Optimizacion Rutas | - | - | Optimizacion, prediccion ETA |
|
||||
| MAA-020 | Integraciones EDI | - | - | API clientes, intercambio datos |
|
||||
|
||||
---
|
||||
|
||||
## HERENCIA
|
||||
|
||||
### Este proyecto hereda de:
|
||||
- `workspace-v2/orchestration/` - Directivas globales SIMCO
|
||||
- `erp-core/` - Modulos base ERP, auth, multi-tenancy
|
||||
|
||||
### Extension de modulos erp-core:
|
||||
- **tenants** → Empresas transportistas
|
||||
- **catalogs** → Catalogos transporte (rutas, zonas, equipos)
|
||||
- **financial** → Contabilidad transporte (CxC, CxP)
|
||||
- **inventory** → Inventario de refacciones (minimo)
|
||||
- **purchasing** → Compras de servicios
|
||||
- **sales** → Servicios de transporte
|
||||
- **crm** → CRM clientes/shippers
|
||||
- **partners** → Clientes, proveedores, carriers
|
||||
- **reports** → Reportes transporte
|
||||
- **mcp_server** → Tools especificos transporte
|
||||
|
||||
---
|
||||
|
||||
## REGLAS ESPECIFICAS TRANSPORTE
|
||||
|
||||
### Nomenclatura de Codigo
|
||||
```
|
||||
Prefijo MAI-XXX: Modulo Aplicacion Inicial (Fase 1)
|
||||
Prefijo MAE-XXX: Modulo Aplicacion Extendido (Fase 2)
|
||||
Prefijo MAA-XXX: Modulo Aplicacion Avanzado (Fase 3)
|
||||
```
|
||||
|
||||
### Entidades Criticas
|
||||
- `OrdenTransporte` - Solicitud de servicio
|
||||
- `Embarque` - Agrupacion de OTs
|
||||
- `Viaje` - Ejecucion operativa
|
||||
- `Unidad` - Tractora/remolque/caja
|
||||
- `Operador` - Conductor con licencias
|
||||
- `EventoTracking` - Posicion y eventos
|
||||
|
||||
### Workflow Viaje
|
||||
```
|
||||
BORRADOR → PLANEADO → DESPACHADO → EN_TRANSITO → EN_DESTINO → ENTREGADO (POD) → CERRADO → FACTURADO → COBRADO
|
||||
```
|
||||
|
||||
### Carta Porte Obligatoria
|
||||
- Version: 3.1 (vigente desde 17-jul-2024)
|
||||
- Escenarios: CFDI Ingreso (servicio) / CFDI Traslado
|
||||
- Validar datos minimos antes de liberar viaje
|
||||
- Disponibilidad offline de PDF/XML/QR en app movil
|
||||
|
||||
---
|
||||
|
||||
## VALIDACIONES ADICIONALES
|
||||
|
||||
Ademas de las validaciones de erp-core:
|
||||
|
||||
1. **OT:** Validar ubicaciones con geocodificacion
|
||||
2. **Viaje:** No liberar sin checklist completado
|
||||
3. **POD:** Obligatorio para cerrar viaje
|
||||
4. **Carta Porte:** Datos completos antes de timbrar
|
||||
5. **Combustible:** Alertas por consumo anomalo
|
||||
6. **Operador:** Bloquear si documentos vencidos
|
||||
7. **Unidad:** Bloquear si mantenimiento vencido
|
||||
|
||||
---
|
||||
|
||||
## ALIASES LOCALES
|
||||
|
||||
- `@BACKEND` → backend/src/
|
||||
- `@FRONTEND` → frontend/src/
|
||||
- `@DDL` → database/ddl/
|
||||
- `@DOCS` → docs/
|
||||
- `@MODULOS` → docs/02-definicion-modulos/
|
||||
- `@ORCHESTRATION` → orchestration/
|
||||
- `@CONSTANTS` → .claude/constants/CONSTANTS-PROJECT.yml
|
||||
- `@REQS` → docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
|
||||
|
||||
---
|
||||
|
||||
## ANTES DE IMPLEMENTAR
|
||||
|
||||
1. Verificar si es funcionalidad generica (va en erp-core)
|
||||
2. Verificar si ya existe en modulos heredados
|
||||
3. Revisar requerimientos en `docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md`
|
||||
4. Consultar documentacion funcional en `docs/02-definicion-modulos/`
|
||||
|
||||
---
|
||||
|
||||
## DESPUES DE IMPLEMENTAR
|
||||
|
||||
1. Actualizar PROJECT-STATUS.md
|
||||
2. Actualizar INVENTARIO.yml si aplica
|
||||
3. Documentar en carpeta del modulo correspondiente
|
||||
4. Commit y push siguiendo SIMCO-GIT
|
||||
5. Si afecta erp-core → evaluar propagacion inversa
|
||||
|
||||
---
|
||||
|
||||
## ESTADO ACTUAL
|
||||
|
||||
| Metrica | Valor |
|
||||
|---------|-------|
|
||||
| Progreso General | 0% (nuevo proyecto) |
|
||||
| DDL Implementado | 0% |
|
||||
| Backend Implementado | 0% |
|
||||
| Frontend Implementado | 0% |
|
||||
| Documentacion Funcional | 100% (requerimientos definidos) |
|
||||
| Documentacion Tecnica | 20% |
|
||||
|
||||
---
|
||||
|
||||
## PROXIMOS PASOS
|
||||
|
||||
1. Crear repositorios Git (padre + submodulos)
|
||||
2. Crear DDL de schemas principales
|
||||
3. Implementar entities base de transporte
|
||||
4. Implementar modulo MAI-003 (Ordenes de Transporte)
|
||||
5. Implementar modulo MAI-006 (Tracking)
|
||||
6. Implementar modulo MAE-016 (Carta Porte)
|
||||
|
||||
---
|
||||
|
||||
*ERP Transportistas v1.0.0 - Sistema SIMCO v4.0.0*
|
||||
298
INVENTARIO.yml
Normal file
298
INVENTARIO.yml
Normal file
@ -0,0 +1,298 @@
|
||||
# INVENTARIO.yml - ERP Transportistas
|
||||
# Sistema SIMCO v4.0.0
|
||||
# Actualizado: 2026-01-25
|
||||
|
||||
version: "1.0.0"
|
||||
proyecto: "erp-transportistas"
|
||||
tipo: "CONSUMER"
|
||||
hereda_de: "erp-core"
|
||||
actualizado: "2026-01-25"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# RESUMEN EJECUTIVO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
resumen:
|
||||
estado: "inicializacion"
|
||||
progreso_general: 5%
|
||||
ddl_tablas: 0
|
||||
backend_entities: 0
|
||||
backend_services: 0
|
||||
backend_controllers: 0
|
||||
frontend_pages: 0
|
||||
frontend_components: 0
|
||||
documentacion_archivos: 25
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# DATABASE INVENTORY
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
database:
|
||||
nombre: "erp_transportistas_db"
|
||||
engine: "postgresql"
|
||||
version: "15"
|
||||
|
||||
schemas:
|
||||
- nombre: "transport"
|
||||
descripcion: "Ordenes, embarques, viajes, rutas"
|
||||
tablas_estimadas: 25
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "fleet"
|
||||
descripcion: "Unidades, remolques, operadores"
|
||||
tablas_estimadas: 15
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "tracking"
|
||||
descripcion: "Eventos GPS, alertas, geocercas"
|
||||
tablas_estimadas: 10
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "fuel"
|
||||
descripcion: "Combustible, peajes, gastos"
|
||||
tablas_estimadas: 8
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "maintenance"
|
||||
descripcion: "Mantenimiento preventivo/correctivo"
|
||||
tablas_estimadas: 12
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "carriers"
|
||||
descripcion: "Terceros, documentos, scorecard"
|
||||
tablas_estimadas: 8
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "billing"
|
||||
descripcion: "Tarifas, facturacion transporte"
|
||||
tablas_estimadas: 10
|
||||
estado: "pendiente"
|
||||
|
||||
- nombre: "compliance"
|
||||
descripcion: "Carta Porte, HOS, inspecciones"
|
||||
tablas_estimadas: 10
|
||||
estado: "pendiente"
|
||||
|
||||
ddl_archivos: []
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# BACKEND INVENTORY
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
backend:
|
||||
framework: "nestjs"
|
||||
version: "10.x"
|
||||
|
||||
modulos_heredados:
|
||||
- auth
|
||||
- users
|
||||
- roles
|
||||
- tenants
|
||||
- catalogs
|
||||
- settings
|
||||
- audit
|
||||
- notifications
|
||||
- reports
|
||||
- billing
|
||||
- plans
|
||||
- webhooks
|
||||
- feature_flags
|
||||
- ai_integration
|
||||
- whatsapp_business
|
||||
- mcp_server
|
||||
|
||||
modulos_propios:
|
||||
fase_1_mai:
|
||||
- codigo: "MAI-002"
|
||||
nombre: "clientes-tarifas"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-003"
|
||||
nombre: "ordenes-transporte"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-004"
|
||||
nombre: "planeacion-tms"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-005"
|
||||
nombre: "despacho"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-006"
|
||||
nombre: "tracking"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-007"
|
||||
nombre: "pod-cierre"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-008"
|
||||
nombre: "incidencias"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-009"
|
||||
nombre: "facturacion-transporte"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-010"
|
||||
nombre: "liquidaciones"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-011"
|
||||
nombre: "gestion-flota"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-012"
|
||||
nombre: "combustible-gastos"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-013"
|
||||
nombre: "mantenimiento-flota"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-014"
|
||||
nombre: "carriers-terceros"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAI-015"
|
||||
nombre: "portal-cliente"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
fase_2_mae:
|
||||
- codigo: "MAE-016"
|
||||
nombre: "carta-porte-cfdi"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAE-017"
|
||||
nombre: "hos-bitacora"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAE-018"
|
||||
nombre: "reportes-kpis"
|
||||
estado: "pendiente"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
fase_3_maa:
|
||||
- codigo: "MAA-019"
|
||||
nombre: "optimizacion-rutas"
|
||||
estado: "futuro"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
- codigo: "MAA-020"
|
||||
nombre: "integraciones-edi"
|
||||
estado: "futuro"
|
||||
entities: []
|
||||
services: []
|
||||
controllers: []
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# FRONTEND INVENTORY
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
frontend:
|
||||
framework: "react"
|
||||
version: "18.x"
|
||||
|
||||
features: []
|
||||
pages: []
|
||||
components_propios: []
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# DOCUMENTACION
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
documentacion:
|
||||
archivos_totales: 25
|
||||
|
||||
categorias:
|
||||
- carpeta: "00-vision-general"
|
||||
archivos: 1
|
||||
- carpeta: "02-definicion-modulos"
|
||||
archivos: 0
|
||||
- carpeta: "03-requerimientos"
|
||||
archivos: 1
|
||||
- carpeta: "orchestration"
|
||||
archivos: 10
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# INTEGRACIONES
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
integraciones:
|
||||
- nombre: "GPS/Telematica"
|
||||
estado: "pendiente"
|
||||
prioridad: "alta"
|
||||
|
||||
- nombre: "PAC (CFDI)"
|
||||
estado: "pendiente"
|
||||
prioridad: "alta"
|
||||
|
||||
- nombre: "Mapas/Geocoding"
|
||||
estado: "pendiente"
|
||||
prioridad: "media"
|
||||
|
||||
- nombre: "WhatsApp"
|
||||
estado: "heredado"
|
||||
prioridad: "media"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# METADATA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
metadata:
|
||||
creado_por: "META-ORQUESTADOR"
|
||||
creado_en: "2026-01-25"
|
||||
ultima_actualizacion: "2026-01-25"
|
||||
127
PROJECT-STATUS.md
Normal file
127
PROJECT-STATUS.md
Normal file
@ -0,0 +1,127 @@
|
||||
# PROJECT-STATUS.md - ERP Transportistas
|
||||
|
||||
**Proyecto:** erp-transportistas
|
||||
**Tipo:** CONSUMER (Vertical ERP)
|
||||
**Version:** 1.0.0
|
||||
**Actualizado:** 2026-01-25
|
||||
|
||||
---
|
||||
|
||||
## Estado General
|
||||
|
||||
| Metrica | Valor | Descripcion |
|
||||
|---------|-------|-------------|
|
||||
| **Progreso General** | 5% | Proyecto recien creado |
|
||||
| **DDL** | 0% | Schemas por definir |
|
||||
| **Backend** | 0% | Modulos por implementar |
|
||||
| **Frontend** | 0% | Pendiente |
|
||||
| **Documentacion** | 100% | Requerimientos completos |
|
||||
|
||||
---
|
||||
|
||||
## Fase Actual: Inicializacion
|
||||
|
||||
### Completado
|
||||
- [x] Estructura de carpetas del proyecto
|
||||
- [x] CLAUDE.md con especificaciones del giro
|
||||
- [x] CONSTANTS-PROJECT.yml
|
||||
- [x] Documentacion de requerimientos (REQ-GIRO-TRANSPORTISTA.md)
|
||||
- [x] Definicion de modulos MAI/MAE/MAA
|
||||
|
||||
### En Progreso
|
||||
- [ ] Creacion de repositorios Git
|
||||
- [ ] Registro en inventarios del workspace
|
||||
|
||||
### Pendiente
|
||||
- [ ] DDL de schemas principales
|
||||
- [ ] Entities TypeORM base
|
||||
- [ ] Services y controllers
|
||||
- [ ] Frontend inicial
|
||||
|
||||
---
|
||||
|
||||
## Modulos por Fase
|
||||
|
||||
### Fase 1 - MAI (Modulo Aplicacion Inicial) - 15 modulos
|
||||
| Codigo | Nombre | DDL | Backend | Frontend | Estado |
|
||||
|--------|--------|:---:|:-------:|:--------:|--------|
|
||||
| MAI-001 | Fundamentos | - | - | - | Heredado |
|
||||
| MAI-002 | Clientes y Tarifas | - | - | - | Pendiente |
|
||||
| MAI-003 | Ordenes de Transporte | - | - | - | Pendiente |
|
||||
| MAI-004 | Planeacion TMS | - | - | - | Pendiente |
|
||||
| MAI-005 | Despacho | - | - | - | Pendiente |
|
||||
| MAI-006 | Tracking | - | - | - | Pendiente |
|
||||
| MAI-007 | POD y Cierre | - | - | - | Pendiente |
|
||||
| MAI-008 | Incidencias | - | - | - | Pendiente |
|
||||
| MAI-009 | Facturacion Transporte | - | - | - | Pendiente |
|
||||
| MAI-010 | Liquidaciones | - | - | - | Pendiente |
|
||||
| MAI-011 | Gestion de Flota | - | - | - | Pendiente |
|
||||
| MAI-012 | Combustible y Gastos | - | - | - | Pendiente |
|
||||
| MAI-013 | Mantenimiento Flota | - | - | - | Pendiente |
|
||||
| MAI-014 | Carriers (Terceros) | - | - | - | Pendiente |
|
||||
| MAI-015 | Portal Cliente | - | - | - | Pendiente |
|
||||
|
||||
### Fase 2 - MAE (Modulo Aplicacion Extendido) - 3 modulos
|
||||
| Codigo | Nombre | DDL | Backend | Frontend | Estado |
|
||||
|--------|--------|:---:|:-------:|:--------:|--------|
|
||||
| MAE-016 | Carta Porte CFDI | - | - | - | Pendiente |
|
||||
| MAE-017 | HOS y Bitacora | - | - | - | Pendiente |
|
||||
| MAE-018 | Reportes y KPIs | - | - | - | Pendiente |
|
||||
|
||||
### Fase 3 - MAA (Modulo Aplicacion Avanzado) - 2 modulos
|
||||
| Codigo | Nombre | DDL | Backend | Frontend | Estado |
|
||||
|--------|--------|:---:|:-------:|:--------:|--------|
|
||||
| MAA-019 | Optimizacion Rutas | - | - | - | Futuro |
|
||||
| MAA-020 | Integraciones EDI | - | - | - | Futuro |
|
||||
|
||||
---
|
||||
|
||||
## Proximos Pasos (Priorizados)
|
||||
|
||||
1. **Crear repositorios Git** - Padre + backend, frontend, database
|
||||
2. **Definir DDL transport schema** - Tablas principales de OT, embarque, viaje
|
||||
3. **Definir DDL fleet schema** - Unidades, remolques, operadores
|
||||
4. **Implementar MAI-003** - Ordenes de Transporte (core del negocio)
|
||||
5. **Implementar MAI-011** - Gestion de Flota (prerequisito para viajes)
|
||||
6. **Implementar MAI-006** - Tracking (valor diferenciador)
|
||||
|
||||
---
|
||||
|
||||
## Dependencias Criticas
|
||||
|
||||
| Modulo | Depende de | Prioridad |
|
||||
|--------|------------|-----------|
|
||||
| MAI-003 OT | MAI-002 Tarifas, MAI-011 Flota | Alta |
|
||||
| MAI-004 Planeacion | MAI-003 OT | Alta |
|
||||
| MAI-005 Despacho | MAI-004 Planeacion, MAI-011 Flota | Alta |
|
||||
| MAI-006 Tracking | MAI-005 Despacho | Alta |
|
||||
| MAI-007 POD | MAI-006 Tracking | Media |
|
||||
| MAI-009 Facturacion | MAI-007 POD | Media |
|
||||
| MAE-016 Carta Porte | MAI-009 Facturacion | Alta |
|
||||
|
||||
---
|
||||
|
||||
## Riesgos y Mitigaciones
|
||||
|
||||
| Riesgo | Impacto | Mitigacion |
|
||||
|--------|---------|------------|
|
||||
| Complejidad Carta Porte 3.1 | Alto | Iniciar MAE-016 temprano, PAC confiable |
|
||||
| Integracion GPS multiple | Medio | Abstraccion de proveedores |
|
||||
| Volumen de eventos tracking | Alto | Redis para buffer, batch processing |
|
||||
| Offline en carretera | Alto | PWA con sincronizacion |
|
||||
|
||||
---
|
||||
|
||||
## Metricas de Avance
|
||||
|
||||
```
|
||||
DDL: [ ] 0%
|
||||
Backend: [ ] 0%
|
||||
Frontend: [ ] 0%
|
||||
Docs: [████████████████████] 100%
|
||||
Tests: [ ] 0%
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Actualizado: 2026-01-25 por META-ORQUESTADOR*
|
||||
103
README.md
Normal file
103
README.md
Normal file
@ -0,0 +1,103 @@
|
||||
# ERP Transportistas
|
||||
|
||||
**Vertical ERP para empresas de transporte de carga, logistica y 3PL**
|
||||
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
|
||||
---
|
||||
|
||||
## Descripcion
|
||||
|
||||
ERP Transportistas es una solucion integral para la gestion de empresas de autotransporte de carga. Implementa todas las funcionalidades necesarias para operar una empresa de logistica, desde la captura de ordenes de transporte hasta la facturacion con CFDI y Carta Porte.
|
||||
|
||||
### Funcionalidades Principales
|
||||
|
||||
- **Gestion de Flota**: Control de unidades tractoras, remolques, cajas y operadores
|
||||
- **Ordenes de Transporte**: Captura de OTs con restricciones logisticas y multi-paradas
|
||||
- **Planeacion TMS**: Consolidacion, capacidad y asignacion de recursos
|
||||
- **Tracking en Tiempo Real**: GPS, eventos, alertas y ETA dinamico
|
||||
- **POD Digital**: Proof of Delivery con firma electronica y evidencias
|
||||
- **CFDI Carta Porte**: Cumplimiento fiscal con complemento 3.1
|
||||
- **Control de Costos**: Combustible, peajes, viaticos, mantenimiento
|
||||
- **Portal de Clientes**: Autoservicio para tracking y documentos
|
||||
|
||||
---
|
||||
|
||||
## Stack Tecnologico
|
||||
|
||||
| Capa | Tecnologia |
|
||||
|------|------------|
|
||||
| Backend | NestJS 10.x + TypeScript |
|
||||
| Frontend | React 18.x + Vite + TailwindCSS |
|
||||
| Database | PostgreSQL 15 + PostGIS |
|
||||
| Cache | Redis 7.x |
|
||||
| Mobile | React Native / Expo |
|
||||
|
||||
---
|
||||
|
||||
## Estructura del Proyecto
|
||||
|
||||
```
|
||||
erp-transportistas/
|
||||
├── backend/ # API NestJS
|
||||
├── frontend/ # SPA React
|
||||
├── database/ # DDL PostgreSQL
|
||||
├── docs/ # Documentacion
|
||||
├── orchestration/ # Sistema SIMCO
|
||||
└── .claude/ # Configuracion Claude Code
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Requisitos
|
||||
|
||||
- Node.js 20.x
|
||||
- PostgreSQL 15+
|
||||
- Redis 7.x
|
||||
- Git
|
||||
|
||||
---
|
||||
|
||||
## Instalacion
|
||||
|
||||
```bash
|
||||
# Clonar repositorio
|
||||
git clone https://github.com/rckrdmrd/erp-transportistas-v2.git
|
||||
cd erp-transportistas
|
||||
|
||||
# Inicializar submodulos
|
||||
git submodule update --init --recursive
|
||||
|
||||
# Backend
|
||||
cd backend
|
||||
npm install
|
||||
cp .env.example .env
|
||||
npm run dev
|
||||
|
||||
# Frontend (otra terminal)
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Documentacion
|
||||
|
||||
- [Requerimientos del Giro](docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md)
|
||||
- [Arquitectura](docs/10-modelado/)
|
||||
- [API Reference](docs/30-integraciones/)
|
||||
|
||||
---
|
||||
|
||||
## Contribuir
|
||||
|
||||
Este proyecto sigue el sistema SIMCO de desarrollo. Consultar `CLAUDE.md` para directivas de implementacion.
|
||||
|
||||
---
|
||||
|
||||
## Licencia
|
||||
|
||||
Propietario - ISEM 2026
|
||||
1
backend
Submodule
1
backend
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 2f76d541d25bd67ae71fcc3d5e29067a97b7c371
|
||||
1
database
Submodule
1
database
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit c93e2b1e0e7f497c8627ab00e2bd7162d92422f5
|
||||
151
docs/00-vision-general/VISION-ERP-TRANSPORTISTAS.md
Normal file
151
docs/00-vision-general/VISION-ERP-TRANSPORTISTAS.md
Normal file
@ -0,0 +1,151 @@
|
||||
# Vision ERP Transportistas
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Fecha:** 2026-01-25
|
||||
**Estado:** Aprobado
|
||||
|
||||
---
|
||||
|
||||
## Resumen Ejecutivo
|
||||
|
||||
ERP Transportistas es una solucion vertical especializada para empresas de autotransporte de carga, operadores logisticos y 3PL (Third-Party Logistics). El sistema integra todas las operaciones del negocio de transporte, desde la captacion de ordenes hasta la facturacion con CFDI y Carta Porte, pasando por tracking en tiempo real, control de flota y gestion de costos.
|
||||
|
||||
---
|
||||
|
||||
## Objetivo del Producto
|
||||
|
||||
Proveer una plataforma integral que permita a las empresas transportistas:
|
||||
|
||||
1. **Digitalizar sus operaciones** eliminando procesos manuales basados en Excel, WhatsApp y llamadas
|
||||
2. **Visibilidad en tiempo real** de flota, viajes y entregas para operaciones y clientes
|
||||
3. **Cumplimiento normativo** automatizado (Carta Porte 3.1, NOM-087, NOM-068)
|
||||
4. **Control de costos** por viaje, ruta, cliente y unidad
|
||||
5. **Escalabilidad** mediante subcontratacion de carriers con control de calidad
|
||||
|
||||
---
|
||||
|
||||
## Propuesta de Valor
|
||||
|
||||
| Problema Actual | Solucion ERP Transportistas |
|
||||
|-----------------|----------------------------|
|
||||
| Ordenes por telefono/WhatsApp | Portal de clientes + API |
|
||||
| Tracking manual de unidades | GPS integrado + alertas automaticas |
|
||||
| POD en papel perdido | POD digital con firma y fotos |
|
||||
| Facturacion manual compleja | CFDI + Carta Porte automatizado |
|
||||
| Costos dispersos en hojas | Costeo por viaje integrado |
|
||||
| Operadores sin control | App movil + HOS + checklists |
|
||||
| Subcontratacion sin control | Portal carriers + scorecard |
|
||||
|
||||
---
|
||||
|
||||
## Usuarios Objetivo
|
||||
|
||||
### Primarios
|
||||
- Empresas de autotransporte de carga (flota propia)
|
||||
- Operadores logisticos 3PL
|
||||
- Brokers de transporte
|
||||
|
||||
### Secundarios
|
||||
- Shippers (clientes que contratan transporte)
|
||||
- Carriers aliados (subcontratados)
|
||||
|
||||
### Tamano de Empresa
|
||||
- PYME: 5-50 unidades
|
||||
- Mediana: 50-200 unidades
|
||||
- Enterprise: 200+ unidades
|
||||
|
||||
---
|
||||
|
||||
## Alcance del MVP
|
||||
|
||||
### Incluido en MVP (Fase 1)
|
||||
- Gestion de clientes y tarifas
|
||||
- Ordenes de transporte con restricciones
|
||||
- Planeacion y asignacion basica
|
||||
- Despacho con checklists digitales
|
||||
- Tracking GPS basico
|
||||
- POD digital
|
||||
- Facturacion con CFDI + Carta Porte
|
||||
- Gestion basica de flota
|
||||
|
||||
### Fuera del MVP (Fases 2-3)
|
||||
- Optimizacion de rutas con IA
|
||||
- Prediccion de ETA avanzada
|
||||
- EDI con clientes
|
||||
- Analitica predictiva de mantenimiento
|
||||
- App movil nativa (solo PWA en MVP)
|
||||
|
||||
---
|
||||
|
||||
## Diferenciadores Competitivos
|
||||
|
||||
1. **Carta Porte nativo**: No es un "addon", esta integrado desde el diseno
|
||||
2. **Multi-tenant SaaS**: Mismo codigo para multiples empresas
|
||||
3. **Hereda de erp-core**: Contabilidad, CRM, RRHH ya resueltos
|
||||
4. **API-first**: Integracion con cualquier GPS, PAC, ERP cliente
|
||||
5. **Offline-first mobile**: Opera en carretera sin conexion
|
||||
|
||||
---
|
||||
|
||||
## Metricas de Exito
|
||||
|
||||
| Metrica | Objetivo |
|
||||
|---------|----------|
|
||||
| Time to POD | < 2 horas post-entrega |
|
||||
| On-time delivery | > 95% |
|
||||
| Costo de operacion | -15% vs manual |
|
||||
| Tiempo de facturacion | < 24 horas |
|
||||
| NPS clientes | > 50 |
|
||||
|
||||
---
|
||||
|
||||
## Roadmap de Alto Nivel
|
||||
|
||||
### Q1 2026 - MVP
|
||||
- Core: OT, Viajes, Tracking, POD
|
||||
- Compliance: Carta Porte 3.1
|
||||
- Integracion: GPS, PAC
|
||||
|
||||
### Q2 2026 - Control de Costos
|
||||
- Combustible, peajes, viaticos
|
||||
- Mantenimiento preventivo
|
||||
- Liquidacion operadores
|
||||
|
||||
### Q3 2026 - Optimizacion
|
||||
- Consolidacion inteligente
|
||||
- Prediccion de ETA
|
||||
- Portal cliente completo
|
||||
|
||||
### Q4 2026 - Enterprise
|
||||
- EDI con clientes
|
||||
- Analitica avanzada
|
||||
- App movil nativa
|
||||
|
||||
---
|
||||
|
||||
## Restricciones y Supuestos
|
||||
|
||||
### Restricciones
|
||||
- Cumplimiento con Carta Porte 3.1 es mandatorio
|
||||
- Multi-tenant desde dia 1
|
||||
- Hereda modulos de erp-core sin modificarlos
|
||||
|
||||
### Supuestos
|
||||
- Cliente tiene acceso a GPS/telematica
|
||||
- Operadores tienen smartphone basico
|
||||
- Conectividad intermitente en carretera
|
||||
|
||||
---
|
||||
|
||||
## Riesgos Principales
|
||||
|
||||
| Riesgo | Probabilidad | Impacto | Mitigacion |
|
||||
|--------|--------------|---------|------------|
|
||||
| Cambios en Carta Porte | Media | Alto | Arquitectura flexible |
|
||||
| Integracion GPS fallida | Media | Alto | Abstraccion de proveedores |
|
||||
| Adopcion de operadores | Alta | Medio | UX simplificado, capacitacion |
|
||||
| Performance tracking | Media | Alto | Redis + batch processing |
|
||||
|
||||
---
|
||||
|
||||
*ERP Transportistas - Vision v1.0.0*
|
||||
382
docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
Normal file
382
docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
Normal file
@ -0,0 +1,382 @@
|
||||
# REQ-GIRO-TRANSPORTISTA v1.0
|
||||
**Documento de requerimientos por giro (solo procesos especiales) - Empresa Transportista / Logistica de Carga**
|
||||
**Fecha:** 2026-01-25 (America/Mexico_City)
|
||||
**Autor:** Adrian / Equipo ERP SaaS
|
||||
**Alcance:** Adaptaciones y procesos especificos del giro *Autotransporte de carga / 3PL* sobre un ERP generico ya definido.
|
||||
|
||||
---
|
||||
|
||||
## 0) Proposito y alcance
|
||||
|
||||
Este documento define **exclusivamente** los requerimientos funcionales y de datos necesarios para operar una **empresa transportista de carga** (propia o como 3PL) y las **adaptaciones** que un ERP convencional requiere para soportar el giro, incluyendo:
|
||||
|
||||
- **Gestion operativa del transporte** (orden -> planeacion -> despacho -> ejecucion -> POD -> facturacion).
|
||||
- **Gestion de flota y conductores** (asignacion, disponibilidad, cumplimiento, mantenimiento, combustible).
|
||||
- **Tracking y visibilidad** (eventos, GPS, portal cliente, alertas, incidencias).
|
||||
- **Costeo por viaje y rentabilidad** (por ruta/cliente/unidad, peajes, combustible, viaticos, mantenimiento).
|
||||
- **Cumplimiento documental y fiscal** propio del transporte en Mexico (p. ej. Carta Porte) y control de evidencias.
|
||||
- **Gestion de terceros** (subcontratacion de transportistas, "carriers" aliados, maniobristas).
|
||||
|
||||
> Nota: Se asume que el ERP base ya cubre contabilidad, compras, ventas genericas, inventarios genericos, CRM generico, RRHH generico, etc. Aqui solo se define lo que **cambia** o **se anade** por el giro.
|
||||
|
||||
---
|
||||
|
||||
## 1) Contexto operativo del giro (resumen)
|
||||
|
||||
En el sector **Logistica y Transporte** es comun que existan procesos fragmentados (Excel/WhatsApp/llamadas) para rutas, entregas, flota, costos y atencion al cliente. La adopcion de un ERP/CRM aporta control en tiempo real de almacenes/rutas/entregas, seguimiento de flotas y control de costos (combustible, mantenimiento) y mejor coordinacion con clientes y operaciones.
|
||||
|
||||
---
|
||||
|
||||
## 2) Perfiles y roles (giro)
|
||||
|
||||
1. **Ventas Logistica / Ejecutivo de Cuenta**: cotiza, negocia tarifas, define SLA, captura oportunidades.
|
||||
2. **Atencion a Cliente / Customer Success**: seguimiento de envios, incidencias, reclamaciones.
|
||||
3. **Planner / Trafico (Planeacion)**: consolida ordenes, planifica cargas, ventanas, rutas, recursos.
|
||||
4. **Despachador (Dispatch)**: asigna unidades/operadores, libera salida, gestiona cambios en ruta.
|
||||
5. **Operador / Conductor**: ejecuta viaje, checklists, eventos, evidencias, POD.
|
||||
6. **Jefe de Flota**: disponibilidad de unidades, seguros, permisos, cumplimiento documental.
|
||||
7. **Mantenimiento**: preventivo/correctivo, bitacora de talleres, refacciones, paros.
|
||||
8. **Control de Combustible**: vales, tarjetas, consumo esperado vs real, robos/mermas.
|
||||
9. **Facturacion & Cobranza**: CFDI, cargos extra (demoras, reexpedicion), conciliaciones.
|
||||
10. **Carrier Manager (Terceros)**: asigna a subcontratados, valida costos, documentos y desempeno.
|
||||
|
||||
---
|
||||
|
||||
## 3) Objetos de negocio del giro (modelo conceptual minimo)
|
||||
|
||||
- **Cliente (shipper/consignee)** + contactos + ubicaciones (origen/destino) + ventanas de entrega.
|
||||
- **Tarifa/Contrato**: por ruta (lane), por km, por tonelada, por viaje, por tipo de unidad, por zona.
|
||||
- **Orden de Transporte (OT)**: solicitud del cliente, con carga/mercancia, origen/destino, ventanas, restricciones.
|
||||
- **Embarque/Shipment**: agrupacion logica de OT(s) para una misma ejecucion.
|
||||
- **Viaje/Trip**: ejecucion operativa (unidad + operador + remolque(s) + ruta + eventos).
|
||||
- **Unidad tractora / Remolque / Caja**: activos, capacidades, documentacion, estado mecanico.
|
||||
- **Operador**: licencias, vigencias, disponibilidad, HOS/bitacora, skills (doble articulado, hazmat, etc.).
|
||||
- **Eventos de tracking**: salida, arribo, carga, descarga, desvio, parada, incidencia, entrega.
|
||||
- **POD (Proof of Delivery)**: evidencia de entrega (firma, foto, sello, documento digital).
|
||||
- **Costos de viaje**: combustible, peajes, viaticos, maniobras, multas, mantenimiento imputable, terceros.
|
||||
- **Documentos regulatorios/fiscales**: CFDI con complemento Carta Porte, permisos, polizas, inspecciones.
|
||||
- **Incidencia/Reclamacion**: dano, robo, retraso, rechazo, faltante, devolucion.
|
||||
|
||||
---
|
||||
|
||||
## 4) Procesos del giro y requerimientos funcionales
|
||||
|
||||
### 4.1 Gestion de tarifas, contratos y SLA (Logistica comercial)
|
||||
|
||||
**Objetivo:** cotizar y operar con reglas claras por cliente/ruta/servicio.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.1.1 Tarifario por lane y servicio**: definir tarifas por ruta (origen/destino/zona), tipo de unidad, modalidad (FTL/LTL), prioridad (express), y vigencia.
|
||||
- **RF-4.1.2 Matriz de recargos (surcharges)**: combustible (fuel surcharge), demoras (detention), almacenaje, reexpedicion, reentrega, maniobras, escoltas, seguro adicional.
|
||||
- **RF-4.1.3 SLA por cliente**: tiempos comprometidos, ventanas, penalizaciones, tolerancias, reglas de notificacion.
|
||||
- **RF-4.1.4 Cotizacion rapida**: generar cotizacion desde CRM/ventas con calculo automatico (distancia/kms si se integra a mapas).
|
||||
- **RF-4.1.5 Control de aprobaciones**: flujos de aprobacion para descuentos, tarifas especiales, recargos excepcionales.
|
||||
|
||||
**Criterios de aceptacion:**
|
||||
- El sistema calcula automaticamente el precio con desglose (base + recargos), y guarda el "snapshot" aplicado a la OT.
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Captura de Orden de Transporte (OT) con restricciones logisticas
|
||||
|
||||
**Objetivo:** registrar demandas con toda la informacion operable para planeacion y cumplimiento.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.2.1 Datos obligatorios OT**: cliente, origen/destino (georreferenciables), ventanas (pickup/delivery), tipo de carga, peso/volumen, unidades/pallets, temperatura (si aplica), requisitos de equipo (caja seca/refrigerada/plataforma), referencias (PO, ASN).
|
||||
- **RF-4.2.2 Restricciones**: horarios de acceso, citas (appointment), requisitos de seguridad (sellos, GPS, escolta), zonas de riesgo, restricciones de circulacion.
|
||||
- **RF-4.2.3 Multi-paradas**: soportar rutas con multiples puntos (pickup/drop) y secuencia.
|
||||
- **RF-4.2.4 LTL vs FTL**: permitir consolidacion (LTL) o viaje dedicado (FTL) y reglas de capacidad.
|
||||
- **RF-4.2.5 Documentacion adjunta**: ordenes, manifiestos, instrucciones del cliente, fotos.
|
||||
- **RF-4.2.6 Portal / API de clientes**: creacion de OT por portal o API (opcional por fase).
|
||||
|
||||
---
|
||||
|
||||
### 4.3 Planeacion (TMS-like): consolidacion, capacidad y asignacion preliminar
|
||||
|
||||
**Objetivo:** convertir OTs en embarques y viajes factibles (capacidad/ventanas).
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.3.1 Tablero de planeacion (Gantt / Kanban de trafico)**: OTs por fecha/ventana, estado, prioridad, region.
|
||||
- **RF-4.3.2 Consolidacion automatica sugerida**: agrupar OTs compatibles por zona, ventana, capacidad, tipo de equipo.
|
||||
- **RF-4.3.3 Calculo de capacidad**: reglas por unidad (toneladas, m3, pallets, altura, temperatura, peligrosidad).
|
||||
- **RF-4.3.4 Reservas de recursos**: pre-asignar unidad/operador/remolque con bloqueo de disponibilidad.
|
||||
- **RF-4.3.5 Reglas de compatibilidad**:
|
||||
- Operador con certificacion requerida.
|
||||
- Unidad apta (revision vigente, capacidades, permisos).
|
||||
- Restricciones de cliente (listas negras, requisitos de GPS).
|
||||
- **RF-4.3.6 Simulacion de ruta y ETA**: estimacion de tiempos y ETAs (si se integra con mapas/telematica).
|
||||
|
||||
---
|
||||
|
||||
### 4.4 Despacho: liberacion de viaje, checklists y documentacion operativa
|
||||
|
||||
**Objetivo:** asegurar que el viaje "sale" completo (documentos, seguridad, checklist, asignacion final).
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.4.1 Orden de Viaje (OV)**: generar OV desde embarque con: unidad, remolques, operador, ruta, paradas, instrucciones.
|
||||
- **RF-4.4.2 Checklists pre-viaje**: inspeccion (llantas, frenos, luces, acoplamiento, sellos), checklist por tipo de unidad y por cliente.
|
||||
- **RF-4.4.3 Control de sellos**: asignacion y registro de sellos (numero, fotos), rupturas y reemplazos con motivo.
|
||||
- **RF-4.4.4 Evidencias de carga**: fotos, firma de almacen, peso/bascula.
|
||||
- **RF-4.4.5 Kit documental**: compilar documentos requeridos por el viaje (OT/OV, permisos, poliza, Carta Porte, etc.) en formato digital para el operador.
|
||||
- **RF-4.4.6 "Gate out" / salida oficial**: evento de salida con timestamp, usuario responsable y geolocalizacion.
|
||||
|
||||
---
|
||||
|
||||
### 4.5 Ejecucion y tracking (control de viaje en tiempo real)
|
||||
|
||||
**Objetivo:** visibilidad operativa para operaciones y cliente.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.5.1 Integracion GPS/Telematica**: ingestion de posiciones y eventos (encendido, velocidad, paradas) por proveedor.
|
||||
- **RF-4.5.2 App movil operador** (o web movil):
|
||||
- Registro de eventos (arribo, inicio/fin de carga/descarga, incidentes).
|
||||
- Adjuntar evidencias (fotos, firma, documentos).
|
||||
- Modo offline con sincronizacion.
|
||||
- **RF-4.5.3 ETA dinamico**: recalcular ETA con base en tracking/tiempo real (si hay datos).
|
||||
- **RF-4.5.4 Geocercas (geofencing)**: eventos automaticos por entrada/salida de origen/destino.
|
||||
- **RF-4.5.5 Alertas**:
|
||||
- Retraso vs ventana SLA.
|
||||
- Desvio de ruta.
|
||||
- Parada no programada.
|
||||
- Exceso de tiempo en carga/descarga (detention).
|
||||
- **RF-4.5.6 Comunicacion omnicanal**: notificaciones a cliente (email/WhatsApp/SMS) por eventos clave (configurable).
|
||||
|
||||
---
|
||||
|
||||
### 4.6 Incidencias, excepciones y reclamaciones (Claims)
|
||||
|
||||
**Objetivo:** gestionar eventos anomalos con trazabilidad y responsabilidad.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.6.1 Tipos de incidencia**: retraso, rechazo en entrega, dano, robo, faltante, devolucion, accidente, multa.
|
||||
- **RF-4.6.2 Flujo de atencion**: apertura -> asignacion -> investigacion -> resolucion -> cierre.
|
||||
- **RF-4.6.3 Evidencias y bitacora**: adjuntar fotos, reportes, documentos y timeline.
|
||||
- **RF-4.6.4 Impacto economico**: registrar costos (deducibles, penalizaciones, reexpedicion) y asociarlos a viaje/cliente.
|
||||
- **RF-4.6.5 SLA de incidencias**: tiempos maximos de respuesta por severidad.
|
||||
- **RF-4.6.6 Integracion a facturacion**: cargos/abonos por penalizaciones o notas de credito.
|
||||
|
||||
---
|
||||
|
||||
### 4.7 POD y cierre operativo del viaje
|
||||
|
||||
**Objetivo:** cerrar viajes con prueba de entrega y datos listos para facturar y medir performance.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.7.1 Captura POD**: firma digital, nombre/ID receptor, sello, fotos, documento escaneado.
|
||||
- **RF-4.7.2 Validaciones**: no permitir "cierre" sin POD o sin justificacion aprobada.
|
||||
- **RF-4.7.3 Tiempos reales**: registrar llegada, inicio/fin descarga, salida, para metricas de detention.
|
||||
- **RF-4.7.4 Cierre contable operativo**: congelar costos del viaje (combustible, peajes, viaticos) y calcular rentabilidad preliminar.
|
||||
|
||||
---
|
||||
|
||||
### 4.8 Facturacion especializada del transporte (rate -> invoice)
|
||||
|
||||
**Objetivo:** facturar con reglas del giro y ligando evidencias/documentos.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.8.1 Factura por viaje/embarque/OT**: configurable.
|
||||
- **RF-4.8.2 Calculo automatico de recargos**:
|
||||
- Demoras por tiempos reales vs tolerancia.
|
||||
- Fuel surcharge por indice/porcentaje.
|
||||
- Reentregas y cambios de destino.
|
||||
- **RF-4.8.3 Integracion con POD**: anexar POD y evidencias a factura/expediente.
|
||||
- **RF-4.8.4 Conciliacion**: comparacion cotizacion vs factura emitida vs cobrado.
|
||||
- **RF-4.8.5 Estados de cuenta por cliente**: viajes, cargos, abonos, notas, aging.
|
||||
|
||||
---
|
||||
|
||||
### 4.9 Liquidacion a operadores y control de "settlements" (si aplica)
|
||||
|
||||
**Objetivo:** pagar a operadores (propios o terceros) con reglas por viaje, viaticos y deducciones.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.9.1 Esquemas de pago**: por km, por viaje, por porcentaje, por bono SLA.
|
||||
- **RF-4.9.2 Viaticos**: anticipos y comprobacion; relacion con viaje y control de sobrantes.
|
||||
- **RF-4.9.3 Deducciones**: multas, danos, faltantes (segun politica), con aprobacion.
|
||||
- **RF-4.9.4 Corte y autorizacion**: cierre semanal/quincenal, exportacion a nomina/contabilidad.
|
||||
|
||||
---
|
||||
|
||||
### 4.10 Combustible, peajes y gastos de viaje (cost control)
|
||||
|
||||
**Objetivo:** control fino de costos variables y deteccion de fugas.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.10.1 Planeado vs real**: consumo esperado por unidad/ruta vs litros reales.
|
||||
- **RF-4.10.2 Captura de cargas de combustible**: por tarjeta/vale, estacion, litros, costo, odometro, evidencia.
|
||||
- **RF-4.10.3 Peajes**: integracion con TAG o captura manual; prorrateo por viaje.
|
||||
- **RF-4.10.4 Gastos varios**: casetas, maniobras, montacargas, "mordidas" NO permitidas (bloqueo por politica), estacionamientos.
|
||||
- **RF-4.10.5 Alertas antifraude**: desviacion de consumo, cargas fuera de ruta, cargas duplicadas.
|
||||
|
||||
---
|
||||
|
||||
### 4.11 Mantenimiento y disponibilidad de flota (Fleet Maintenance)
|
||||
|
||||
**Objetivo:** asegurar disponibilidad y cumplimiento mecanico/seguridad.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.11.1 Plan preventivo**: por km/horas/fecha; generacion automatica de ordenes de mantenimiento.
|
||||
- **RF-4.11.2 Correctivo**: tickets por falla reportada, priorizacion, tiempos de paro.
|
||||
- **RF-4.11.3 Inventario de refacciones (solo lo necesario al giro)**: minimo para taller (catalogo, stock, consumo en ordenes).
|
||||
- **RF-4.11.4 Historial por activo**: costos, fallas recurrentes, MTBF/MTTR.
|
||||
- **RF-4.11.5 Disponibilidad**: estado de unidad (Disponible / En viaje / En taller / Bloqueada) y capacidad de "bloqueo" por documentacion vencida.
|
||||
|
||||
---
|
||||
|
||||
### 4.12 Gestion de terceros (subcontratacion / carriers)
|
||||
|
||||
**Objetivo:** escalar capacidad sin perder control documental ni de calidad.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.12.1 Registro de carrier**: datos fiscales, documentos, polizas, permisos, evaluacion.
|
||||
- **RF-4.12.2 Asignacion a carrier**: licitacion interna (rate shopping), adjudicacion y emision de OV a tercero.
|
||||
- **RF-4.12.3 Control de documentos del tercero**: vigencias y bloqueo por vencimiento.
|
||||
- **RF-4.12.4 Recepcion de POD del tercero**: portal o carga de evidencias.
|
||||
- **RF-4.12.5 Costo vs ingreso**: margen por subcontratacion; reportes por carrier.
|
||||
- **RF-4.12.6 Scorecard**: puntualidad, incidencias, calidad de POD, reclamos.
|
||||
|
||||
---
|
||||
|
||||
### 4.13 Portal de cliente (visibilidad y autoservicio) - si se incluye
|
||||
|
||||
**Objetivo:** reducir friccion operativa y elevar percepcion de valor.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-4.13.1 Tracking**: mapa/estado, eventos, ETA.
|
||||
- **RF-4.13.2 Documentos**: POD, factura, Carta Porte (si aplica mostrar).
|
||||
- **RF-4.13.3 Creacion de OT**: plantillas, cargas recurrentes, multi-paradas.
|
||||
- **RF-4.13.4 Reclamaciones**: apertura y seguimiento de incidencias.
|
||||
|
||||
---
|
||||
|
||||
## 5) Cumplimiento documental/fiscal (Mexico) - requerimientos del giro
|
||||
|
||||
### 5.1 CFDI con Complemento Carta Porte (v3.1)
|
||||
|
||||
**Necesidad del giro:** El sistema debe soportar la emision y resguardo del **CFDI con complemento Carta Porte**, incluyendo llenado conforme a instructivos del SAT y escenarios tipicos del transporte.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-5.1.1 Soportar Carta Porte 3.1**: parametrizar version y validar catalogos/estructura.
|
||||
- **RF-5.1.2 Escenarios de emision**:
|
||||
- **CFDI de Ingreso** con Carta Porte cuando se presta el servicio de transporte.
|
||||
- **CFDI de Traslado** con Carta Porte cuando corresponda al traslado sin cobrar servicio (segun operacion del contribuyente).
|
||||
- **RF-5.1.3 Expediente fiscal por viaje**: relacionar el UUID del CFDI (y XML/PDF) con OT/OV/Viaje.
|
||||
- **RF-5.1.4 Validaciones previas**: no permitir liberar viaje si faltan datos minimos para Carta Porte (ubicaciones, mercancia, pesos, operador/unidad, etc.) cuando aplique.
|
||||
- **RF-5.1.5 Reemision/correccion controlada**: bitacora de cancelaciones y sustituciones, y su impacto en facturacion.
|
||||
- **RF-5.1.6 Integracion con PAC**: timbrado, cancelacion, consulta de estatus.
|
||||
- **RF-5.1.7 Evidencia para inspeccion**: disponibilidad offline del PDF/XML/QR en app movil.
|
||||
|
||||
**Referencias normativas clave (para parametrizacion):**
|
||||
- El SAT indica uso de **Carta Porte version 3.1** a partir del **17-jul-2024** y publica instructivos y preguntas frecuentes.
|
||||
|
||||
---
|
||||
|
||||
### 5.2 Bitacora de Horas de Servicio (HOS) - NOM-087
|
||||
|
||||
**Necesidad del giro:** Controlar cumplimiento de tiempos de conduccion/pausas y evidencias.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-5.2.1 Registro HOS**: captura/ingesta de horas de conduccion, pausas, descanso; manual o por telematica.
|
||||
- **RF-5.2.2 Bitacora en formato imprimible/electronico** por operador y viaje.
|
||||
- **RF-5.2.3 Alertas de incumplimiento**: antes de exceder limites; bloqueo de asignacion si operador no cumple descansos.
|
||||
- **RF-5.2.4 Evidencias**: trazabilidad de ediciones y responsable (auditoria).
|
||||
|
||||
**Referencia:** NOM-087 y lineamientos de bitacora (incluye posibilidad de formatos electronicos).
|
||||
|
||||
---
|
||||
|
||||
### 5.3 Condiciones fisico-mecanicas y seguridad - NOM-068
|
||||
|
||||
**Necesidad del giro:** mantener evidencia de inspecciones/condiciones para operar en vias federales.
|
||||
|
||||
**Requerimientos:**
|
||||
- **RF-5.3.1 Checklist mecanico por norma**: checklist parametrizable por tipo de unidad y operacion.
|
||||
- **RF-5.3.2 Evidencias**: fotos/firmas del responsable, fechas, resultados.
|
||||
- **RF-5.3.3 Bloqueo por incumplimiento**: unidad pasa a "No disponible / Bloqueada" si falla inspeccion o documentacion.
|
||||
|
||||
**Referencia:** NOM-068 (DOF).
|
||||
|
||||
---
|
||||
|
||||
## 6) Reportes y KPIs especificos del giro
|
||||
|
||||
1. **On-time pickup / On-time delivery** por cliente/ruta/unidad/operador.
|
||||
2. **OTIF** (On Time In Full) si aplica a entregas completas.
|
||||
3. **Detention time** (carga/descarga) y costos asociados.
|
||||
4. **Costo por km / costo por viaje** y margen por cliente/lane.
|
||||
5. **Consumo combustible** (km/l) esperado vs real; ranking de anomalias.
|
||||
6. **Disponibilidad de flota**: % tiempo en viaje vs taller vs bloqueada.
|
||||
7. **Incidencias por 100 viajes** y costo total de reclamos.
|
||||
8. **Scorecard de carriers** (si subcontrata).
|
||||
9. **Cumplimiento documental**: vencimientos proximos (licencias, polizas, verificaciones).
|
||||
10. **Productividad de trafico**: viajes planeados por dia, % reprogramaciones, causa raiz.
|
||||
|
||||
---
|
||||
|
||||
## 7) Requerimientos de integracion (giro)
|
||||
|
||||
- **GPS/Telematica**: posiciones y eventos.
|
||||
- **Mapas/Distancias**: calculo de kms y ETA.
|
||||
- **PAC (SAT)**: timbrado CFDI + Carta Porte y cancelaciones.
|
||||
- **WhatsApp/SMS/Email**: notificaciones automaticas por eventos.
|
||||
- **Tarjetas de combustible / TAG peajes**: conciliacion automatica.
|
||||
- **EDI / API con clientes** (fase avanzada): recepcion de OTs (ASN/PO), actualizacion de estatus.
|
||||
|
||||
---
|
||||
|
||||
## 8) Requerimientos no funcionales criticos (orientados al giro)
|
||||
|
||||
1. **Movilidad + Offline**: operacion en carretera con conectividad intermitente.
|
||||
2. **Trazabilidad/auditoria**: cambios en OT/OV/Viaje/Documentos con usuario/fecha/motivo.
|
||||
3. **Alta disponibilidad**: operaciones 24/7; tolerancia a fallos.
|
||||
4. **Seguridad**: RBAC por rol, segregacion por cliente (multi-tenant), cifrado en transito y en reposo.
|
||||
5. **Evidencias**: almacenamiento seguro de fotos/documentos con retencion configurable.
|
||||
6. **Performance**: tablero de trafico y tracking con miles de eventos/dia sin degradacion.
|
||||
|
||||
---
|
||||
|
||||
## 9) Fases recomendadas (MVP -> Escala)
|
||||
|
||||
**Fase 1 (MVP Operativo - "Despacho + Tracking + POD + Facturacion basica")**
|
||||
- OT/Embarque/Viaje, asignacion, eventos, POD, portal basico, recargos principales, Carta Porte (si aplica).
|
||||
|
||||
**Fase 2 (Control de costos + flota)**
|
||||
- Combustible/peajes, mantenimiento, disponibilidad, liquidacion operadores, scorecards.
|
||||
|
||||
**Fase 3 (Optimizacion y automatizacion avanzada)**
|
||||
- Optimizacion de rutas, EDI, prediccion de ETA, analitica avanzada, auditoria antifraude.
|
||||
|
||||
---
|
||||
|
||||
## 10) Checklist de validacion (UAT) por proceso
|
||||
|
||||
1. Crear tarifa + cotizacion + convertir a OT.
|
||||
2. OT con multi-paradas + restricciones -> planeacion -> pre-asignacion.
|
||||
3. Despacho: checklist + sellos + evidencias -> salida.
|
||||
4. Tracking: geocercas + alertas de retraso + comunicacion a cliente.
|
||||
5. Incidencia: apertura -> evidencia -> resolucion -> nota de credito.
|
||||
6. POD: firma+foto -> cierre -> facturacion con recargos.
|
||||
7. Carta Porte: datos completos -> timbrado -> expediente por viaje -> disponibilidad movil.
|
||||
8. Combustible: carga real vs esperado -> alerta anomalia.
|
||||
9. Mantenimiento: preventivo por km -> bloqueo de unidad si vencido.
|
||||
|
||||
---
|
||||
|
||||
## 11) Anexos (plantillas sugeridas)
|
||||
|
||||
### A) Campos minimos OT (por giro)
|
||||
- Cliente / Contrato / Servicio
|
||||
- Origen/Destino (con geo)
|
||||
- Ventanas pickup/delivery + citas
|
||||
- Tipo de carga, peso, volumen, pallets
|
||||
- Requisitos de equipo
|
||||
- Referencias (PO/ASN)
|
||||
- Seguridad: sellos, GPS, escolta
|
||||
- Reglas de facturacion: por viaje/por OT, recargos aplicables
|
||||
|
||||
### B) Estados del viaje
|
||||
**Borrador -> Planeado -> Despachado -> En transito -> En destino -> Entregado (POD) -> Cerrado -> Facturado -> Cobrado**
|
||||
|
||||
---
|
||||
|
||||
*Documento REQ-GIRO-TRANSPORTISTA v1.0 - Sistema SIMCO v4.0.0*
|
||||
1
frontend
Submodule
1
frontend
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit efc8cef4cd30ab8d1a05cd0aad3d7feee7898472
|
||||
128
orchestration/00-guidelines/CONTEXTO-PROYECTO.md
Normal file
128
orchestration/00-guidelines/CONTEXTO-PROYECTO.md
Normal file
@ -0,0 +1,128 @@
|
||||
# Contexto del Proyecto - ERP Transportistas
|
||||
|
||||
**Proyecto:** erp-transportistas
|
||||
**Tipo:** CONSUMER (Vertical ERP)
|
||||
**Fecha:** 2026-01-25
|
||||
|
||||
---
|
||||
|
||||
## Descripcion General
|
||||
|
||||
ERP Transportistas es una solucion vertical especializada para empresas de autotransporte de carga, operadores logisticos y 3PL. Hereda la funcionalidad base de erp-core y agrega modulos especificos del giro de transporte.
|
||||
|
||||
---
|
||||
|
||||
## Posicion en la Jerarquia
|
||||
|
||||
```
|
||||
template-saas (PROVIDER)
|
||||
|
|
||||
v
|
||||
erp-core (INTERMEDIATE)
|
||||
|
|
||||
v
|
||||
erp-transportistas (CONSUMER) <-- ESTE PROYECTO
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Herencia
|
||||
|
||||
### Hereda de:
|
||||
1. **workspace-v2/orchestration/** - Directivas globales SIMCO
|
||||
2. **projects/erp-core/** - Modulos base ERP, auth, multi-tenancy
|
||||
|
||||
### Exporta a:
|
||||
- Ninguno (es CONSUMER, no propaga)
|
||||
|
||||
---
|
||||
|
||||
## Modulos Heredados (22)
|
||||
|
||||
| Categoria | Modulos |
|
||||
|-----------|---------|
|
||||
| Foundation | auth, users, roles, tenants |
|
||||
| Core Business | catalogs, settings, financial, inventory, purchasing, sales |
|
||||
| Extended | audit, notifications, reports, crm, projects |
|
||||
| SaaS Platform | billing, plans, webhooks, feature_flags |
|
||||
| IA/Intelligence | ai_integration, whatsapp_business, mcp_server |
|
||||
|
||||
---
|
||||
|
||||
## Modulos Propios del Giro (20)
|
||||
|
||||
### Fase 1 - MAI (15 modulos)
|
||||
1. MAI-002: Clientes y Tarifas
|
||||
2. MAI-003: Ordenes de Transporte
|
||||
3. MAI-004: Planeacion TMS
|
||||
4. MAI-005: Despacho
|
||||
5. MAI-006: Tracking
|
||||
6. MAI-007: POD y Cierre
|
||||
7. MAI-008: Incidencias
|
||||
8. MAI-009: Facturacion Transporte
|
||||
9. MAI-010: Liquidaciones
|
||||
10. MAI-011: Gestion de Flota
|
||||
11. MAI-012: Combustible y Gastos
|
||||
12. MAI-013: Mantenimiento Flota
|
||||
13. MAI-014: Carriers (Terceros)
|
||||
14. MAI-015: Portal Cliente
|
||||
|
||||
### Fase 2 - MAE (3 modulos)
|
||||
15. MAE-016: Carta Porte CFDI
|
||||
16. MAE-017: HOS y Bitacora
|
||||
17. MAE-018: Reportes y KPIs
|
||||
|
||||
### Fase 3 - MAA (2 modulos)
|
||||
18. MAA-019: Optimizacion Rutas
|
||||
19. MAA-020: Integraciones EDI
|
||||
|
||||
---
|
||||
|
||||
## Tecnologias
|
||||
|
||||
| Capa | Tecnologia | Version |
|
||||
|------|------------|---------|
|
||||
| Backend | NestJS | 10.x |
|
||||
| Frontend | React | 18.x |
|
||||
| Database | PostgreSQL + PostGIS | 15+ |
|
||||
| ORM | TypeORM | 0.3.x |
|
||||
| Cache | Redis | 7.x |
|
||||
|
||||
---
|
||||
|
||||
## Base de Datos
|
||||
|
||||
- **Nombre:** erp_transportistas_db
|
||||
- **Schemas:** public, transport, fleet, tracking, fuel, maintenance, carriers, billing, compliance
|
||||
- **Extension:** PostGIS (para geolocalizacion)
|
||||
|
||||
---
|
||||
|
||||
## Integraciones Criticas
|
||||
|
||||
1. **GPS/Telematica** - Tracking de unidades en tiempo real
|
||||
2. **PAC (SAT)** - Timbrado CFDI + Carta Porte
|
||||
3. **Mapas** - Calculo de distancias y ETA
|
||||
4. **WhatsApp** - Notificaciones a clientes y operadores
|
||||
|
||||
---
|
||||
|
||||
## Cumplimiento Normativo
|
||||
|
||||
- **Carta Porte 3.1** - CFDI obligatorio para transporte
|
||||
- **NOM-087** - Bitacora de horas de servicio
|
||||
- **NOM-068** - Condiciones fisico-mecanicas
|
||||
|
||||
---
|
||||
|
||||
## Estado Actual
|
||||
|
||||
- **Progreso:** 5% (proyecto nuevo)
|
||||
- **DDL:** 0%
|
||||
- **Backend:** 0%
|
||||
- **Frontend:** 0%
|
||||
- **Documentacion:** 100%
|
||||
|
||||
---
|
||||
|
||||
*Contexto ERP Transportistas - SIMCO v4.0.0*
|
||||
126
orchestration/BOOTLOADER.md
Normal file
126
orchestration/BOOTLOADER.md
Normal file
@ -0,0 +1,126 @@
|
||||
# BOOTLOADER - ERP Transportistas
|
||||
|
||||
**Proyecto:** erp-transportistas
|
||||
**Tipo:** CONSUMER (Vertical ERP)
|
||||
**Sistema:** SIMCO v4.0.0 + NEXUS v4.0
|
||||
|
||||
---
|
||||
|
||||
## Secuencia de Carga de Contexto
|
||||
|
||||
### Nivel 0 - Sistema (Heredado)
|
||||
```
|
||||
1. workspace-v2/CLAUDE.md
|
||||
2. workspace-v2/orchestration/directivas/principios/PRINCIPIO-CAPVED.md
|
||||
3. workspace-v2/orchestration/directivas/simco/SIMCO-TAREA.md
|
||||
4. workspace-v2/orchestration/directivas/simco/SIMCO-GIT.md
|
||||
5. workspace-v2/orchestration/directivas/simco/SIMCO-EDICION-SEGURA.md
|
||||
```
|
||||
|
||||
### Nivel 1 - ERP Core (Heredado)
|
||||
```
|
||||
6. projects/erp-core/CLAUDE.md
|
||||
7. projects/erp-core/orchestration/directivas/DIRECTIVA-MULTI-TENANT.md
|
||||
8. projects/erp-core/orchestration/directivas/DIRECTIVA-HERENCIA-MODULOS.md
|
||||
```
|
||||
|
||||
### Nivel 2 - Proyecto (Local)
|
||||
```
|
||||
9. projects/erp-transportistas/CLAUDE.md (ESTE PROYECTO)
|
||||
10. projects/erp-transportistas/.claude/constants/CONSTANTS-PROJECT.yml
|
||||
11. projects/erp-transportistas/docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Aliases Activos
|
||||
|
||||
| Alias | Ruta |
|
||||
|-------|------|
|
||||
| @BACKEND | backend/src/ |
|
||||
| @FRONTEND | frontend/src/ |
|
||||
| @DDL | database/ddl/ |
|
||||
| @DOCS | docs/ |
|
||||
| @MODULOS | docs/02-definicion-modulos/ |
|
||||
| @ORCHESTRATION | orchestration/ |
|
||||
| @CONSTANTS | .claude/constants/CONSTANTS-PROJECT.yml |
|
||||
| @REQS | docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md |
|
||||
|
||||
---
|
||||
|
||||
## Validaciones Obligatorias
|
||||
|
||||
### Antes de Implementar
|
||||
1. Verificar si funcionalidad existe en erp-core
|
||||
2. Consultar REQ-GIRO-TRANSPORTISTA.md
|
||||
3. Verificar coherencia DDL <-> Entity
|
||||
|
||||
### Despues de Implementar
|
||||
1. Actualizar PROJECT-STATUS.md
|
||||
2. Actualizar INVENTARIO.yml
|
||||
3. Verificar build: `npm run build && npm run lint`
|
||||
|
||||
---
|
||||
|
||||
## Modulos del Giro Disponibles
|
||||
|
||||
### Fase 1 - MAI (Prioritarios)
|
||||
- MAI-002: Clientes y Tarifas
|
||||
- MAI-003: Ordenes de Transporte
|
||||
- MAI-004: Planeacion TMS
|
||||
- MAI-005: Despacho
|
||||
- MAI-006: Tracking
|
||||
- MAI-007: POD y Cierre
|
||||
- MAI-011: Gestion de Flota
|
||||
|
||||
### Fase 2 - MAE (Compliance)
|
||||
- MAE-016: Carta Porte CFDI
|
||||
- MAE-017: HOS y Bitacora
|
||||
|
||||
---
|
||||
|
||||
## Entidades Criticas
|
||||
|
||||
| Entidad | Schema | Descripcion |
|
||||
|---------|--------|-------------|
|
||||
| OrdenTransporte | transport | Solicitud de servicio |
|
||||
| Embarque | transport | Agrupacion de OTs |
|
||||
| Viaje | transport | Ejecucion operativa |
|
||||
| Unidad | fleet | Tractora/remolque/caja |
|
||||
| Operador | fleet | Conductor |
|
||||
| EventoTracking | tracking | Posiciones y eventos |
|
||||
| POD | transport | Proof of Delivery |
|
||||
| CartaPorte | compliance | CFDI complemento |
|
||||
|
||||
---
|
||||
|
||||
## Workflow Principal
|
||||
|
||||
```
|
||||
ORDEN DE TRANSPORTE (OT)
|
||||
|
|
||||
v
|
||||
EMBARQUE (agrupacion)
|
||||
|
|
||||
v
|
||||
PLANEACION (asignacion recursos)
|
||||
|
|
||||
v
|
||||
DESPACHO (checklist, salida)
|
||||
|
|
||||
v
|
||||
VIAJE (tracking en tiempo real)
|
||||
|
|
||||
v
|
||||
POD (entrega con evidencias)
|
||||
|
|
||||
v
|
||||
CIERRE (costos, rentabilidad)
|
||||
|
|
||||
v
|
||||
FACTURACION (CFDI + Carta Porte)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Bootloader ERP Transportistas - SIMCO v4.0.0*
|
||||
196
orchestration/CONTEXT-MAP.yml
Normal file
196
orchestration/CONTEXT-MAP.yml
Normal file
@ -0,0 +1,196 @@
|
||||
# CONTEXT-MAP.yml - ERP Transportistas
|
||||
# Mapa de contexto del proyecto
|
||||
# Sistema SIMCO v4.0.0 + NEXUS v4.0
|
||||
|
||||
version: "1.0.0"
|
||||
project: "erp-transportistas"
|
||||
updated: "2026-01-25"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# NIVELES DE CONTEXTO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
context_levels:
|
||||
|
||||
L0_sistema:
|
||||
descripcion: "Contexto global del workspace"
|
||||
archivos:
|
||||
- path: "../../CLAUDE.md"
|
||||
alias: "@WORKSPACE"
|
||||
carga: "automatica"
|
||||
- path: "../../orchestration/directivas/principios/PRINCIPIO-CAPVED.md"
|
||||
alias: "@CAPVED"
|
||||
carga: "automatica"
|
||||
- path: "../../orchestration/directivas/simco/SIMCO-GIT.md"
|
||||
alias: "@GIT"
|
||||
carga: "automatica"
|
||||
|
||||
L1_proyecto:
|
||||
descripcion: "Contexto del proyecto ERP Transportistas"
|
||||
archivos:
|
||||
- path: "./CLAUDE.md"
|
||||
alias: "@PROJECT"
|
||||
carga: "automatica"
|
||||
- path: "./.claude/constants/CONSTANTS-PROJECT.yml"
|
||||
alias: "@CONSTANTS"
|
||||
carga: "automatica"
|
||||
- path: "./PROJECT-STATUS.md"
|
||||
alias: "@STATUS"
|
||||
carga: "bajo_demanda"
|
||||
- path: "./docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md"
|
||||
alias: "@REQS"
|
||||
carga: "bajo_demanda"
|
||||
|
||||
L2_operacion:
|
||||
descripcion: "Contexto por tipo de operacion"
|
||||
tipos:
|
||||
ddl:
|
||||
archivos:
|
||||
- path: "./database/ddl/"
|
||||
alias: "@DDL"
|
||||
backend:
|
||||
archivos:
|
||||
- path: "./backend/src/modules/"
|
||||
alias: "@MODULES"
|
||||
frontend:
|
||||
archivos:
|
||||
- path: "./frontend/src/"
|
||||
alias: "@FRONTEND"
|
||||
docs:
|
||||
archivos:
|
||||
- path: "./docs/"
|
||||
alias: "@DOCS"
|
||||
|
||||
L3_tarea:
|
||||
descripcion: "Contexto especifico de tarea"
|
||||
dinamico: true
|
||||
ubicacion: "./orchestration/tareas/"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# DOMINIOS DE NEGOCIO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
business_domains:
|
||||
|
||||
transport:
|
||||
descripcion: "Gestion de ordenes, embarques y viajes"
|
||||
schema: "transport"
|
||||
modulos:
|
||||
- MAI-002
|
||||
- MAI-003
|
||||
- MAI-004
|
||||
- MAI-005
|
||||
- MAI-007
|
||||
- MAI-008
|
||||
- MAI-009
|
||||
entidades:
|
||||
- OrdenTransporte
|
||||
- Embarque
|
||||
- Viaje
|
||||
- ParadaViaje
|
||||
- POD
|
||||
|
||||
fleet:
|
||||
descripcion: "Gestion de flota y operadores"
|
||||
schema: "fleet"
|
||||
modulos:
|
||||
- MAI-011
|
||||
- MAI-013
|
||||
entidades:
|
||||
- Unidad
|
||||
- Remolque
|
||||
- Operador
|
||||
- LicenciaOperador
|
||||
- DocumentoUnidad
|
||||
|
||||
tracking:
|
||||
descripcion: "Tracking y visibilidad en tiempo real"
|
||||
schema: "tracking"
|
||||
modulos:
|
||||
- MAI-006
|
||||
entidades:
|
||||
- EventoTracking
|
||||
- Geocerca
|
||||
- Alerta
|
||||
|
||||
fuel:
|
||||
descripcion: "Control de combustible y gastos"
|
||||
schema: "fuel"
|
||||
modulos:
|
||||
- MAI-012
|
||||
entidades:
|
||||
- CargaCombustible
|
||||
- CrucePeaje
|
||||
- GastoViaje
|
||||
|
||||
maintenance:
|
||||
descripcion: "Mantenimiento de flota"
|
||||
schema: "maintenance"
|
||||
modulos:
|
||||
- MAI-013
|
||||
entidades:
|
||||
- OrdenMantenimiento
|
||||
- PlanPreventivo
|
||||
- HistorialMantenimiento
|
||||
|
||||
carriers:
|
||||
descripcion: "Gestion de terceros"
|
||||
schema: "carriers"
|
||||
modulos:
|
||||
- MAI-014
|
||||
entidades:
|
||||
- Carrier
|
||||
- DocumentoCarrier
|
||||
- ScorecardCarrier
|
||||
|
||||
billing:
|
||||
descripcion: "Tarifas y facturacion"
|
||||
schema: "billing"
|
||||
modulos:
|
||||
- MAI-002
|
||||
- MAI-009
|
||||
entidades:
|
||||
- Tarifa
|
||||
- Recargo
|
||||
- FacturaTransporte
|
||||
|
||||
compliance:
|
||||
descripcion: "Cumplimiento normativo"
|
||||
schema: "compliance"
|
||||
modulos:
|
||||
- MAE-016
|
||||
- MAE-017
|
||||
entidades:
|
||||
- CartaPorte
|
||||
- BitacoraHOS
|
||||
- InspeccionUnidad
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# ALIASES RAPIDOS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
aliases:
|
||||
# Estructura
|
||||
"@BACKEND": "backend/src/"
|
||||
"@FRONTEND": "frontend/src/"
|
||||
"@DDL": "database/ddl/"
|
||||
"@DOCS": "docs/"
|
||||
"@MODULOS": "docs/02-definicion-modulos/"
|
||||
"@ORCHESTRATION": "orchestration/"
|
||||
|
||||
# Configuracion
|
||||
"@CONSTANTS": ".claude/constants/CONSTANTS-PROJECT.yml"
|
||||
"@STATUS": "PROJECT-STATUS.md"
|
||||
"@INVENTORY": "INVENTARIO.yml"
|
||||
|
||||
# Requerimientos
|
||||
"@REQS": "docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md"
|
||||
"@VISION": "docs/00-vision-general/VISION-ERP-TRANSPORTISTAS.md"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# METADATA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
metadata:
|
||||
created_by: "META-ORQUESTADOR"
|
||||
created_at: "2026-01-25"
|
||||
243
orchestration/DEPENDENCY-GRAPH.yml
Normal file
243
orchestration/DEPENDENCY-GRAPH.yml
Normal file
@ -0,0 +1,243 @@
|
||||
# DEPENDENCY-GRAPH.yml - ERP Transportistas
|
||||
# Grafo de dependencias entre modulos
|
||||
# Sistema SIMCO v4.0.0
|
||||
|
||||
version: "1.0.0"
|
||||
project: "erp-transportistas"
|
||||
updated: "2026-01-25"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# DEPENDENCIAS DE MODULOS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
modules:
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# FASE 1 - MAI (Modulo Aplicacion Inicial)
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
MAI-002:
|
||||
name: "Clientes y Tarifas"
|
||||
depends_on: []
|
||||
blocks: ["MAI-003"]
|
||||
priority: 1
|
||||
critical_path: true
|
||||
|
||||
MAI-003:
|
||||
name: "Ordenes de Transporte"
|
||||
depends_on: ["MAI-002"]
|
||||
blocks: ["MAI-004", "MAI-014"]
|
||||
priority: 1
|
||||
critical_path: true
|
||||
|
||||
MAI-004:
|
||||
name: "Planeacion TMS"
|
||||
depends_on: ["MAI-003"]
|
||||
blocks: ["MAI-005", "MAA-019"]
|
||||
priority: 2
|
||||
critical_path: true
|
||||
|
||||
MAI-005:
|
||||
name: "Despacho"
|
||||
depends_on: ["MAI-004", "MAI-011"]
|
||||
blocks: ["MAI-006"]
|
||||
priority: 2
|
||||
critical_path: true
|
||||
|
||||
MAI-006:
|
||||
name: "Tracking"
|
||||
depends_on: ["MAI-005"]
|
||||
blocks: ["MAI-007", "MAI-008", "MAI-015"]
|
||||
priority: 3
|
||||
critical_path: true
|
||||
|
||||
MAI-007:
|
||||
name: "POD y Cierre"
|
||||
depends_on: ["MAI-006"]
|
||||
blocks: ["MAI-009", "MAI-010", "MAI-015", "MAE-018"]
|
||||
priority: 3
|
||||
critical_path: true
|
||||
|
||||
MAI-008:
|
||||
name: "Incidencias"
|
||||
depends_on: ["MAI-006"]
|
||||
blocks: []
|
||||
priority: 4
|
||||
critical_path: false
|
||||
|
||||
MAI-009:
|
||||
name: "Facturacion Transporte"
|
||||
depends_on: ["MAI-007"]
|
||||
blocks: ["MAE-016"]
|
||||
priority: 4
|
||||
critical_path: true
|
||||
|
||||
MAI-010:
|
||||
name: "Liquidaciones"
|
||||
depends_on: ["MAI-007"]
|
||||
blocks: []
|
||||
priority: 5
|
||||
critical_path: false
|
||||
|
||||
MAI-011:
|
||||
name: "Gestion de Flota"
|
||||
depends_on: []
|
||||
blocks: ["MAI-005", "MAI-012", "MAI-013", "MAE-017"]
|
||||
priority: 1
|
||||
critical_path: true
|
||||
|
||||
MAI-012:
|
||||
name: "Combustible y Gastos"
|
||||
depends_on: ["MAI-011"]
|
||||
blocks: []
|
||||
priority: 4
|
||||
critical_path: false
|
||||
|
||||
MAI-013:
|
||||
name: "Mantenimiento Flota"
|
||||
depends_on: ["MAI-011"]
|
||||
blocks: []
|
||||
priority: 4
|
||||
critical_path: false
|
||||
|
||||
MAI-014:
|
||||
name: "Carriers (Terceros)"
|
||||
depends_on: ["MAI-003"]
|
||||
blocks: []
|
||||
priority: 5
|
||||
critical_path: false
|
||||
|
||||
MAI-015:
|
||||
name: "Portal Cliente"
|
||||
depends_on: ["MAI-006", "MAI-007"]
|
||||
blocks: []
|
||||
priority: 6
|
||||
critical_path: false
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# FASE 2 - MAE (Modulo Aplicacion Extendido)
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
MAE-016:
|
||||
name: "Carta Porte CFDI"
|
||||
depends_on: ["MAI-009"]
|
||||
blocks: []
|
||||
priority: 3
|
||||
critical_path: true
|
||||
compliance: true
|
||||
|
||||
MAE-017:
|
||||
name: "HOS y Bitacora"
|
||||
depends_on: ["MAI-011"]
|
||||
blocks: []
|
||||
priority: 5
|
||||
critical_path: false
|
||||
compliance: true
|
||||
|
||||
MAE-018:
|
||||
name: "Reportes y KPIs"
|
||||
depends_on: ["MAI-007"]
|
||||
blocks: []
|
||||
priority: 6
|
||||
critical_path: false
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# FASE 3 - MAA (Modulo Aplicacion Avanzado)
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
MAA-019:
|
||||
name: "Optimizacion Rutas"
|
||||
depends_on: ["MAI-004"]
|
||||
blocks: []
|
||||
priority: 7
|
||||
critical_path: false
|
||||
|
||||
MAA-020:
|
||||
name: "Integraciones EDI"
|
||||
depends_on: ["MAI-003"]
|
||||
blocks: []
|
||||
priority: 7
|
||||
critical_path: false
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# CAMINO CRITICO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
critical_path:
|
||||
sequence:
|
||||
- MAI-002 # Clientes y Tarifas
|
||||
- MAI-011 # Gestion de Flota (paralelo)
|
||||
- MAI-003 # Ordenes de Transporte
|
||||
- MAI-004 # Planeacion TMS
|
||||
- MAI-005 # Despacho
|
||||
- MAI-006 # Tracking
|
||||
- MAI-007 # POD y Cierre
|
||||
- MAI-009 # Facturacion Transporte
|
||||
- MAE-016 # Carta Porte CFDI
|
||||
|
||||
mvp_minimum:
|
||||
- MAI-002
|
||||
- MAI-003
|
||||
- MAI-011
|
||||
- MAI-005
|
||||
- MAI-006
|
||||
- MAI-007
|
||||
- MAI-009
|
||||
- MAE-016
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# GRUPOS DE IMPLEMENTACION
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
implementation_groups:
|
||||
|
||||
sprint_1:
|
||||
name: "Fundamentos"
|
||||
modules: ["MAI-002", "MAI-011"]
|
||||
goal: "Clientes, tarifas y flota"
|
||||
|
||||
sprint_2:
|
||||
name: "Core Transporte"
|
||||
modules: ["MAI-003", "MAI-004"]
|
||||
goal: "OT y planeacion"
|
||||
|
||||
sprint_3:
|
||||
name: "Ejecucion"
|
||||
modules: ["MAI-005", "MAI-006"]
|
||||
goal: "Despacho y tracking"
|
||||
|
||||
sprint_4:
|
||||
name: "Cierre"
|
||||
modules: ["MAI-007", "MAI-009"]
|
||||
goal: "POD y facturacion"
|
||||
|
||||
sprint_5:
|
||||
name: "Compliance"
|
||||
modules: ["MAE-016"]
|
||||
goal: "Carta Porte"
|
||||
|
||||
sprint_6:
|
||||
name: "Costos"
|
||||
modules: ["MAI-012", "MAI-013"]
|
||||
goal: "Combustible y mantenimiento"
|
||||
|
||||
sprint_7:
|
||||
name: "Avanzado"
|
||||
modules: ["MAI-008", "MAI-010", "MAI-014"]
|
||||
goal: "Incidencias, liquidaciones, carriers"
|
||||
|
||||
sprint_8:
|
||||
name: "Portal"
|
||||
modules: ["MAI-015", "MAE-018"]
|
||||
goal: "Portal cliente y reportes"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# METADATA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
metadata:
|
||||
created_by: "META-ORQUESTADOR"
|
||||
created_at: "2026-01-25"
|
||||
total_modules: 20
|
||||
critical_modules: 9
|
||||
compliance_modules: 2
|
||||
178
orchestration/MAPA-DOCUMENTACION.yml
Normal file
178
orchestration/MAPA-DOCUMENTACION.yml
Normal file
@ -0,0 +1,178 @@
|
||||
# MAPA-DOCUMENTACION.yml - ERP Transportistas
|
||||
# Indice de documentacion del proyecto
|
||||
# Sistema SIMCO v4.0.0
|
||||
|
||||
version: "1.0.0"
|
||||
project: "erp-transportistas"
|
||||
updated: "2026-01-25"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# ESTRUCTURA DE DOCUMENTACION
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
estructura:
|
||||
|
||||
raiz:
|
||||
- archivo: "CLAUDE.md"
|
||||
tipo: "configuracion"
|
||||
descripcion: "Instrucciones para Claude Code"
|
||||
|
||||
- archivo: "README.md"
|
||||
tipo: "documentacion"
|
||||
descripcion: "Documentacion general del proyecto"
|
||||
|
||||
- archivo: "PROJECT-STATUS.md"
|
||||
tipo: "estado"
|
||||
descripcion: "Estado actual del proyecto"
|
||||
|
||||
- archivo: "INVENTARIO.yml"
|
||||
tipo: "inventario"
|
||||
descripcion: "Inventario SIMCO del proyecto"
|
||||
|
||||
docs:
|
||||
00-vision-general:
|
||||
- archivo: "VISION-ERP-TRANSPORTISTAS.md"
|
||||
tipo: "vision"
|
||||
descripcion: "Vision del producto"
|
||||
estado: "completado"
|
||||
|
||||
01-analisis-referencias:
|
||||
descripcion: "Analisis de referencias y benchmarks"
|
||||
archivos: []
|
||||
estado: "pendiente"
|
||||
|
||||
02-definicion-modulos:
|
||||
descripcion: "Definicion funcional de modulos"
|
||||
archivos: []
|
||||
estado: "pendiente"
|
||||
estructura_por_modulo:
|
||||
- "_MAP.md"
|
||||
- "RESUMEN-EPICA-{codigo}.md"
|
||||
- "requerimientos-funcionales/"
|
||||
- "especificaciones/"
|
||||
- "historias-usuario/"
|
||||
- "implementacion/"
|
||||
|
||||
03-requerimientos:
|
||||
- archivo: "REQ-GIRO-TRANSPORTISTA.md"
|
||||
tipo: "requerimientos"
|
||||
descripcion: "Requerimientos especificos del giro"
|
||||
estado: "completado"
|
||||
|
||||
10-modelado:
|
||||
descripcion: "Modelos de datos y diagramas"
|
||||
archivos: []
|
||||
estado: "pendiente"
|
||||
|
||||
20-user-stories:
|
||||
descripcion: "Historias de usuario"
|
||||
archivos: []
|
||||
estado: "pendiente"
|
||||
|
||||
30-integraciones:
|
||||
descripcion: "Documentacion de integraciones"
|
||||
subdirectorios:
|
||||
- "gps-telematica/"
|
||||
- "pac-cfdi/"
|
||||
- "mapas/"
|
||||
- "whatsapp/"
|
||||
estado: "pendiente"
|
||||
|
||||
90-transversal:
|
||||
descripcion: "Temas transversales"
|
||||
archivos: []
|
||||
estado: "pendiente"
|
||||
|
||||
97-adr:
|
||||
descripcion: "Architecture Decision Records"
|
||||
archivos: []
|
||||
estado: "pendiente"
|
||||
|
||||
orchestration:
|
||||
- archivo: "BOOTLOADER.md"
|
||||
tipo: "configuracion"
|
||||
descripcion: "Secuencia de carga de contexto"
|
||||
|
||||
- archivo: "PROJECT-PROFILE.yml"
|
||||
tipo: "perfil"
|
||||
descripcion: "Perfil del proyecto para propagacion"
|
||||
|
||||
- archivo: "CONTEXT-MAP.yml"
|
||||
tipo: "mapa"
|
||||
descripcion: "Mapa de contexto NEXUS"
|
||||
|
||||
- archivo: "DEPENDENCY-GRAPH.yml"
|
||||
tipo: "dependencias"
|
||||
descripcion: "Grafo de dependencias"
|
||||
|
||||
- archivo: "MAPA-DOCUMENTACION.yml"
|
||||
tipo: "indice"
|
||||
descripcion: "Este archivo"
|
||||
|
||||
subdirectorios:
|
||||
00-guidelines:
|
||||
- archivo: "CONTEXTO-PROYECTO.md"
|
||||
descripcion: "Contexto del proyecto"
|
||||
|
||||
directivas:
|
||||
- subdirectorio: "checklists/"
|
||||
descripcion: "Checklists por fase CAPVED"
|
||||
|
||||
inventarios:
|
||||
descripcion: "Inventarios sincronizados"
|
||||
archivos: []
|
||||
|
||||
tareas:
|
||||
descripcion: "Historial de tareas"
|
||||
estructura: "YYYY-MM-DD/TASK-NNN-{nombre}/"
|
||||
|
||||
trazas:
|
||||
descripcion: "Trazas de agentes"
|
||||
archivos: []
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# DOCUMENTOS POR CREAR (PRIORIZADOS)
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
pendientes:
|
||||
|
||||
alta_prioridad:
|
||||
- path: "docs/02-definicion-modulos/MAI-003-ordenes-transporte/"
|
||||
descripcion: "Definicion del modulo core de OT"
|
||||
|
||||
- path: "docs/02-definicion-modulos/MAI-011-gestion-flota/"
|
||||
descripcion: "Definicion del modulo de flota"
|
||||
|
||||
- path: "docs/02-definicion-modulos/MAI-006-tracking/"
|
||||
descripcion: "Definicion del modulo de tracking"
|
||||
|
||||
- path: "docs/02-definicion-modulos/MAE-016-carta-porte-cfdi/"
|
||||
descripcion: "Definicion del modulo de Carta Porte"
|
||||
|
||||
media_prioridad:
|
||||
- path: "docs/10-modelado/MODELO-DATOS-TRANSPORT.md"
|
||||
descripcion: "Modelo de datos del schema transport"
|
||||
|
||||
- path: "docs/30-integraciones/gps-telematica/INTEGRACION-GPS.md"
|
||||
descripcion: "Documentacion de integracion GPS"
|
||||
|
||||
- path: "docs/30-integraciones/pac-cfdi/INTEGRACION-PAC.md"
|
||||
descripcion: "Documentacion de integracion PAC"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# ESTADISTICAS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
estadisticas:
|
||||
total_archivos: 25
|
||||
completados: 15
|
||||
pendientes: 10
|
||||
cobertura: "60%"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# METADATA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
metadata:
|
||||
created_by: "META-ORQUESTADOR"
|
||||
created_at: "2026-01-25"
|
||||
301
orchestration/PROJECT-PROFILE.yml
Normal file
301
orchestration/PROJECT-PROFILE.yml
Normal file
@ -0,0 +1,301 @@
|
||||
# PROJECT-PROFILE.yml - ERP Transportistas
|
||||
# Perfil del proyecto para propagacion y herencia
|
||||
# Sistema SIMCO v4.0.0
|
||||
|
||||
version: "1.0.0"
|
||||
project: "erp-transportistas"
|
||||
updated: "2026-01-25"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# IDENTIFICACION
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
identification:
|
||||
name: "ERP Transportistas"
|
||||
slug: "erp-transportistas"
|
||||
type: "CONSUMER"
|
||||
industry: "Transporte de Carga / Logistica / 3PL"
|
||||
version: "1.0.0"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# HERENCIA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
inheritance:
|
||||
parent: "erp-core"
|
||||
grandparent: "template-saas"
|
||||
|
||||
modules_inherited:
|
||||
full:
|
||||
- auth
|
||||
- users
|
||||
- roles
|
||||
- tenants
|
||||
- audit
|
||||
- notifications
|
||||
- billing
|
||||
- plans
|
||||
- webhooks
|
||||
- feature_flags
|
||||
- ai_integration
|
||||
- whatsapp_business
|
||||
- mcp_server
|
||||
|
||||
extended:
|
||||
- catalogs
|
||||
- settings
|
||||
- financial
|
||||
- inventory
|
||||
- purchasing
|
||||
- sales
|
||||
- crm
|
||||
- partners
|
||||
- reports
|
||||
- projects
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# MODULOS PROPIOS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
own_modules:
|
||||
phase_1_mai:
|
||||
- code: "MAI-002"
|
||||
name: "clientes-tarifas"
|
||||
priority: "high"
|
||||
dependencies: []
|
||||
|
||||
- code: "MAI-003"
|
||||
name: "ordenes-transporte"
|
||||
priority: "critical"
|
||||
dependencies: ["MAI-002"]
|
||||
|
||||
- code: "MAI-004"
|
||||
name: "planeacion-tms"
|
||||
priority: "high"
|
||||
dependencies: ["MAI-003"]
|
||||
|
||||
- code: "MAI-005"
|
||||
name: "despacho"
|
||||
priority: "high"
|
||||
dependencies: ["MAI-004", "MAI-011"]
|
||||
|
||||
- code: "MAI-006"
|
||||
name: "tracking"
|
||||
priority: "critical"
|
||||
dependencies: ["MAI-005"]
|
||||
|
||||
- code: "MAI-007"
|
||||
name: "pod-cierre"
|
||||
priority: "high"
|
||||
dependencies: ["MAI-006"]
|
||||
|
||||
- code: "MAI-008"
|
||||
name: "incidencias"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-006"]
|
||||
|
||||
- code: "MAI-009"
|
||||
name: "facturacion-transporte"
|
||||
priority: "high"
|
||||
dependencies: ["MAI-007"]
|
||||
|
||||
- code: "MAI-010"
|
||||
name: "liquidaciones"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-007"]
|
||||
|
||||
- code: "MAI-011"
|
||||
name: "gestion-flota"
|
||||
priority: "critical"
|
||||
dependencies: []
|
||||
|
||||
- code: "MAI-012"
|
||||
name: "combustible-gastos"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-011"]
|
||||
|
||||
- code: "MAI-013"
|
||||
name: "mantenimiento-flota"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-011"]
|
||||
|
||||
- code: "MAI-014"
|
||||
name: "carriers-terceros"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-003"]
|
||||
|
||||
- code: "MAI-015"
|
||||
name: "portal-cliente"
|
||||
priority: "low"
|
||||
dependencies: ["MAI-006", "MAI-007"]
|
||||
|
||||
phase_2_mae:
|
||||
- code: "MAE-016"
|
||||
name: "carta-porte-cfdi"
|
||||
priority: "critical"
|
||||
dependencies: ["MAI-009"]
|
||||
|
||||
- code: "MAE-017"
|
||||
name: "hos-bitacora"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-011"]
|
||||
|
||||
- code: "MAE-018"
|
||||
name: "reportes-kpis"
|
||||
priority: "medium"
|
||||
dependencies: ["MAI-007"]
|
||||
|
||||
phase_3_maa:
|
||||
- code: "MAA-019"
|
||||
name: "optimizacion-rutas"
|
||||
priority: "low"
|
||||
dependencies: ["MAI-004"]
|
||||
|
||||
- code: "MAA-020"
|
||||
name: "integraciones-edi"
|
||||
priority: "low"
|
||||
dependencies: ["MAI-003"]
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# ENTIDADES PRINCIPALES
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
core_entities:
|
||||
- name: "OrdenTransporte"
|
||||
schema: "transport"
|
||||
table: "ordenes_transporte"
|
||||
module: "MAI-003"
|
||||
|
||||
- name: "Embarque"
|
||||
schema: "transport"
|
||||
table: "embarques"
|
||||
module: "MAI-003"
|
||||
|
||||
- name: "Viaje"
|
||||
schema: "transport"
|
||||
table: "viajes"
|
||||
module: "MAI-005"
|
||||
|
||||
- name: "Unidad"
|
||||
schema: "fleet"
|
||||
table: "unidades"
|
||||
module: "MAI-011"
|
||||
|
||||
- name: "Remolque"
|
||||
schema: "fleet"
|
||||
table: "remolques"
|
||||
module: "MAI-011"
|
||||
|
||||
- name: "Operador"
|
||||
schema: "fleet"
|
||||
table: "operadores"
|
||||
module: "MAI-011"
|
||||
|
||||
- name: "EventoTracking"
|
||||
schema: "tracking"
|
||||
table: "eventos_tracking"
|
||||
module: "MAI-006"
|
||||
|
||||
- name: "POD"
|
||||
schema: "transport"
|
||||
table: "pods"
|
||||
module: "MAI-007"
|
||||
|
||||
- name: "Tarifa"
|
||||
schema: "billing"
|
||||
table: "tarifas"
|
||||
module: "MAI-002"
|
||||
|
||||
- name: "CartaPorte"
|
||||
schema: "compliance"
|
||||
table: "cartas_porte"
|
||||
module: "MAE-016"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# INTEGRACIONES
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
integrations:
|
||||
required:
|
||||
- name: "GPS/Telematica"
|
||||
type: "api"
|
||||
module: "MAI-006"
|
||||
providers: ["Geotab", "Samsara", "CalAmp", "Generic"]
|
||||
|
||||
- name: "PAC (CFDI)"
|
||||
type: "api"
|
||||
module: "MAE-016"
|
||||
providers: ["Finkok", "Facturapi", "SW Sapien"]
|
||||
|
||||
- name: "Mapas"
|
||||
type: "api"
|
||||
module: "MAI-004"
|
||||
providers: ["Google Maps", "HERE", "OpenRouteService"]
|
||||
|
||||
optional:
|
||||
- name: "Tarjetas Combustible"
|
||||
type: "file"
|
||||
module: "MAI-012"
|
||||
|
||||
- name: "TAG Peajes"
|
||||
type: "file"
|
||||
module: "MAI-012"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# COMPLIANCE
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
compliance:
|
||||
mexico:
|
||||
- name: "Carta Porte 3.1"
|
||||
authority: "SAT"
|
||||
mandatory: true
|
||||
module: "MAE-016"
|
||||
|
||||
- name: "NOM-087"
|
||||
authority: "SCT"
|
||||
mandatory: true
|
||||
module: "MAE-017"
|
||||
description: "Bitacora de horas de servicio"
|
||||
|
||||
- name: "NOM-068"
|
||||
authority: "SCT"
|
||||
mandatory: true
|
||||
module: "MAI-005"
|
||||
description: "Condiciones fisico-mecanicas"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# WORKFLOWS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
workflows:
|
||||
main:
|
||||
name: "Flujo Principal de Viaje"
|
||||
states:
|
||||
- "BORRADOR"
|
||||
- "PLANEADO"
|
||||
- "DESPACHADO"
|
||||
- "EN_TRANSITO"
|
||||
- "EN_DESTINO"
|
||||
- "ENTREGADO"
|
||||
- "CERRADO"
|
||||
- "FACTURADO"
|
||||
- "COBRADO"
|
||||
|
||||
incidencia:
|
||||
name: "Flujo de Incidencias"
|
||||
states:
|
||||
- "ABIERTA"
|
||||
- "ASIGNADA"
|
||||
- "EN_INVESTIGACION"
|
||||
- "RESUELTA"
|
||||
- "CERRADA"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# METADATA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
metadata:
|
||||
created_by: "META-ORQUESTADOR"
|
||||
created_at: "2026-01-25"
|
||||
last_updated: "2026-01-25"
|
||||
@ -0,0 +1,68 @@
|
||||
# METADATA.yml - Tarea de Creacion de Proyecto
|
||||
# Sistema SIMCO v4.0.0
|
||||
|
||||
version: "1.0.0"
|
||||
task_id: "TASK-2026-01-25-001-CREAR-PROYECTO"
|
||||
created: "2026-01-25"
|
||||
updated: "2026-01-25"
|
||||
|
||||
# Identificacion
|
||||
identificacion:
|
||||
nombre: "Crear proyecto ERP Transportistas"
|
||||
tipo: "CREACION"
|
||||
modo: "FULL"
|
||||
prioridad: "alta"
|
||||
estado: "completado"
|
||||
|
||||
# Agente ejecutor
|
||||
agente:
|
||||
id: "META-ORQUESTADOR"
|
||||
tipo: "CLAUDE-CODE"
|
||||
sesion: "2026-01-25"
|
||||
|
||||
# Alcance
|
||||
alcance:
|
||||
proyectos:
|
||||
- erp-transportistas
|
||||
modulos: []
|
||||
archivos_creados: 45
|
||||
archivos_modificados: 1
|
||||
|
||||
# Resumen de ejecucion
|
||||
resumen:
|
||||
descripcion: |
|
||||
Creacion del proyecto vertical ERP para empresas de transporte de carga.
|
||||
Incluye estructura completa de carpetas, documentacion de requerimientos,
|
||||
configuracion de proyecto y registro en inventarios del workspace.
|
||||
|
||||
entregables:
|
||||
- Estructura de carpetas del proyecto
|
||||
- CLAUDE.md con especificaciones del giro
|
||||
- Documentacion de requerimientos (REQ-GIRO-TRANSPORTISTA.md)
|
||||
- Configuracion de orquestacion (orchestration/)
|
||||
- Archivos de configuracion backend/frontend
|
||||
- Registro en SUBMODULES-INVENTORY.yml
|
||||
|
||||
pendientes:
|
||||
- Crear repositorios Git en Gitea
|
||||
- Implementar DDL de schemas
|
||||
- Implementar entities y services
|
||||
- Implementar frontend
|
||||
|
||||
# Trazabilidad
|
||||
trazabilidad:
|
||||
solicitud_original: "Usuario solicito crear proyecto vertical de transportistas"
|
||||
fuente_requerimientos: "REQ-GIRO-TRANSPORTISTA v1.0 proporcionado por usuario"
|
||||
|
||||
# Validaciones
|
||||
validaciones:
|
||||
estructura_creada: true
|
||||
documentacion_completa: true
|
||||
registro_inventario: true
|
||||
build_verificado: false # Pendiente npm install
|
||||
|
||||
# Metadata
|
||||
metadata:
|
||||
duracion_estimada: "N/A"
|
||||
duracion_real: "1 sesion"
|
||||
tokens_utilizados: "~50K"
|
||||
Loading…
Reference in New Issue
Block a user