Saltar al contenido

Relevo · matrices de estado

Una pantalla de captura acepta cualquier cosa. Una matriz de estado decide qué puede pasar después.

Esta es la página donde se ve si detrás hay un sistema o una hoja de cálculo con bordes. Abajo están los estados y las transiciones reales de un sistema de embarques internacionales generado por la plataforma, con su condición, su plazo y su ruta de escalamiento, leídos de su origen y no redactados para esta página.

Por qué esta página existe, y qué prueba

Relevo observa cómo trabaja su equipo en la computadora para quitarle lo repetitivo. Para que eso signifique algo hace falta que debajo haya un sistema con reglas, no una colección de formularios: si el trabajo que se observa consiste en teclear lo mismo en tres pantallas que aceptan cualquier cosa, lo que se automatiza es el desorden. Esta página enseña el piso sobre el que se para el argumento.

Un formulario acepta lo que usted escriba. Si el campo pide un estatus, admite cualquiera de la lista, en cualquier orden, capturado por cualquiera. Un formulario no sabe que un embarque no puede estar «en tránsito» si su acuerdo de carga nunca se envió al proveedor, ni que quien aprueba un ajuste de tarifa fuera de rango no es quien lo propuso.

Una matriz de estado sí lo sabe, porque no guarda un valor: guarda el conjunto de movimientos permitidos. Declara los estados que una cosa puede tener, por cada par de estados, si el paso de uno al otro existe, qué condición tiene que cumplirse antes, en cuántas horas se compromete y a quién se escala si esas horas se vencen. Lo que no está en la matriz no se puede hacer, y no porque el botón esté escondido: porque el movimiento no existe.

La pregunta que separa un sistema de una pantalla de captura es ésta: «¿qué pasa si alguien intenta hacerlo al revés?».

Un expediente que se puede llenar en cualquier orden no es un expediente. Y una automatización montada encima de ese expediente sólo repite el error más rápido.

Anatomía de una transición, y el hueco que este proyecto tiene

Conviene ver el esqueleto antes de las matrices, porque explica qué se puede afirmar y qué no. Una transición del motor no es una flecha en un diagrama: es un renglón con campos, y cada campo es una regla.

Lo que el motor guarda por cada transición y por cada estado

CampoQué significaCuántas lo traen en el proyecto de este sistema en el motor
Estado origen y estado destinoEl par de estados que la transición conecta. El motor los guarda como valores, no como nombres: se resuelven contra el catálogo de estados213 de 213
AcciónEl nombre del movimiento en lenguaje del negocio: «aprobar LCA», no «actualizar estatus»213 de 213
CondiciónLo que tiene que ser verdad para que el paso se permita: «último trayecto completado; timestamp real de descarga registrado»208 de 213
Plazo en horasLas horas de compromiso de esa transición, no del proceso entero122 de 213
Rol de escalamientoA quién sube el asunto si el plazo se vence sin que el movimiento ocurra157 de 213
NotificacionesA quién se avisa cuando la transición ocurre, o qué aviso se dispara50 de 213
Rol autorizadoQuién puede dar el paso. El permiso no se escribe en la transición: vive en la matriz de rol por estado, que es donde se puede revisar de un vistazo quién mueve qué568 filas
Marca de reingresoSi el movimiento es una vuelta legítima a un estado anterior y no la corrección de un error0 de 213
Estado: valor, nombre y etiquetaCada estado con su valor numérico, su nombre técnico y su etiqueta visible157 estados
Rol por estado, con su participación y sus permisosQuién edita, quién supervisa, quién sólo consulta y quién puede mover el estado, con permiso de consulta, alta, modificación, baja, exportación, impresión y configuración568 filas

Conteos medidos contra la base del motor de la casa, el proyecto de este sistema, con corte de servidor del 27 de septiembre de 2026, 13:53:43. La base mezcla collations, de modo que las consultas que unen tablas llevan COLLATE DATABASE_DEFAULT.

El renglón destacado merece leerse despacio, porque es lo que separa esta página de un folleto. El campo de rol autorizado de la transición está vacío en las 213: el motor sabe qué movimiento existe, con qué condición y con qué plazo, pero en este proyecto no escribe en la transición quién lo ejecuta. Quién puede moverlo está en otra tabla, la de rol por estado, con 568 filas, y ahí sí se puede decir con precisión. Por eso las matrices de abajo publican condición, plazo y escalamiento, y el permiso por rol va en su propia sección.

En el motor de estados que corre dentro de los sistemas generados hay dos campos más que vale la pena nombrar: requiere comentario y requiere evidencia. Son columnas que ese motor consulta antes de permitir el movimiento y exige al ejecutarlo. Al ejecutar, escribe el historial de la entidad con estado anterior y estado nuevo y una bitácora con la operación marcada como cambio de estado, el valor anterior y el valor nuevo.

El inventario: diecinueve ciclos de vida

El proyecto de este sistema en el motor es un sistema de gestión logística de embarques internacionales: seis módulos, 178 pantallas, ocho roles, 48 procesos de negocio y 53 entidades. Su capa de ciclos de vida tiene 19 máquinas de estado, con 157 estados y 213 transiciones, más 568 asignaciones de rol por estado. Todo lo que sigue en esta página sale de ahí. El nombre del cliente del proyecto está enmascarado como «cliente A» en el propio origen, y así se queda.

Hay un hecho del inventario que conviene decir antes de que alguien lo note solo: nueve entidades cargan dos ciclos de vida cada una. El embarque, el trayecto, el proveedor, el acuerdo de carga, el activo, el ajuste de tarifa, el comprobante fiscal del trayecto, la incidencia y la solicitud de embarque aparecen dos veces: una con código nombrado y otra con código numerado, la segunda con más estados y más transiciones. El conductor es el único que trae un solo ciclo. Nueve pares más el conductor son los diecinueve. Por qué hay dos generaciones del mismo diseño en la misma base, el motor no lo dice, y aquí no se infiere: se publican las diecinueve, agrupadas por generación, y se dice cuál es cuál.

Los 19 ciclos de vida del proyecto, con sus estados, transiciones y filas de rol por estado

Código del cicloCiclo de vidaEstadosTransicionesFilas de rol por estado
WF_17351Trayecto162462
WF_17350Embarque162172
WF_17341Solicitud de embarque152066
WF_17354Incidencia121943
WF_17346Activo81632
WF_17377Ajuste de tarifa91233
WF_17352Load Confirmation Agreement91118
WF_17356CFDI de trayecto91033
WF_17345Proveedor71029
WF_EMBARQUEEmbarque · diseño base81022
WF_PROVEEDORProveedor transportista · diseño base61022
WF_TRAYECTOTrayecto · diseño base7820
WF_ACTIVOActivo, unidad o caja · diseño base5819
WF_INCIDENCIAIncidencia en trayecto · diseño base6722
WF_CONDUCTORConductor4613
WF_LCALoad Confirmation Agreement · diseño base6618
WF_SOLICITUD_EMBARQUESolicitud de embarque · diseño base5610
WF_CFDI_TRAYECTOCFDI de trayecto · diseño base5518
WF_AJUSTE_TARIFAAjuste de tarifa · diseño base4416

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Diecinueve ciclos de vida es el tamaño real de una operación de embarques internacionales. Un sistema que le ofrece tres estatus en un desplegable no está simplificando: está dejando dieciséis recorridos sin registro.

Matriz 1 · la más importante

Embarque: el recorrido completo, de borrador a documentación archivada

El embarque es la unidad sobre la que se responde ante el cliente, ante el proveedor de transporte y ante la autoridad fiscal. Su ciclo de vida numerado tiene dieciséis estados y veintiuna transiciones, y contiene los tres cortes que más dinero mueven: la validación antes de programar, la aprobación del acuerdo de carga antes de iniciar el tránsito y el registro del comprobante fiscal antes de cerrar.

  • Estados: Borrador · Pendiente de Validación · Programado · Pendiente de Asignación · En Revisión · Proveedor Asignado · LCA Generado · LCA Aprobado · En Tránsito · Con Incidencia · Descargado · CFDI Registrado · Documentación Archivada · Cerrado · Cancelado · Devuelto a ADN.
Embarque (WF_17350)Transcrito del motor de la casa · el proyecto de este sistema · corte 27 sep 2026, 13:53:43BORRADOR (1)PENDIENTE_VALIDACION (2)DEVUELTO_A_ADN (16)PROGRAMADO (3)PENDIENTE_ASIGNACION (4)EN_REVISION (5)PROVEEDOR_ASIGNADO (6)LCA_GENERADO (7)LCA_APROBADO (8)EN_TRANSITO (9)CON_INCIDENCIA (10)DESCARGADO (11)CFDI_REGISTRADO (12)DOCUMENTACION_ARCHIVADA (13)CERRADO (14)CANCELADO (15)Enviar a validación4 hGenerar folio único1 hRechazar por datos inválidosNotificar a operaciones2 hCancelar embarqueTomar embarque para revisión8 hCancelar embarque pendienteConfirmar listo para asignación4 hDevolver a ADN por datos insuficientesReenviar tras corrección24 hGenerar LCA automáticamente2 hAprobar LCA4 hRechazar LCA y reasignarIniciar tránsito48 hRegistrar incidencia1 hConfirmar descargaResolver incidencia8 hDescarga con incidencia resueltaRegistrar CFDI del proveedor48 hArchivar documentación4 hCerrar formalmente el embarque24 h16 estados · 21 transiciones · en ámbar, las que devuelven el expediente atrás
El diagrama se dibuja con los mismos estados y las mismas transiciones de la tabla que va debajo, sin añadir ninguna; el número en gris bajo cada acción es el plazo en horas que el motor registra para esa transición, y donde no hay número es que el motor no lo trae. Si el dibujo y la tabla no coincidieran, el defecto sería del dibujo. En ámbar, las vueltas atrás: el rechazo por datos inválidos, la devolución a ADN con su reenvío tras corrección, el rechazo del acuerdo de carga y el regreso a tránsito al resolver la incidencia. Esta entidad tiene dos ciclos de vida registrados en el motor, uno de código numerado y otro de código nombrado. Se dibuja el numerado, que es el que esta página publica primero y el que trae más estados y más transiciones; el otro se publica completo en su tabla, más abajo. El motor no registra cuál sustituye a cuál y aquí tampoco se decide: dibujar uno no es elegirlo.

