{{ screenEyebrow }}

{{ screenTitle }}

{{ queryHint }}
{{ bizDayRange }}
{{ dayState }}
{{ dayWeekday }} {{ dayLabel }}
Agente activo
{{ today }}

Cómo va el día

{{ dayClosingNote }}

Avance de cada sucursal

Del pedido a la conciliación · toca una celda para abrir el paso
Sucursal {{ st.label }} {{ st.sub }}
{{ b.name }} {{ b.manager }}

Lo que te toca resolver ahora

{{ todoCount }}
{{ t.pill }}
{{ t.title }} {{ t.detail }}
{{ reconStatus }} Dif. total {{ reconTotal }}

Doble clic o Enter para editar una celda. Flechas para moverte, Tab para avanzar. Los cambios quedan en borrador hasta que los confirmes abajo.

Producto {{ c.label }} Dif.
{{ row.name }} {{ row.sku }}
{{ row.dif }}
Total {{ t.value }} {{ reconTotal }}

Investigación del descuadre

{{ f6Subtitle }}
{{ s.label }} {{ s.finding }}
{{ s.tag }}
El agente propone el ajuste; solo la administradora lo aprueba (BR-03, BR-15).
{{ trazaEventState }}
{{ today }}

Dónde quedó el dinero del pan

{{ trazaScope }}
Valorado a precio de catálogo
{{ b.label }} {{ b.qty }} pzas · {{ b.pct }} {{ b.amount }} {{ b.note }}

Cada pan, de la charola a la caja

Toca un producto para ver sus eventos
{{ h.label }}
{{ p.name }} {{ p.sku }}
{{ p.disponible }} {{ p.vendido }} {{ p.recuperado }} {{ p.interno }} {{ p.merma }} {{ p.gap }} {{ p.venta }} {{ p.perdida }}
{{ p.pct }}

Qué hay que decidir con esto

{{ g.tag }} {{ g.value }} {{ g.title }} {{ g.detail }}

Traspasos entre sucursales

Salida y entrada deben coincidir · F3
{{ h.label }}
{{ t.product }} {{ t.sku }} {{ t.from }} {{ t.to }} {{ t.photo }} {{ t.state }}

Redistribución a Marista

F4 · requiere foto
{{ m.product }} {{ m.sku }} · desde {{ m.from }} {{ m.state }}
Col. 1 · enviado desde origen Col. 2 · recibido en Marista

Productos

Edición inline · confirma abajo
{{ h.label }}
{{ p.sku }} {{ p.category }}
Reporte de cierre · F8

{{ today }} · cuatro sucursales

{{ h.label }}
{{ r.branch }} {{ r.inicial }} {{ r.entregado }} {{ r.vendido }} {{ r.merma }} {{ r.dif }} {{ r.status }}
Pendiente de aprobación {{ p }}

Reprocesar días pasados

{{ bfWarn }}
Bitácora de la corrida {{ bfProgress }}
{{ l.day }} {{ l.text }} {{ l.tag }}
Un día sin evidencia real queda pendiente; el agente nunca lo completa con datos fabricados (F17).

Personas y números

Resolución de identidad · BR-01
{{ h.label }}
{{ d.role }} {{ d.branch }} {{ d.scope }}

Los mensajes de un número de sucursal se atribuyen a la sucursal, no a una persona. Para aprobar o corregir, el agente pide identificar quién escribe.

{{ k.value }} {{ k.label }}
{{ pedFilterSummary }}
{{ h.label }}
{{ o.caret }}{{ o.folio }} {{ o.client }} {{ o.tipo }} {{ o.canal }} {{ o.entrega }} {{ o.qty }} {{ o.amount }} {{ o.state }}
{{ l.name }} {{ l.sku }} {{ l.qty }} pzas {{ l.price }} {{ l.amount }}
{{ h.label }}
{{ c.client }} {{ c.tipo }} {{ c.canal }} {{ c.orders }} {{ c.qty }} {{ c.amount }} {{ c.pend }}
{{ h.label }}
{{ p.name }} {{ p.sku }} {{ p.orders }} {{ p.clients }} {{ p.mayor }} {{ p.menor }} {{ p.total }} {{ p.amount }}
Mensajes sin parsear {{ r.text }} · {{ r.from }}
{{ weekRange }} {{ weekState }}
{{ weekGrandTotal }} pzas
{{ weekLockNote }}

