Documentación interna: qué es el Clasificador, cómo funciona el circuito con los despachantes y qué hace cada parte. El modelo propone; el humano decide.
01Qué es
A partir de fotos y/o la descripción de un producto, sugiere su posición arancelaria (NCM) y calcula el costo de importarlo a la Argentina.
Combina visión (leer la foto y extraer atributos), búsqueda sobre el nomenclador oficial y un re-rank del modelo para elegir la hoja correcta. Los aranceles (DIE, IVA, ganancias, IIBB), las intervenciones (ANMAT, INAL, etc.) y el antidumping salen de las fuentes reales (ARCA / PCRAM / CNCE), no del modelo.
El valor no es solo la sugerencia: es el bucle. Cada corrección del despachante se convierte en regla y ejemplo para las próximas clasificaciones.
02Dos tipos de usuario
La misma herramienta, dos públicos que no se cruzan.
Despachantes B2BOX
Los nuestros. Hacen el circuito completo (admin → bandeja → admin) sobre las importaciones de B2BOX. Son los únicos que clasifican trabajo de B2BOX.
Usuarios externos (SaaS)
Otros importadores a los que les damos la herramienta. Clasifican sus propios productos. No ven la bandeja de B2BOX ni clasifican nada de B2BOX.
03El circuito
El paso del despachante es humano a propósito: una propuesta del modelo no es un resultado hasta que una persona la mira.
04Cómo clasifica
De la foto (o el texto) a un NCM con su costo, en pasos verificables.
- Caché exacto — si el SKU/EAN ya tiene un NCM validado por un humano, se reusa. Costo cero.
- Visión → atributos — el modelo declara material, función, uso, medidas. Cada dato lleva su fuente (foto, PDF, formulario).
- Retrieval híbrido — BM25 (léxico) + embeddings Voyage (semántico) sobre el nomenclador, fusionados.
- Re-rank — el modelo elige la hoja entre los candidatos, aplicando RGI y las reglas aprendidas.
- Chequeo de cortes — en código se verifica que la hoja no contradiga un dato numérico (peso, pantalla, FOB).
- Enriquecido real — DIE, alícuotas PCRAM, intervenciones y antidumping desde la fuente, más el costo.
05El bucle humano
Lo que hace que el sistema mejore: el despachante revisa, corrige y enseña.
Confirmar o corregir
Cada clasificación se persiste con su rastro completo. El despachante confirma la #1 (nos da la razón) o la corrige. La distinción sostiene la métrica clave: tasa de corrección = corregidas / revisadas.
La regla enseña el patrón
Al corregir, el despachante escribe el criterio ("las botellas de aluminio para bebidas van a 7612.90, no a 8309"). Esa regla se le inyecta al modelo como restricción dura la próxima vez que clasifique algo del mismo capítulo.
06Features
Lo que hace la herramienta día a día. Marcadas Nuevo las de la última iteración.
Campanita Nuevo
El tab Bandeja muestra, desde cualquier pantalla, cuántos pendientes hay sin ver. Abrir uno lo apaga.
Similar previo Nuevo
Al pasar un producto, si ya clasificaste uno parecido (embeddings) lo ofrece como opción con un click.
Miniatura en bandeja Nuevo
La foto de B2BOX se guarda como thumbnail al clasificar, así se reconoce el producto en el historial.
Fotos reales del PDF Nuevo
Packing list en PDF: la foto de cada renglón se recorta de verdad (poppler + visión), no solo se describe.
Mismo producto
Copiar el NCM de otro producto ya clasificado del mismo envío, sin gastar una llamada al modelo.
Pregunta dirigida
Cuando un corte depende de un dato que falta (peso, FOB), pregunta una sola cosa en vez de adivinar.
Verificaciones
Intervenciones (ANMAT, INAL, SENASA…) y antidumping (CNCE) sobre el NCM elegido, desde la fuente.
Costos al centavo
Gasto real de Anthropic por clasificación y total. Panel solo para admin.
Editor de prompts
Editar los prompts de visión y re-rank desde la UI; persisten en Supabase. Gateado a dev.
07Lote / packing list
Un envío entero: una clasificación por producto, con su foto y su avance visible.
Se sube un Excel (fotos ancladas a las celdas) o un PDF. En ambos casos se reconstruye la tabla y se clasifica de a uno — no los 30 en un request: así cada resultado llega apenas está, el usuario ve el avance y puede frenar sin perder lo ya pagado.
Excel
Las fotos vienen ancladas a las celdas: se extraen y se muestran directo.
La página se renderiza, el modelo ubica la caja de cada foto, se recorta con pdftoppm y se
liga al renglón por SKU/descripción. Un filtro de calidad descarta los recortes vacíos.
08Roles y acceso
Login con Supabase, separado del admin. El costeo y las pantallas de dev están gateados.
| Rol | Puede |
|---|---|
| todos (logueados) | Clasificar, ver la bandeja, revisar y corregir. |
| dev | Lo anterior + costeo (modo completo del clasificador). |
| head_of_dev · admin | Todo + las pantallas de gestión: Prompts, Inspector, Costos y esta Ayuda. |
09Endpoints principales
Todos bajo sesión. El circuito con el admin entra por un endpoint externo con API key.
| Método | Ruta | Qué hace |
|---|---|---|
| POST | /api/clasificar | Clasifica un producto → NCM + aranceles + costo. |
| POST | /api/clasificar/responder | Responde una pregunta dirigida y fija la hoja sin re-clasificar. |
| GET | /api/bandeja | Lista de solicitudes del despachante. |
| GET | /api/bandeja/pendientes | Conteo + referencias de pendientes (la campanita). |
| GET | /api/bandeja/:ref | Detalle + aranceles + similares previos. |
| POST | /api/bandeja/:ref/clasificar | Corre el modelo sobre lo que mandó el admin. |
| POST | /api/bandeja/:ref/resolver | Confirma o descarta; recién acá el admin recibe el NCM. |
| POST | /api/lote/analizar | Planilla/PDF → tabla de productos (con fotos). No llama al modelo. |
| GET | /api/metricas | Tasa de corrección y otros indicadores del bucle. |
10Deploy
Coolify con Nixpacks (autodetect Node).
nixpacks.tomlagregapoppler_utilsal build (fotos del PDF). Sin él, cada renglón queda con su descripción de texto — no rompe.- Los datos del nomenclador y las alícuotas son generados, no versionados: se reconstruyen con los scripts de ingesta.
- La base de
clasificaciones(historial de correcciones) es la única irreemplazable: sobrevive a re-ingestas.