Matriz de estado · Embarque (WF_17350) · 16 estados, 21 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)PENDIENTE_VALIDACION (2)Enviar a validaciónDatos obligatorios completos: cliente, orden de compra adjunta, origen, destino, fecha de recolección y plantilla de ruta seleccionada4Coordinador de Operaciones
PENDIENTE_VALIDACION (2)PROGRAMADO (3)Generar folio únicoValidación automática de completitud y coherencia de datos aprobada; folio único generado por el sistema1Ejecutivo ADN
PENDIENTE_VALIDACION (2)BORRADOR (1)Rechazar por datos inválidosValidación automática detecta errores de formato, campos obligatorios faltantes o incoherencias lógicas—Ejecutivo ADN
PROGRAMADO (3)PENDIENTE_ASIGNACION (4)Notificar a operacionesFolio único asignado y confirmación enviada al cliente; notificación automática generada para el equipo de operaciones2Coordinador de Operaciones
PROGRAMADO (3)CANCELADO (15)Cancelar embarqueSolicitud de cancelación aprobada antes de iniciar revisión operativa——
PENDIENTE_ASIGNACION (4)EN_REVISION (5)Tomar embarque para revisiónCoordinador de Operaciones selecciona el embarque del panel de pendientes; estado actualizado para evitar asignación simultánea8Coordinador de Operaciones
PENDIENTE_ASIGNACION (4)CANCELADO (15)Cancelar embarque pendienteSolicitud de cancelación justificada antes de iniciar revisión——
EN_REVISION (5)PROVEEDOR_ASIGNADO (6)Confirmar listo para asignaciónValidación manual y automática de datos, documentación y ruta completada exitosamente por el Coordinador de Operaciones4Coordinador de Operaciones
EN_REVISION (5)DEVUELTO_A_ADN (16)Devolver a ADN por datos insuficientesCoordinador de Operaciones detecta inconsistencias, datos faltantes o documentación inválida que requieren corrección por parte del Ejecutivo ADN—Ejecutivo ADN
DEVUELTO_A_ADN (16)PENDIENTE_VALIDACION (2)Reenviar a validación tras correcciónEjecutivo ADN corrige los datos observados y reenvía la solicitud para nueva validación24Coordinador de Operaciones
PROVEEDOR_ASIGNADO (6)LCA_GENERADO (7)Generar LCA automáticamenteProveedor asignado (interno o externo), tarifa pactada confirmada, recursos específicos asignados (unidad, operador, placas) y datos del embarque completos2Coordinador de Operaciones
LCA_GENERADO (7)LCA_APROBADO (8)Aprobar LCACoordinador de Operaciones verifica tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo4Coordinador de Operaciones
LCA_GENERADO (7)PROVEEDOR_ASIGNADO (6)Rechazar LCA y reasignar proveedorCoordinador de Operaciones detecta errores en tarifa, datos de proveedor o instrucciones que requieren corrección y nueva asignación—Coordinador de Operaciones
LCA_APROBADO (8)EN_TRANSITO (9)Iniciar tránsitoLCA enviado automáticamente al proveedor y acuse de recibo registrado; embarque en ejecución48Monitorista de Tráfico
EN_TRANSITO (9)CON_INCIDENCIA (10)Registrar incidenciaMonitorista de Tráfico, Operador de Unidad o sistema detecta anomalía durante el trayecto (retraso, problema mecánico, incidente aduanero, desviación de ruta)1Coordinador de Operaciones
EN_TRANSITO (9)DESCARGADO (11)Confirmar descargaÚltimo trayecto completado; Coordinador de Operaciones o Monitorista de Tráfico confirma entrega y descarga exitosa con timestamp real y datos de activos——
CON_INCIDENCIA (10)EN_TRANSITO (9)Resolver incidenciaIncidencia cerrada con resolución documentada, causa raíz registrada, acciones preventivas definidas y trayecto retomado8Coordinador de Operaciones
CON_INCIDENCIA (10)DESCARGADO (11)Confirmar descarga con incidencia resueltaIncidencia resuelta y último trayecto completado; entrega confirmada con evidencia——
DESCARGADO (11)CFDI_REGISTRADO (12)Registrar CFDI del proveedorCoordinador de Operaciones o Gerente Administrativo valida y registra el folio fiscal CFDI del proveedor de transporte; estructura válida y dentro del rango de deducibilidad48Gerente Administrativo
CFDI_REGISTRADO (12)DOCUMENTACION_ARCHIVADA (13)Archivar documentación automáticamenteSistema recopila, valida, estructura y carga al repositorio seguro: folio, OC PDF, LCAs, historial de estados, eventos de auditoría y CFDIs; integridad verificada4Administrador del Sistema
DOCUMENTACION_ARCHIVADA (13)CERRADO (14)Cerrar formalmente el embarqueDocumentación archivada correctamente, evaluación de proveedor registrada, activos liberados y notificación de cierre enviada al equipo ADN y al cliente24—

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Tres renglones dicen la página entera. El primero: no existe transición de «Borrador» a «Programado». Para programar hay que pasar por «Pendiente de Validación», y para eso los datos obligatorios —cliente, orden de compra adjunta, origen, destino, fecha de recolección y plantilla de ruta— tienen que estar completos. El segundo: no existe transición de «LCA Generado» a «En Tránsito». Hay que aprobar el acuerdo de carga, y esa aprobación exige verificar tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo.

El tercero es el que un director financiero reconoce de inmediato: el paso a «Cerrado» no sale de «Descargado». Sale de «Documentación Archivada», y antes hubo que registrar el comprobante fiscal del proveedor y archivar folio, orden de compra, acuerdos de carga, historial de estados y eventos de auditoría con su integridad verificada. Un embarque entregado y sin comprobante no se cierra en este sistema; se queda visible en «Descargado», que es exactamente donde debe verse.

El embarque que se facturó sin expediente deja de ser una sorpresa de fin de mes cuando la matriz no permite cerrarlo sin él.

Trayecto: la carrera de relevos, con bloqueo entre etapas

Un embarque de exportación no es un viaje: son tres o cuatro. El tramo nacional, el cruce fronterizo, el tramo del otro lado. Cada uno tiene su proveedor, su tarifa, su unidad, su operador y su estado, y el siguiente no se habilita hasta que el anterior cerró. Ése es el ciclo con más transiciones del proyecto: dieciséis estados y veinticuatro movimientos.

Vale la pena mirar dos cosas mientras lee la tabla. La primera, que el rechazo no es un callejón: «Proveedor Seleccionado» vuelve a «Listo para Asignar» cuando el proveedor no cumple habilitaciones o la tarifa no se acuerda, y «Devuelto a Revisión» regresa a «En Revisión» cuando las observaciones se atienden. La segunda, que la incidencia no saca al trayecto del recorrido: «Con Incidencia» tiene salida de vuelta a «En Tránsito», salida directa a «Descargado» con evidencia y observaciones, y salida a «Cancelado» sólo cuando la severidad es alta y no puede resolverse.

Trayecto (WF_17351)Transcrito del motor de la casa · el proyecto de este sistema · corte 27 sep 2026, 13:53:43PENDIENTE_ASIGNACION (1)DEVUELTO_A_REVISION (16)EN_REVISION (2)LISTO_PARA_ASIGNAR (3)PROVEEDOR_SELECCIONADO (4)TARIFA_CONFIRMADA (5)LCA_GENERADO (6)LCA_APROBADO (7)PROVEEDOR_ASIGNADO (8)EN_TRANSITO (9)CON_INCIDENCIA (10)DESCARGADO (11)CFDI_REGISTRADO (12)PROVEEDOR_EVALUADO (13)CERRADO (14)CANCELADO (15)Seleccionar para revisión4 hCancelar trayectoConfirmar revisión8 hDevolver por datos incompletosCancelar en revisiónReenviar corregido24 hSeleccionar proveedor12 hCancelar sin proveedorConfirmar tarifa pactada4 hRechazar proveedorGenerar LCA1 hAprobar LCA8 hRechazar LCA y corregirEnviar LCA y registrar acuse1 hIniciar tránsito48 hCancelar asignadoRegistrar descargaRegistrar incidenciaResolver y retomar tránsitoDescarga con incidencia resueltaCancelar por incidencia críticaRegistrar CFDI72 hEvaluar desempeño del proveedor48 hCerrar trayecto24 h16 estados · 24 transiciones · en ámbar, las que devuelven el expediente atrás
El diagrama se dibuja con los mismos estados y las mismas transiciones de la tabla que va debajo, sin añadir ninguna; el número en gris bajo cada acción es el plazo en horas que el motor registra para esa transición, y donde no hay número es que el motor no lo trae. Si el dibujo y la tabla no coincidieran, el defecto sería del dibujo. El dibujo enseña de un vistazo lo que el texto explica: el rechazo no es un callejón, porque de «Proveedor Seleccionado», de «LCA Generado» y de «Con Incidencia» salen arcos en ámbar de vuelta al peldaño anterior. Esta entidad tiene dos ciclos de vida registrados en el motor, uno de código numerado y otro de código nombrado. Se dibuja el numerado, que es el que esta página publica primero y el que trae más estados y más transiciones; el otro se publica completo en su tabla, más abajo. El motor no registra cuál sustituye a cuál y aquí tampoco se decide: dibujar uno no es elegirlo.

