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)

CP1Recepcion TelaObjectEvent
CP2Corte PanosTransformEvent
CP3Lavado ExternoObjectEvent
CP4Corte PiezasTransformEvent
CP5Cierre QAAggrEvent
CP6CosturaTransformEvent
CP7InspeccionObjectEvent
CP8AcabadosObjectEvent
CP9DespachoShippingEvent
CP1 trabaja con Rollos (entidad propia). Los Lotes se crean a partir de la hoja de corte, antes de CP2. CP2-CP9 trabajan con Lotes.

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

COLLECTING DATA_COMPLETE CALCULATED TRENTO_APPROVED BROKER_CONFIRMED DPP_CERTIFIED

El DPP transiciona automaticamente de COLLECTING a CALCULATED al completar CP9. Las aprobaciones de Trento y Broker son manuales.

1
Recepcion de Tela
ObjectEvent

Ingreso de rollos de tela cruda del proveedor

Este checkpoint trabaja con Rollos, no con Lotes. Los rollos se identifican por SSCC (partida o codigo de rollo). Los lotes se crean cuando la hoja de corte esta lista, antes de CP2.

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).

POST/api/v1/checkpoints/cp1/rollos

Campos capturados

CampoEtiquetaTipoUnidad
ssccNumero de Rollostring
nombre_proveedorProveedorstring
composicion_telaComposicionstring
peso_neto_kgPeso del Rollonumberkg
metros_telaMetrajenumberm
color_lote_tinturaColor / Lote Tinturastring
orden_compraOrden de Comprastring
fecha_recepcionFecha de Recepciondate
huella_upstream_kg_co2eqHuella UpstreamnumberkgCO2eq

EPCIS

bizStep
receiving
disposition
in_progress
2
Corte de Panos
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.

POST/api/v1/checkpoints/cp2/panos

Campos capturados

CampoEtiquetaTipoUnidad
hoja_corte_idHoja de Cortestring
capasCapas Tendidonumber
metraje_usadoMetraje Usadonumberm
energia_corte_kwhEnergia CortenumberkWh
residuo_tela_kgResiduo Telanumberkg
orillas_tela_kgOrillas Cortadasnumberkg

EPCIS

bizStep
transforming
disposition
in_progress
3
Lavado Externo
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).

POST/api/v1/checkpoints/cp3/lavados

Campos capturados

CampoEtiquetaTipoUnidad
agua_consumo_lAgua Consumonumberl
quimicos_kgQuimicosnumberkg
energia_lavado_kwhEnergia LavadonumberkWh
transporte_emision_kg_co2Transporte EmisionnumberkgCO2
efluentes_lEfluentesnumberl

EPCIS

bizStep
transforming
disposition
in_progress
4
Corte de Piezas + GTIN
TransformationEvent

Corte de piezas individuales y asignacion de GTIN

En este checkpoint nace el Lote. Se asigna el codigo GTIN que identifica al producto a lo largo de toda la cadena.

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).

POST/api/v1/checkpoints/cp4/lotes

Campos capturados

CampoEtiquetaTipoUnidad
gtinCodigo GTINstring
hoja_corte_idHoja de Cortestring
cantidad_piezasCantidad Piezasnumber
distribucion_tallasPiezas por Tallajson
energia_corte_piezas_kwhEnergia CortenumberkWh
retazos_piezas_kgRetazosnumberkg
merma_defectos_kgMerma Defectosnumberkg

EPCIS

bizStep
transforming
disposition
in_progress
5
Cierre QA Corte
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.

POST/api/v1/checkpoints/cp5/cierres

Campos capturados

CampoEtiquetaTipoUnidad
avios_asignadosLista de Aviosjson
cantidad_realDistribucion de Tallasjson
piezas_defectuosasPiezas Defectuosasnumber
huella_avios_kg_co2eqHuella AviosnumberkgCO2eq
embalaje_avios_kgEmbalaje Aviosnumberkg

EPCIS

bizStep
packing
disposition
in_progress
6
Costura
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).

POST/api/v1/checkpoints/cp6/costuras

Campos capturados

CampoEtiquetaTipoUnidad
energia_costura_kwhEnergia CosturanumberkWh
residuos_hilo_kgResiduos Hilonumberkg
prendas_terminadasPrendas Terminadasnumber

EPCIS

bizStep
assembling
disposition
in_progress
7
Inspeccion / Reproceso
ObjectEvent

Desmanche, surcido, compostura — clasificacion de prendas

Nombre invertido en backend: El modelo se llama 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.

POST/api/v1/checkpoints/cp7/acabados

Campos capturados

CampoEtiquetaTipoUnidad
prendas_acabadasPrendas Terminadasnumber
energia_transfer_kwhEnergia TransfernumberkWh
gas_glp_kgGas GLPnumberkg
agua_caldera_lAgua Calderanumberl
tamano_muestraTamano Muestra AQLnumber
nivel_aqlNivel AQLnumber
prendas_primeraPrimerasnumber
prendas_segundaSegundasnumber
prendas_saldoSaldosnumber
prendas_descarteDescartenumber
tipo_reprocesoTipo Reprocesojson
inspector_idInspectorstring

