Vista General
Plataforma de Trazabilidad Textil y Pasaporte Digital de Producto
Que es FTL Trace
FTL Trace TX es el sistema de trazabilidad end-to-end para la industria textil, desarrollado por FintechLab en alianza con Confecciones Trento S.A.C. Cubre los 9 checkpoints del proceso productivo textil, desde la recepcion de tela cruda hasta el despacho al cliente final.
El sistema genera el Pasaporte Digital de Producto (DPP) requerido por la regulacion EU ESPR con deadline junio 2027, integrando trazabilidad de lotes, huella de carbono (PEF), y gestion de residuos (EU WFD).
Flujo de Produccion (BPMN)
Estandares
EPCIS 2.0
Estandar GS1 para visibilidad en cadena de suministro. Cada checkpoint genera un evento EPCIS (ObjectEvent, TransformationEvent, AggregationEvent).
PEF (PEFCR AF v3.1)
Product Environmental Footprint. Metodologia cradle-to-grave con 5 etapas de ciclo de vida (LCS1-LCS5). Benchmark A-E (ref. 0.41 kgCO2eq/uso).
EU WFD 2008/98/EC
Directiva Marco de Residuos. Clasificacion con codigos EWC, KPIs de tasa de reciclaje, y trazabilidad de residuos por checkpoint.
DPP State Machine
El DPP transiciona automaticamente de COLLECTING a CALCULATED al completar CP9. Las aprobaciones de Trento y Broker son manuales.
ObjectEvent
Ingreso de rollos de tela cruda del proveedor
Proceso de negocio
El operador recibe los rollos de tela cruda del proveedor Tier 2. Se registra el SSCC, peso, metraje, composicion de fibra, color/lote de tintura, orden de compra y fecha de recepcion. Se captura la huella de carbono upstream del proveedor (kgCO2eq).
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| sscc | Numero de Rollo | string | — |
| nombre_proveedor | Proveedor | string | — |
| composicion_tela | Composicion | string | — |
| peso_neto_kg | Peso del Rollo | number | kg |
| metros_tela | Metraje | number | m |
| color_lote_tintura | Color / Lote Tintura | string | — |
| orden_compra | Orden de Compra | string | — |
| fecha_recepcion | Fecha de Recepcion | date | — |
| huella_upstream_kg_co2eq | Huella Upstream | number | kgCO2eq |
EPCIS
TransformationEvent
Corte de rollos en panos segun hoja de corte
Proceso de negocio
Los rollos se tienden y cortan en panos segun la hoja de corte. Se registra el numero de capas del tendido, metraje utilizado, energia consumida en el corte, y los residuos generados (retazos de tela y orillas). Este checkpoint transforma rollos en panos.
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| hoja_corte_id | Hoja de Corte | string | — |
| capas | Capas Tendido | number | — |
| metraje_usado | Metraje Usado | number | m |
| energia_corte_kwh | Energia Corte | number | kWh |
| residuo_tela_kg | Residuo Tela | number | kg |
| orillas_tela_kg | Orillas Cortadas | number | kg |
EPCIS
ObjectEvent
Lavado de panos en lavanderia externa
Proceso de negocio
Los panos se envian a lavanderia externa para el proceso de lavado. Se registra el consumo de agua, quimicos utilizados, energia del lavado, emisiones de transporte, y efluentes generados. Estos datos alimentan el calculo PEF LCS2 (manufactura).
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| agua_consumo_l | Agua Consumo | number | l |
| quimicos_kg | Quimicos | number | kg |
| energia_lavado_kwh | Energia Lavado | number | kWh |
| transporte_emision_kg_co2 | Transporte Emision | number | kgCO2 |
| efluentes_l | Efluentes | number | l |
EPCIS
TransformationEvent
Corte de piezas individuales y asignacion de GTIN
Proceso de negocio
Los panos se cortan en piezas individuales por talla. Se asigna el codigo GTIN del producto, se registra la distribucion de piezas por talla, la energia consumida en el corte, y los residuos generados (retazos y merma por defectos).
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| gtin | Codigo GTIN | string | — |
| hoja_corte_id | Hoja de Corte | string | — |
| cantidad_piezas | Cantidad Piezas | number | — |
| distribucion_tallas | Piezas por Talla | json | — |
| energia_corte_piezas_kwh | Energia Corte | number | kWh |
| retazos_piezas_kg | Retazos | number | kg |
| merma_defectos_kg | Merma Defectos | number | kg |
EPCIS
AggregationEvent
Verificacion y agrupacion de avios
Proceso de negocio
Se verifica la calidad del corte, se asignan avios (botones, etiquetas, cierres), se registra la distribucion real de tallas, piezas defectuosas, y se calcula la huella de carbono de los avios. Este checkpoint agrega los componentes al lote.
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| avios_asignados | Lista de Avios | json | — |
| cantidad_real | Distribucion de Tallas | json | — |
| piezas_defectuosas | Piezas Defectuosas | number | — |
| huella_avios_kg_co2eq | Huella Avios | number | kgCO2eq |
| embalaje_avios_kg | Embalaje Avios | number | kg |
EPCIS
TransformationEvent
Confeccion y ensamble de prendas
Proceso de negocio
Las piezas cortadas se ensamblan en prendas terminadas. Se registra la energia consumida en costura, residuos de hilo, y cantidad de prendas terminadas. La produccion puede ser interna o externa (indistinto para el sistema).
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| energia_costura_kwh | Energia Costura | number | kWh |
| residuos_hilo_kg | Residuos Hilo | number | kg |
| prendas_terminadas | Prendas Terminadas | number | — |
EPCIS
ObjectEvent
Desmanche, surcido, compostura — clasificacion de prendas
Acabado (tabla acabados), pero en planta este checkpoint corresponde a Inspeccion y Reproceso.Proceso de negocio
Las prendas se inspeccionan visualmente y se clasifican en primeras, segundas, saldos y descarte. Las prendas con defectos pasan por reproceso: desmanche, surcido o compostura. Se registran los datos AQL (tamaño de muestra, nivel AQL, defectos por severidad), energia de transfer, consumo de GLP, y agua de caldera.
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| prendas_acabadas | Prendas Terminadas | number | — |
| energia_transfer_kwh | Energia Transfer | number | kWh |
| gas_glp_kg | Gas GLP | number | kg |
| agua_caldera_l | Agua Caldera | number | l |
| tamano_muestra | Tamano Muestra AQL | number | — |
| nivel_aql | Nivel AQL | number | — |
| prendas_primera | Primeras | number | — |
| prendas_segunda | Segundas | number | — |
| prendas_saldo | Saldos | number | — |
| prendas_descarte | Descarte | number | — |
| tipo_reproceso | Tipo Reproceso | json | — |
| inspector_id | Inspector | string | — |
EPCIS
ObjectEvent
Vaporizado, doblado, hanteado, embolsado, encajado
Inspeccion (tabla inspecciones), pero en planta este checkpoint corresponde a Acabados.Proceso de negocio
Las prendas aprobadas pasan por las operaciones de acabado final: vaporizado, doblado, colocacion de hang tags (hanteado), embolsado individual y encajado. Se registra la clasificacion AQL final, energia de vaporizado, GLP, agua de caldera, y conteos de materiales defectuosos (bolsas, etiquetas). Se asignan QR individuales y se genera el link DPP.
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| clasificacion_aql | Clasificacion AQL | string | — |
| prendas_descarte_kg | Peso Total Descarte | number | kg |
| kwh_reproceso | kWh Reproceso | number | kWh |
| tasa_primera_pasada_pef | Tasa 1ra Pasada | number | — |
| vaporizado | Vaporizado | bool | — |
| doblado | Doblado | bool | — |
| hanteado | Hanteado | bool | — |
| embolsado | Embolsado | bool | — |
| encajado | Encajado | bool | — |
| energia_vaporizado_kwh | Energia Vaporizado | number | kWh |
| gas_glp_kg | Gas GLP | number | kg |
| tipo_embalaje | Tipo Embalaje | string | — |
EPCIS
ShippingEvent
Empaque, documentacion aduanera y envio
Proceso de negocio
El lote se empaca en cajas y pallets, se generan los documentos de exportacion (factura, packing list, BL, DAM/DUA), y se despacha al cliente. Al completar el despacho se dispara automaticamente el calculo PEF y la transicion DPP a CALCULATED. Soporta importacion automatica de PDF DAM (SUNAT) y Bill of Lading.
Campos capturados
| Campo | Etiqueta | Tipo | Unidad |
|---|---|---|---|
| distancia_destino_km | Distancia Destino | number | km |
| modo_transporte | Modo Transporte | string | — |
| unsold_rate_pct | Tasa No Vendida | number | % |
| numero_dam | DAM (auto PDF) | string | — |
| partida_arancelaria | Partida Arancelaria (auto PDF) | string | — |
| fob_usd | FOB USD (auto PDF) | number | USD |
| numero_bl | Bill of Lading (auto PDF) | string | — |
| container_number | Contenedor (auto PDF) | string | — |
Endpoints adicionales CP9
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /cp9/despachos/{id}/cajas | Agregar caja al despacho |
| POST | /cp9/despachos/{id}/pallets | Agregar pallet al despacho |
| PATCH | /cp9/despachos/{id}/complete | Completar despacho (trigger PEF) |
| POST | /cp9/import-dam | Preview: parsear PDF DAM |
| POST | /cp9/despachos/{id}/import-dam | Importar DAM al despacho |
| POST | /cp9/import-bl | Preview: parsear PDF BL |
| POST | /cp9/despachos/{id}/import-bl | Importar BL al despacho |
EPCIS
Integraciones
Servicios externos y protocolos conectados al sistema
Keycloak
Autenticacion y autorizacion. Identity provider externo con JWT tokens y RBAC. Roles: owner_admin, broker_admin, checkpoint_supervisor. Cada checkpoint tiene un CheckpointGuard que valida permisos por CP.
MQTT (Mosquitto)
Eventos en tiempo real. Broker Eclipse Mosquitto 2.0. Puerto 16002 (MQTT) y 16003 (WebSocket). Publica eventos al completar checkpoints para dashboards y notificaciones en tiempo real.
Sync-DB
Sincronizacion ERP Trento. Servicio que replica datos del SQL Server de Trento (ordenes de produccion, hojas de corte, packing lists) a PostgreSQL via sync incremental con pyodbc. Soporta conexion directa o tunnel SSH.
PDF Import (DAM / BL)
Extraccion automatica de documentos. Parsers regex con PyMuPDF que extraen datos estructurados desde PDFs de la DAM (SUNAT) y Bill of Lading. El operador sube el PDF y el sistema auto-llena los campos del despacho.
EPCIS 2.0
Eventos de cadena de suministro. Cada checkpoint genera un evento EPCIS estandar (ObjectEvent, TransformationEvent, AggregationEvent) con bizStep, disposition, readPoint y bizLocation usando identificadores GLN.
GS1
Identificadores globales. SSCC para rollos y cajas, GTIN para productos, GLN para ubicaciones de planta. Company prefix configurable. Generacion automatica al registrar entidades.
Stack Tecnologico
Aplicaciones e infraestructura del ecosistema FTL Trace
Arquitectura
Aplicaciones
| App | Tecnologia | Puerto | Proposito |
|---|---|---|---|
| backend | FastAPI + SQLModel + Alembic | 16000 | REST API principal |
| app-astro-dashboard | Astro 5 + Tailwind + Chart.js | 16001 | Dashboard ejecutivo |
| app-checkpoint-web | React 18 + Vite | — | SPA entrada de checkpoints |
| app-landing | Astro 5 | 16020 | Landing page publica |
| app-mobile | Android (Gradle/Java) | — | App movil para operadores |
| app-panel | React 18 + Vite | 16006 | Panel de administracion |
| app-supplier-portal | Astro 5 | 16008 | Portal de proveedores |
| sync-db | Python + pyodbc + SQLAlchemy | — | Sync MSSQL → PostgreSQL |
| mosquitto | Eclipse Mosquitto 2.0 | 16002 / 16003 | Broker MQTT |
Infraestructura
| Servicio | Tecnologia | Entorno | Proposito |
|---|---|---|---|
| PostgreSQL 15 | Railway (SSL mTLS) | Produccion | Base de datos principal |
| MongoDB 6.0 | Docker | Local/Dev | Almacenamiento flexible |
| MSSQL 2022 | Servidor Trento | Remoto | ERP legacy (fuente de datos) |
| Keycloak | Servicio externo | Produccion | Identity provider (JWT/RBAC) |
Modulos de Negocio
Epicas del proyecto y su estado de implementacion
EPIC-00 (TRAZ)
CompletadaTrazabilidad de Lotes. Flujo completo CP1-CP9, 38 migraciones, modelos SQLModel, repositorios, endpoints REST, EPCIS events, GS1 identifiers. Base del sistema.
EPIC-01 (PEF)
CompletadaMotor PEF + DPP Workflow. Calculo de huella de carbono cradle-to-grave con 5 etapas de ciclo de vida. CFF (Circular Footprint Formula), benchmark A-E, DQR scoring, state machine DPP.
EPIC-02
CompletadaHotfix Data Loss + Campos Faltantes. Recuperacion de ~32 campos que se aceptaban en schema pero no se persistian. Campos logisticos CP9, operaciones CP7, inspeccion CP8.
EPIC-WM
CompletadaGestion de Residuos (EU WFD). Codigos EWC, KPIs de reciclaje/reuso/disposicion, generacion de reportes PDF, dashboard de residuos, prorrateo por checkpoint.
Motor PEF — Ciclo de Vida
Upstream
CP2-CP8
CP9
45 ciclos
CFF
Metodologia PEFCR Apparel & Footwear v3.1 — GWP100 fossil — Benchmark ref. 0.41 kgCO2eq/uso — Escala A-E