Matriz de estado · Trayecto (WF_17351) · 16 estados, 24 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
PENDIENTE_ASIGNACION (1)EN_REVISION (2)Seleccionar trayecto para revisiónEl trayecto es el siguiente en la secuencia lógica del embarque y el embarque está en estado Pendiente de Asignación4Coordinador de Operaciones
PENDIENTE_ASIGNACION (1)CANCELADO (15)Cancelar trayectoEl embarque asociado ha sido cancelado o el trayecto ya no es requerido—Administrador del Sistema
EN_REVISION (2)LISTO_PARA_ASIGNAR (3)Confirmar revisión y habilitar asignaciónDatos del trayecto completos, fechas coherentes, documentación adjunta validada y ruta viable8Coordinador de Operaciones
EN_REVISION (2)DEVUELTO_A_REVISION (16)Devolver trayecto por datos incompletosSe detectan inconsistencias, datos faltantes o documentación inválida durante la revisión manual—Coordinador de Operaciones
EN_REVISION (2)CANCELADO (15)Cancelar trayecto en revisiónEl embarque asociado ha sido cancelado—Administrador del Sistema
DEVUELTO_A_REVISION (16)EN_REVISION (2)Reenviar trayecto corregido a revisiónLas observaciones del Coordinador de Operaciones han sido atendidas y los datos corregidos24Coordinador de Operaciones
LISTO_PARA_ASIGNAR (3)PROVEEDOR_SELECCIONADO (4)Seleccionar proveedorProveedor identificado (interno o externo) que cumple con jurisdicción, disponibilidad y capacidad requerida12Coordinador de Operaciones
LISTO_PARA_ASIGNAR (3)CANCELADO (15)Cancelar trayecto sin proveedor disponibleNo existe proveedor disponible y el embarque no puede continuar—Administrador del Sistema
PROVEEDOR_SELECCIONADO (4)TARIFA_CONFIRMADA (5)Confirmar tarifa pactadaTarifa pre-cargada aceptada o ajuste de tarifa aprobado dentro de rangos permitidos o por Gerente Administrativo4Gerente Administrativo
PROVEEDOR_SELECCIONADO (4)LISTO_PARA_ASIGNAR (3)Rechazar proveedor seleccionadoEl proveedor no cumple con habilitaciones, disponibilidad real o la tarifa no puede ser acordada—Coordinador de Operaciones
TARIFA_CONFIRMADA (5)LCA_GENERADO (6)Generar LCA automáticamenteFolio único verificado, proveedor asignado, tarifa confirmada, instrucciones de seguridad y cláusulas de responsabilidad consolidadas1sistema
LCA_GENERADO (6)LCA_APROBADO (7)Aprobar LCATarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo verificados por el Coordinador de Operaciones8Coordinador de Operaciones
LCA_GENERADO (6)TARIFA_CONFIRMADA (5)Rechazar LCA y solicitar correcciónSe detectan errores en tarifa, datos del proveedor, instrucciones o normativas en el LCA generado—Coordinador de Operaciones
LCA_APROBADO (7)PROVEEDOR_ASIGNADO (8)Enviar LCA al proveedor y registrar acuseLCA aprobado enviado automáticamente al correo del proveedor y timestamp de envío registrado1sistema
PROVEEDOR_ASIGNADO (8)EN_TRANSITO (9)Iniciar tránsito del trayectoProveedor ha confirmado recepción del LCA y la unidad ha iniciado el trayecto48Coordinador de Operaciones
PROVEEDOR_ASIGNADO (8)CANCELADO (15)Cancelar trayecto asignadoEl embarque es cancelado antes del inicio del tránsito—Administrador del Sistema
EN_TRANSITO (9)DESCARGADO (11)Registrar descarga del trayectoOperador o Coordinador confirma que la mercancía fue descargada en destino, con timestamp real y datos de activos registrados—Coordinador de Operaciones
EN_TRANSITO (9)CON_INCIDENCIA (10)Registrar incidencia en trayectoSe detecta una anomalía (manual por Operador/Monitorista o automática por el sistema) que impacta el trayecto—Monitorista de Tráfico
CON_INCIDENCIA (10)EN_TRANSITO (9)Resolver incidencia y retomar tránsitoLa incidencia ha sido resuelta, causa raíz registrada y el trayecto puede continuar—Coordinador de Operaciones
CON_INCIDENCIA (10)DESCARGADO (11)Registrar descarga con incidencia resueltaLa mercancía fue descargada en destino a pesar de la incidencia, con evidencia y observaciones registradas—Coordinador de Operaciones
CON_INCIDENCIA (10)CANCELADO (15)Cancelar trayecto por incidencia críticaLa incidencia es de severidad alta y no puede resolverse, imposibilitando la continuación del trayecto—Administrador del Sistema
DESCARGADO (11)CFDI_REGISTRADO (12)Registrar CFDI del proveedorFolio fiscal CFDI validado en estructura, proveedor activo en catálogo y fecha de emisión dentro del rango aceptable para deducibilidad72Coordinador de Operaciones
CFDI_REGISTRADO (12)PROVEEDOR_EVALUADO (13)Registrar evaluación de desempeño del proveedorDatos de evaluación completos: cumplimiento de tiempo, calidad del servicio, observaciones y evidencias adjuntas48Coordinador de Operaciones
PROVEEDOR_EVALUADO (13)CERRADO (14)Cerrar trayectoActivos liberados, documentación archivada, evaluación de proveedor consolidada en historial y evento de auditoría registrado24sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

El cierre del trayecto es el renglón que un comprador de sistemas debería pedir por escrito: para llegar a «Cerrado» hay que pasar por «Proveedor Evaluado», y la evaluación exige cumplimiento de tiempo, calidad del servicio, observaciones y evidencias adjuntas. La evaluación del proveedor no es un reporte que alguien arma en diciembre: es una condición de cierre de cada trayecto.

Solicitud de embarque: dónde nace el trabajo que se repite

Esta matriz es la que conecta directamente con lo que Relevo observa. La solicitud de embarque es el punto donde una persona captura: plantilla de ruta, cliente, orden de compra adjunta, datos diferenciales, campos obligatorios. Es el paso que se hace cientos de veces al día y el que produce la hora recuperable que el sistema cuantifica.

Fíjese en el circuito de devolución, porque es donde se va el tiempo que nadie mide. «En Validación» puede rechazar a «Devuelto a ADN» por errores de formato, coherencia o campos faltantes; «Devuelto a ADN» vuelve a «En Validación» tras la corrección, con plazo de ocho horas; y «En Revisión por Operaciones» puede devolver otra vez. Cada vuelta de ese circuito es trabajo de captura repetido, y es precisamente la clase de tarea que el tablero de oportunidades ordena por veces al día y segundos por vez.

Matriz de estado · Solicitud de embarque (WF_17341) · 15 estados, 20 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)EN_VALIDACION (2)Enviar a validaciónPlantilla de ruta seleccionada, cliente asignado, OC adjunta, datos diferenciales capturados y campos obligatorios completos4Ejecutivo ADN
EN_VALIDACION (2)PENDIENTE_ASIGNACION (3)Generar folio y notificar a OperacionesValidación automática de completitud y coherencia exitosa; folio único generado por el sistema1sistema
EN_VALIDACION (2)DEVUELTO_A_ADN (15)Rechazar por datos inválidosValidación automática detecta errores de formato, coherencia o campos obligatorios faltantes—Ejecutivo ADN
DEVUELTO_A_ADN (15)EN_VALIDACION (2)Reenviar a validación tras correcciónEjecutivo ADN corrigió los datos observados y reenvía la solicitud8Coordinador de Operaciones
PENDIENTE_ASIGNACION (3)EN_REVISION_OPERACIONES (4)Tomar solicitud para revisiónCoordinador de Operaciones selecciona la solicitud del panel de pendientes8Coordinador de Operaciones
EN_REVISION_OPERACIONES (4)DEVUELTO_A_ADN (15)Devolver a ADN para correcciónCoordinador de Operaciones detecta inconsistencias o datos faltantes durante la revisión manual—Ejecutivo ADN
EN_REVISION_OPERACIONES (4)PROVEEDOR_ASIGNADO (5)Confirmar listo para asignación de proveedorValidación automática y manual exitosas; datos completos y coherentes; trayectos validados secuencialmente4Coordinador de Operaciones
PROVEEDOR_ASIGNADO (5)LCA_GENERADO (6)Generar LCA automáticamenteProveedor seleccionado (interno o externo), tarifa pactada confirmada, recursos asignados (unidad, operador, placas)2sistema
LCA_GENERADO (6)LCA_APROBADO (7)Aprobar LCACoordinador de Operaciones verifica tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo4Coordinador de Operaciones
LCA_GENERADO (6)PROVEEDOR_ASIGNADO (5)Rechazar LCA y reasignar proveedorCoordinador de Operaciones detecta errores en tarifa, datos de proveedor o instrucciones del LCA—Coordinador de Operaciones
LCA_APROBADO (7)EN_TRANSITO (8)Iniciar tránsitoLCA enviado al proveedor y acuse de recibo registrado; trayecto activo iniciado24sistema
EN_TRANSITO (8)CON_INCIDENCIA (9)Registrar incidenciaOperador de Unidad, Monitorista de Tráfico o sistema detecta anomalía durante el trayecto—Monitorista de Tráfico
CON_INCIDENCIA (9)EN_TRANSITO (8)Resolver incidencia y retomar tránsitoIncidencia cerrada con causa raíz registrada, acciones correctivas ejecutadas y ETA actualizado48Coordinador de Operaciones
EN_TRANSITO (8)DESCARGADO (10)Confirmar descargaÚltimo trayecto completado; timestamp real de descarga registrado; datos finales de activos (caja, placas) capturados; evidencia fotográfica adjunta—Coordinador de Operaciones
CON_INCIDENCIA (9)DESCARGADO (10)Confirmar descarga con incidencia resueltaIncidencia cerrada y último trayecto completado; timestamp real de descarga registrado—Coordinador de Operaciones
DESCARGADO (10)CFDI_REGISTRADO (11)Registrar CFDI del proveedorFolio fiscal CFDI validado, RFC del proveedor verificado, fecha de emisión dentro del rango aceptable y CFDI asociado al trayecto y embarque48Coordinador de Operaciones
CFDI_REGISTRADO (11)CERRADO (12)Cerrar formalmente el embarqueEvaluación de desempeño del proveedor registrada, activos liberados, resumen de cierre generado y notificación formal enviada al equipo ADN24Coordinador de Operaciones
CERRADO (12)DOCUMENTACION_ARCHIVADA (13)Archivar documentación automáticamenteSistema recopila, valida, empaqueta y carga al repositorio toda la documentación del embarque (OC, LCAs, CFDIs, POD, historial de auditoría); integridad verificada2sistema
BORRADOR (1)CANCELADO (14)Cancelar solicitud en borradorEjecutivo ADN o Administrador cancela la solicitud antes de enviarla a validación——
PENDIENTE_ASIGNACION (3)CANCELADO (14)Cancelar solicitud pendienteAdministrador o Coordinador de Operaciones cancela la solicitud antes de iniciar revisión—Administrador del Sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Cuatro de las veinte transiciones llevan en su propio nombre la marca de automáticas —generar el folio único y notificar a Operaciones, generar el acuerdo de carga, iniciar el tránsito al registrarse el acuse y archivar la documentación—, y en esas cuatro el rol declarado en la columna de escalamiento es el propio sistema. Ése es el límite honesto de lo que hoy está automatizado dentro del sistema de embarques; lo que Relevo añade encima es la automatización del trabajo humano que rodea a las otras dieciséis.

