Armar una declaración de importación es artesanía costosa. Alguien recibe por correo la factura comercial, el documento de transporte, la póliza y los soportes; los lee, los teclea, busca la subpartida de cada producto, calcula gravamen e IVA a mano y arma la Declaración Andina de Valor. Un error de clasificación o de aritmética es motivo de sanción.
El agente operativo hace ese recorrido completo sobre el DO —el Documento Operativo— y lo deja listo para que una persona lo revise. La aritmética la calcula código, no un modelo.
El agente corre como una tarea de fondo, no como un chat que espera. Recorre las cinco fases sobre cada cliente habilitado y cada DO activo. Pulse una fase.
Determinístico primero, modelo después. El agente intenta resolver con reglas y plantillas antes de gastar una llamada a un modelo, y cuando lo usa lo hace con temperatura en cero.
El documento de una importación no llega en un formato limpio: llega como un PDF con capa de texto, como una foto tomada con el celular, como un Excel del proveedor chino, como un correo reenviado dentro de otro correo, o dentro de un archivo comprimido. El agente tiene un cargador para cada caso y decide cuál usar.
Se lee directamente, sin pasar por reconocimiento óptico. Es el camino rápido y el más exacto.
El PDF se convierte a imagen y se pasa por el motor de visión. Si ese motor falla, entra un motor local de respaldo sin costo, en español e inglés.
La foto tomada con el celular en el puerto se procesa igual que un escaneo.
Muchas listas de empaque y facturas llegan así. Se leen como tabla, no como texto plano.
Certificados, cartas y soportes que llegan en procesador de texto.
El correo reenviado dentro de otro correo se desanida y sus adjuntos se procesan igual.
Los mensajes que alguien guardó y adjuntó también se abren.
Se expanden y cada archivo de adentro entra al enrutador por su cuenta.
Es la decisión de diseño que más diferencia al agente de un lector genérico de documentos. Antes de preguntarle a un modelo, el sistema intenta resolver con reglas deterministas, con un léxico multilingüe y con plantillas hechas a la medida de los proveedores que ese cliente ya tiene.
Cuando el modelo sí interviene, va con temperatura en cero, porque se detectó que la misma factura producía extracciones distintas en corridas distintas.
Un cuerpo grande de reglas que resuelve sin modelo lo que se puede resolver sin modelo: formatos de fecha, monedas, unidades, estructuras de numeración.
Los documentos de comercio exterior llegan en varios idiomas y con vocabularios distintos para lo mismo. El léxico normaliza los términos antes de interpretarlos.
Cajas, pallets, bultos, cartones, drums: un vocabulario propio para el embalaje, que es donde más varía la forma de escribirlo.
Cuando un cliente recibe siempre el mismo formato de un proveedor concreto, se le hace una plantilla a la medida. Es más exacta y más barata que cualquier modelo.
Para lo que las capas anteriores no cubren, un modelo extrae siguiendo un esquema explícito, con temperatura en cero para que la misma factura dé siempre lo mismo.
Si la extracción completa falla, se reintenta con un esquema más pequeño en vez de darla por perdida.
Lo extraído se traduce al modelo del negocio: factura, ítems, documento de transporte, operación. Es la pieza más grande del subsistema.
Lo que el modelo extrae no se acepta por venir de un modelo. Se contrasta casilla por casilla, se cruza entre documentos del mismo DO y se comprueba que los valores sean plausibles.
La subpartida decide cuánto paga la mercancía. Por eso ningún modelo la emite solo, y ninguna clasificación pasa a liquidación sin aprobación humana.
Cuando el DO tiene todo lo que necesita, el motor calcula. No hay inteligencia artificial en este tramo, y es deliberado: la cifra que la agencia le va a declarar a la DIAN tiene que ser reproducible y defendible.
Toma del DO la factura con sus ítems, el documento de transporte, el certificado de flete, la póliza, la tasa de cambio y las opciones de liquidación de ese cliente.
Espejo de los bloqueos del sistema real de la agencia: lo que allá no dejaría liquidar, aquí tampoco.
El motor calcula. Código puro, versionado, sin ningún modelo de por medio. Es la regla de oro escrita en el propio sistema.
Guarda la liquidación como una versión nueva —nunca sobrescribe la anterior— junto con la Declaración de Importación, sus ítems, sus soportes y la Declaración Andina del Valor.
Produce los borradores de la declaración, de la Andina del Valor y la matriz, y los archiva como documentos resultantes del DO.
El DO pasa a liquidado, y con eso entra a la fase de confrontación.
El motor no entrega números a medias. Si una validación dura falla, se detiene, abre una tarea de revisión y deja el DO en espera de una persona. Es la diferencia entre una cifra incompleta y una cifra que no existe.
Antes de que nadie confíe en el agente, el agente se compara. Cuando existe la fuente, el sistema contrasta su propio resultado contra lo que el sistema real de la agencia liquidó para ese mismo DO, en solo lectura, sin tocar nada.
Dos incidentes reales están documentados en el propio código y explican por qué existe esta pieza: un motor de reconocimiento óptico que devolvió error durante meses —ciento cuarenta y un documentos escaneados y ninguno leído— y un árbitro de clasificación que fallaba en veintinueve de cada cuarenta y cinco llamadas, ninguno de los dos con alerta hasta que alguien los buscó.
Ahora hay un evaluador de salud que califica cada corrida y un catálogo de motivos de degradación, para que un deterioro se note el mismo día y no tres meses después.
Cada ejecución se califica. No hay corridas que pasen sin dejar una medida de cómo salieron.
Cuando la calidad baja, el sistema no dice solo que bajó: dice por qué, con un motivo del catálogo.
El estado del recorrido completo a la vista, para que un deterioro se note el mismo día.
Ingesta, extracción, clasificación y liquidación se miden por separado. Un problema de reconocimiento óptico no se confunde con uno de clasificación.
La comparación contra el sistema real de la agencia es el termómetro más honesto que tiene el agente.
La serie en el tiempo, para ver si el agente mejora o empeora y no depender de la impresión de nadie.
Cuando falta un dato, cuando hay una contradicción entre lo que dice el correo y lo que dice el documento, o cuando la decisión es de criterio y no de regla, el agente se detiene y pregunta a la persona que corresponde según su rol en ese DO.
Cada DO tiene sus responsables. El agente pregunta a quien corresponde según su rol, no a una lista genérica.
Correo, Teams o la propia interfaz, según lo que esté habilitado para esa persona y ese tipo de pregunta.
Cuando falta un dato exigible que no está en ningún documento y no se puede deducir sin inventarlo.
Cuando la conversación dice una cosa y el documento dice otra. El agente no escoge por su cuenta.
Cuando no hay política aplicable para un recargo, la decisión es de una persona. El motor no debe suplirla.
Siempre, para todo producto nuevo. No hay excepción por confianza alta ni por consenso de los tres modelos.
Es una regla explícita del sistema, y viene de un caso medido. Si una tarea de revisión contara para el candado del cálculo, un fallo cualquiera dejaría el DO congelado para siempre. Por eso las tareas se abren en paralelo, y cuando la liquidación finalmente pasa, las que ya no aplican se cierran solas.
Filtre por subsistema o busque por nombre: linaje, prorrateo, póliza, onboarding.
La prueba es esa y no otra: usted comparte un correo real con la factura y el documento de transporte, y el agente lo procesa delante de usted hasta la liquidación y los borradores de la declaración. Verá el linaje de cada dato: de qué parte del documento salió y con qué confianza.