Pedido por día

{{ weekScope }}
{{ h.label }}
{{ g.title }}
{{ p.name }} {{ p.sku }} {{ p.price }} {{ p.total }} {{ p.amount }}
Total {{ g.title }} {{ d.value }} {{ g.total }} {{ g.amount }}
Total general {{ d.value }} {{ weekGrandTotal }} {{ weekGrandAmount }}
{{ weekDirtyLabel }} · quedan en borrador hasta que guardes

{{ weekNote }}

Fecha {{ hojaDate }}

{{ hojaDestDetail }}

{{ f.role }} {{ f.state }}
{{ f.person }} {{ f.detail }}
{{ h.label }}
{{ g.title }}
{{ p.name }} {{ p.sku }} {{ p.pedido }} {{ p.regresa }} {{ p.queda }}
Total {{ g.title }} {{ g.pedido }} {{ g.prod }} {{ g.carg }} {{ g.entr }} {{ g.regresa }} {{ g.entr }}
Total de la hoja {{ hojaTotals.pedido }} {{ hojaTotals.prod }} {{ hojaTotals.carg }} {{ hojaTotals.entr }} {{ hojaTotals.regresa }} {{ hojaTotals.entr }}

{{ hojaNote }}

Diferencias de la hoja

{{ hojaIssueTitle }}
{{ i.text }} {{ i.detail }}
Lo que no se acusa queda abierto y pasa a conciliación.
{{ cocinaCount }} {{ cocinaTotal }}

Qué va a cada destino

Una sección por destino · dentro, la columna dice si va a vitrina o a cocina
Producto Vitrina Cocina Pedido cliente Total
{{ g.caret }} {{ g.title }} {{ g.chip }} {{ g.sub }} · {{ g.origin }} · {{ g.lineCount }} {{ g.tv }} {{ g.tc }} {{ g.tped }} {{ g.ttotal }}
{{ r.name }} {{ r.sku }} {{ r.v }} {{ r.c }} {{ r.ped }} {{ r.total }}
Total a surtir {{ surtidoTotals.sv }} {{ surtidoTotals.sc }} {{ surtidoTotals.cliente }} {{ surtidoTotals.total }}

Cuánto sacar de cada producto

Consolidado del anaquel · el desglose dice a qué caja va cada pieza
Producto Sucursal vitrina Sucursal cocina Mayorista Minorista Total
{{ r.name }} {{ r.sku }}
{{ r.sv }} {{ r.sc }} {{ r.may }} {{ r.min }} {{ r.total }}
Total a surtir {{ surtidoTotals.sv }} {{ surtidoTotals.sc }} {{ surtidoTotals.may }} {{ surtidoTotals.min }} {{ surtidoTotals.total }}

Una caja por destino: vitrina de sucursal, cocina de sucursal y cada pedido de cliente van separados desde central. La vista por producto es para sacar del anaquel; la vista por destino es para armar y firmar cada entrega.

{{ k.label }} {{ k.value }} {{ k.meta }}

Detalle por canal

Cada pieza viene del cierre de vitrina
{{ h.label }}
{{ it.name }} {{ it.sku }}
{{ p.value }} {{ it.qty }} {{ it.price }} {{ it.amount }}
Total {{ c.label }} {{ b }} {{ c.totalQty }} {{ c.totalAmount }}

{{ ventasFootnote }}

{{ r.id }} {{ r.driver }} {{ r.hour }}
{{ r.state }}
{{ s.label }} {{ s.qty }}
{{ r.evidence }}

Por qué el plan pide lo que pide

max(0, suc. aprobado + pedidos + programado + seguridad − existencia)
{{ h.label }}
{{ r.name }} {{ r.sku }}
{{ r.asked }} {{ r.branches }} {{ r.orders }} {{ r.forecast }} {{ r.safety }} −{{ r.onHand }} {{ r.required }}
Total a producir en el día operativo {{ requerimTotal }}
Captura por sucursal {{ c.branch }} {{ c.state }} {{ c.qty }} · {{ c.at }}
De dónde sale cada columna

El cálculo es determinista y vive en código. Un agente puede invocarlo y explicar el resultado; no lo estima.

{{ k.value }} {{ k.label }}

Batches del día