La hora que se recupera no sale de mover el embarque más rápido. Sale de dejar de teclear dos veces lo mismo para que el embarque se mueva.

Incidencia: la severidad como estado, y el escalamiento como plazo

El retraso, la falla mecánica, el incidente aduanero y la desviación de ruta no son un campo de texto: son una entidad con doce estados y diecinueve transiciones, donde la severidad es un estado y no una etiqueta, y donde el escalamiento trae su plazo en horas.

Los umbrales están escritos en las condiciones, y se transcriben tal cual: severidad baja si el retraso estimado es menor a dos horas y no hay riesgo para la carga o el operador; media entre dos y ocho horas o problema operativo moderado; alta por encima de ocho horas, falla mecánica grave, incidente de seguridad o riesgo a la integridad de la carga. Y la reclasificación existe en los dos sentidos que importan: de baja a media cuando la evaluación detallada revela más impacto, y de media a alta cuando la situación escala.

Incidencia (WF_17354)Incidencia (WF_17354) · transcrito del motor de la casa · el proyecto de este sistema · corte 27 sep 2026, 13:53:43REGISTRADA (1)EN_VALIDACION (2)CANCELADA (12)CLASIFICADA_BAJA (3)CLASIFICADA_MEDIA (4)CLASIFICADA_ALTA (5)EN_ATENCION_BAJA (6)ESCALADA_SUPERVISOR (7)ESCALADA_DIRECCION (8)EN_CONTINGENCIA (9)RESUELTA (10)CERRADA (11)Enviar para validación1 hCancelar registroClasificar severidad baja2 hClasificar severidad media2 hClasificar severidad alta1 hIniciar atención directa2 hReclasificar a mediaEscalar a supervisor1 hReclasificar a altaEscalar a dirección1 hRegistrar resolución4 hEscalar por agravamientoActivar contingencia2 hResolver desde supervisor8 hEscalar a dirección por crisisEjecutar plan de crisis2 hResolver contingencia24 hCerrar incidencia48 hReabrir para reclasificación12 estados · 19 transiciones · en ámbar, las que devuelven el expediente atrás
El diagrama se dibuja con los mismos estados y las mismas transiciones de la tabla que va debajo, sin añadir ninguna; el número en gris bajo cada acción es el plazo en horas que el motor registra para esa transición, y donde no hay número es que el motor no lo trae. Si el dibujo y la tabla no coincidieran, el defecto sería del dibujo. La severidad se ve como tres peldaños seguidos y el escalamiento como los arcos que suben de uno al siguiente. El único arco en ámbar es la reapertura: de «Resuelta» de vuelta a «En Validación». Esta entidad tiene dos ciclos de vida registrados en el motor, uno de código numerado y otro de código nombrado. Se dibuja el numerado, que es el que esta página publica primero y el que trae más estados y más transiciones; el otro se publica completo en su tabla, más abajo. El motor no registra cuál sustituye a cuál y aquí tampoco se decide: dibujar uno no es elegirlo.

Matriz de estado · Incidencia (WF_17354) · 12 estados, 19 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
REGISTRADA (1)EN_VALIDACION (2)Enviar para validaciónDatos esenciales de la incidencia capturados y confirmados por el operador1Coordinador de Operaciones
REGISTRADA (1)CANCELADA (12)Cancelar registroEl operador determina que el evento no constituye una incidencia real——
EN_VALIDACION (2)CLASIFICADA_BAJA (3)Clasificar severidad bajaRetraso estimado menor a 2 horas y sin riesgo para la carga o el operador2Coordinador de Operaciones
EN_VALIDACION (2)CLASIFICADA_MEDIA (4)Clasificar severidad mediaRetraso estimado entre 2 y 8 horas o problema operativo moderado2Coordinador de Operaciones
EN_VALIDACION (2)CLASIFICADA_ALTA (5)Clasificar severidad altaRetraso estimado mayor a 8 horas, problema mecánico grave, incidente de seguridad o riesgo a la integridad de la carga1Coordinador de Operaciones
CLASIFICADA_BAJA (3)EN_ATENCION_BAJA (6)Iniciar atención directaIncidencia de baja severidad asignada al operador o monitorista para gestión directa2Coordinador de Operaciones
CLASIFICADA_BAJA (3)CLASIFICADA_MEDIA (4)Reclasificar a severidad mediaLa evaluación detallada revela mayor impacto del estimado inicialmente—Coordinador de Operaciones
CLASIFICADA_MEDIA (4)ESCALADA_SUPERVISOR (7)Escalar a supervisorIncidencia de severidad media requiere intervención del supervisor y comunicación proactiva al cliente1Coordinador de Operaciones
CLASIFICADA_MEDIA (4)CLASIFICADA_ALTA (5)Reclasificar a severidad altaLa situación escala y supera los criterios de severidad media—Coordinador de Operaciones
CLASIFICADA_ALTA (5)ESCALADA_DIRECCION (8)Escalar a dirección - activar gestión de crisisIncidencia de alta severidad notificada automáticamente a Dirección General y Supervisor de Operaciones1Gerente Administrativo
EN_ATENCION_BAJA (6)RESUELTA (10)Registrar resoluciónAcciones correctivas ejecutadas y ETA actualizado; incidencia de baja severidad resuelta4Coordinador de Operaciones
EN_ATENCION_BAJA (6)ESCALADA_SUPERVISOR (7)Escalar por agravamientoLa incidencia de baja severidad se agrava durante la atención y requiere escalamiento al supervisor—Coordinador de Operaciones
ESCALADA_SUPERVISOR (7)EN_CONTINGENCIA (9)Activar contingenciaSupervisor determina necesidad de acciones de contingencia: proveedor alternativo, ruta alternativa o reasignación de recursos2Coordinador de Operaciones
ESCALADA_SUPERVISOR (7)RESUELTA (10)Registrar resolución desde supervisorIncidencia de severidad media resuelta con nuevo ETA comunicado al cliente8Coordinador de Operaciones
ESCALADA_SUPERVISOR (7)ESCALADA_DIRECCION (8)Escalar a dirección por crisisLa situación supera la capacidad de gestión del supervisor y requiere intervención de dirección—Gerente Administrativo
ESCALADA_DIRECCION (8)EN_CONTINGENCIA (9)Ejecutar plan de contingencia de crisisDirección aprueba y activa plan de contingencia para incidencia de alta severidad2Coordinador de Operaciones
EN_CONTINGENCIA (9)RESUELTA (10)Registrar resolución de contingenciaAcciones de contingencia ejecutadas exitosamente y trayecto retomado o finalizado24Coordinador de Operaciones
RESUELTA (10)CERRADA (11)Cerrar incidenciaResolución, causa raíz, tiempo de impacto y acciones preventivas registrados y validados48Gerente Administrativo
RESUELTA (10)EN_VALIDACION (2)Reabrir para reclasificaciónSe detectan datos incompletos o incorrectos en la resolución que requieren corrección—Coordinador de Operaciones

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Dos detalles que un jefe de tráfico agradece. El primero: «Resuelta» no lleva directo a «Cerrada» sin condición. Para cerrar hacen falta resolución, causa raíz, tiempo de impacto y acciones preventivas registradas y validadas, con plazo de 48 horas. El segundo: «Resuelta» tiene vuelta a «En Validación» cuando se detectan datos incompletos o incorrectos en la resolución. Reabrir una incidencia es un movimiento previsto, no un arreglo a mano en la base.

Acuerdo de carga, activo, tarifa, comprobante fiscal y proveedor

Cinco matrices más de la generación numerada, transcritas completas. Sostienen cinco afirmaciones distintas: que el acuerdo de carga vence si el proveedor no confirma, que el activo se reserva antes de asignarse, que el ajuste de tarifa dentro de rango se aprueba solo y fuera de rango sube a gerencia, que el comprobante fiscal tiene su propio recorrido hasta quedar deducible y archivado, y que sólo un proveedor aprobado participa en la asignación.

La del acuerdo de carga trae el renglón operativo más útil de todo el proyecto: si el proveedor no confirma la recepción dentro del plazo de veinticuatro horas, el acuerdo pasa a «Vencido sin Confirmación» por sí solo, y desde ahí se reenvía al mismo proveedor o se cancela para buscar otro. La ausencia de respuesta es un estado, no un silencio que alguien tiene que recordar.