EPCIS

bizStep
completing
disposition
in_progress
8
Acabados
ObjectEvent

Vaporizado, doblado, hanteado, embolsado, encajado

Nombre invertido en backend: El modelo se llama 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.

POST/api/v1/checkpoints/cp8/inspecciones

Campos capturados

CampoEtiquetaTipoUnidad
clasificacion_aqlClasificacion AQLstring
prendas_descarte_kgPeso Total Descartenumberkg
kwh_reprocesokWh ReprocesonumberkWh
tasa_primera_pasada_pefTasa 1ra Pasadanumber
vaporizadoVaporizadobool
dobladoDobladobool
hanteadoHanteadobool
embolsadoEmbolsadobool
encajadoEncajadobool
energia_vaporizado_kwhEnergia VaporizadonumberkWh
gas_glp_kgGas GLPnumberkg
tipo_embalajeTipo Embalajestring

EPCIS

bizStep
repairing
disposition
sellable_accessible
9
Despacho
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.

POST/api/v1/checkpoints/cp9/despachos

Campos capturados

CampoEtiquetaTipoUnidad
distancia_destino_kmDistancia Destinonumberkm
modo_transporteModo Transportestring
unsold_rate_pctTasa No Vendidanumber%
numero_damDAM (auto PDF)string
partida_arancelariaPartida Arancelaria (auto PDF)string
fob_usdFOB USD (auto PDF)numberUSD
numero_blBill of Lading (auto PDF)string
container_numberContenedor (auto PDF)string

Endpoints adicionales CP9

MetodoEndpointDescripcion
POST/cp9/despachos/{id}/cajasAgregar caja al despacho
POST/cp9/despachos/{id}/palletsAgregar pallet al despacho
PATCH/cp9/despachos/{id}/completeCompletar despacho (trigger PEF)
POST/cp9/import-damPreview: parsear PDF DAM
POST/cp9/despachos/{id}/import-damImportar DAM al despacho
POST/cp9/import-blPreview: parsear PDF BL
POST/cp9/despachos/{id}/import-blImportar BL al despacho

EPCIS

bizStep
shipping
disposition
in_transit

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

Frontend
DashboardAstro 5 :16001
Checkpoint WebReact 18
App MovilAndroid/Java
Panel AdminReact 18 :16006
Portal ProveedoresAstro 5 :16008
LandingAstro 5 :16020
↓ ↓ ↓
Backend
API RESTFastAPI + SQLModel :16000
Sync-DBPython + pyodbc
MosquittoMQTT :16002
↓ ↓ ↓
Datos y Servicios
PostgreSQL 15Railway SSL mTLS
MongoDB 6.0Docker
MSSQL 2022Trento ERP (remoto)
KeycloakIdentity Provider

Aplicaciones

AppTecnologiaPuertoProposito
backendFastAPI + SQLModel + Alembic16000REST API principal
app-astro-dashboardAstro 5 + Tailwind + Chart.js16001Dashboard ejecutivo
app-checkpoint-webReact 18 + ViteSPA entrada de checkpoints
app-landingAstro 516020Landing page publica
app-mobileAndroid (Gradle/Java)App movil para operadores
app-panelReact 18 + Vite16006Panel de administracion
app-supplier-portalAstro 516008Portal de proveedores
sync-dbPython + pyodbc + SQLAlchemySync MSSQL → PostgreSQL
mosquittoEclipse Mosquitto 2.016002 / 16003Broker MQTT

Infraestructura

ServicioTecnologiaEntornoProposito
PostgreSQL 15Railway (SSL mTLS)ProduccionBase de datos principal
MongoDB 6.0DockerLocal/DevAlmacenamiento flexible
MSSQL 2022Servidor TrentoRemotoERP legacy (fuente de datos)
KeycloakServicio externoProduccionIdentity provider (JWT/RBAC)

Modulos de Negocio

Epicas del proyecto y su estado de implementacion

EPIC-00 (TRAZ)

Completada

Trazabilidad de Lotes. Flujo completo CP1-CP9, 38 migraciones, modelos SQLModel, repositorios, endpoints REST, EPCIS events, GS1 identifiers. Base del sistema.

EPIC-01 (PEF)

Completada

Motor 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

Completada

Hotfix 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

Completada

Gestion 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

LCS1Materias Primas
Upstream
LCS2Manufactura
CP2-CP8
LCS3Distribucion
CP9
LCS4Uso
45 ciclos
LCS5Fin de Vida
CFF

Metodologia PEFCR Apparel & Footwear v3.1 — GWP100 fossil — Benchmark ref. 0.41 kgCO2eq/uso — Escala A-E