Un batch consume lotes y produce producto identificado por batch
{{ h.label }}
{{ b.code }}
{{ b.name }} {{ b.sku }}
{{ b.recipe }} {{ b.planned }} {{ b.produced }} {{ b.rejected }} {{ b.yieldPct }} {{ b.state }}

A dónde fue lo producido

Por producto y destino del día operativo · vitrina es venta al público, cocina es insumo del menú
Producto Producido Centro Norte Montes Ame Pedidos cliente A existencia Sin cubrir
Vitrina Cocina Vitrina Cocina Vitrina Cocina
{{ d.name }} {{ d.sku }}
{{ d.produced }} {{ d.cv }} {{ d.cc }} {{ d.nv }} {{ d.nc }} {{ d.mv }} {{ d.mc }} {{ d.pedidos }} {{ d.stock }} {{ d.gap }}
Total del día {{ destinoTotals.produced }} {{ destinoTotals.cv }} {{ destinoTotals.cc }} {{ destinoTotals.nv }} {{ destinoTotals.nc }} {{ destinoTotals.mv }} {{ destinoTotals.mc }} {{ destinoTotals.pedidos }} {{ destinoTotals.stock }} {{ destinoTotals.gap }}

Un rendimiento bajo no es un error: el costo unitario sube solo y esa es la señal. Lo que sí abre revisión es la variación contra lo planeado. "Sin cubrir" es lo que alguien pidió y la producción del día no alcanzó a surtir.

Disponible por producto y ubicación

Valor del inventario · {{ stockValue }}
{{ h.label }}
{{ r.name }} {{ r.loc }} {{ r.available }} {{ r.onHand }} {{ r.reserved }} {{ r.cost }} {{ r.value }}

Movimientos del día

Ledger inmutable · las ubicaciones virtuales hacen que sume cero
{{ h.label }}
{{ l.at }} {{ l.type }} {{ l.name }} {{ l.path }} {{ l.qty }} {{ l.ref }}

Movimientos internos de la sucursal

Vitrina, cocina y comedor · sin custodia ni acuse, no pasan por Envíos
{{ h.label }}
{{ m.at }} {{ m.branch }} {{ m.type }} {{ m.flag }} {{ m.path }} {{ m.outName }} {{ m.outQty }} {{ m.inName }} {{ m.inQty }} {{ m.reason }}

{{ internoNote }}

Órdenes de compra

La recepción física escribe al ledger, no la orden
{{ h.label }}
{{ p.folio }} {{ p.supplier }} {{ p.state }} {{ p.expected }} {{ p.lines }} {{ p.amount }}

Recibido hoy

Toda recepción exige lote y costo unitario
{{ h.label }}
{{ r.lot }} {{ r.name }} {{ r.qty }} {{ r.cost }} {{ r.expires }}

Clientes B2B

El retail anónimo no es un cliente · la puerta de crédito se evalúa al confirmar
{{ h.label }}
{{ c.name }} {{ c.terms }} {{ c.limit }} {{ c.balance }} {{ c.available }} {{ c.state }}

Facturas y timbrado

La factura es comercial; el CFDI puede fallar o tardar
{{ h.label }}
{{ f.folio }} {{ f.client }} {{ f.issued }} {{ f.total }} {{ f.cfdi }}
{{ k.value }} {{ k.label }}
{{ h.type }} {{ h.priority }} {{ h.command }}

{{ h.title }}

{{ h.hypothesis }}

Aprobador mínimo {{ h.approver }} Vence {{ h.expires }}

El comando queda congelado en espera; no se ejecuta y después se revierte. Al aprobar se ejecuta con el payload original. Al vencer, no se ejecuta nada.

Hechos emitidos hoy

Un correlation_id agrupa una intención de negocio completa
{{ h.label }}
{{ e.at }}
{{ e.ctx }} {{ e.type }}
{{ e.aggregate }} {{ e.actor }} {{ e.corr }}

Un comando rechazado no aparece acá: no ocurrió nada. Solo queda en el registro de comandos.

Agente y automatización

{{ t.label }} {{ t.detail }}

Reglas de operación

{{ r.label }} {{ r.value }}

Roles y accesos

{{ r.role }} {{ r.scope }}
Sin guardar {{ editCount }}
{{ e.where }} {{ e.change }}
{{ toast }}