CFDI de trayecto (WF_17356)Transcrito del motor de la casa · el proyecto de este sistema · corte 27 sep 2026, 13:53:43PENDIENTE_REGISTRO (1)REGISTRADO (2)EN_VALIDACION (3)VALIDADO (4)RECHAZADO (5)ASOCIADO (6)DEDUCIBLE (7)ARCHIVADO (8)CANCELADO (9)Registrar folio CFDI24 hEnviar a validación4 hAprobar validación8 hRechazar CFDI8 hCorregir y reregistrar48 hCancelar CFDIAsociar a trayecto y embarque4 hMarcar como deducible24 hArchivar CFDI72 hCancelar CFDI asociado9 estados · 10 transiciones · en ámbar, las que devuelven el expediente atrásProveedor (WF_17345)Transcrito del motor de la casa · el proyecto de este sistema · corte 27 sep 2026, 13:53:43BORRADOR (1)EN_REVISION (2)PENDIENTE_APROBACION (3)RECHAZADO (4)ACTIVO (5)SUSPENDIDO (6)INACTIVO (7)Enviar a revisión48 hSolicitar aprobación72 hRechazar en revisiónAprobar y activar proveedor24 hRechazar aprobaciónCorregir y reenviar120 hSuspender proveedorDar de baja proveedorReactivar proveedor48 hDar de baja desde suspensión7 estados · 10 transiciones · en ámbar, las que devuelven el expediente atrás
El diagrama se dibuja con los mismos estados y las mismas transiciones de la tabla que va debajo, sin añadir ninguna; el número en gris bajo cada acción es el plazo en horas que el motor registra para esa transición, y donde no hay número es que el motor no lo trae. Si el dibujo y la tabla no coincidieran, el defecto sería del dibujo. Se dibujan dos de las cinco matrices de esta sección: la del comprobante fiscal, cuyo arco en ámbar es la corrección tras el rechazo, y la del proveedor, donde el ámbar es la reactivación desde la suspensión. Las otras tres —acuerdo de carga, activo y ajuste de tarifa— se publican completas en sus tablas, sin dibujo, para no saturar la página. Esta entidad tiene dos ciclos de vida registrados en el motor, uno de código numerado y otro de código nombrado. Se dibuja el numerado, que es el que esta página publica primero y el que trae más estados y más transiciones; el otro se publica completo en su tabla, más abajo. El motor no registra cuál sustituye a cuál y aquí tampoco se decide: dibujar uno no es elegirlo.

Matriz de estado · Load Confirmation Agreement (WF_17352) · 9 estados, 11 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)GENERADO (2)Generar LCA automáticamenteEmbarque con folio único asignado, proveedor seleccionado, tarifa pactada confirmada y datos completos validados1Coordinador de Operaciones
GENERADO (2)EN_REVISION (3)Iniciar revisión del LCALCA generado en PDF y almacenado en repositorio seguro4Coordinador de Operaciones
EN_REVISION (3)APROBADO (5)Aprobar LCATarifa pactada, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo verificados y conformes——
EN_REVISION (3)RECHAZADO (4)Rechazar LCASe detectan discrepancias en tarifa, datos del proveedor, instrucciones de transporte o normativas aplicables—Coordinador de Operaciones
EN_REVISION (3)CANCELADO (9)Cancelar LCAEl embarque o trayecto asociado fue cancelado antes de la aprobación del LCA——
RECHAZADO (4)BORRADOR (1)Regenerar LCA con correccionesCorrecciones indicadas por el Coordinador de Operaciones aplicadas a los datos del embarque o proveedor2sistema
APROBADO (5)ENVIADO_PROVEEDOR (6)Enviar LCA al proveedorLCA aprobado por el Coordinador de Operaciones y datos de contacto del proveedor validados1Coordinador de Operaciones
ENVIADO_PROVEEDOR (6)CONFIRMADO_PROVEEDOR (7)Registrar confirmación de recepción del proveedorProveedor confirma recepción del LCA vía correo electrónico, portal de proveedores o confirmación manual del operador24Coordinador de Operaciones
ENVIADO_PROVEEDOR (6)VENCIDO (8)Marcar LCA como vencido sin confirmaciónEl proveedor no confirma la recepción del LCA dentro del SLA de 24 horas establecido24Coordinador de Operaciones
VENCIDO (8)ENVIADO_PROVEEDOR (6)Reenviar LCA al proveedorCoordinador de Operaciones decide reenviar el LCA al mismo proveedor tras gestión manual4Coordinador de Operaciones
VENCIDO (8)CANCELADO (9)Cancelar LCA vencido y reasignar proveedorEl proveedor no responde tras reenvío o se decide cambiar de proveedor para el trayecto—Coordinador de Operaciones

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Activo (WF_17346) · 8 estados, 16 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)PENDIENTE_VALIDACION (2)Enviar a validaciónDatos obligatorios del activo capturados (tipo, número económico, placas, propietario)4Administrador del Sistema
BORRADOR (1)INACTIVO (8)Cancelar registroActivo descartado antes de completar el alta——
PENDIENTE_VALIDACION (2)DISPONIBLE (3)Aprobar y activar activoValidación automática de unicidad, formato y datos fiscales superada; sin vínculos conflictivos8Administrador del Sistema
PENDIENTE_VALIDACION (2)BORRADOR (1)Rechazar y devolver a borradorDatos incompletos o inconsistentes detectados en la validación4Coordinador de Operaciones
PENDIENTE_VALIDACION (2)INACTIVO (8)Rechazar y dar de bajaActivo duplicado o inválido confirmado por el Administrador del Sistema——
DISPONIBLE (3)RESERVADO (4)Reservar activoActivo seleccionado tentativamente para un trayecto; verificación de disponibilidad en rango de fechas exitosa2Coordinador de Operaciones
DISPONIBLE (3)EN_MANTENIMIENTO (7)Enviar a mantenimientoMantenimiento preventivo o correctivo programado o detectado—Administrador del Sistema
DISPONIBLE (3)INACTIVO (8)Inactivar activoSin vínculos activos con embarques o asignaciones; confirmación del Administrador del Sistema—Administrador del Sistema
RESERVADO (4)ASIGNADO (5)Confirmar asignación a trayectoVerificación final de disponibilidad superada; placas, unidad y operador sin conflictos de asignación simultánea1Coordinador de Operaciones
RESERVADO (4)DISPONIBLE (3)Liberar reservaTrayecto cancelado o activo sustituido antes de la asignación definitiva——
ASIGNADO (5)EN_TRANSITO (6)Iniciar tránsitoLCA aprobado y enviado al proveedor; trayecto en estado activo2Coordinador de Operaciones
ASIGNADO (5)DISPONIBLE (3)Liberar activo por cancelación de asignaciónTrayecto cancelado o reasignado a otro activo antes del inicio del tránsito——
EN_TRANSITO (6)DISPONIBLE (3)Liberar activo tras descargaEmbarque marcado como Descargado; timestamp real de descarga registrado; datos finales de activo capturados4Coordinador de Operaciones
EN_TRANSITO (6)EN_MANTENIMIENTO (7)Enviar a mantenimiento desde tránsitoIncidencia mecánica grave detectada durante el trayecto; activo requiere revisión antes de nueva asignación—Administrador del Sistema
EN_MANTENIMIENTO (7)DISPONIBLE (3)Finalizar mantenimiento y reactivarMantenimiento concluido; activo verificado como operativo—Administrador del Sistema
EN_MANTENIMIENTO (7)INACTIVO (8)Dar de baja desde mantenimientoActivo declarado irreparable o fuera de vida útil; sin vínculos activos con embarques—Administrador del Sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Ajuste de tarifa (WF_17377) · 9 estados, 12 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)PROPUESTO (2)Proponer ajuste de tarifaEl Coordinador de Operaciones captura el ajuste propuesto con justificación y lo envía para validación4Administrador del Sistema
BORRADOR (1)CANCELADO (9)Cancelar ajusteEl Coordinador de Operaciones decide no continuar con el ajuste propuesto——
PROPUESTO (2)EN_VALIDACION (3)Enviar a validación automáticaEl ajuste propuesto es enviado al sistema para validación contra rangos permitidos y políticas internas1Administrador del Sistema
PROPUESTO (2)CANCELADO (9)Cancelar ajusteEl Coordinador de Operaciones cancela el ajuste antes de enviarlo a validación——
EN_VALIDACION (3)APROBADO_AUTOMATICO (4)Aprobar automáticamenteEl ajuste propuesto se encuentra dentro de los rangos de tolerancia predefinidos y cumple con las políticas internas1—
EN_VALIDACION (3)PENDIENTE_AUTORIZACION (5)Escalar para autorizaciónEl ajuste propuesto excede los rangos de tolerancia predefinidos o no cumple con las políticas internas, requiriendo aprobación del Gerente Administrativo2Gerente Administrativo
APROBADO_AUTOMATICO (4)CONFIRMADO (8)Confirmar tarifa aprobada automáticamenteEl Administrador del Sistema confirma la tarifa aprobada automáticamente y actualiza los registros del trayecto4Coordinador de Operaciones
PENDIENTE_AUTORIZACION (5)APROBADO (6)Aprobar ajuste de tarifaEl Gerente Administrativo revisa y aprueba el ajuste de tarifa que excede los rangos de tolerancia24Administrador del Sistema
PENDIENTE_AUTORIZACION (5)RECHAZADO (7)Rechazar ajuste de tarifaEl Gerente Administrativo revisa y rechaza el ajuste de tarifa que excede los rangos de tolerancia24Coordinador de Operaciones
APROBADO (6)CONFIRMADO (8)Confirmar tarifa aprobada por gerenteEl Administrador del Sistema confirma la tarifa aprobada por el Gerente Administrativo y actualiza los registros del trayecto4Coordinador de Operaciones
RECHAZADO (7)BORRADOR (1)Revisar y reenviar ajusteEl Coordinador de Operaciones revisa el ajuste rechazado, realiza correcciones y lo reenvía para una nueva validación8Administrador del Sistema
RECHAZADO (7)CANCELADO (9)Cancelar ajuste rechazadoEl Coordinador de Operaciones decide no continuar con el ajuste tras el rechazo del Gerente Administrativo——

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · CFDI de trayecto (WF_17356) · 9 estados, 10 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
PENDIENTE_REGISTRO (1)REGISTRADO (2)Registrar folio CFDIFolio fiscal ingresado, RFC del proveedor capturado y trayecto seleccionado24Coordinador de Operaciones
REGISTRADO (2)EN_VALIDACION (3)Enviar a validaciónDatos del CFDI completos y proveedor activo en catálogo4Administrador del Sistema
EN_VALIDACION (3)VALIDADO (4)Aprobar validaciónEstructura del folio fiscal correcta, fecha de emisión dentro del rango aceptable y monto consistente con el trayecto8Administrador del Sistema
EN_VALIDACION (3)RECHAZADO (5)Rechazar CFDIEstructura inválida, fecha fuera de rango o monto no coincide con el acuerdo del trayecto8Coordinador de Operaciones
RECHAZADO (5)REGISTRADO (2)Corregir y reregistrar CFDIOperador corrige el folio o datos del CFDI rechazado48Administrador del Sistema
RECHAZADO (5)CANCELADO (9)Cancelar CFDICFDI no puede ser corregido o el trayecto fue cancelado—Administrador del Sistema
VALIDADO (4)ASOCIADO (6)Asociar CFDI a trayecto y embarqueCFDI validado correctamente y trayecto en estado cerrado o descargado4Coordinador de Operaciones
ASOCIADO (6)DEDUCIBLE (7)Marcar como deducibleCFDI asociado correctamente al trayecto y embarque, estatus de deducibilidad actualizado24Gerente Administrativo
DEDUCIBLE (7)ARCHIVADO (8)Archivar CFDIXML y PDF del CFDI cargados en repositorio documental y evidencia de pago adjunta72Administrador del Sistema
ASOCIADO (6)CANCELADO (9)Cancelar CFDI asociadoCFDI cancelado ante el SAT o trayecto anulado por el proveedor—Administrador del Sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Proveedor (WF_17345) · 7 estados, 10 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)EN_REVISION (2)Enviar a revisiónInformación legal, fiscal, bancaria, de contacto y capacidades operativas capturadas y validadas en formato48complianceofficer
EN_REVISION (2)PENDIENTE_APROBACION (3)Solicitar aprobaciónValidación automática de datos superada y revisión manual de documentos completada por compliance officer72Administrador del Sistema
EN_REVISION (2)RECHAZADO (4)Rechazar en revisiónDatos o documentos incompletos, inválidos o no conformes detectados durante la revisión—Coordinador de Operaciones
PENDIENTE_APROBACION (3)ACTIVO (5)Aprobar y activar proveedorRevisión manual aprobada, habilitaciones vigentes y cumplimiento contractual verificado24—
PENDIENTE_APROBACION (3)RECHAZADO (4)Rechazar aprobaciónDocumentación no cumple con estándares de compliance o requisitos regulatorios—Coordinador de Operaciones
RECHAZADO (4)BORRADOR (1)Corregir y reenviarProveedor corrige observaciones indicadas en el rechazo120complianceofficer
ACTIVO (5)SUSPENDIDO (6)Suspender proveedorIncumplimiento contractual, habilitaciones vencidas o anomalías detectadas durante la operación—Administrador del Sistema
ACTIVO (5)INACTIVO (7)Dar de baja proveedorSin vínculos activos con embarques o asignaciones en curso y confirmación del administrador—Administrador del Sistema
SUSPENDIDO (6)ACTIVO (5)Reactivar proveedorCausas de suspensión resueltas y habilitaciones renovadas o cumplimiento restaurado48complianceofficer
SUSPENDIDO (6)INACTIVO (7)Dar de baja desde suspensiónSin vínculos activos y decisión definitiva de baja confirmada por administrador—Administrador del Sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

En la matriz del ajuste de tarifa está escrita una regla de control interno que normalmente vive en un correo: el ajuste dentro de los rangos de tolerancia predefinidos pasa a «Aprobado Automáticamente», y el que los excede pasa a «Pendiente de Autorización» y espera la decisión del gerente administrativo, con plazo de veinticuatro horas. El umbral decide la ruta. Nadie tiene que acordarse de escalar.

Y en la del proveedor está la otra: de «Pendiente de Aprobación» sólo se llega a «Activo» con revisión manual aprobada, habilitaciones vigentes y cumplimiento contractual verificado. Un proveedor suspendido vuelve a activo únicamente cuando las causas se resuelven y las habilitaciones se renuevan. El catálogo de proveedores deja de ser una lista y se vuelve un estado.

Los diez ciclos del diseño base, también transcritos

Éstos son los diez ciclos de código nombrado. Se publican completos por la misma razón por la que se publican los otros nueve: están en el motor. Son más cortos, en varios casos, traen condiciones que la generación numerada no repite —la unicidad del registro de transportista, la liberación del conductor al cierre del embarque, la baja del activo por fin de vida útil— de modo que no son un borrador descartable.

Aquí también aparece el único ciclo sin gemelo: el del conductor. Cuatro estados y seis transiciones, con la condición que un permisionario reconoce al instante: para poner un conductor disponible hay que tener habilitaciones, certificaciones y permisos vigentes validados, y se inactiva cuando esas habilitaciones vencen.

Matriz de estado · Embarque, diseño base (WF_EMBARQUE) · 8 estados, 10 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
BORRADOR (1)PENDIENTE_ASIGNACION (2)Generar folio y enviar a asignacionDatos completos y coherentes; folio unico generado24Administrador del Sistema
PENDIENTE_ASIGNACION (2)VALIDADO (3)Confirmar embarque listo para asignacionValidacion manual y automatica aprobada12Gerente Administrativo
PENDIENTE_ASIGNACION (2)BORRADOR (1)Devolver embarque a ADNFalta informacion o documentacion incompleta——
VALIDADO (3)EN_TRANSITO (4)Iniciar transito (LCA enviada)Trayectos asignados y LCA enviada—Coordinador de Operaciones
EN_TRANSITO (4)DESCARGADO (5)Registrar descargaTimestamp real de descarga registrado——
DESCARGADO (5)ENTREGADO (6)Confirmar entrega finalEntrega verificada y confirmada24Gerente Administrativo
ENTREGADO (6)CERRADO (7)Cerrar y archivar documentacionResumen de cierre generado y documentacion archivada48Administrador del Sistema
BORRADOR (1)CANCELADO (8)Cancelar embarqueSin vinculos con embarques activos——
PENDIENTE_ASIGNACION (2)CANCELADO (8)Cancelar embarqueSin vinculos con embarques activos——
VALIDADO (3)CANCELADO (8)Cancelar embarqueSin trayectos en curso——

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Trayecto, diseño base (WF_TRAYECTO) · 7 estados, 8 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
DISPONIBLE (1)SELECCIONADO (2)Seleccionar trayecto para asignacionSecuencia de trayecto valida——
DISPONIBLE (1)EXCEPCION (7)Solicitar permiso especial de secuenciaSecuencia fuera de orden; requiere autorizacion8Administrador del Sistema
EXCEPCION (7)SELECCIONADO (2)Autorizar excepcion y seleccionarPermiso especial aprobado——
SELECCIONADO (2)ASIGNADO (3)Asignar recursos o proveedorDisponibilidad de unidad, operador y placas verificada12Administrador del Sistema
SELECCIONADO (2)DISPONIBLE (1)Liberar trayecto seleccionadoSeleccion cancelada o sin recursos disponibles——
ASIGNADO (3)LCA_ENVIADO (4)Enviar LCA y registrar timestampSolicitud de asignacion validada—Coordinador de Operaciones
LCA_ENVIADO (4)EN_CURSO (5)Iniciar trayecto en rutaLCA confirmada por proveedor——
EN_CURSO (5)COMPLETADO (6)Completar trayectoTrayecto finalizado; habilita siguiente trayecto pendiente—Coordinador de Operaciones

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Proveedor transportista (WF_PROVEEDOR) · 6 estados, 10 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
REGISTRADO (1)EN_VALIDACION (2)Enviar a validacionInformacion legal y fiscal capturada24Coordinador de Operaciones
EN_VALIDACION (2)HABILITADO (4)Habilitar proveedorValidacion automatica y revision manual aprobadas; USDOT unico48Gerente Administrativo
EN_VALIDACION (2)RECHAZADO (3)Rechazar validacionDocumentacion incompleta o USDOT duplicado48Gerente Administrativo
RECHAZADO (3)EN_VALIDACION (2)Reenviar a validacionDatos corregidos por el proveedor——
RECHAZADO (3)INACTIVO (6)Descartar proveedorNo procede el alta——
HABILITADO (4)SUSPENDIDO (5)Suspender proveedorIncidencia operativa o documental temporal——
SUSPENDIDO (5)HABILITADO (4)Reactivar proveedorIncidencia resuelta y revalidada72Gerente Administrativo
SUSPENDIDO (5)INACTIVO (6)Inactivar proveedorBaja definitiva del catalogo——
HABILITADO (4)INACTIVO (6)Inactivar proveedorCese de relacion comercial——
INACTIVO (6)HABILITADO (4)Rehabilitar proveedorReincorporacion aprobada por compliance72Gerente Administrativo

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Load Confirmation Agreement, diseño base (WF_LCA) · 6 estados, 6 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
GENERADO (1)VERIFICADO (2)Verificar datos del LCA generadoTarifa, datos del proveedor, tipo de unidad, horarios y normativas de cruce verificados24Administrador del Sistema
VERIFICADO (2)ENVIADO (3)Aprobar y enviar LCA al proveedorLCA aprobado y datos del proveedor validados para envio12Administrador del Sistema
ENVIADO (3)CONFIRMADO (4)Registrar confirmacion de recepcionProveedor confirma recepcion del LCA48Coordinador de Operaciones
ENVIADO (3)RECHAZADO (5)Registrar rechazo del proveedorProveedor rechaza o no acepta condiciones del LCA48Coordinador de Operaciones
RECHAZADO (5)VERIFICADO (2)Devolver LCA a verificacionSe requiere ajustar condiciones tras rechazo——
CONFIRMADO (4)CERRADO (6)Cerrar y archivar trazabilidadConfirmacion archivada y trazabilidad de aprobacion y envio registrada72Administrador del Sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Activo, unidad o caja (WF_ACTIVO) · 5 estados, 8 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
ALTA (1)DISPONIBLE (2)Activar y publicar disponibleDatos finales de activo (caja, placas) capturados24Coordinador de Operaciones
DISPONIBLE (2)ASIGNADO (3)Asignar a embarqueActivo seleccionado en combinacion optima para trayecto——
ASIGNADO (3)DISPONIBLE (2)Liberar a disponibleEmbarque cerrado; activo identificado y liberado——
DISPONIBLE (2)EN_MANTENIMIENTO (4)Enviar a mantenimientoMantenimiento preventivo o correctivo requerido——
ASIGNADO (3)EN_MANTENIMIENTO (4)Enviar a mantenimientoFalla detectada durante operacion——
EN_MANTENIMIENTO (4)DISPONIBLE (2)Finalizar mantenimientoMantenimiento concluido y unidad operativa72Gerente Administrativo
EN_MANTENIMIENTO (4)BAJA (5)Dar de bajaActivo no recuperable o fin de vida util——
DISPONIBLE (2)BAJA (5)Dar de bajaBaja administrativa o venta del activo——

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · CFDI de trayecto, diseño base (WF_CFDI_TRAYECTO) · 5 estados, 5 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
RECIBIDO (1)EN_VALIDACION (2)Iniciar validacion de folio fiscalCFDI recibido con XML y datos del proveedor capturados12Administrador del Sistema
EN_VALIDACION (2)VALIDADO (3)Validar y marcar como deducibleFolio fiscal valido en SAT; CFDI asociado a trayecto y embarque; deducibilidad procedente24Administrador del Sistema
EN_VALIDACION (2)RECHAZADO (4)Rechazar por inconsistencia fiscalFolio invalido, datos del proveedor incorrectos o comprobante no deducible24Administrador del Sistema
RECHAZADO (4)EN_VALIDACION (2)Reintentar validacion tras correccionProveedor corrige o reemplaza el CFDI——
VALIDADO (3)ARCHIVADO (5)Archivar CFDI y evidencia de pagoXML, PDF y evidencia de pago resguardados digitalmente72Administrador del Sistema

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Conductor (WF_CONDUCTOR) · 4 estados, 6 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
ALTA (1)DISPONIBLE (2)Habilitar y poner disponibleHabilitaciones, certificaciones y permisos vigentes validados24Administrador del Sistema
DISPONIBLE (2)ASIGNADO (3)Asignar a trayectoConductor disponible y compatible con los requisitos del trayecto—Coordinador de Operaciones
ASIGNADO (3)DISPONIBLE (2)Liberar al cierre del embarqueEmbarque cerrado y activos liberados——
DISPONIBLE (2)INACTIVO (4)Inactivar conductorSin vinculos con asignaciones en curso o habilitaciones vencidas—Administrador del Sistema
ALTA (1)INACTIVO (4)Inactivar conductorAlta cancelada o documentacion no acreditada——
INACTIVO (4)DISPONIBLE (2)Reactivar conductorHabilitaciones renovadas y vigentes——

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Ajuste de tarifa, diseño base (WF_AJUSTE_TARIFA) · 4 estados, 4 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
PROPUESTO (1)EN_REVISION (2)Enviar a revisionAjuste propuesto dentro de los rangos permitidos validado por el sistema24Administrador del Sistema
EN_REVISION (2)APROBADO (3)Aprobar ajuste de tarifaEl Gerente Administrativo autoriza el ajuste48Administrador del Sistema
EN_REVISION (2)RECHAZADO (4)Rechazar ajuste de tarifaEl Gerente Administrativo no autoriza el ajuste48Administrador del Sistema
EN_REVISION (2)PROPUESTO (1)Devolver a propuestaFalta informacion o se requiere corregir el monto propuesto——

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Incidencia en trayecto (WF_INCIDENCIA) · 6 estados, 7 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
DETECTADA (1)EN_ANALISIS (2)Validar y clasificar incidencia—2—
EN_ANALISIS (2)EN_RESOLUCION (3)Asignar y resolver incidenciaSeveridad baja o media4—
EN_ANALISIS (2)ESCALADA (4)Escalar incidencia de alta severidadSeveridad alta1Coordinador de Operaciones
ESCALADA (4)EN_RESOLUCION (3)Coordinar acciones de contingencia—2—
EN_RESOLUCION (3)RESUELTA (5)Registrar resolucion aplicada—8—
RESUELTA (5)EN_RESOLUCION (3)Reabrir por resolucion no validaValidacion rechazada——
RESUELTA (5)CERRADA (6)Cerrar incidencia resueltaValidacion aprobada24—

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Matriz de estado · Solicitud de embarque, diseño base (WF_SOLICITUD_EMBARQUE) · 5 estados, 6 transiciones

Estado origenEstado destinoAcciónCondición que la habilitaPlazo (h)Escala a
CAPTURA (1)VALIDACION (2)Enviar a validacion———
VALIDACION (2)CAPTURA (1)Devolver por errores de validacionValidacion fallida——
VALIDACION (2)ENVIADA (3)Enviar solicitudValidacion exitosa1—
ENVIADA (3)APROBADA (4)Aprobar por disponibilidad confirmadaDisponibilidad real confirmada4—
ENVIADA (3)RECHAZADA (5)Rechazar por falta de disponibilidadSin disponibilidad real4—
RECHAZADA (5)CAPTURA (1)Ajustar y reabrir solicitud———

Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.

Dos observaciones de honestidad sobre este grupo. La primera: las cinco únicas transiciones de todo el proyecto que vienen sin condición escrita están aquí, en el ciclo base de la incidencia y en el de la solicitud de embarque. Dondel motor no trae condición se publica un guion, y no se redacta una. La segunda: el ciclo base de la solicitud de embarque es el único de los diecinueve que no declara rol de escalamiento en ninguna de sus seis transiciones. Está incompleto y se deja a la vista, porque taparlo sería el defecto que esta página existe para no cometer.

Quién puede qué en cada estado: las 568 filas de la otra matriz

El permiso de este sistema no se lee transición por transición: se lee en la matriz de rol por estado, con 568 filas sobre los ocho roles del proyecto. Cada fila dice, para un estado y un rol, si ese rol puede mover el estado y qué puede hacer mientras la cosa está ahí: consultar, dar de alta, modificar, dar de baja, exportar, imprimir y configurar. Y trae además un tipo de participación —editor, lector, supervisor, administrador, auditor, consultor o sistema— que no es decoración: es la forma en que ese rol entra al estado.

Dos de los ocho no son puestos de trabajo. «Sistema» es el actor de las transiciones automáticas: el que cambia el estado cuando se cumple una condición y nadie tiene que apretar nada. El rol de cumplimiento entra como auditor en los estados de cierre. Los otros seis son puestos de la operación.

Reparto de las 568 filas de rol por estado, rol por rol

Rol del proyectoFilasPuede mover el estadoCon permiso de modificarCon permiso de exportarEn cuántos ciclos aparece
Coordinador de Operaciones139909311618
Administrador del Sistema1228210012218
Sistema · acciones automáticas1177498819
Ejecutivo ADN6215204011
Gerente Administrativo5520195412
Monitorista de Tráfico4021223010
Operador de Unidad1891209
Rol de cumplimiento1599156

Transcrito de Spartan_WorkFlow_Roles_by_State cruzada con rol_sistema, el proyecto de este sistema en la base del motor de la casa. Corte de servidor: 27 de septiembre de 2026, 13:53:43. Suma de filas: 568.

La matriz completa de un ciclo · Embarque, diseño base: ocho estados por rol

EstadoRol¿Puede mover el estado?PermisosParticipación
BORRADOR (1)Administrador del SistemaNoConsultar · Alta · Modificar · Baja · Exportar · Imprimir · Configurarsupervisor
BORRADOR (1)Ejecutivo ADNNoConsultar · Alta · Modificar · Bajaeditor
BORRADOR (1)sistemaNoConsultar · Alta · Modificarsistema
PENDIENTE_ASIGNACION (2)Administrador del SistemaNoConsultar · Modificar · Baja · Exportar · Imprimir · Configurarsupervisor
PENDIENTE_ASIGNACION (2)Coordinador de OperacionesSíConsultar · Modificar · Exportar · Imprimireditor
PENDIENTE_ASIGNACION (2)Ejecutivo ADNNoConsultar · Modificareditor
PENDIENTE_ASIGNACION (2)sistemaNoConsultar · Modificarsistema
VALIDADO (3)Administrador del SistemaNoConsultar · Modificar · Exportar · Imprimir · Configurarsupervisor
VALIDADO (3)Coordinador de OperacionesSíConsultar · Modificar · Exportar · Imprimireditor
VALIDADO (3)Monitorista de TráficoNoConsultar · Exportar · Imprimirconsultor
EN_TRANSITO (4)Coordinador de OperacionesNoConsultar · Modificar · Exportar · Imprimirsupervisor
EN_TRANSITO (4)Monitorista de TráficoSíConsultar · Modificar · Exportar · Imprimireditor
EN_TRANSITO (4)Operador de UnidadNoConsultarconsultor
DESCARGADO (5)Coordinador de OperacionesNoConsultar · Modificar · Exportar · Imprimirsupervisor
DESCARGADO (5)Monitorista de TráficoSíConsultar · Modificar · Exportar · Imprimireditor
ENTREGADO (6)Coordinador de OperacionesSíConsultar · Modificar · Exportar · Imprimireditor
ENTREGADO (6)Gerente AdministrativoSíConsultar · Modificar · Exportar · Imprimirsupervisor
CERRADO (7)Rol de cumplimientoNoConsultar · Exportar · Imprimirauditor
CERRADO (7)Gerente AdministrativoNoConsultar · Exportar · Imprimireditor
CERRADO (7)sistemaNoConsultar · Modificarsistema
CANCELADO (8)Administrador del SistemaNoConsultar · Baja · Exportar · Imprimir · Configurarsupervisor
CANCELADO (8)Gerente AdministrativoNoConsultar · Exportar · Imprimireditor

Transcrito de Spartan_WorkFlow_Roles_by_State del ciclo WF_EMBARQUE, el proyecto de este sistema en el motor, resolviendo estado y rol contra Spartan_WorkFlow_State y rol_sistema con COLLATE DATABASE_DEFAULT. Corte de servidor: 27 de septiembre de 2026, 13:53:43. Son las 22 filas del ciclo, completas.

Lea la tabla de abajo por columnas y aparece el control interno sin que nadie lo explique. En «En Tránsito», quien mueve el estado es el monitorista de tráfico; el coordinador supervisa y el operador de unidad sólo consulta. En «Entregado», mover el estado requiere al coordinador o al gerente. En «Cerrado» ya nadie mueve nada: el rol de cumplimiento y el gerente consultan, exportan e imprimen, y el sistema conserva permiso de modificación para los movimientos automáticos. La segregación de funciones no está en un manual: está en veintidós filas de una tabla.

Y aparece también una asimetría que vale reportar: el operador de unidad no tiene permiso de exportación en ninguna de sus 18 filas, mientras el administrador del sistema lo tiene en las 122 suyas. Quien captura en la calle no se lleva el dato; quien audita, sí.

Un permiso que sólo existe en el manual se rompe el primer día que alguien sale de vacaciones. Uno que está en la matriz de estado no.

Pendiente de transcripción del motor

Esta tabla es parte de la página, no una disculpa. Lo que el motor todavía no tiene registrado no se rellena con criterio del sector: se declara, con lo que falta y con el conteo exacto. Cuando el motor lo tenga, esta tabla se encoge y las matrices de arriba crecen.

Pendiente de transcripción del motor · qué falta y cuánto

Qué faltaSituación al 27 de septiembre de 2026, 13:53:43Por qué no se publica
Matriz de comportamiento de campos por estadoQué campo queda visible, obligatorio o de sólo lectura en cada estado se configura en la implantación, contra el procedimiento de su empresaEs la matriz que gobierna la pantalla campo por campo. Se publicará cuando tenga filas
Rol autorizado escrito en la transiciónVacío en las 213 de 213 transiciones del proyectoSe publica el permiso donde sí está: las 568 filas de rol por estado. No se le atribuye un rol a una transición que no lo trae
Condiciones por estadoLas condiciones por estado se fijan con su equipo, porque dependen de su operaciónLas condiciones que sí existen viven en la transición —208 de 213— y ésas son las que se publican
Condición explícita en toda transición208 de 213 la traen; las otras cinco vienen vacíasDonde viene vacía se publica un guion. Una condición que no está escrita en el motor no se redacta aquí
Plazo comprometido por transición122 de 213 traen plazo en horas; 91 no lo traenEl plazo de cada transición lo fija su acuerdo de nivel de servicio, no un catálogo
Notificación por transición50 de 213 declaran a quién se avisa o qué aviso se disparaLas otras 163 todavía no lo declaran, y no se supone
Marca de reingreso0 de 213 están marcadas como reingresoSin la marca no se puede distinguir una vuelta legítima de una corrección de error, y no se afirma que se distinga
Reglas de negocio del proyecto0 reglas de negocio dadas de alta en el proyecto de este sistema en el motor al corte indicadoLas validaciones que se publican son las condiciones de las transiciones, no un catálogo de reglas que no existe
Estados válidos y transiciones declarados en la pantallaLos campos de estados válidos y de transiciones de la tabla de pantallas vienen nulos en este proyectoEl amarre de cada una de las 178 pantallas con su ciclo de vida se configura al implantar
Diagramas de arquitectura y agentes de IA del proyecto0 diagramas y 0 agentes dados de alta en el proyectoLo que el brochure declara sobre el ciclo de observar, aprender, sugerir y ejecutar se atribuye al brochure, nunca al motor
Ciclos de vida de las entidades propias de RelevoLa tarea observada, la oportunidad detectada y la automatización aprendida no tienen ciclo de vida en este proyecto: los diecinueve son del negocio logísticoSe publica el ciclo de vida del trabajo que se observa, que es lo que el motor tiene. El del propio observador, cuando lo tenga
Por qué hay dos generaciones del mismo cicloNueve entidades traen dos ciclos de vida cada una, uno corto y uno largoSe publican los diecinueve y se dice que son dos generaciones. Cuál adopta su empresa es decisión de la implantación

Situación del proyecto de este sistema en la base del motor de la casa al 27 de septiembre de 2026, 13:53:43, hora del propio servidor. Un conteo sin hora de corte no es reproducible. por eso va con la hora. Esta tabla se actualiza cuando el motor cambia, no cuando conviene.

Una matriz inventada invalidaría la página entera, porque esto es justamente lo que se está afirmando que existe. Por eso lo que falta se dice, con su número.

Cómo leer estas matrices cuando las vea en pantalla

Las tablas de arriba son el contenido del motor. En el sistema, ese contenido se ve de otra manera: cada estado es una columna de tablero o un filtro de bandeja, y cada transición es el único botón que aparece cuando su rol puede moverla y la condición se cumple. Si el botón no está, no es que se haya ocultado: es que la transición no existe para usted en ese estado.

Hay una consecuencia de diseño que conviene anticipar, porque la primera vez incomoda. Un sistema con matriz de estado tiene menos botones que un formulario, y en cada momento muestra menos opciones. Esa pobreza aparente es el control: la pantalla no le ofrece hacer algo que después alguien tendría que deshacer.

Y una más, que es la que ata esta página con el resto del sistema: el estado no se escribe, se alcanza. Nadie teclea «cerrado» en un embarque. Alguien con el rol correspondiente ejecuta el cierre sobre un embarque cuya documentación está archivada, y el motor escribe el estado, el autor, la hora y el valor anterior. Eso es lo que hace que la observación del trabajo tenga sentido: cuando el recorrido está definido, la tarea repetida se puede reconocer, medir y ejecutar sola sin que nadie pierda el rastro de quién respondía por ella.

El día que le pidan el expediente, la diferencia entre teclear un estado y alcanzarlo es la diferencia entre un archivo y una prueba.

Preguntas frecuentes

¿De dónde salen exactamente estas matrices?

Del motor. Están transcritas del proyecto de este sistema en la base del motor de la casa, en las tablas Spartan_WorkFlow, Spartan_WorkFlow_State, Spartan_WorkFlow_Transition, Spartan_WorkFlow_Roles_by_State y rol_sistema. El corte es del propio servidor: 27 de septiembre de 2026, 13:53:43. Los nombres de estado, de acción y de condición son los del motor, no una redacción para esta página. El nombre del cliente del proyecto viene enmascarado como «cliente A» en el origen y así se publica.

¿Cuántas matrices tiene el sistema en total?

Diecinueve ciclos de vida, con 157 estados y 213 transiciones, sobre ocho roles del proyecto y 568 asignaciones de rol por estado. De las 213 transiciones, 208 llevan condición escrita, 122 llevan plazo en horas, 157 declaran rol de escalamiento y 50 declaran notificación.

¿Por qué las tablas no traen una columna de «rol autorizado»?

Porque el permiso de este sistema no se guarda en la transición: se guarda en la matriz de rol por estado, con 568 filas, que dice para cada estado y cada rol si puede mover el estado y qué puede hacer mientras la cosa está ahí. Esa matriz se publica completa para uno de los ciclos y agregada para los diecinueve, y el hueco queda declarado en la tabla de pendientes.

¿Por qué hay dos ciclos de vida para el embarque, el trayecto y otras siete entidades?

Porque en la base están los dos: uno con código nombrado y otro con código numerado, el segundo con más estados y más transiciones. El motor no registra cuál sustituye a cuál, así que aquí no se decide: se publican los diecinueve, agrupados por generación, y el dato queda en la tabla de pendientes. Elegir el que conviene y callar el otro sería exactamente el defecto que esta página existe para no cometer.

¿Puede alguien cambiar un estado sin pasar por la matriz?

No por la vía normal: el movimiento que no está en la matriz no existe en la pantalla. Y cuando un estado cambia, el motor de estados escribe el historial de la entidad con estado anterior y estado nuevo y una bitácora con la operación, el valor anterior y el valor nuevo. Hay transiciones que además exigen comentario o evidencia para poder ejecutarse.

¿Estas matrices se pueden cambiar si mi operación es distinta?

Sí, y sin orden de cambio. Un estado nuevo, una transición nueva, un umbral de aprobación distinto o un cambio de quién puede mover qué entran por el motor de cambios, que clasifica el impacto, aplica o pide aprobación según el nivel, y deja solicitud, comentario, respaldo del artefacto e instantánea de versión. El recorrido completo está en los cambios, en la sesión.

Referencias

  1. Motor el motor de la casa, base del motor de la casa, el proyecto de este sistema: tablas Spartan_WorkFlow, Spartan_WorkFlow_State, Spartan_WorkFlow_Transition, Spartan_WorkFlow_Roles_by_State y rol_sistema. Consultadas en modo de sólo lectura. Corte tomado del propio servidor: 27 de septiembre de 2026, 13:53:43. Origen de los 19 ciclos, los 157 estados, las 213 transiciones y las 568 filas de rol por estado de esta página.
  2. Motor el motor de la casa, misma base: Spartan_WorkFlow_Matrix_of_States con cero filas en toda la base y Spartan_WorkFlow_Conditions_by_State con cero filas para el proyecto de este sistema en el motor, verificadas al mismo corte. Origen de la tabla de pendientes de transcripción.
  3. Motor de estados en ejecución dentro del sistema generado: — validación de transición y de rol, estados siguientes válidos, ejecución, historial de la entidad, bitácora con valor anterior y nuevo, exigencia de comentario y de evidencia. Verificado el 27 de septiembre de 2026.
  4. Relevo · brochure de logística, 10 páginas: el ciclo de medir, aprender, sugerir y ejecutar, y las tareas del sector que el sistema reconoce. Origen de todo lo que esta página afirma del producto, y de nada de lo que afirma del motor.

El modelo

Primero ve su sistema funcionando, sin costo y sin compromiso. Después decide si lo compra o lo renta.

No es un demo: es Relevo con sus procesos, sus áreas y su operación dentro. Entra, lo recorre y lo usa. Verlo no cuesta nada y no lo compromete a nada. Cuando decida, cobramos por resultados, no por entregables.

Agendar la demostración WhatsApp