OdA · Hub Intelligence
Oasis del Alma
Hub Intelligence de Negocio

El corazón operativo de Oasis del Alma.

Bienvenidos todos y todas a este sueño, creado, trabajado e inspirado en y para ti.

Bienestar en cada respiro · Hecho en Colombia
Bienvenido de nuevo

Inicia sesión

Accede con tu cuenta de Oasis del Alma.

{{ loginError }}
{{ loginInfo }}

Escribe tu correo arriba y te enviaremos un enlace para restablecerla. ¿Necesitas una cuenta? Contacta al administrador.

{{ crumb }}
{{ pageTitle }}
Meta Ads · revisión diaria
{{ maCampTitulo }}
{{ maCampTexto }}
{{ x.anuncio }}
{{ x.sub }} · {{ x.dat }}
{{ x.mot }}
{{ maCampMas }}
{{ accessLabel }}
Hola, {{ userName }}
{{ inicioFecha }} · esto es lo que tienes pendiente hoy

Alertas y recordatorios

{{ recPendN }} pendientes
{{ recVacioTxt }}
{{ r.titulo }} {{ r.etiqueta }}
{{ r.cuando }}
{{ r.detalle }}
{{ r.autor }} · {{ r.notasN }} notas
{{ u.ini }}
No tienes módulos asignados todavía. Pide a un administrador que revise tus permisos.

{{ c.title }}

{{ c.desc }}
{{ c.n }}
Al día · sin pendientes
{{ it.title }} {{ it.sub }} {{ it.right }}
Informe gerencial
{{ infMesLabel }}
{{ infGenerado }}
Mes en curso
{{ k.label }}
{{ k.valor }}
{{ k.nota }}
{{ k.prevLab }}{{ k.dPrev }}
{{ k.yoyLab }}{{ k.dYoY }}
{{ a.txt }}
Lectura del mes
{{ infIaTxt }}
{{ infIaErr }}
Analizando ventas, inventario, caja y pauta del mes…
Evolución del ingreso
Últimos 12 meses, ingreso neto
{{ s.label }}
Ventas por método de pago
Sin ventas en el mes.
{{ c.metodo }}
{{ c.ing }} {{ c.delta }}
{{ c.ped }} · {{ c.part }} del ingreso
Ventas por canal
Sin ventas en el mes.
{{ c.canal }}
{{ c.ing }} {{ c.delta }}
{{ c.ped }} · {{ c.part }} del ingreso
{{ sopConfErr }}
Ventas por ciudad
Sin ventas en el mes.
{{ c.ciudad }}
{{ c.ped }} {{ c.part }} {{ c.ing }}
Clientes
{{ c.label }}
{{ c.valor }}
Sin clientes en el mes.
{{ c.nombre }}
{{ c.ciudad }} · {{ c.ped }}
{{ c.total }}
Inventario
{{ i.label }}
{{ i.valor }}
Capital sin rotar · {{ infInmTotal }}
{{ infInmN }} productos con stock sin ventas en 90 días
{{ x.nombre }}
{{ x.stock }} und {{ x.valor }}
Caja y cartera
{{ k.label }}
{{ k.valor }}
Marketing
{{ m.label }}
{{ m.valor }}
{{ infMktNota }}
Órdenes activas
{{ kpiActivas }}
en proceso de compra
Por aprobar
{{ kpiPorAprobar }}
esperan visto bueno
Saldo por pagar
{{ kpiPorPagar }}
facturas pendientes / parciales
Stock bajo
{{ kpiStockBajo }}
materias bajo el mínimo

Órdenes recientes

{{ o.numero }} {{ o.proveedorNombre }} {{ o.totalFmt }} {{ o.eoLabel }}

Alertas de stock

{{ m.nombre }} {{ m.codigo }} {{ m.stockActual }} {{ m.unidad }} mín. {{ m.stockMinimo }}
Código Proveedor NIT Contacto Teléfono / WhatsApp Ciudad Pago Calif.
{{ p.codigo }} {{ p.nombre }}{{ p.supplyTag }} {{ p.nit }} {{ p.contactoNombre }}{{ p.email }}
{{ t.display }}
{{ p.ciudad }} {{ p.condicionesPago }} {{ p.stars }}
Código{{ arrCodigo }} Nombre{{ arrNombre }} Tipo{{ arrTipo }} Costo unit.{{ arrCosto }} Proveedor{{ arrProv }} Marca Stock{{ arrStock }}
{{ m.codigo }} {{ m.nombre }} {{ m.tipo }} {{ m.costoFmt }}/{{ m.unidad }}IVA {{ m.iva }}% {{ m.proveedorNombre }} {{ m.marca }} {{ m.stockActual }} {{ m.unidad }}mín. {{ m.stockMinimo }}
{{ m.codigo }} {{ m.tipo }}
{{ m.nombre }}
{{ m.proveedorNombre }}
Costo unit.
{{ m.costoFmt }}
por {{ m.unidad }} · IVA {{ m.iva }}%
Stock
{{ m.stockActual }}
mín. {{ m.stockMinimo }}
Código Servicio Categoría Proveedor Frecuencia Estado Costo
{{ s.codigo }}{{ s.fechaFmt }} {{ s.nombre }}{{ s.supplyTag }}{{ s.finaxTag }}{{ s.nota }} {{ s.categoria }} {{ s.proveedorNombre }} {{ s.frecuencia }} {{ s.estadoL }} {{ s.costoFmt }}IVA {{ s.iva }}%Por pagar {{ s.saldoFmt }}
No hay servicios que coincidan con este filtro.
Mercancía recibida en bodega · {{ recepPendN }} por asignar
Registrada desde la app. Elige la orden de compra pendiente y el inventario se suma como entrega de esa orden.
{{ r.titulo }}
{{ r.sub }}
{{ it.nombre }} {{ it.codigo }} {{ it.cantTxt }}
Ninguna orden abierta tiene este código pendiente.
Nota de bodega: {{ r.nota }}
{{ r.nSelTxt }}
{{ r.aviso }}
Solo administración o Compras con escritura pueden asignarla.
{{ o.numero }}{{ o.supplyTag }}{{ o.finaxTag }} {{ o.eoLabel }} {{ o.epLabel }}
{{ o.proveedorNombre }} · {{ o.fechaFmt }} · {{ o.itemsCount }} ítems{{ o.facturaTxt }}
Creada por {{ o.creadaPor }}
{{ o.entregaResumen }}
{{ o.totalFmt }}
{{ o.saldoTxt }}
Esperando aprobación del administrador
No hay órdenes en este filtro.
Fecha de inicio de operaciones
Solo se descuentan del inventario los movimientos registrados a partir de esta fecha. Los inventarios cargados antes de esta fecha se toman como saldo base.
El conteo del inventario inicial queda fechado el día anterior — {{ fechaInventarioLabel }} — y así aparece como primer movimiento en el kardex.
Actualmente: {{ fechaCorteLabel }}

Herramientas de datos

Órdenes con inventario descuadrado
Compara lo pedido en cada orden contra lo realmente recibido en sus entregas. Cuando no cuadran, el stock de esa materia quedó mal. Recuadrar revierte el ingreso viejo y aplica el correcto, incluido el costo promedio.
{{ x.numero }} · {{ x.detalle }}
Recalcular stock desde órdenes de compra
Toma las entregas registradas en órdenes de compra y actualiza el stockActual y el costo unitario promedio de las materias que estén en cero. No toca materias que ya tienen stock asignado.
Recuperar costos desde órdenes (sin tocar el stock)
Recalcula el costo unitario promedio de cada materia a partir de las órdenes de compra, sin modificar el inventario. Útil para recuperar costos que quedaron en cero.
Limpiar histórico de ventas
Elimina todas las ventas marcadas como histórico (importadas desde 2020) de la nube y este equipo. Úsalo si quedaron duplicadas o fragmentadas, y vuelve a importar el archivo después.
Corregir pedidos y consecutivos duplicados
Borra filas de pedidos repetidos y renumera consecutivos ODA-##### chocados entre pedidos distintos. Nunca toca montos/pagos ni el consecutivo original de ventas manuales.
Renumerar consecutivos OdA (cronológico)
Reasigna el consecutivo a TODAS las ventas vivas en orden por fecha: la más antigua = ODA-00001. Los movimientos de banco y cruces se actualizan solos. No toca el histórico.
Bank Deposit → Por cobrar (cuenta Bold)
Los pedidos de Shopify con método Bank Deposit que quedaron marcados como pagados vuelven a Por cobrar con la cuenta Bold por defecto, para que los confirmes cuando llegue la plata. No toca cancelados, cruzados ni cobros ya registrados.
Unificar canales en la nube
Corrige y reescribe en la nube los canales con variantes (ej. «Pagina Web» sin tilde → «Página Web», «Shopify»/«Web» → «Página Web»), para que dejen de aparecer duplicados en Inteligencia de ventas.
Marcar pedidos preliminares como WhatsApp
Sube la exportación de pedidos de Shopify (CSV o Excel). Solo cambia el CANAL de los pedidos cuya columna «Source» dice «draft» (pedidos preliminares) y que ya existen en el Hub, incluido el histórico. No toca ítems, pagos, OV ni nada más; se reescriben en la nube únicamente los pedidos que cambian.
Borrar todas las órdenes de compra
Elimina permanentemente todas las órdenes y revierte automáticamente el inventario que fue sumado por sus entregas. Usar para reingresar órdenes correctamente.

Reglas de negocio

Aplicadas automáticamente
Margen mínimo de venta
Productos con margen por debajo de este % muestran una alerta en la vista de Desarrollo de producto.
%
Descuento máximo en cotizaciones
Porcentaje máximo de descuento permitido. Se muestra como referencia al equipo comercial al crear cotizaciones.
%
Umbral de aprobación de órdenes
Órdenes de compra por encima de este monto quedan en estado "Por aprobar" y requieren visto bueno del administrador.
$
Envío gratis desde
Monto mínimo del pedido para aplicar envío gratis. Referencia visible al equipo de ventas al registrar pedidos.
$
Grupo de alistamiento (WhatsApp)
Adónde se envían los pedidos de reenvío desde Servicio al Cliente. Pega el enlace del grupo (chat.whatsapp.com/…) o un número de la persona de bodega (ej. 3134063259). Se comparte con todo el equipo (nube).
WhatsApp automático (Cloud API)
Envía confirmación, guía de despacho, recordatorio de pago y postventa por WhatsApp. Requiere las credenciales configuradas en el servidor (número dedicado de la Cloud API).

Reglas de empaque de pedidos

Aplicadas al registrar ventas
Pedidos con kit
El kit ya incluye todo el material de empaque en su estructura. No se agregan materiales adicionales.
Sin cambios
Bolsa por defecto (pedidos sin kit)
Se agrega automáticamente a cada venta que no contiene ningún kit. Puedes poner uno o varios códigos separados por + (ej: MP-0087 + MP-0107). Modificable desde el detalle del pedido.
{{ reBolsaNombre }}
Caja específica por producto
{{ r.productoCodigo }}
{{ r.productoNombre }}
{{ r.cajaNombre }}

Respaldo y seguridad de datos

Información del negocio
Respaldo automático
Cada día el sistema guarda una copia de seguridad interna en este equipo. Último cambio guardado: {{ backupLastSaveFmt }}.
Copia: {{ backupAutoFechaFmt }}
Historial de copias · {{ backupHistNota }}
{{ h.fechaFmt }} {{ h.pesoTxt }}
Descargar respaldo
Guarda en tu computador un archivo con toda la información: inventario, proveedores, ventas, leads, finanzas y configuración. Hazlo con frecuencia y guárdalo en un lugar seguro (o en la nube).
Restaurar desde un archivo
Reemplaza toda la información actual por la del archivo de respaldo. Útil al cambiar de computador o recuperar datos. Esta acción sobreescribe lo que haya ahora.
Volver a descargar todo de la nube
Normalmente la app solo baja lo nuevo o corregido desde la última vez. Usa esto si sospechas que a este equipo le falta información.
Hoy los datos viven en este equipo. Cuando la app pase a estar en línea (en la nube), el respaldo será continuo y automático en el servidor, y todos los usuarios compartirán la misma información en tiempo real.

Inteligencia Artificial

{{ aiStateLabel }}
Los módulos como Inteligencia de ventas y los textos sugeridos con IA usan una cuenta de un proveedor de IA. Registra aquí la clave de acceso (API key). Puedes usar Google Gemini (tiene nivel gratuito) o Anthropic (Claude). Si registras las dos, elige cuál usar.
Proveedor activo:
Seguridad: la clave es como la contraseña de tu cuenta de IA. Se guarda solo en este equipo y no se comparte. No la registres en computadores públicos o compartidos.
¿No tienes clave? La de Gemini es gratis: entra a aistudio.google.com/apikey con tu cuenta de Google y crea una (empieza con AIza…). Si dejas todo vacío, los módulos de IA quedan inactivos pero el resto de la app funciona normal.

Usuarios

{{ u.initials }} {{ u.name }}{{ u.email }}{{ u.role }} {{ u.resumenAcceso }} Contraseña:{{ u.clave }}cámbiala para verla

Permisos por usuario

El nivel de cada módulo se calcula desde sus submódulos
Usuario Compras Desarrollo Producción Inventario Ventas Conversaciones Finanzas Marketing Informes Logística Admin
{{ r.initials }}
{{ r.name }}
{{ r.role }}
El nivel del módulo es el resumen de sus submódulos: si el usuario tiene acceso a al menos uno, el módulo le aparece. Clic en cualquier celda o en el nombre para ajustar los submódulos. Admin = acceso total.
{{ permDetailInitials }}
{{ permDetailName }}
{{ permDetailRole }}
Permisos por submódulo · clic para ciclar nivel
{{ pmod.label }}

Una mezcla (blend) une varios aceites esenciales en una sola fórmula reutilizable —como Respira, Calma o Alivio— y luego se usa como ingrediente al crear productos.

Aún no hay mezclas

Crea tu primer blend combinando aceites esenciales; el costo por ml se calcula solo.

{{ mz.codigo }}
{{ mz.nAceites }} aceites · {{ mz.rendimiento }} ml
{{ mz.nombre }}
{{ mz.descripcion }}
{{ a.nombre }}{{ a.cantidad }} ml · {{ a.pct }}%
Costo por ml
{{ mz.costoUnitFmt }}
Costo lote
{{ mz.costoFmt }}
CódigoMezclaAceites RendimientoCosto/mlCosto lote
{{ mz.codigo }} {{ mz.nombre }} {{ mz.nAceites }} {{ mz.rendimiento }} ml {{ mz.costoUnitFmt }} {{ mz.costoFmt }}

Aún no hay productos

Crea tu primer producto con su fórmula de materias e insumos; el costo y el margen se calculan solos.

{{ p.fotoNode }} {{ p.formatoLabel }}
{{ p.codigo }}
{{ p.nombre }}
{{ p.tamano }} · {{ p.tipoTxt }}
Precio
{{ p.precioFmt }}
Margen {{ p.margenPct }}
Costo {{ p.costoFmt }} · Utilidad {{ p.margenFmt }}
Stock {{ p.stockActual }} und · {{ p.ivaTxt }}
Margen por debajo del mínimo
{{ prodSelTxt }}
CódigoProductoFormato PrecioCosto MargenStock
{{ p.codigo }} {{ p.nombre }}{{ p.tamano }} · {{ p.tipoTxt }} {{ p.formatoLabel }} {{ p.precioFmt }}{{ p.ivaTxt }} {{ p.costoFmt }} {{ p.margenPct }} {{ p.stockActual }}

Aún no hay kits

Arma un kit combinando productos terminados, insumos y empaques. Verás el ahorro frente a comprar suelto y el margen.

{{ k.fotoNode }} Ahorra {{ k.ahorroPct }}
{{ k.codigo }} · {{ k.nComponentes }} componentes
{{ k.nombre }}
{{ c.cantidad }}×{{ c.nombre }}
Precio kit
{{ k.precioFmt }}{{ k.sumaFmt }}
Margen {{ k.margenPct }}
CódigoKitComponentes PrecioSueltoMargen
{{ k.codigo }} {{ k.nombre }} {{ k.nComponentes }} {{ k.precioFmt }} {{ k.sumaFmt }} {{ k.margenPct }}

Registra la producción de cada mezcla de aceites en mililitros. Al producir se consumen los aceites esenciales de la fórmula y sube el stock de mezcla disponible para envasar.

Órdenes de producción
{{ omCount }}
producción registrada
Mezcla producida
{{ omMl }}
ml en total
Costo de producción
{{ omCostoTotalFmt }}
aceites consumidos

Órdenes de producción

Aún no has registrado producción de mezclas.
{{ op.numero }} {{ op.mezclaNombre }}{{ op.fechaFmt }} · {{ op.costoUnitFmt }} {{ op.mlTotal }} ml {{ op.totalFmt }}

Stock de mezclas

{{ s.nombre }}{{ s.inicialTxt }}rendimiento {{ s.rend }} ml/lote · costo vigente {{ s.costoVigFmt }}{{ s.difTxt }} {{ s.ml }}ml
STOCK
{{ stockSolProdTit }}
El agente de inventario no mueve nada solo: cada ajuste y cada producción espera tu aprobación. Al aprobar se calcula contra el stock de este momento.
{{ s.tipoL }} {{ s.titulo }} {{ s.cuando }}
{{ l.t }}
Nota: {{ s.nota }}
{{ s.aviso }}

Registra los lotes producidos de cada producto terminado. Al producir, se descuentan las materias de la fórmula (PEPS) y sube el stock disponible.

Órdenes de producción
{{ opCount }}
lotes registrados
Unidades producidas
{{ opUnidades }}
en total
Costo de producción
{{ opCostoTotalFmt }}
materias consumidas

Órdenes de producción

Aún no has registrado producción.
{{ op.numero }} {{ op.resumen }}{{ op.fechaFmt }} · {{ op.nLineas }} producto(s){{ op.stockTag }}Recarga {{ op.cantidad }} und {{ op.totalFmt }}

Stock de producto terminado

{{ s.nombre }}Inicial {{ s.inicial }} · Producido {{ s.producido }} {{ s.stock }}und
Valor total del inventario
{{ invValTotal }}
Materias primas, insumos, empaques, envases, mezclas, producto terminado y producto en consignación, valorados al costo actual.
Composición del inventario
Materia prima{{ invValMP }}{{ invPctMP }}
Insumos{{ invValIns }}{{ invPctIns }}
Empaques{{ invValEmp }}{{ invPctEmp }}
Envases{{ invValEnv }}{{ invPctEnv }}
Mezclas{{ invValMez }}{{ invPctMez }}
Producto terminado{{ invValPT }}{{ invPctPT }}
En consignación{{ consigInvCosto }}{{ invPctConsig }}
Materia prima
{{ invValMP }}
{{ invCountMP }} referencias · {{ invPctMP }}
Insumos
{{ invValIns }}
{{ invCountIns }} referencias · {{ invPctIns }}
Empaques
{{ invValEmp }}
{{ invCountEmp }} referencias · {{ invPctEmp }}
Envases
{{ invValEnv }}
{{ invCountEnv }} referencias · {{ invPctEnv }}
Mezclas
{{ invValMez }}
{{ invCountMez }} con stock · {{ invPctMez }}
Producto terminado
{{ invValPT }}
{{ invCountPT }} productos · {{ invPctPT }}
Producto en consignación · al costo
{{ consigInvUnid }} unidades en {{ consigInvTiendas }} tienda(s) · incluido en el valor total · no incluye empaques ni materiales
{{ consigInvCosto }}

{{ invCatLabel }}

{{ invCatCount }} referencias Valor al costo {{ invCatTotalFmt }}
Sin referencias en esta categoría.
{{ r.nombre }} {{ r.stockTxt }} {{ r.valorFmt }}

Stock bajo el mínimo

{{ invNumBajos }}
{{ m.nombre }}{{ m.tipoLabel }} · {{ m.codigo }} {{ m.stockActual }} {{ m.unidad }}mín. {{ m.stockMinimo }}
Todo el stock está por encima del mínimo.

Producto terminado sin stock

{{ invNumSinStock }}
{{ p.nombre }} {{ p.codigo }}
Todos los productos tienen stock disponible.

Materias primas, insumos, empaques y producto terminado, valorados al costo actual.

Valor {{ invItemsScope }} {{ invItemsTotal }}
Estado
{{ invItemsCount }} ítems
Código Ítem Categoría Stock Costo unit. Valor Estado
{{ r.codigo }} {{ r.nombre }} {{ r.catLabel }} {{ r.stockTxt }}{{ r.subTxt }} {{ r.costoFmt }} {{ r.valorFmt }} {{ r.estadoLabel }}
No hay ítems con ese filtro.
Bot caído · {{ iaFalloN }} Ningún modelo de IA respondió: el cliente recibió el mensaje de «problema técnico» y espera a un humano. Revisa las llaves de IA de la función agente.
{{ iaFalloMas }}
Te toca responder · {{ convPendN }}
{{ convPendMas }}
{{ r.n }}
Nada por acá con este filtro
{{ c.label }}
{{ c.noLeidos }}
{{ c.cliente }} {{ c.tiempo }}
{{ c.preview }}
Sin datos de contacto en línea {{ c.asigIni }} {{ c.vendioTxt }} Sin respuesta Cerrada por inactividad {{ c.autoL }}
{{ cv.cliente }}
{{ cv.telefono }} · {{ cv.intencionL }} · tu turno
En vivo {{ cv.estadoL }}
Sin respuesta Cerrada por inactividad
{{ m.fechaL }}
Respondió a este mensaje nuestro {{ m.citaTxt }}
{{ m.docNombre }}
{{ m.texto }}
Responder en {{ m.canalL }}
{{ m.quien }} · {{ m.sello }}
{{ convAdjNombre }}
Piezas guardadas en Agente IA
Aún no hay piezas guardadas. Se cargan en Agente IA · Modos de uso, o sube una del computador con el botón de arriba.
Kits · se carga al campo para que lo edites antes de enviar
Edita el texto abajo y guárdalo para que la próxima vez {{ convKitSelNombre }} salga así.
Datos del cliente
{{ f.k }}{{ f.v }}
Ficha completa{{ cvFichaN }} de 4
Faltan datos para poder retomarlo si se pierde el chat. Usa Pedir datos y se envía el mensaje amable ya escrito.
Historial
{{ h.k }}{{ h.v }}
{{ ch.nombre }}

{{ ch.estado }}

{{ ch.detalle }}

Personalidad del agente

Catálogo y Guias

El agente ya lee los precios en vivo de oasisdelalma.co. Adjunta un catálogo solo si quieres darle información que no está en la tienda: precios mayoristas, fichas técnicas, ingredientes, medidas, guías. Acepta Excel (.xlsx), CSV, texto o PDF (con texto, no escaneado).

{{ agCatalogoNombre }} {{ agCatalogoInfo }}

Modos de uso (piezas para enviar)

Sube la pieza gráfica del modo de uso de cada producto. Cuando un cliente pregunte cómo se usa, el agente le envía esa imagen por el chat. Con «Subir varias imágenes» se crea una pieza por foto y luego eliges el producto o grupo de cada una.

Aún no hay piezas. Agrega la primera con el botón de arriba.
{{ u.prodLabel }}
{{ u.estado }}

Preguntas frecuentes (entrenamiento)

Cada pregunta y respuesta que agregues le enseña al agente cómo responder. Úsalas para políticas, promociones, objeciones de venta o cualquier tema que hoy responda mal.

Aún no hay preguntas. Agrega la primera — p. ej. «¿Hacen ventas al por mayor?»
{{ f.p }}
{{ f.r }}

Lecciones y correcciones

Cuando el bot cometa un error o quieras que tenga algo en cuenta, escríbelo aquí — lo cumplirá en todas las respuestas. Ej.: «Nunca prometas entrega el mismo día fuera de Cali».

Sin lecciones aún. Agrega la primera cuando detectes un error del bot.
{{ l.v }}

Métodos de pago

El bot entrega estos datos cuando el cliente quiere pagar un pedido por chat. Agrega cada método (transferencia, Nequi, Wompi, Bold…) con su detalle, link de pago y una imagen instructiva (URL) que el bot enviará como foto.

{{ pg.nombre }}
{{ pg.detalle }} · {{ pg.link }}
Sin métodos aún. Agrega el primero — p. ej. «Transferencia Bancolombia».

Catálogo e imágenes

Precios y descuentos en vivo: antes de cada respuesta el agente consulta oasisdelalma.co y usa el precio, el descuento y la disponibilidad de ese momento — no hay que actualizarle nada.
Analiza fotos del cliente: si envían una imagen (producto dañado, referencia buscada), el agente la ve y responde; si es una queja, escala al asesor.
Envía imágenes de producto: comparte hasta 2 fotos del catálogo por respuesta cuando ayuda a vender o el cliente las pide.

Automatizaciones

Reglas propias que el bot cumple como instrucciones en cada conversación. Cada regla queda bloqueada al guardarla; usa el candado para editarla.

{{ agAutosEstado }}
{{ au.titulo }}
{{ au.accion }} · {{ au.respName }}

El responsable de cada automatización viene de los usuarios del Hub. Cuando una regla escala, la conversación queda asignada a esa persona; si la regla no tiene responsable, se asigna según la intención (ventas o servicio).

Estado real de la conexión con Meta, consultado en vivo. Revisa acá antes de lanzar una campaña o cuando un canal deje de responder.

Última verificación {{ canalesTs }}

Permisos del token de Instagram

{{ igDiagVeredicto }}

{{ f.k }}
{{ f.v }}
{{ igDiagErr }}

Aún no has verificado los canales

Pulsa «Verificar canales» para consultar el estado del número de WhatsApp, el webhook, la página de Facebook y las plantillas.

{{ canalesErr }}

Automatizaciones de pedidos

El servidor revisa Shopify cada 10 minutos y dispara la plantilla que corresponda. Cada envío queda registrado para no repetirse.

Modo prueba · {{ autoPruebaEstado }}
Las reglas se calculan y se reportan, pero no sale ningún WhatsApp y nada queda marcado como enviado. Sirve para revisar a quién le llegaría antes de soltarlo.
{{ a.plantilla }}
{{ a.regla }}

Si un cliente pide detener promociones, el Hub lo marca y deja de enviarle postventa, carritos y campañas. Los avisos de su propio pedido (guía, pago, contraentrega) sí siguen llegando: son servicio, no publicidad.

Campañas de WhatsApp

{{ campLogResumen }}

Cada campaña masiva enviada desde Marketing, agrupada por plantilla. El detalle número por número queda en la tabla de envíos del servidor.

Todavía no se ha enviado ninguna campaña masiva.
{{ c.cuando }}
{{ c.plantilla }}
{{ c.detalle }}
{{ c.estado }}

Envíos automáticos

{{ autoEnviosResumen }}

Todo lo que el servidor envió solo: qué plantilla, a qué pedido y si Meta lo aceptó. Acá se valida que las automatizaciones estén funcionando.

Todavía no hay envíos automáticos. El servidor revisa Shopify cada 10 minutos.
{{ e.cuando }}
{{ e.que }} {{ e.ref }}
{{ e.destino }} {{ e.detalle }}
{{ e.estado }}
{{ k.titulo }}
{{ k.estado }}

{{ k.detalle }}

Detalle técnico

{{ d.k }} {{ d.v }}

Plantillas que usa el Hub

{{ canalesReqResumen }}

Estas son las plantillas que el Hub envía en cada automatización. Si una no está aprobada en Meta con el nombre exacto, ese envío falla.

{{ r.nombre }}
{{ r.label }}
{{ r.estado }}

Todas las plantillas de la cuenta

{{ canalesPlantResumen }}

Solo las plantillas aprobadas se pueden enviar fuera de la ventana de 24 h. Las marcadas en rojo apuntan a un dominio que no es tuyo — hay que recrearlas con links propios. Las que usa el Hub no se pueden borrar; las demás sí, y Meta las borra en todos sus idiomas.

No hay plantillas en esta cuenta.
{{ t.nombre }}
{{ t.meta }}
Migrar · {{ t.externos }} La usa el Hub {{ t.estado }}

Últimos errores de envío

{{ envFallasCount }}

Cada mensaje que Meta rechaza queda registrado acá — token vencido, ventana de 24 h cerrada, plantilla no aprobada o número inválido.

Sin errores registrados. Si nunca aparece nada, revisa que la tabla de log esté creada en el servidor.
{{ e.cuando }}
{{ e.msg }}
{{ e.meta }}

Cada verificación ejecuta llamadas reales a la API de administración de WhatsApp, así el requisito de «llamadas de prueba» de la revisión de app de Meta se mantiene vigente sin tener que hacerlo a mano.

Métricas del chatbot y ventas atribuidas a los canales de chat.
Todavía no hay conversaciones registradas. Las métricas se llenan solas cuando el agente empiece a atender por WhatsApp, Instagram, Messenger o el chat de la web.
Hay conversaciones registradas, pero ninguna en el período elegido. Amplía el rango arriba.
Conversaciones
{{ ciTotal }}
{{ ciActivas }} activas ahora
Resueltas solo por el bot
{{ ciBotPct }}
sin intervención de un asesor
Escaladas a humano
{{ ciEscaladas }}
{{ ciNecesitaAhora }} esperando ahora
Con intención de compra
{{ ciVentasInt }}
clasificadas por el agente
Vendido tras el chat
{{ ciAtribTotal }}
{{ ciAtribPedidos }} · ticket {{ ciAtribTicket }}
Ventas por el chat
{{ ciPorChatTotal }}
{{ ciPorChatPedidos }} · {{ ciPorChatPct }}
Conversión del chat
{{ ciConvPct }}
{{ ciConvVenta }} de {{ ciVentasInt }} con intención terminaron en pedido
Primera respuesta
{{ ciRespMin }}
{{ ciRespBase }}

Conversaciones por canal

Sin conversaciones en el período.
{{ k.l }}{{ k.n }} · {{ k.pct }}
{{ ciMsgs }} mensajes {{ ciMsgsBot }} respondidos por el bot {{ ciMsgsAsesor }} por asesores {{ ciMsgsPorConv }} mensajes por conversación

«Vendido tras el chat» cruza el celular del pedido con el teléfono de la conversación y exige que el cliente haya escrito en los 14 días ANTES del pedido (la postventa o el carrito que llegan después no cuentan). «Ventas por el chat» es la parte donde el bot o un asesor mandó el link de compra/pago antes del pedido, o el pedido se registró con canal de chat. {{ ciSinTel }} conversaciones sin teléfono no se pueden cruzar.

{{ ciAtribTitulo }}

{{ ciAtribResumen }}

{{ ciAtribDesc }}

{{ ciAtribVacioTxt }}
{{ p.fecha }} {{ p.pedido }}
{{ p.cliente }}
{{ p.items }}
{{ p.motivo }} {{ p.canal }} {{ p.total }}

Calculado automáticamente desde el historial de ventas y las fórmulas de productos, kits y mezclas (los blends se explotan a sus aceites). El punto de reorden cubre el tiempo de entrega del proveedor más los días de anticipación, para que la alerta de compra aparezca una semana antes. Las cantidades pendientes por recibir de órdenes ya creadas cuentan como «en tránsito»: suman a la cobertura y descuentan de la compra sugerida.

Comprar ya
{{ reoNumYa }}
no alcanzan a cubrir la entrega
Pedir esta semana
{{ reoNumSemana }}
llegan al punto de reorden
Con cobertura
{{ reoNumOk }}
materias con consumo activo
Sin consumo de materias en la ventana de análisis. Registra ventas o amplía la ventana para calcular la reposición.
{{ reoCountTxt }}
Nada coincide con la búsqueda o el filtro.
Código Materia Proveedor Consumo Stock En tránsito Cobertura Punto de reorden Compra sugerida Pedir antes de Estado
{{ m.codigo }} {{ m.nombre }}PT {{ m.proveedorNombre }} {{ m.consumoTxt }} {{ m.stockTxt }} {{ m.transitoTxt }} {{ m.cobTxt }} {{ m.ropTxt }}mín. sug. {{ m.minTxt }} {{ m.compraTxt }} {{ m.fPedirTxt }} {{ m.esLabel }}

«Aplicar mínimos sugeridos» escribe el punto de reorden como stock mínimo de cada materia: las alertas de Inicio e inventario se activan solas con la anticipación configurada. «Generar órdenes de compra» crea una orden pendiente de aprobación por proveedor con las compras sugeridas de las materias críticas — el encargado la ve en Órdenes y pagos y en su Inicio.

Inventario entregado en consignación a tiendas y vendedores. Las ventas marcadas a una tienda descuentan de su stock; las remisiones descuentan del producto terminado propio y cargan la tienda.

Valor en consignación
{{ consigTotalValor }}
Unidades afuera
{{ consigTotalUnid }}
Tiendas
{{ consigNTiendas }}
Tiendas y vendedores
{{ t.nombre }}{{ t.tipoL }}Margen {{ t.margenPct }}%
{{ t.ciudad }} · {{ t.nSkus }} referencias · {{ t.unidades }} unidades · {{ t.empaqueTxt }}
{{ t.valorFmt }}
Aún no hay tiendas. Crea una con «Nueva tienda» o carga el inventario inicial con «Cargar inventario (Excel)».

Stock en {{ consigSelNombre }}

{{ consigSelUnid }} unidades · {{ consigSelValor }} {{ consigSelEmpTxt }}
Esta tienda aún no tiene movimientos. Las remisiones cargan stock y las ventas marcadas a la tienda lo descuentan.
{{ mv.fechaFmt }} {{ mv.tipo }} {{ mv.ref }} {{ mv.detalle }} {{ mv.cantTxt }}
Calificación
{{ consigSegCalifLabel }}
Venta promedio/mes
{{ consigSegVentaMes }}
Última venta
{{ consigSegUltimaVenta }}
Aliado desde
{{ consigSegDesde }}
Informe para la tienda · incluir:
Decisión por producto · incluye vendidos aunque ya no tengan stock
Esta tienda aún no tiene productos ni ventas para analizar.
{{ s.nombre }} Stock: {{ s.stock }} · vendidas: {{ s.vendidas }} · {{ s.velMes }}/mes · última venta: {{ s.ultimaVentaTxt }} {{ s.coberturaTxt }} {{ s.accLabel }}
Vincular ventas antiguas a esta tienda
Busca por cliente o ciudad entre las ventas sin tienda asignada (incluye histórico) y márcalas como de {{ consigSelNombre }} para que cuenten en el seguimiento y el reorden.
Escribe para buscar ventas sin tienda asignada.
Faltan datos legales de la tienda
Para generar los documentos completa: {{ consigDocsFaltanTxt }}.
Contrato de consignación
Contrato estimatorio: propiedad de la mercancía, margen pactado ({{ consigDocMargen }}), liquidación mensual, faltantes, devoluciones y terminación. Toma los datos de la ficha de la tienda.
Pagaré en blanco + carta de instrucciones
Garantía del inventario entregado: pagaré con espacios en blanco y carta de instrucciones (art. 622 C. de Comercio) para diligenciarlo por el valor de la mercancía no pagada.

Sugerencia: firma el contrato y el pagaré con la carta ANTES de la primera remisión, y haz firmar cada remisión como acta de entrega (pestaña Movimientos → Descargar). Estos formatos son una base — revísalos con tu abogado.

Esta tienda no tiene stock cargado. Usa el ajuste manual de abajo para incluir productos, materias o empaques.
{{ r.codigo }} {{ r.nombre }}{{ r.tipoTag }} {{ r.cantidad }} und {{ r.precioFmt }} {{ r.valorFmt }}
Ajuste manual · incluir materias o empaques

Cantidad positiva agrega stock; negativa lo descuenta. Las materias y empaques se costean aparte y no suman al valor de consignación.

Remisiones recientes
{{ r.numero }} {{ r.tienda }}{{ r.fechaFmt }} · {{ r.nUnid }} unidades · {{ r.nLineas }} referencias
Aún no has generado remisiones.
STOCK
{{ stockSolAjuTit }}
El agente de inventario no mueve nada solo: cada ajuste y cada producción espera tu aprobación. Al aprobar se calcula contra el stock de este momento.
{{ s.tipoL }} {{ s.titulo }} {{ s.cuando }}
{{ l.t }}
Nota: {{ s.nota }}
{{ s.aviso }}

Cada conteo físico queda registrado con su fecha, quién lo hizo y el motivo. La diferencia contra el sistema solo mueve el inventario cuando el Administrador la aprueba, y queda visible en el kardex de la materia.

Fecha Material Sistema Contado Diferencia Efecto en PyG Motivo Registró Estado
{{ c.fechaFmt }} {{ c.codigo }}{{ c.nombre }} {{ c.sistemaTxt }} {{ c.contadoTxt }} {{ c.difTxt }} {{ c.valorTxt }} {{ c.motivo }}{{ c.nota }} {{ c.quien }}{{ c.stockTag }} {{ c.estadoLabel }} {{ c.aprobTxt }}
Todavía no hay conteos registrados. Entra a Materia prima o Insumos y usa el botón Conteo de la fila.

Selecciona un item

Elige una materia prima, insumo, mezcla o producto terminado para ver todos sus movimientos de inventario en orden cronológico.

{{ kardexCodigo }}
{{ kardexNombreItem }}
Saldo actual
{{ kardexSaldoFinal }} {{ kardexUnidad }}
No hay movimientos registrados para este item.
Fecha Tipo Concepto Cantidad Saldo
{{ r.fecha }} {{ r.tipoLabel }} {{ r.concepto }} {{ r.signo }}{{ r.cantidadFmt }} {{ kardexUnidad }} {{ r.saldoFmt }} {{ kardexUnidad }}

El Saldo base de materias e insumos es el stock registrado en el sistema (importación + ajustes manuales). Las Entradas vienen de entregas de órdenes de compra; las Salidas, de producciones y ventas registradas en el Hub.

DESK
{{ deskSolTit }}
El agente comercial solo puede cambiar o borrar lo que él creó, y siempre pasa por aquí. Nada se aplica hasta que lo apruebes.
{{ s.tipoL }} {{ s.titulo }} {{ s.cuando }}
Motivo: {{ s.motivo }}
{{ c.campo }}: {{ c.antes }} → {{ c.ahora }}
{{ s.aviso }}
{{ shopAutoTxt }}
Comparar
Ventas registradas
{{ vkCount }}
desde el 1 jun 2026
{{ vkDCountTxt }} {{ vkCmpLabel }} · {{ vkCmpCount }}
Total facturado
{{ vkTotal }}
productos, sin envíos · {{ vkEnvios }} recibido por envíos
{{ vkDTotalTxt }} {{ vkCmpLabel }} · {{ vkCmpTotal }}
Unidades vendidas
{{ vkUnidades }}
productos y kits
{{ vkDUnidTxt }} {{ vkCmpLabel }} · {{ vkCmpUnid }}
Por cobrar
{{ vkPorCobrar }}
saldos pendientes
{{ alertaProdTitulo }}
Estas referencias no calculan costo ni descuentan inventario hasta que crees el producto o le definas estructura y costo en Desarrollo de producto.
{{ shopRetTxt }}
Fecha Pedido Cliente Pago / método Canal Producto Total Saldo
{{ v.fechaFmt }} {{ v.pedidoTxt }}{{ v.ov }} · {{ v.origenLabel }} {{ v.cliente }}{{ v.deskTag }}
{{ v.ciudadTxt }}Sin costo
{{ v.epLabel }}{{ v.metodoPagoTxt }}→ {{ v.cuentaRecaudo }} {{ v.canal }} {{ v.productoResumen }}{{ v.unidades }} und {{ v.totalFmt }}neto {{ v.netoFmt }} · IVA {{ v.ivaFmt }} {{ v.saldoFmt }}+{{ v.excFmt }} excedente
No hay ventas con este filtro. Importa el export de Shopify o registra una venta.
Cargando ventas de la nube…
Total vendido
{{ bkTotal }}
{{ bkCount }} ventas · {{ bkUnidades }} und · neto sin IVA ni envío
Ticket promedio
{{ bkTicket }}
Margen de venta
{{ bkMargenPct }}
{{ bkMargenSub }}
Producto estrella
{{ bkMejorProducto }}

Ventas por canal y año

Clic en una celda para ver los pedidos
Canal {{ h.y }} Total
{{ r.canal }} {{ c.txt }} {{ r.totalFmt }}
Suma total {{ t.txt }} {{ baseMatGran }}
Variación {{ v.txt }}

Pareto de clientes

{{ baseParetoSub }}
{{ baseParetoResumen }}
Ningún cliente con ventas en este filtro.
{{ p.pos }}
{{ p.cliente }} {{ p.pedidos }}
{{ p.totalFmt }} {{ p.pct }} {{ p.acum }}
Últimas dos columnas: participación del cliente y acumulado. En dorado, los que suman el primer 80%.

Evolución de ventas

{{ e.label }}
{{ e.totalFmt }}

Ventas por canal

{{ d.tip }} CANALES {{ baseDonaN }}
{{ c.canal }}{{ c.totalFmt }} · {{ c.pct }}

Productos más vendidos

{{ p.nombre }}{{ p.totalFmt }}

Top ciudades

{{ c.ciudad }}{{ c.totalFmt }}

Asesor experto de ventas

Actúa como un estratega comercial: consulta automáticamente tus clientes, ventas, productos e inventario para responder con cifras y recomendaciones accionables.

Analizando los datos…
{{ baseAiAnswer }}
Fuentes consultadas {{ f.label }}

Clientes

No hay clientes con ese filtro. Importa el histórico de ventas para construir la base.
Cliente Segmento Compras Total Ticket Última RFM
{{ c.cliente }}
{{ c.ciudad }} · top: {{ c.topProducto }}
{{ c.segmento }} {{ c.ordenes }} {{ c.totalFmt }} {{ c.ticketFmt }} {{ c.ultimaFmt }}hace {{ c.diasDesde }} {{ c.rfm }}
{{ clientesViewN }} clientes · RFM = Recencia · Frecuencia · Monto (1-5). Haz clic en un cliente para ver su historial y generar un mensaje con IA.

Automatizaciones de venta

Elige clientes del histórico y envía por WhatsApp: reactivación VIP, recompra y cross-sell. Apruebas cada mensaje uno a uno · máx. 1 cada 30 días.

{{ cs.titulo }}{{ cs.desc }}
{{ cs.count }}
Sin candidatos por ahora.
{{ r.cliente }}
{{ r.sub }}
{{ r.subWarn }}
No se pudieron cargar los leads de la nube: {{ cloudLeadsErr }}

Leads del equipo (en la nube)

Inicia sesión con tu cuenta del equipo para ver y registrar los leads compartidos entre todos los computadores, en tiempo real.

{{ cloudErr }}

Registra cada lead que llega por Instagram, la web, ferias o referidos y haz seguimiento de su estado hasta cerrarlo. Convierte los que avancen en una cotización.

{{ s.label }}
{{ s.count }}{{ s.valorFmt }}
{{ l.nombre }}{{ l.deskTag }} {{ l.estado }} {{ l.origen }} {{ l.asignadoInitials }}{{ l.asignadoNombre }} {{ l.alertaTxt }}
{{ l.contacto }}·{{ l.ciudad }}·{{ l.fechaFmt }}·Creado por {{ l.creadoPorNombre }}
{{ l.interes }}
{{ l.valorFmt }}
valor estimado
{{ leadsVacioMsg }}

Arma cotizaciones para clientes y mayoristas, y descárgalas en PDF con la marca de Oasis del Alma.

{{ c.numero }}{{ c.cliente }}{{ c.deskTag }}
{{ c.fechaFmt }} · {{ c.ciudad }} · {{ c.nItems }} productos · válida {{ c.validez }} días
{{ c.totalFmt }}
Aún no hay cotizaciones. Crea la primera con «Nueva cotización».

Arma una presentación de propuesta comercial con la marca de Oasis del Alma. Edita los textos, sube tus imágenes y descárgala en PDF (16:9) lista para enviar.

Portada
Imagen de portada
{{ propPortadaImgEl }}
Quiénes somos
Imagen
{{ propQuienesImgEl }}
Kits / propuestas armadas
KIT {{ k.idx }}
{{ k.imgEl }}
Beneficios
Imagen
{{ propBenImgEl }}
Inversión
Contacto y cierre
Vista previa· se actualiza al pulsar «Actualizar vista previa»

Reclamaciones, garantías, cambios, devoluciones y novedades de envío. Liga cada caso a un pedido para traer cliente y productos, o regístralo suelto. Al resolver, el costo se registra en Finanzas.

Casos abiertos
{{ casoKAbiertos }}
{{ casoKEnGestion }} en gestión · {{ casoKVencidos }} vencidos
Cerrados
{{ casoKCerrados }}
de {{ casoKTotal }} casos en total
Costo postventa
{{ casoKCosto }}
reembolsos, reenvíos y notas crédito
Tasa de devoluciones
{{ casoKTasa }}
{{ casoKDevolCount }} de {{ casoKVentasMes }} ventas del mes

Casos por tipo

{{ t.label }}
{{ t.n }}

Qué falla más · por producto

Aún no hay casos suficientes para el desglose.
{{ m.label }}
{{ m.n }}
Caso Tipo Cliente / pedido Producto · motivo Estado Resolución Costo
{{ r.folio }}{{ r.fechaFmt }} {{ r.tipoL }} {{ r.cliente }}{{ r.pedidoTxt }} · {{ r.ciudad }} {{ r.producto }}{{ r.motivo }} {{ r.estL }}{{ r.dispEstadoL }} {{ r.resolL }} {{ r.costoFmt }}
No hay casos con este filtro. Registra el primer caso de servicio al cliente.
{{ finMesLabel }}
Saldo en caja y bancos
{{ frCaja }}
Suma de todas las cuentas
Por pagar
{{ frPorPagar }}
{{ frPorPagarSub }}
Por cobrar
{{ frPorCobrar }}
{{ frPorCobrarSub }}
Utilidad del mes
{{ frUtilidad }}
Ingresos − costos − gastos

Inventario para cierre contable

{{ invMesLabel }} · valorizado a costo
Inventario inicial
{{ invIniFmt }}
al comenzar el mes
(+) Entradas
{{ invEntFmt }}
{{ invEntSub }}
(−) Salidas
{{ invSalFmt }}
{{ invSalSub }}
Inventario final
{{ invFinFmt }}
variación {{ invVarFmt }}
{{ invProdNota }}Reconstruido desde los movimientos registrados (compras recibidas, producción, ventas, muestras, remisiones y conteos aprobados). Usa el selector de mes de arriba para revisar otros cierres.

Flujo del mes

{{ frDeltaIng }}
Entradas
{{ frEntradas }}
Salidas
{{ frSalidas }}
Neto
{{ frNeto }}

Movimientos del mes

{{ m.fechaFmt }} {{ m.concepto }}{{ m.cuenta }} {{ m.signo }}{{ m.montoFmt }}
Sin movimientos registrados este mes.

Cuentas

{{ c.nombre }}{{ c.finaxTag }}{{ c.tipo }} {{ c.saldoFmt }}
{{ frIvaLabel }} · este mes
{{ frIva }}
Ingresos del mes: {{ frIngresos }}
Recaudos por cruzar
{{ frRecaudosBruto }}
{{ frRecaudosN }} ventas con pago diferido pendientes de liquidar →
Total por pagar
{{ fpTotal }}
{{ fpVencidoN }} vencidas
Al día
{{ fpCorriente }}
1–30 días
{{ fpD30 }}
31–60 días
{{ fpD60 }}
+60 días
{{ fpD60p }}

Tarjetas próximas a vencer

{{ t.nombre }}Pago oportuno: {{ t.dueFmt }} {{ t.diasTxt }} Sin intereses{{ t.sinInteresFmt }}

Intereses de préstamos próximos a vencer

{{ t.nombre }}Vence: {{ t.dueFmt }} {{ t.diasTxt }} Interés del periodo{{ t.montoFmt }}

Créditos y financiación recibida

Préstamos que recibió la empresa · el desembolso entró a caja
Saldo por pagar
{{ credPagarSaldoFmt }}
{{ c.nombre }}{{ c.finaxTag }}{{ c.sub }} · {{ c.tasaTxt }} · {{ c.modalidadTxt }}Próximo: {{ c.proxTxt }} {{ c.estadoTxt }} Saldo{{ c.saldoFmt }}
Capital {{ c.capitalFmt }}Entrega inicial {{ c.capBaseFmt }}Abonado a capital {{ c.abonadoFmt }}Desembolso {{ c.fechaFmt }}Intereses pagados {{ c.interesPagadoFmt }}

{{ c.nota }}

Plan de cuotas
#FechaCuotaCapitalInterésSaldoEstado
{{ s.n }}{{ s.fechaFmt }}{{ s.cuotaFmt }}{{ s.capFmt }}{{ s.intFmt }}{{ s.saldoFmt }}{{ s.estadoTxt }}
Entregas adicionales
{{ ds.fechaFmt }}{{ ds.nota }}{{ ds.cuenta }}{{ ds.montoFmt }}
Pagos registrados
{{ a.fechaFmt }}{{ a.detalleTxt }}{{ a.cuenta }}{{ a.totalFmt }}Comprobante
No hay créditos ni financiación registrada. Pulsa «Registrar crédito» para agregar un préstamo bancario, de un socio o de un tercero.
Proveedor / ordenTotalPagadoSaldoVencimiento
{{ o.proveedor }}{{ o.numero }} · {{ o.factura }} · {{ o.fechaFmt }} {{ o.totalFmt }} {{ o.pagadoFmt }} {{ o.saldoFmt }} {{ o.diasTxt }}
No hay cuentas por pagar pendientes. Todo al día.
Total por cobrar
{{ fcTotal }}
Al día
{{ fcCorriente }}
1–30 días
{{ fcD30 }}
31–60 días
{{ fcD60 }}
+60 días
{{ fcD60p }}
Efectivo por consignar · ODA Labs
Lo recibió ODA Labs en efectivo; se cierra al legalizarlo en Recaudos por cruzar.
{{ fcOdlTotal }}
{{ o.factura }} · {{ o.cliente }}{{ o.etiqueta }}{{ o.fechaFmt }}{{ o.montoFmt }}
→

Préstamos otorgados

Dinero que prestó la empresa a empleados, socios o terceros · salió de caja
Saldo por cobrar
{{ credCobrarSaldoFmt }}
{{ c.nombre }}{{ c.finaxTag }}{{ c.sub }} · {{ c.tasaTxt }} · {{ c.modalidadTxt }}Próximo: {{ c.proxTxt }} {{ c.estadoTxt }} Saldo{{ c.saldoFmt }}
Capital {{ c.capitalFmt }}Entrega inicial {{ c.capBaseFmt }}Recibido a capital {{ c.abonadoFmt }}Desembolso {{ c.fechaFmt }}Intereses cobrados {{ c.interesPagadoFmt }}

{{ c.nota }}

Plan de cuotas
#FechaCuotaCapitalInterésSaldoEstado
{{ s.n }}{{ s.fechaFmt }}{{ s.cuotaFmt }}{{ s.capFmt }}{{ s.intFmt }}{{ s.saldoFmt }}{{ s.estadoTxt }}
Entregas adicionales
{{ ds.fechaFmt }}{{ ds.nota }}{{ ds.cuenta }}{{ ds.montoFmt }}
Cobros registrados
{{ a.fechaFmt }}{{ a.detalleTxt }}{{ a.cuenta }}{{ a.totalFmt }}Comprobante
No hay préstamos otorgados. Pulsa «Registrar préstamo» para anotar dinero que la empresa le prestó a un empleado, socio o tercero.
Cliente / ventaTotalAbonadoSaldoDías
{{ v.cliente }}{{ v.metaTxt }} {{ v.totalFmt }} {{ v.pagadoFmt }} {{ v.saldoFmt }} {{ v.diasTxt }}
No hay cuentas por cobrar pendientes.

Cada pago que entra por Bold — datáfono, link de pago o botón de la tienda — llega acá solo. Los links se generan a mano con el nombre del cliente como referencia, y el Hub propone con qué pedido cruzarlos; los pagos presenciales llegan sin referencia y se cuadran a mano.

Recibido este mes
{{ boldTotalMes }}
Sin cruzar
{{ boldPendN }}
{{ boldPendMonto }}
Cruzados
{{ boldConcN }}
Rechazadas o anuladas
{{ boldRechN }}
{{ boldDupN }} pedido(s) cruzados con más de un pago Bold — posible cobro doble
Pedido {{ d.pedido }} — cruzado con {{ d.n }} pagos
{{ d.det }}

Para corregirlo: abre el pago equivocado en la pestaña «Cruzados» y deshaz el cruce; el pago vuelve a «Sin cruzar» para asignarle su pedido correcto.

El cruce automático no está disponible. No se pudieron traer los IDs de pago de Shopify: {{ boldRefsErrTxt }}. Los pagos hay que cruzarlos a mano mientras tanto.
{{ boldErrTxt }} — ¿ya corriste el SQL de Bold?
Todavía no ha llegado ningún pago. Revisá que el webhook esté registrado en panel.bold.co → Integraciones → Webhooks, y que las llaves de integración estén activas.
{{ boldVacioTxt }}
{{ p.fecha }}
{{ p.hora }}
{{ p.referencia }}
{{ p.canal }} · {{ p.metodo }}
{{ p.detalle }}
Firma no verificada · revisar a mano
{{ p.monto }}
{{ p.estado }}
Cruzado con {{ p.pedido }} {{ p.sugTxt }}
Liquida como {{ p.liqFormaNombre }} {{ p.liqTarifaTxt }} Deducción −{{ p.liqDedFmt }} Neto {{ p.liqNetoFmt }}
Canal {{ p.liqCanal }} sin forma de liquidación asignada —

Ventas con pago diferido: el dinero llega después (Addi, contraentrega por courier, pasarela) y con deducciones. Aquí ves lo pendiente por método y registras la liquidación cuando el operador te desembolsa, cruzándola con las ventas y separando la comisión.

{{ recDupN }} pedido(s) liquidados más de una vez — dinero contado doble
{{ d.pedido }} · {{ d.cliente }} — {{ d.comoTxt }}
{{ d.det }}

Para corregirlo: en «Liquidaciones registradas» elimina la liquidación repetida (el Administrador ve el botón de borrar) — las ventas vuelven a quedar pendientes y el saldo se recuadra.

Bruto pendiente por liquidar
{{ recTotalBruto }}
{{ recN }} ventas
Deducción estimada
{{ recTotalDed }}
Neto esperado
{{ recTotalNeto }}
Recaudos de ODA Labs · facturas con IVA
Solo lectura: ODA Labs los registra y aquí se legalizan. El link de Bold usa la misma deducción, retenciones y plazo de cualquier recaudo Bold; la transferencia entra directo a la cuenta Bold; el efectivo queda por cobrar a ODA Labs hasta que se consigne. El dinero se mueve por lo recibido; las retenciones del cliente quedan como retención a favor y el IVA como IVA generado.
{{ odlSyncTxt }}
{{ odlDiag }}
{{ odlErr }}
{{ odlTotTxt }}
{{ odlVacioTxt }}
{{ r.factura }}{{ r.cliente }}{{ r.estL }}
{{ r.concepto }}
{{ r.tipo }} · pagado {{ r.fechaFmt }}
Base {{ r.baseFmt }} → ingreso no operacional · IVA {{ r.ivaFmt }} → IVA generado de {{ r.ivaMesTxt }}
Retenciones del cliente: {{ r.retTxt }} · recibido {{ r.recibidoFmt }} · van a «Retenciones que nos practicaron»
Retenciones registradas a mano en el Hub (ODA Labs no las envió).
Sin retenciones en la copia del Hub. Si en ODA Labs sí las tiene, toca «Sincronizar ahora» arriba: se relee la factura completa y el ingreso se corrige solo.
{{ r.retSugTxt }}
{{ r.descuadreTxt }}
{{ r.formaTxt }}
No se puede legalizar hasta elegir la forma: el neto saldría sin comisión ni retenciones.
Plazo: {{ r.plazoTxt }}
{{ r.cruceTxt }}
{{ r.etiqueta }}
{{ r.valorFmt }}
− {{ r.dedFmt }}
Neto {{ r.netoFmt }}
Forma de liquidación por canal
{{ bm.canal }}
El canal viene de la API de Bold en cada pago. Con esto las ventas cruzadas marcan su forma de liquidación solas.

Pendiente por método

{{ g.metodo }}Solo lectura
{{ g.n }} ventas Bruto {{ g.brutoFmt }} − {{ g.dedFmt }} Neto {{ g.netoFmt }}
Comisión {{ g.comisionTxt }} {{ g.diasTxt }}
No se cargaron los métodos de pago
Sin ellos ninguna venta se puede clasificar como recaudo diferido, por eso la lista sale vacía. Suele ser la conexión con la nube.
Detalle: {{ recMetodosErr }}
No hay recaudos diferidos pendientes. Todo cruzado.

Liquidaciones registradas

{{ l.numero }}{{ l.metodo }}{{ l.fechaFmt }}
{{ l.n }} ventasBruto {{ l.brutoFmt }}− {{ l.dedFmt }}Neto {{ l.netoFmt }}
→ {{ l.cuenta }}
Órdenes: {{ l.refs }}
Aún no has registrado liquidaciones.

Pendiente por legalizar

Fechas→
Bruto ({{ recDetalleN }})
{{ recDetalleBrutoFmt }}
Comisión
{{ recDetalleDedFmt }}
Neto
{{ recDetalleNetoFmt }}
{{ d.cliente }}{{ d.brutoFmt }}
{{ d.ov }} · Shopify {{ d.pedido }} · {{ d.fechaFmt }}neto {{ d.netoFmt }}
Abono ya recibido {{ d.abonoFmt }} · total venta {{ d.totalFmt }}
Posible liquidación previa: {{ d.liqNota }} — verifica antes de legalizar.
Liq:
Nada pendiente para este método.

Si la comisión real es mayor, entra a cada pedido con Editar y ajústalo, o cambia la deducción al pulsar Legalizar. Acciones de admin.

Sin recaudos pendientes por legalizar.
{{ finMesLabel }}
Bolsillo ODA Labs
Aquí se guarda la plata de ODA Labs. El saldo sugerido es lo que ha entrado de sus facturas, sin IVA, menos lo que se ha pagado de sus gastos.
{{ k.l }}
{{ k.v }}
{{ k.s }}
{{ odlBol.difTxt }}
{{ odlBol.nota }}
Recordatorio · rendimientos por registrar
El rendimiento de los bolsillos no se registra solo: revisa el extracto y regístralo con el valor real.
{{ r.nombre }} {{ r.mesTxt }} · estimado {{ r.estFmt }}
{{ fcjTotalLabel }}
{{ fcjTotal }}
Entradas del mes
{{ fcjIng }}
Salidas del mes
{{ fcjEg }}
Flujo neto
{{ fcjNeto }}

Cuentas

{{ c.chevron }} {{ c.nombre }}{{ c.finaxTag }}{{ c.tipo }} {{ c.saldoFmt }}Descuadre {{ c.difFmt }}
Rinde {{ c.tasaTxt }}Rendimiento estimado del mes: {{ c.estRendFmt }}
Aún no has creado cuentas. Pulsa «+ Cuenta» para agregar tu banco o caja.

Métodos de pago

Aparecen en la hoja de Ventas
{{ m.nombre }}{{ m.finaxTag }}{{ m.tipoTxt }} · {{ m.diasTxt }} {{ m.comisionTxt }}
Aún no has creado métodos de pago. Pulsa «+ Método» — ej: Bold, Addi, Contraentrega, Bank Deposit.

Movimientos · {{ finMesLabel }}

{{ m.fechaFmt }} {{ m.concepto }}{{ m.categoria }} · {{ m.cuenta }}{{ m.finax }}Ajustado {{ m.signo }}{{ m.montoFmt }}
Sin movimientos este mes. Registra un ingreso o egreso, o paga una orden / cobra una venta.

Transacciones anuladas

{{ fcjAnulN }}

No cuentan en el saldo ni generan 4×1000. Si era el recaudo de un pedido, ese pedido volvió a Cuentas por cobrar con su saldo; las de órdenes y liquidaciones no tocan su documento de origen.

{{ a.concepto }}
{{ a.fecha }} · {{ a.cuenta }} · {{ a.detalle }}
{{ a.monto }}
{{ finMesLabel }}

Gastos del mes por categoría

{{ fgTotal }}
{{ c.categoria }}{{ c.montoFmt }} · {{ c.pct }}
Sin gastos registrados este mes.

Gastos fijos mensuales

Presupuesto {{ fgFijosTotal }} · pagado este mes {{ fgFijosPagado }}
{{ g.concepto }}{{ g.finaxTag }}{{ g.categoria }} · {{ g.diaTxt }}{{ g.pagoTxt }} {{ g.montoFmt }} Pagado
Aún no hay gastos fijos. Agrega arriendo, servicios, nómina, software…
{{ finMesLabel }}
{{ pgNegNota }}
Ventas netas (sin IVA){{ pgIngresos }}
(−) Costo de la mercancía vendida−{{ pgCosto }}
Utilidad bruta · margen {{ pgMargenBruto }}{{ pgBruta }}
(−) Gastos operativos−{{ pgGastosOper }}
(−) Marketing−{{ pgMarketing }}
(−) Nómina−{{ pgNomina }}
(−) Flete y transporte (compras)−{{ pgFletes }}
(−) Logística (flete de entregas + servicios)−{{ pgFletesEntrega }}
(−) Obsequios / muestras (MSVC)−{{ pgObsequios }}
(−) Recargas · consumo interno−{{ pgRecargas }}
{{ pgAjusteInvLabel }}{{ pgAjusteInvTxt }}
(−) 4×1000 (GMF) sobre movimientos bancarios−{{ pgGmf }}
Utilidad operacional · margen {{ pgMargenNeto }}{{ pgOperacional }}
No operacional
(+) Envíos cobrados al cliente+{{ pgEnvioNoOper }}
(+) Rendimientos financieros+{{ pgRendimientos }}
(+) Ingresos ODA Labs (sin IVA)+{{ pgOdaLabs }}
(−) Gastos ODA Labs (no operacional)−{{ pgOdlGastos }}
{{ pgDianAjLabel }}{{ pgDianAjTxt }}
Resultado del periodo{{ pgResultado }}
Ingresos {{ pgDIngresos }} vs {{ pgPrevLabel }}Utilidad {{ pgDOper }} vs {{ pgPrevLabel }}{{ pgNVentas }} {{ pgNVentasLbl }} en el mes

Toca cualquier línea del estado para ver su detalle a la derecha. Las compras de inventario no son gasto: entran al inventario y se reconocen como costo cuando se venden. Los gastos operativos provienen de gastos fijos pagados y egresos manuales del mes (incluido el flete que pagas a Coordinadora, regístralo como movimiento de caja). Los envíos que cobras al cliente se muestran aparte como ingreso no operacional, no como venta. El costo de entrega / mensajería que pagas por pedido suma a los gastos del mes.

{{ pgDet.titulo }}

{{ finMesLabel }}
{{ f.label }}{{ f.sub }} {{ f.valorFmt }}
Sin movimientos en esta línea este mes.
{{ pgDet.totalLabel }}{{ pgDet.totalFmt }}
Obligación DIAN · bimestre {{ dianLabel }}
Pagado {{ dianPagadoFmt }} · {{ dianPagoFechaFmt }} · {{ dianCuentaTxt }}
Valor sugerido (IVA + retenciones): {{ dianSugFmt }} · por pagar
{{ dianArrastreTxt }}
{{ dianDifEstadoTxt }} · cambiar
{{ dianDifTitulo }}
Obligación calculada {{ dianDifSugFmt }} · diferencia {{ dianDifFmt }}. Decide qué hacer con ella: mientras esté pendiente no afecta el estado de resultados ni el siguiente bimestre.
{{ finMesLabel }}
IVA generadoVer detalle ▾
{{ ivGenerado }}
Ventas {{ ivGenVentas }} · ODA Labs {{ ivGenOdl }}
IVA descontableVer detalle ▾
{{ ivDescontable }}
Compras {{ ivDescCompras }} · Comisiones {{ ivDescComis }} · Servicios {{ ivDescServicios }} · Gastos {{ ivDescGastos }} · ReteIVA a favor (ODA Labs) {{ ivReteIva }}
{{ ivSaldoLabel }}
{{ ivSaldo }}

Detalle · IVA generado en ventas

{{ ivGenerado }}
PedidoClienteFechaIVA
{{ r.ov }}{{ r.cliente }}{{ r.fechaFmt }}{{ r.ivaFmt }}
No hay ventas con IVA este mes.

Detalle · IVA descontable

{{ ivDescontable }}
DocumentoConceptoTipoFechaIVA
{{ r.numero }}{{ r.concepto }}{{ r.tipo }}{{ r.fechaFmt }}{{ r.ivaFmt }}
No hay compras ni comisiones con IVA descontable este mes.

Retenciones estimadas sobre compras

ReteFuente {{ rtCfgFuente }} · ReteIVA {{ rtCfgIva }} · ReteICA {{ rtCfgIca }}
ReteFuente
{{ rtFuente }}
ReteIVA
{{ rtReteIva }}
ReteICA
{{ rtReteIca }}
Total retenido
{{ rtTotal }}
Orden / proveedorBaseFuenteReteIVAReteICA
{{ d.proveedor }}{{ d.numero }} {{ d.baseFmt }} {{ d.fuenteFmt }} {{ d.reteivaFmt }} {{ d.reteicaFmt }}
No hay compras con retención este mes (los proveedores autorretenedores no aplican).

Retenciones que nos practicaron

Anticipo del impuesto de renta · saldo a favor
Este mes
{{ rpMes }}
Acumulado {{ rpAnoLabel }}
{{ rpAno }}
ConceptoFechaRetenido
{{ r.concepto }}{{ r.cuenta }} {{ r.fechaFmt }} {{ r.montoFmt }}

Estas retenciones no son un gasto: son un anticipo del impuesto de renta, así que no bajan la utilidad del P&G. Se descuentan del impuesto a pagar en la declaración anual, junto con la retención del 7% que el banco practica sobre los rendimientos del bolsillo.

Solo se calculan retenciones sobre las órdenes marcadas con «Esta orden tiene retención de ley» al crearlas o editarlas (la retención depende de los montos/topes UVT de cada compra, no del proveedor). Las retenciones son una estimación con tasas generales (editables). Las reglas reales dependen de topes UVT, calidad del proveedor y ciudad. Úsalo como guía, no como liquidación oficial.

{{ listadoN }} líneas · {{ listadoUnidades }} unidades
Fecha Pedido OV Shopify Canal Cliente Celular SKU Producto Und Vr. unit. Base s/IVA IVA Total pedido Costo Ciudad Método pago Flete Editar
{{ r.fechaFmt }} {{ r.pedido }} {{ r.ov }} {{ r.canal }} {{ r.cliente }} {{ r.celular }} {{ r.sku }} {{ r.nombre }} {{ r.unidades }} {{ r.valorUnitFmt }} {{ r.baseFmt }} {{ r.ivaFmt }} {{ r.totalFmt }} {{ r.costoFmt }} {{ r.ciudad }} {{ r.fleteFmt }}
No hay pedidos. Importa el export de Shopify en «Ventas → Subir Excel» y aparecerán aquí.

Una línea por producto de cada pedido. «Pedido» es el consecutivo propio (OV-…); «OV Shopify» es el N° del pedido en Shopify. El nombre y el costo salen de tu base de productos según el SKU; el valor unitario ya viene con descuentos aplicados.

Periodo
{{ mktEstadoConexionLabel }} · {{ mktPeriodo }} {{ mktBannerNota }}
Inversión
{{ mktKpiSpend }}
gasto en pauta · {{ mktPeriodo }}
ROAS
{{ mktKpiRoas }}
{{ mktKpiRoasNota }}
{{ mktKpiRoasTotal }}
CPA
{{ mktKpiCpa }}
costo por venta atribuida
Ingresos atribuidos
{{ mktKpiIngresos }}
ventas desde anuncios
Ventas
{{ mktKpiVentas }}
Pagos iniciados
{{ mktKpiCheckouts }}
{{ mktKpiCheckoutsNota }}
Carritos
{{ mktKpiCarritos }}
agregados al carrito
CTR
{{ mktKpiCtr }}
Alcance
{{ mktKpiAlcance }}
CPM
{{ mktKpiCpm }}

Resultados por día

{{ mktPeriodo }}

Campañas

{{ mktTopNota }}
Act. Campaña {{ mktSortNombreArr }} {{ h.label }} {{ h.arr }}
{{ c.nombre }} {{ c.swHint }} {{ c.presuFmt }}{{ c.presuSub }} {{ c.gastoT }}{{ c.comprasT }}{{ c.roasT }}{{ c.cpaT }}{{ c.chT }}{{ c.cpchT }}{{ c.carT }}{{ c.cpcarT }}{{ c.valorT }}{{ c.ctrT }}{{ c.frecT }}{{ c.cpcT }}{{ c.cpmT }} {{ c.entrega }} {{ c.alerta }}
{{ c.det.mkcPeriodo }} · {{ c.det.mkcNota }}
Presupuesto diario {{ c.det.mkcDiarioFmt }} · {{ c.det.mkcDiarioNota }}
Conjuntos de anuncios
{{ s.nombre }} {{ s.ubicacion }} · {{ s.edad }} años · invertido {{ s.spendFmt }} {{ s.estLabel }} Diario {{ s.diarioFmt }}
Anuncios de esta campaña
Sin anuncios para mostrar.
Act. Anuncio {{ c.det.mkcSortNombreArr }} {{ h.label }} {{ h.arr }}
{{ a.nombre }} {{ a.nombre }} {{ a.swHint }} {{ a.gastoT }}{{ a.comprasT }}{{ a.roasT }}{{ a.cpaT }}{{ a.chT }}{{ a.cpchT }}{{ a.carT }}{{ a.cpcarT }}{{ a.valorT }}{{ a.ctrT }}{{ a.frecT }}{{ a.cpcT }}{{ a.cpmT }} {{ a.estLabel }}
{{ c.det.mkcTotLabel }} {{ x.v }}
{{ mktTotLabel }} {{ x.v }}
Ninguna campaña tuvo inversión en este periodo.
Cambios hechos desde el Hub
Ninguno todavía. Al pausar, activar, cambiar presupuesto o duplicar una campaña, el cambio queda registrado acá.
{{ l.cuando }} {{ l.txt }} {{ l.quien }}

Alertas

{{ a.tipo }}
{{ a.txt }}
Sin alertas por ahora.

Revisión diaria de anuncios

Cada anuncio, últimos 4, 7 y 8 días completos (sin hoy) · todos los días 9:00 a. m. · solo consulta, no cambia nada en Meta · {{ maParams }}
{{ maEstadoTxt }} · {{ maFecha }}
{{ maErr }}
Todavía no hay una revisión guardada. Corre «Revisar ahora» o espera a la de las 9:00 a. m.
No se pudo completar la revisión. Falta esta información:
· {{ e.t }}
{{ p.label }}{{ p.fechas }}
Inversión{{ p.inv }} Compras{{ p.comp }} CPA general{{ p.cpa }} ROAS general{{ p.roas }}
{{ p.nAnu }} anuncios · {{ p.nCpa }} CPA alto · {{ p.nRoas }} ROAS bajo · {{ p.nSin }} sin compras
Revisión prioritaria
{{ x.anuncio }}{{ x.campana }} · {{ x.estado }}{{ x.razon }}
Alertas · {{ maPerLabel }}
Sin incumplimientos en este periodo.
{{ a.titulo }} · {{ a.estado }}
{{ a.anuncio }}
{{ a.campana }} · {{ a.conjunto }}
{{ a.datos }}
· {{ m.t }}
{{ a.accion }}
{{ g.t }}{{ g.n }}
{{ i.t }}
CampañaAnuncioEstadoImporte gastadoComprasCPAROASCumplimientoAlertas
{{ f.campana }} {{ f.anuncio }} {{ f.estado }} {{ f.gasto }} {{ f.compras }} {{ f.cpa }} {{ f.roas }} {{ f.cumple }} {{ f.alertas }}
{{ maTot }}

De dónde vienen los pedidos

Según el enlace por el que entró cada cliente a la tienda (UTM, Google, Meta, referente) · {{ mktPeriodo }}
{{ mktFuentesNota }}
{{ f.label }}
{{ f.camp }}
{{ f.n }} {{ f.pct }}
{{ f.ing }}
Todavía no hay pedidos con rastro de origen en este periodo. Sincroniza Shopify (Ventas → Shopify) para completar el origen de los pedidos.
Google Ads{{ mktGoogleTxt }}

Base de creadores de contenido. Cada envío de mercancía sale como MSVC: descuenta inventario y su costo va al gasto de muestras del PyG, igual que cualquier MSVC.

{{ k.l }}
{{ k.v }}
{{ k.s }}
{{ ugcVacioTxt }}
{{ u.nombre }}
{{ u.handle }}
{{ u.seguidores }}
{{ u.ciudad }}
{{ u.enviosTxt }}
{{ u.costoTxt }}
{{ u.contenidoTxt }}
{{ u.esperaTxt }}
{{ u.estL }}
Datos
{{ u.contactoTxt }}
{{ u.direccionTxt }}
{{ u.acuerdoTxt }}
{{ u.notas }}
Envíos de mercancía
Todavía no se le ha enviado nada.
{{ e.numero }}{{ e.fecha }} · {{ e.costo }}
{{ e.items }}
Guía {{ g.remision }}{{ g.info }}
{{ e.err }}
Contenido entregado
Sin contenido registrado.
{{ ct.fecha }}{{ ct.label }}

Dos pasos: creas la plantilla acá y Meta la revisa; cuando quede aprobada, eliges a quién le llega y el Hub la envía por lotes. Nunca se envía a quien pidió detener promociones.

Puedes ver las campañas, pero crear plantillas y enviar requiere permiso de escritura en Marketing.
Paso 1

{{ cwPaso1Titulo }}

Meta aprueba cada promoción por separado. Nombre con fecha, cuerpo sin links ajenos y la foto del encabezado.

{{ cwEditNota }}
Esta plantilla tiene foto de encabezado y Meta no la conserva al editar: vuelve a subirla abajo antes de guardar.
{{ cwCuerpoLen }} de 1024 caracteres
Foto del encabezado
{{ cwImgNombre }}
Subiendo…
Botones
Incluir el botón Detener promociones
Al pulsarlo, el cliente queda fuera de toda campaña futura.
Enviando a Meta…
{{ cwMsg }}
Como le llega al cliente
{{ cwPrevia }}
{{ cwPreviaBtn }}
Detener promociones

{{ cwFamTitulo }}

{{ cwFamNota }}

Consultando Meta…
{{ cwTplsErr }}
No hay plantillas de este tipo en la cuenta.
{{ t.nombre }}
{{ t.cat }} · {{ t.extra }}
{{ t.estado }}
{{ t.cuerpo }}
Paso 2

Enviar la campaña

Vas a enviar {{ cwSel }} — {{ cwSelEstadoTxt }}.

Segmentos
Sin segmentos marcados = todos los clientes que cumplan los filtros.
Canal de venta
Sin canal marcado = clientes de todos los canales.
{{ cwDestN }} clientes con WhatsApp en este filtro
{{ d.nombre }} {{ d.tel }} {{ d.seg }}
y {{ cwDestMas }} más…
Esta plantilla lleva foto en el encabezado y no hay ninguna cargada: sube la imagen en el Paso 1 antes de enviar.
Enviando prueba…
Revisando opt-out y envíos recientes…
Probar las plantillas de pedido y envío

Las que salen solas con cada pedido. Se mandan al número de prueba de arriba, con los datos de un pedido real reciente, para que veas exactamente cómo le llegan al cliente. No tocan el pedido ni quedan en su historial.

Todavía no hay pedidos con los que armar el ejemplo.
Enviando {{ cwTxEnviandoLabel }}…
Sube las fotos de marca y crea una copia de cada plantilla con encabezado de imagen. Meta las revisa en minutos u horas; hasta entonces sale la versión sin foto.
Subiendo fotos y creando plantillas…
· {{ r.t }}

Vas a enviar {{ cwConfN }} mensajes

Plantilla {{ cwConfTpl }} · quedan en cola y salen desde el servidor, unos {{ cwConfMin }} minutos. Puedes cerrar el Hub: siguen saliendo solos. Y puedes detenerla en cualquier momento.

Quedan por fuera {{ cwConfOpt }} con promociones detenidas y {{ cwConfRep }} contactados hace menos de {{ cwConfNoRep }} días.

{{ cwRunHechos }} de {{ cwRunTotal }} · {{ cwRunOk }} enviados · {{ cwRunFallo }} con problema · {{ cwRunOmitido }} omitidos
{{ cwRunUltimo }} · van saliendo desde el servidor, puedes cerrar esta pestaña.
Armando la cola…
Campaña detenida a mano.
{{ e.t }}

Meta Business · Anuncios

{{ mktEstadoConexionLabel }}

Conecta la cuenta publicitaria de Oasis del Alma para traer campañas, métricas y creativos en tiempo real. Por ahora el módulo funciona con datos de demostración.

Cuenta
{{ mktCuentaNombre }}
Ad Account ID
{{ mktCuentaId }}
Página
{{ mktCuentaPagina }}
Píxel
{{ mktCuentaPixel }}

Lo encuentras en el Administrador de anuncios de Meta, arriba a la izquierda (empieza por act_).

{{ mktLiveTsFmt }}
{{ mktLiveError }}
Cómo activar los datos reales (una sola vez)
  1. En business.facebook.com → Configuración del negocio → Usuarios del sistema, crea uno con rol Administrador.
  2. Asígnale tu cuenta publicitaria con acceso total y genera un token con el permiso ads_read (dura mucho tiempo).
  3. En Supabase → Edge Functions → Secrets, guarda ese token como META_ACCESS_TOKEN.
  4. Despliega la función del servidor (supabase functions deploy meta) que ya dejé lista en el proyecto.
  5. Vuelve aquí, escribe tu Ad Account ID y pulsa Traer datos reales.
El token vive solo en el servidor — nunca se expone en el navegador. Al sincronizar se traen de tu cuenta: campañas, creativos (anuncios), públicos (conjuntos) y la tendencia diaria. Los datos quedan guardados y se refrescan solos al abrir.

Agenda una cita con el equipo

Elige el día y la hora que te sirvan; la cita queda confirmada de una vez.

Los espacios se sincronizan en vivo. Al confirmar recibes la invitación por correo.

Reportar un problema o pedir un cambio

Cuéntanos qué pasó o qué necesitas y el equipo de soporte lo revisa.

Escribe un asunto para poder enviarlo.
Máx. 4 fotos
{{ sopError }}
El primer chequeo se corre esta noche.
Salud del sistema
{{ saludEstadoLabel }}
Respuesta
{{ saludSeg }}
Peso
{{ saludPeso }}
Último chequeo
{{ saludFecha }}

{{ saludResumen }}

Últimos 14 chequeos
ODA Labs ya está enterado y revisando.

Mis solicitudes

Cargando tus solicitudes…
Aún no has enviado solicitudes. Cuando reportes algo, aparecerá aquí con su estado.
{{ t.asunto }} {{ t.fechaFmt }} · Prioridad {{ t.prioridad }} · Creado por {{ t.creador }} {{ t.reabiertoTxt }} ¿Quedó resuelto? ¿Qué sigue pasando? Cuéntanos qué sigue pasando para poder reabrirlo. {{ t.confTxt }} {{ t.estado }}

Despacho: el mismo día hábil si el pedido entra antes del corte, si no el siguiente. Entrega: días hábiles desde el despacho según la zona. Las fechas reales salen de la guía en Shopify y de la etiqueta de entregado, o se marcan a mano.

{{ k.l }}
{{ k.v }}
{{ k.s }}
{{ logSinFechaTxt }}

Cumplimiento por zona

Zona
Pedidos
A tiempo
Prom. real
Atrasados
{{ z.l }}
Promesa: {{ z.plazo }}
{{ z.n }}
{{ z.pct }}
{{ z.prom }} d
{{ z.atr }}

Motivos de retraso

{{ m.l }}{{ m.n }}
Sin retrasos en el periodo.

Atrasados abiertos y entregados tarde del periodo. Anota el motivo en cada pedido para ver dónde se pierde la promesa.

Guías automáticas · {{ gaFechaTxt }}

Al instante cuando entra, se paga o se confirma un pedido (desde las 2:00 p. m. queda por aprobar) + revisión 7:00 a. m. · solo días hábiles (lunes a viernes sin festivos; lo del fin de semana sale el siguiente día hábil) · avisa a todos «Guía lista para imprimir» · Página Web fuera de la ciudad de Cali (Jamundí, Yumbo, Palmira… incluidos), pagados o contraentrega confirmada · sin Interrapidísimo ni notas de «no despachar» o fecha puntual · quedan como enviados en Shopify con su guía (referencia = n.º de Shopify) y se pide la recogida
{{ gaErr }}
{{ r.txt }}
{{ gaRecTxt }}
{{ gaAprTit }}
Coordinadora recoge entre 2 y 4 p. m.: lo que llega después de las 2 se crea solo a las 7:00 a. m. del siguiente día hábil si no lo apruebas. Las direcciones por revisar NO se crean solas: corrígelas en Shopify y aprueba.
{{ a.pedido }} {{ a.cliente }} · {{ a.ciudad }} {{ a.pago }} Llegó {{ a.llegada }} {{ a.motivo }}
Hoy no se han creado guías automáticas.
{{ g.pedido }}{{ g.cliente }}{{ g.ciudad }} {{ g.remision }}{{ g.pago }}{{ g.shop }} {{ g.dirFixTxt }}
{{ gaSimTxt }}
✓ {{ x.t }}
· {{ x.t }}
✕ {{ x.t }}
{{ logVacioTxt }}
{{ r.pedido }} · {{ r.cliente }}
Pedido {{ r.fecha }}
{{ r.ciudad }}
{{ r.zona }}
Despacho · prom. {{ r.promDesp }}
{{ r.despReal }}
Entrega · prom. {{ r.promEnt }}
{{ r.entReal }}
{{ r.estL }}{{ r.etapa }}{{ r.motivo }}
{{ r.atrasoTxt }}
{{ r.guiaTxt }}
Rastrear guía
{{ r.fuenteTxt }}
{{ r.coordTxt }}
{{ logMasTxt }}

Conexión con Coordinadora

Prueba el rastreo oficial con una guía real. Si responde con los eventos y la fecha de entrega, la conexión quedó bien.
{{ coordSyncTxt }}
{{ coordResTit }}
{{ e.f }}{{ e.d }}
Respuesta técnica (para revisar)
{{ coordRaw }}

Promesa de despacho

Si el pedido entra un día hábil antes de la hora de corte, sale ese mismo día; si no, el siguiente día hábil (sin sábados, domingos ni festivos). El despacho real es la fecha en que se crea la guía en Coordinadora (llega de Shopify); si va por otro medio, se marca a mano al preparar el pedido.

Promesa de entrega · días hábiles desde el despacho

Se usa el máximo del rango que le prometes al cliente. En Cali, un pedido sin guía se toma como mensajero y uno con guía como transportadora.

Poner al día los pedidos viejos

Si hay pedidos que ya llegaron pero nunca tuvieron la etiqueta de entregado, elige una fecha: los despachados antes de ese día quedan como entregados «sin fecha», así no salen como atrasados y no cuentan en el % de entrega.

{{ logLimpiarN }} pedidos despachados sin entregar antes de esa fecha
Próximo módulo

{{ prontoNombre }}

{{ prontoDesc }} Lo construimos paso a paso: cuando tengas la información de sus submódulos, lo activamos aquí.

Desarrollado por ODA Labs
{{ docViewTitle }}

{{ modalTitle }}

Teléfonos · se usan para el enlace de WhatsApp
Se aplicará a {{ emN }}
{{ n.txt }}
{{ emMasTxt }}
Deja en blanco lo que no quieras cambiar. Solo se modifican los campos que llenes.
Precio
Corregir el costo de lo ya vendido. Recalcula el costo guardado en las ventas anteriores de estos productos (y de los kits que los incluyen) con su estructura actual. Guarda primero la estructura corregida. Solo Administrador.
Ya existe el producto terminado {{ draft.codigo }} con este mismo código.
Stock inicial
{{ draft.stockActual }}
Solo un administrador puede modificarlo.
El costo base es la información histórica de partida. De ahí en adelante, cada orden de compra recibida recalcula el costo como promedio ponderado con las cantidades y precios nuevos.
Mes del gasto en el estado de resultados · solo Administrador

Para servicios que cubren varios meses (anualidades, pólizas, licencias, mantenimientos). El pago y el IVA quedan en su fecha; solo el gasto se mueve. Llevarlo a otro mes: deja 1 mes y elige el mes. Prorratear: pon cuántos meses y desde cuál.

{{ svcProrrRango }}
{{ svcProrrCuota }}

El servicio queda pagado al proveedor; el cargo pasa como deuda de esa tarjeta y aparece en Cuentas por pagar hasta que abones la tarjeta.

Factura física
✓ Factura adjunta

Orden {{ draft._numero }} · {{ draft._proveedor }}

ÍtemOrdenadoRecibidoRecibe ahora
{{ l.nombre }} {{ l.ordenada }} {{ l.yaRecibida }}
Todos los ítems de esta orden ya fueron recibidos por completo.

Registra solo lo que llegó en esta entrega. Cuando se reciban todos los ítems, la orden pasa automáticamente a Recibida.

Confirma la fecha en que llegó la mercancía. Con esta fecha se registra la entrada al inventario y el costo promedio.

Orden {{ draft._numero }} · {{ draft._proveedor }}
Ítem pendienteCantidad
{{ p.nombre }}{{ p.cantidad }}
No quedan ítems pendientes; la orden solo se marcará como recibida.

Corrige la fecha en que realmente llegó esta mercancía. El stock no cambia, pero el movimiento se reubica en el kardex y en los informes del mes correcto.

Orden {{ draft._numero }} · {{ draft._nota }}
Llegó en esta recepciónCantidad
{{ p.nombre }}{{ p.cantidad }}
Esa fecha es anterior al inicio de operaciones ({{ fechaCorteLabel }}). Esta mercancía ya estaría contada dentro del inventario inicial, así que dejaría de sumar al stock.
Aceites esenciales de la mezcla
{{ f.nombre }} ml · {{ f.pct }}% · {{ f.costoUnitFmt }}/ml {{ f.costoLineaFmt }}
Agrega los aceites esenciales que componen la mezcla.

Al guardar un cambio, la fórmula anterior queda archivada con la fecha en que dejó de regir: las producciones ya registradas conservan la suya y solo las nuevas usan esta.

Historial de la fórmula
{{ v.vigencia }} {{ v.resumen }} {{ v.rend }} ml
Costo del lote
{{ mezclaCostoFmt }}
Rendimiento
{{ mezclaRendFmt }}
Costo por ml
{{ mezclaUnitFmt }}

Crea varios productos que comparten todo y solo cambian el aceite (o la mezcla). Define la plantilla y los materiales comunes, elige los aceites y se genera un producto independiente por cada uno.

¿Cobra IVA?
Materiales comunes (frasco, etiqueta, base…)
{{ f.nombre }} {{ f.cantidad }} {{ f.unidad }} × {{ f.costoUnitFmt }} {{ f.costoLineaFmt }}
Opcional: agrega frasco, etiqueta u otros materiales comunes a todas las variaciones.
Aceites y mezclas a generar · {{ bulkCount }} seleccionados
{{ o.nombre }} {{ o.costoFmt }}
Se crearán {{ bulkCount }} productos
· {{ b.nombre }}
Orden de producción {{ opDetalle.numero }}
{{ opDetalle.fechaFmt }} · {{ opDetalle.nLineas }} producto(s) · {{ opDetalle.totUnid }} unidades
ProductoCantidadCosto lote
{{ l.productoNombre }}{{ l.recLbl }}{{ l.codigo }} · {{ l.costoUnitFmt }}/und{{ l.cantidad }} und{{ l.totalFmt }}
Total{{ opDetalle.totUnid }} und{{ opDetalle.totCostoFmt }}
{{ mkcNombre }}
{{ mkcPeriodo }} · {{ mkcNota }}
Inversión{{ mkcResumen.spendFmt }} Ingresos{{ mkcResumen.ingresosFmt }} ROAS{{ mkcResumen.roasFmt }} Compras{{ mkcResumen.resultados }} Costo / compra{{ mkcResumen.cpaFmt }} Pagos iniciados{{ mkcResumen.checkoutsFmt }} Cierre{{ mkcResumen.cierreFmt }} Frecuencia{{ mkcResumen.frecuencia }}
Presupuesto diario {{ mkcDiarioFmt }} · {{ mkcDiarioNota }}
Conjuntos de anuncios
{{ s.nombre }} {{ s.ubicacion }} · {{ s.edad }} años · invertido {{ s.spendFmt }} {{ s.estLabel }} Diario {{ s.diarioFmt }}
Anuncios de esta campaña
Sin anuncios para mostrar.
{{ a.nombre }} {{ a.estLabel }} {{ a.formato }} · {{ a.conjunto }}
{{ a.copy }}
Inversión{{ a.spendFmt }} ROAS{{ a.roasFmt }} Compras{{ a.compras }} Costo / compra{{ a.cpaFmt }} Carritos{{ a.carritosFmt }} Pagos inic.{{ a.checkoutsFmt }} Cierre{{ a.cierreFmt }} CTR{{ a.ctrFmt }} Alcance{{ a.alcanceFmt }} Frecuencia{{ a.frecuencia }}
Ver la publicación →
N° de orden de producción {{ draft._numero }}
¿Para qué es esta recarga?
Elige una opción para poder agregarla.
Materias e insumos que se consumirán · según la cantidad indicada
{{ r.nombre }} {{ r.requerido }} {{ r.unidad }} {{ r.costoLineaFmt }}
Este producto no tiene fórmula registrada.
Recarga: se descuenta todo el contenido (mezcla, aceites e insumos: agua, alcohol, glicerina, pabilos, pegatinas…) — envase, tapa, válvula, etiqueta y empaque no se consumen. Consumo interno: no suma al stock de PT; su costo va al P&G como «Recargas · consumo interno». Para venta: suma al stock de PT al costo de lo recargado; no va al P&G hasta que se venda.
Costo unitario {{ prodOpCostoUnitFmt }} · Costo del lote {{ prodOpTotalFmt }} · Stock resultante {{ prodOpStockResultante }} (desde {{ prodOpStockActual }} und)
ProductoCantidadCosto lote
{{ it.nombre }}{{ it.recLbl }} {{ it.cantidad }} und {{ it.costoLineaFmt }}
Aún no has agregado productos. Agrégalos arriba uno por uno o sube un Excel.
Total: {{ prodTotalCant }} undCosto de producción: {{ prodTotalCostoFmt }}
N° de orden de producción {{ draft._numero }}
Elige una mezcla para ver los aceites que se consumirán.
Aceites que se consumirán
{{ r.nombre }} {{ r.requerido }} {{ r.unidad }} {{ r.costoLineaFmt }}
Esta mezcla no tiene fórmula registrada.
Costo por ml
{{ prodMezCostoMlFmt }}
Costo total
{{ prodMezTotalFmt }}
Stock resultante
{{ prodMezStockResultante }} ml
desde {{ prodMezStockActual }} ml · +{{ prodMezMlTotal }} ml

{{ draft._tipo }} · {{ draft._nombre }} ({{ draft.codigo }})

Según el sistema
{{ draft._sistema }} {{ draft._unidad }}
Diferencia {{ conteoDifTxt }} {{ conteoDifNota }}

Queda registrado a nombre de {{ conteoYo }} con la fecha del conteo. {{ conteoAprobTxt }}

{{ draft._tipo }} · {{ draft._nombre }} ({{ draft.codigo }})

Stock actual en el sistema: {{ draft._derivado }} {{ draft._unidad }} · saldo inicial + compras recibidas − consumo + conteos aprobados.

El stock inicial es el punto de partida del inventario: el stock que ves en las listas es este número menos lo consumido en producción. No escribas acá un conteo físico — se restaría dos veces. El costo queda como el vigente para valorar inventario y costear productos.

¿Cobra IVA?
Tienda online
Ya existe en Shopify · id {{ prodShopifyId }}
Foto del producto
{{ prodFotoNode }}
Fórmula · materias, insumos y mezclas
{{ f.nombre }} {{ f.cantidad }} {{ f.unidad }} × {{ f.costoUnitFmt }} {{ f.costoLineaFmt }}
Agrega las materias e insumos que componen el producto.
Producto de reventa · compra y venta
Se compra y se vende igual, sin fórmula. Su stock y costo se heredan de la materia con el mismo código. Registra las compras como orden de compra de esa materia: cada recepción actualiza su stock y costo promedio, y este producto los toma automáticamente. El costo base de arriba solo aplica si aún no creaste la materia.
{{ prodCostoLabel }}
{{ prodCostoFmt }}
Precio venta
{{ prodPrecioFmt }}
Utilidad · margen
{{ prodMargenFmt }}
{{ prodMargenPct }}
El precio de venta ya incluye IVA · Base sin IVA: {{ prodPrecioNetoFmt }} (IVA {{ prodIvaFmt }} · la utilidad y el margen se calculan sobre la base sin IVA)
El costo usa el costo actual de las materias. El consumo real es PEPS (primero en entrar, primero en salir): se descuenta primero el lote más antiguo y el costo se recalcula cuando cambian los precios. Esto se controla en Inventario.
Foto del kit
{{ kitFotoNode }}
Componentes del kit
{{ it.tipoLabel }} {{ it.nombre }}En el kit desde {{ it.desdeFmt }}Salió del kit el {{ it.hastaFmt }} {{ it.cantidad }} × {{ it.precioUnitFmt }} Costo {{ it.costoTotalFmt }} {{ it.subtotalFmt }}
Agrega los productos e insumos que arman el kit.
{{ a.txt }}
Historial de la estructura
{{ v.vigencia }} {{ v.resumen }}
Las ventas de cada periodo descuentan la estructura que regía ese día. Este kit todavía tiene una sola versión: al guardar un cambio en los componentes, la estructura anterior se archiva acá sola.
Suma suelto (sin IVA){{ kitSumaFmt }}
Precio final del kit (con IVA){{ kitPrecioFmt }}
Precio del kit sin IVA{{ kitPrecioNetoFmt }}
Ahorro para el cliente{{ kitAhorroFmt }} · {{ kitAhorroPct }}
Costo de producción del kit{{ kitCostoFmt }}
Margen (sin IVA){{ kitMargenFmt }} · {{ kitMargenPct }}
N° de orden (consecutivo) {{ draft._numero }}
Agregar ítem

Und x empaque: si el producto viene en presentaciones de varias unidades (ej. caja x 24), pon aquí cuántas trae cada empaque y en Precio el valor de ese empaque; el sistema calcula la cantidad total y el costo unitario. Si es unidad simple, déjalo en 1 o vacío. Si dejas Precio vacío, la línea toma el costo registrado.

{{ it.nombre }}{{ it.metaTxt }}
Aún no has agregado ítems.
Edita la cantidad de cada línea, y captura el precio como valor por unidad o como total de la línea — al cambiar uno se recalcula el otro.

El flete se suma al total de la orden y queda como gasto en Finanzas. Si está grabado con IVA, se le aplica el 19% sobre el valor ingresado.

Márcalo si el proveedor no cobra IVA en esta compra; el total se calculará sin el 19%.

Actívalo solo si esta compra aplica retención (según los topes de ley / UVT o el tipo de proveedor). Se calcula con las tasas configuradas y se descuenta al pagar.

Si escribes cualquiera de las tres, la retención se calcula SOLO con lo que escribas (lo vacío cuenta como 0). Si dejas las tres vacías, se calcula automático con las tasas configuradas.

La orden queda pagada de una y no aparece en Cuentas por pagar; el cargo se refleja en esa tarjeta de crédito (que a su vez es una cuenta por pagar al banco).

Subtotal{{ ordenDraftBase }}
IVA{{ ordenDraftIva }}
Flete{{ ordenDraftFleteFmt }}
Total{{ ordenDraftTotal }}

Al guardar, la orden queda Por aprobar hasta el visto bueno del administrador.

Orden {{ draft._numero }} · {{ draft._proveedor }} · Total {{ draft._totalFmt }}

Factura adjunta · PDF o imagen

Orden {{ draft._numero }} · {{ draft._proveedor }}

Saldo pendiente{{ draft._saldoFmt }}
Retención de ley a practicar− {{ draft._retenFmt }}
Neto a pagar al proveedor{{ draft._netoFmt }}
El monto sugerido ya descuenta la retención. Ese valor retenido lo declaras tú ante la DIAN.

La forma de pago y la cuenta quedan registradas para los cruces de cuenta y el flujo de caja por banco. Si el monto cubre el saldo, la orden queda Pagada; si es menor, Pago parcial.

{{ detalle.eoLabel }} {{ detalle.epLabel }}
Proveedor: {{ detalle.proveedorNombre }}
Fecha: {{ detalle.fechaFmt }}
Creada por: {{ detalle.creadaPor }}
{{ detalle.facturaLinea }}
Ver factura adjunta
ÍtemCant × costoSubtotal
{{ it.nombre }}{{ it.refTxt }}{{ it.cantidad }} × {{ it.costoFmt }}{{ it.subtotalFmt }}
Subtotal{{ detalle.baseFmt }}
IVA{{ detalle.ivaFmt }}
Flete{{ detalle.fleteFmt }}
Total{{ detalle.totalFmt }}
Recepciones
{{ detalle.recepResumen }}
ÍtemPedidoRecibidoPendiente
{{ a.nombre }}{{ a.pedidoFmt }}{{ a.recibidoFmt }}{{ a.pendFmt }}
{{ e.fechaFmt }} {{ e.meta }}
{{ l.nombre }}{{ l.cantFmt }}
Pagado: {{ detalle.pagadoFmt }} · Saldo: {{ detalle.saldoFmt }}
Pagos registrados
{{ p.fecha }} {{ p.forma }}{{ p.cuenta }} {{ p.montoFmt }}
Orden cancelada
{{ detalle.cancelInfo }}
No suma inventario, no genera cuenta por pagar y no mueve caja, IVA ni retenciones.

Ya le enviamos la reposición al cliente, pero el caso {{ ccFolio }} sigue abierto con {{ ccTransp }} (guía {{ ccGuia }}). Antes de cerrarlo, dinos cómo terminó: de eso depende si el producto vuelve al inventario o si entra plata.

La transportadora retornó el paquete original
El producto vuelve a bodega y se reintegra al inventario. No entra plata.
Vuelve al inventario
{{ it.nombre }}{{ it.uds }} uds
La transportadora pagó el valor del seguro
El paquete se perdió: entra el dinero del siniestro a la cuenta que elijas. El inventario no cambia.
Ni retorno ni seguro
Se cierra sin recuperar nada. La pérdida queda cargada al caso.
Vas a cancelar la orden {{ coNumero }} de {{ coProveedor }}.
Total {{ coTotal }} · Pagado {{ coPagado }}
La orden queda en el historial con motivo, autor y fecha, pero deja de tener efecto: no suma inventario, no genera cuenta por pagar y no mueve caja, IVA ni retenciones.
Ojo: esta orden ya tiene recepciones registradas. Al cancelarla, ese inventario deja de contar.
Ojo: esta orden ya tiene pagos registrados. Revisa caja y bancos después de cancelar.
N° de orden de venta {{ draft._ov }}
Muestras y garantías: pon los productos en $0. Descuentan inventario y su costo queda en el pedido.

Las unidades salen del stock en consignación de esa tienda y NO del inventario propio. Al empaque solo se le aplican las reglas de cajas.

Productos vendidos
{{ it.nombre }} × {{ it.valorFmt }} −% {{ it.subtotalFmt }}
Agrega los productos o kits de esta venta.
Material de empaque de este pedido · genera costo y descuenta inventario
{{ e.nombre }} {{ e.codigo }}{{ e.cantidad }} {{ e.unidad }}{{ e.costoFmt }}
{{ venDescMasivoHint }}
Pago mixto · abono ya recibido

Si el cliente abonó una parte por otro medio (ej. transferencia) y el resto queda contra entrega, regístralo aquí: el abono entra ya al banco y el saldo sigue como recaudo por cruzar.

Saldo que queda como recaudo por cruzar{{ venAbonoSaldoFmt }}

Lo escribes tú al registrar el pedido (no se calcula solo): es lo que le pagamos al mensajero o transportadora por entregarlo. No lo paga el cliente ni suma al total de la venta; se registra como gasto del mes en el P&G (flete de entregas) y, al indicar la cuenta, se descuenta de su saldo en Finanzas.

Mercancía (sin IVA){{ drSubtotalFmt }}
IVA 19%{{ drIvaFmt }}
Total con envío{{ drTotalFmt }}

Si dejas «Pagado» vacío la venta queda como «Por cobrar». Escribe el monto recibido para un abono parcial, o marca «Ya está pagada» arriba para registrarla como pagada. El stock de producto terminado se descuenta al guardar.

{{ msvcUgcTxt }}

Muestras sin valor comercial. No suma a ventas ni ingresos, pero sí descuenta el stock de producto terminado.

Productos entregados
{{ it.nombre }} {{ it.unidades }} und
Agrega los productos o kits que salen como muestra.
Material de empaque
Bolsa, caja, papel… suma al costo del envío y descuenta del inventario.
{{ it.nombre }} {{ it.cantidad }} · {{ it.costoTxt }}
{{ msvcCostoTxt }}
Envío
Sale de esa cuenta y va al PyG como flete de entregas, igual que en un pedido.
La guía sale apenas se registre la MSVC y queda en el envío del creador (rótulo PDF, rastreo y alistamiento).
N° de cotización {{ draft._numero }}
Productos cotizados
Agrega productos o kits. También puedes incluir una materia prima adicional (empaque, obsequio, aceite extra): suma solo al costo y baja el margen, sin sumarse al precio del cliente.
{{ it.nombre }} × {{ it.valorFmt }}{{ it.descTxt }} {{ it.subtotalFmt }}
Agrega los productos a cotizar.
{{ cotInvResumen }}
Producto terminadoPideBodegaAcción
{{ r.nombre }} {{ r.codigo }}{{ r.nec }}{{ r.disp }}{{ r.estado }}
Mezclas (ml)NecesitaHayEstado
{{ r.nombre }}{{ r.nec }}{{ r.disp }}{{ r.estado }}
Materias, insumos y empaqueNecesitaHayEstado
{{ r.nombre }} {{ r.codigo }}{{ r.nec }} {{ r.uni }}{{ r.disp }}{{ r.estado }}
Stock actual de Inventario (el mismo del kardex). Lo que falta en bodega se explota a su fórmula; no reserva ni descuenta nada, y no resta otros pedidos pendientes por producir.
Escala de descuento
{{ tr.pct }}
{{ tr.desde }}
PVP sin IVA {{ cotEscPvpFmt }} {{ cotEscSugTxt }}
{{ cotEscSigTxt }}
Rentabilidad · sobre precio sin IVA · solo visible para el equipo
Margen inicial (sin descuento)
{{ cotMargenIniPct }}%
{{ cotMargenIniFmt }}
Margen con descuento
{{ cotMargenDescPct }}%
{{ cotMargenDescFmt }}
Costo total
{{ cotCostoTotFmt }}
Subtotal sin IVA{{ cotSubtotalFmt }}
Descuento {{ cotDescPctTxt }}{{ cotDescMontoFmt }}
Envío{{ cotEnvioFmt }}
IVA (19%){{ cotIvaFmt }}
Total{{ cotTotalFinalFmt }}
Creado por {{ leadDraftCreador }}
Así se verá el PDF {{ cotPreviewNoun }} {{ cotPreviewNum }}.
Modelo de referencia, no reemplaza la revisión de un abogado. Firma el deudor con huella, en tinta y en original; el acreedor guarda el original. Antes de firmar confirma que la tasa no supere la de usura del mes.
{{ baseDetDimLabel }} {{ baseDetTitulo }}
Ventas
{{ baseDetCount }}
Total
{{ baseDetTotalFmt }}
Unidades
{{ baseDetUnidades }}
{{ sortFecha }}{{ sortPI }}{{ sortPS }}{{ sortCli }}{{ sortCanal }}{{ sortCiudad }}{{ sortUnd }}{{ sortTotal }}
{{ r.fechaFmt }} {{ r.pedidoInterno }} {{ r.pedidoShopify }} {{ r.cliente }} {{ r.canal }} {{ r.ciudad }} {{ r.unidades }} {{ r.totalFmt }}
No hay ventas en este segmento.
{{ baseDetMas }}
{{ recModalTitulo }}
Invitar a alguien del Hub

A los invitados les aparece el recordatorio en su Inicio y reciben el mismo aviso.

No hay otros usuarios en el Hub.
{{ rvTitulo }} {{ rvEstadoL }}
{{ rvCuando }}
{{ rvAviso }} · {{ rvAutor }}

{{ rvDetalle }}

Invitados: {{ u.ini }}{{ u.nombre }}
Seguimiento
Sin notas todavía.
{{ n.ini }}
{{ n.texto }}
{{ n.autor }} · {{ n.cuando }}
{{ segNombre }} {{ segEstado }}
{{ segAsignado }}
Alertas de contacto
{{ a.estadoTxt }}
{{ a.fechaFmt }}
{{ a.nota }}
Sin alertas programadas. Elige una fecha para recordar el próximo contacto.
Comentarios y seguimiento
{{ c.inits }}
{{ c.autor }}{{ c.fechaFmt }}
{{ c.texto }}
Aún no hay comentarios. Agrega el primero para registrar el seguimiento.
{{ cliente.nombre }}
{{ cliente.ciudad }} · {{ cliente.canal }}
📱 {{ cliente.celular }}✉️ {{ cliente.correo }}
{{ cliente.segmento }}
Compras
{{ cliente.ordenes }}
Total
{{ cliente.totalFmt }}
Ticket
{{ cliente.ticketFmt }}
Última
{{ cliente.ultimaFmt }}hace {{ cliente.diasDesde }}
Recencia
{{ cliente.R }}
Frecuencia
{{ cliente.F }}
Monto
{{ cliente.M }}
Productos que compra
{{ p.nombre }} ×{{ p.unidades }}
Historial reciente
{{ h.ov }}{{ h.fechaFmt }} · {{ h.canal }} · {{ h.nItems }} ítems{{ h.totalFmt }}
Mensaje de recontacto
Redactando WhatsApp y correo…
{{ clienteMsg }}
Este cliente no tiene número de WhatsApp registrado para abrir el chat.
Genera un mensaje de WhatsApp y correo personalizado según el historial de compra de este cliente.

Prepara mensajes para los clientes del filtro actual: {{ waCampSeg }}. Edita la plantilla —usa {nombre} y {producto}— y abre cada chat con el texto ya escrito. WhatsApp no permite enviar en masa de forma automática, así que cada enlace abre el chat listo para enviar con un clic.

Plantilla del mensaje
Redactando plantilla…
{{ waCampConTel }} con WhatsApp {{ waCampSinTel }} sin número {{ waCampTotal }} en el filtro
Ningún cliente del filtro actual tiene número de WhatsApp registrado.
{{ c.nombre }}
{{ c.tel }}
{{ c.segmento }} WhatsApp
Referencias sin crear o sin costo
{{ detVenta.canal }} {{ detVenta.epLabel }} {{ detVenta.origenLabel }}
OV: {{ detVenta.ov }}
Pedido: {{ detVenta.pedido }}
Fecha: {{ detVenta.fechaFmt }}
Bodega: {{ detVenta.bodega }}
Cliente: {{ detVenta.cliente }}
Ciudad: {{ detVenta.ciudad }}
Celular: {{ detVenta.celular }}
Cédula / NIT: {{ detVenta.cedula }}
Correo: {{ detVenta.correo }}
Método de pago: {{ detVenta.metodoPago }}
N° de guía: {{ detVenta.guia }}
ProductoCant × valorSubtotal
{{ it.nombre }}{{ it.referencia }}×{{ it.unidades }} × {{ it.valorFmt }}{{ it.subtotalFmt }}
Mercancía{{ detVenta.subtotalFmt }}
Envío{{ detVenta.envioFmt }}
· IVA incluido en envío{{ detVenta.envioIvaFmt }}
Total{{ detVenta.totalFmt }}
Costo de entrega / mensajería · {{ detVenta.fleteCuentaTxt }}{{ detVenta.fleteEntregaFmt }}
Pago mixto · abono ya recibido
Abono: {{ detVenta.abonoFmt }}
Método: {{ detVenta.abonoMetodoTxt }}
Cuenta: {{ detVenta.abonoCuentaTxt }}
Fecha del abono: {{ detVenta.abonoFechaFmt }}
Saldo por cruzar en recaudo: {{ detVenta.saldoRecaudoFmt }}
Pagado / Saldo
{{ detVenta.pagadoFmt }} / {{ detVenta.saldoFmt }}
Excedente pagado: +{{ detVenta.excFmt }} sobre el total
Costo → Utilidad
{{ detVenta.costoFmt }} → {{ detVenta.margenFmt }}
Material de empaque de este pedido
{{ e.nombre }}{{ e.unidad }}{{ e.cantidad }} {{ e.unidad }}{{ e.costoFmt }}
Sin material de empaque registrado.
Sin coincidencias

Se descuenta del inventario al registrarlo.

Las unidades salen del stock en consignación de esa tienda y NO del inventario propio.

{{ detNotaAlist }}
{{ detNotaAlistAviso }}
{{ detAlistInfo }}
{{ detMensCobro }}
EditarQuitar
{{ detMensFormTit }}
{{ detMensInfo }}
Link de pago Bold {{ detBoldLink.estado }}
{{ detBoldLink.url }}
{{ detBoldLink.info }}
Este pedido aún no tiene link de pago.
Cuando el cliente paga, el pago llega a Finanzas → Bold y se cruza solo con este pedido (referencia del link).
Guía Coordinadora {{ detGuiaTipo }}
{{ g.titulo }}{{ g.remision }}{{ g.info }}
{{ detGuiaResumen }}
{{ detGuiaErr }}
Respuesta técnica de Coordinadora
{{ detGuiaRaw }}

Sube un archivo .xlsx o .csv con tus {{ importSubtitulo }}. La primera fila debe tener los encabezados; las columnas se reconocen por su nombre.

Columnas esperadas
{{ importColumnas }}
Archivo: {{ importName }} · {{ importCount }} filas detectadas
{{ importError }}
{{ h }}
{{ c }}
Mes del gasto en el estado de resultados · solo Administrador

Para pagos que cubren varios meses (anualidades, pólizas, licencias, arriendos adelantados). El dinero sigue saliendo en su fecha y el IVA en su bimestre; solo el gasto se mueve. Llevarlo a otro mes: deja 1 mes y elige el mes. Prorratear: pon cuántos meses y desde cuál.

{{ movProrrRango }}
{{ movProrrCuota }}
Factura / soporte · PDF o imagen

El rol solo es el punto de partida: al guardar se abre la fila del usuario en la matriz y ahí marcas módulo por módulo (sin acceso / lectura / escritura). Elige Personalizado para empezar sin ningún acceso. Al guardar también se crea o actualiza su cuenta de acceso (correo y contraseña) — no hay que hacer nada más. Los cambios se comparten con todos los equipos.

Sube el extracto PDF de la cuenta y lo cruzo contra los movimientos registrados en el Hub: te muestro qué falta por registrar, qué sobra y si el saldo cuadra.

{{ conGrupoHint }}
{{ conErr }}
Extracto del {{ conDesdeFmt }} al {{ conHastaFmt }} · {{ conNExt }} transacciones en el extracto · {{ conNSys }} en el Hub
Cruzadas
{{ conNCruz }}
Faltan en el Hub
{{ conNFaltan }}
{{ conFaltanTotalFmt }}
Sobran en el Hub
{{ conNSobran }}
{{ conSobranTotalFmt }}
Diferencia neta
{{ conDifFmt }}
extracto vs Hub
Saldo final del extracto: {{ conSaldoExtFmt }}·Saldo de la cuenta en el Hub a esa fecha: {{ conSaldoAppFmt }}{{ conSaldoVeredicto }}
Cruzadas con el mes vecino · {{ conNBorde }} — registradas en el Hub unos días antes o después del período
{{ r.fechaFmt }} → Hub {{ r.fechaSysFmt }} {{ r.desc }}{{ r.id }} {{ r.montoFmt }}
En el extracto pero NO en el Hub · faltan por registrar
{{ r.fechaFmt }} {{ r.desc }}{{ r.id }} {{ r.montoFmt }}
En el Hub pero NO en el extracto · no llegaron al banco o están dobles
{{ r.fechaFmt }} {{ r.desc }}{{ r.cat }} {{ r.montoFmt }}
✓ Todo cuadra: cada transacción del extracto está registrada en el Hub y no sobra ninguna.

El cruce es por tipo (entrada/salida) y valor (tolerancia ±$2), buscando la fecha más cercana (±3 días); lo que no cruza dentro del período se busca también en los 7 días anteriores y posteriores (borde de mes). «Registrar» abre el movimiento prellenado para guardarlo en la cuenta.

{{ mdConcepto }}
{{ mdFechaFmt }} · {{ mdOrigenTxt }}
{{ mdSigno }}{{ mdMontoFmt }}
{{ mdTipoTxt }}
Cuenta
{{ mdCuenta }}
Categoría
{{ mdCategoria }}
Ventas relacionadas · {{ mdNVentas }}
{{ v.ov }} {{ v.cliente }}{{ v.fechaFmt }} {{ v.totalFmt }}
Compra relacionada
{{ mdOrden.numero }} {{ mdOrden.proveedor }}
Movimiento manual — no está asociado a una venta o compra.
Este movimiento viene del recaudo {{ mdLiqMetodo }} del {{ mdLiqFecha }} · {{ mdLiqNVentas }} venta(s).
Ver factura adjunta
Ciclo de la tarjeta

Con estas fechas el sistema sugiere cuánto pagar para no generar intereses (deuda a la fecha de corte) y la fecha límite de pago.

El saldo inicial es el punto de partida. A partir de ahí, los pagos a proveedores, recaudos de ventas y movimientos manuales lo actualizan.

Conciliación de saldo
{{ ctaRealTxt }} · descuadre {{ ctaDifTxt }}
Registra el saldo real del banco para validar diferencias.

Reclamo sobre el pedido original {{ draft.pedidoRef }} y su guía. El costo y la salida de inventario ya se generaron al cerrar el caso; esto solo rastrea la disputa y, si la transportadora reintegra, registra ese ingreso.

Reintegro de la transportadora

Al guardar con reintegro > 0 se crea un ingreso en Finanzas por ese valor. Déjalo en 0 si aún no ha entrado.

Pago bimestral a la DIAN · {{ draft.label }}. Valor sugerido (IVA + retenciones): {{ draft.sugeridoFmt }}. Ajusta el valor, la fecha y de qué cuenta se pagó.

Registra el saldo real de {{ draft.nombre }} (el que ves en el banco). El sistema calcula el descuadre contra el saldo interno para que lo revises.

Saldo interno (sistema){{ draft.saldoActualFmt }}

Déjalo vacío para quitar el saldo real registrado. Esto no modifica los movimientos: solo sirve para detectar diferencias.

Mueve dinero entre tus cuentas (ej. del Bold a un bolsillo remunerado). No es ingreso ni gasto: solo cambia el saldo de cada cuenta.

Abona a la deuda de {{ draft._tarjeta }} desde un banco o efectivo. El pago reduce el saldo del banco y baja la deuda de la tarjeta; no vuelve a contar como gasto (el gasto se causó al hacer cada cargo).

Deuda actual de la tarjeta {{ draft._deudaFmt }}
Fecha límite de pago: {{ ptDueFmt }} · {{ ptDiasTxt }} Corte: {{ ptCorteFmt }}

Agrega la fecha de corte y de pago oportuno en Caja y bancos (editar la tarjeta) para que el sistema sugiera cuánto pagar sin generar intereses.

{{ credDesembTxt }}
Saldo real del crédito · {{ credSaldoHoyFmt }}
{{ credResumenReal }}
El campo Capital es solo el primer desembolso (su movimiento de caja). Las entregas adicionales se registran con «Entregar más».
{{ credLegalTxt }}
Cuota mensual {{ credCuotaPreviewFmt }}Total intereses {{ credTotalInteresFmt }}Total a pagar {{ credTotalPagarFmt }}
Aplica retención en la fuente ({{ credRetenPct }}) sobre los intereses · {{ credRetenMontoFmt }} del total de intereses ({{ credTotalInteresFmt }})
#FechaCuotaCapitalInterésSaldo
{{ s.n }}{{ s.fechaFmt }}{{ s.cuotaFmt }}{{ s.capFmt }}{{ s.intFmt }}{{ s.saldoFmt }}
{{ draft._nombre }} · capital actual{{ draft._capFmt }}

{{ ampMovTxt }}

Capital después de la entrega{{ ampCapNuevoFmt }}
{{ abCuotaTxt }} · saldo{{ abSaldoFmt }}

Registra el pago separando capital e interés. {{ abMovTxt }}

Total del movimiento{{ abTotalFmt }}
Comprobante de pago · opcional

Venta {{ draft._ov }} · {{ draft._cliente }}

Abonos ya registrados
{{ a.fecha }} {{ a.cuenta }} {{ a.monto }}
Saldo por cobrar{{ draft._saldoFmt }}

Este gasto era un estimado con una fecha de recordatorio. Confirma cuándo se pagó y de qué cuenta salió: con eso se registra el egreso en la caja.

{{ draft.concepto }} · estimado {{ pagarGastoMontoEstim }} · recordatorio {{ pagarGastoFechaEstimFmt }}

Registra el pago del servicio: confirma cuándo se pagó, de qué cuenta salió y el monto. Se crea el egreso en la caja.

{{ draft.nombre }} · {{ pagarSvcSub }}

Tasas generales usadas para estimar las retenciones practicadas en las compras. Ajústalas según el régimen de tus proveedores y tu municipio.

Legalizando 1 orden de {{ liqMetodo }}. Registra la deducción real y la cuenta donde entró el dinero.

Selecciona las órdenes incluidas en un solo desembolso de {{ liqMetodo }}. Entran al banco como un único ingreso y se descuenta la comisión total.

Venta / clienteFechaBruto
{{ v.cliente }}{{ v.ov }} {{ v.fechaFmt }} {{ v.brutoFmt }}
No hay ventas pendientes para este método.
Comisión− {{ liqComBaseFmt }}
IVA comisión (19%)− {{ liqComIvaFmt }}
ReteRenta ({{ liqRenta }})− {{ liqRentaFmt }}
ReteICA ({{ liqIca }})− {{ liqIcaFmt }}
ReteIVA ({{ liqRiva }})− {{ liqRivaFmt }}
Deducción estimada− {{ liqDedEstFmt }}
Bruto seleccionado ({{ liqNSel }})
{{ liqBrutoFmt }}
Neto a recibir
{{ liqNetoFmt }}

La deducción se prellenó con la comisión estimada; ajústala al valor real del reporte. Al registrar, el neto entra a la cuenta, la comisión queda como gasto y las ventas salen de «por cruzar».

Recaudo
Conteo de días
¿Comisión + IVA?
¿IVA de comisión descontable?

Si las facturas de la comisión aún están a nombre personal (p. ej. Coordinadora), deja una fecha futura aquí: el IVA solo entrará al reporte a partir de ese día, cuando las facturas pasen a nombre de la empresa.

Retenciones de ley (sobre la venta)

Para Bold estándar: Tarifa 2.99% + $900, ReteRenta 1.5%, ReteICA 0.7%. Se descuentan junto con la tarifa al legalizar.

Otras formas de liquidación

La predeterminada usa las tarifas de arriba. Agrega acá las que cobren distinto — tarjeta de crédito, otra franquicia, un convenio — y al legalizar eliges cuál aplica a cada pedido.

Solo la forma predeterminada.

Los campos con * son obligatorios: alimentan el contrato de consignación y el pagaré (pestaña Documentos legales). El margen define el precio de consignación: lo que recibe Oasis del Alma = precio de venta × (1 − margen).

Productos y materiales a enviar
{{ it.nombre }}{{ it.codigo }} · consig. {{ it.precioFmt }} c/u {{ it.cantidad }} und
Aún no has agregado productos.
{{ remisTotalUnid }} unidades · valor consignación{{ remisTotalFmt }}

¿Eliminar {{ confirmDelTipo }}?

Estás a punto de eliminar {{ confirmDelNombre }}. Esta acción no se puede deshacer.

{{ cd.folio }} {{ cd.tipoL }}
{{ cd.estL }}
Cliente
{{ cd.cliente }}
{{ cd.ciudad }} · {{ cd.canal }}
Pedido
{{ cd.pedidoTxt }}
{{ cd.ov }}
Producto y motivo
{{ cd.producto }}
{{ cd.motivoLargo }}
Evidencia · {{ cd.adjuntosCount }}
{{ a.name }}
Envío al cliente
{{ it.tipoL }} {{ it.nombre }} {{ it.unidades }} und
Transportadora {{ cd.transportadora }} Guía {{ cd.guia }}
Línea de tiempo
{{ e.label }}
{{ e.fecha }} · {{ e.who }}
{{ e.nota }}
Guía de envío al cliente · Coordinadora
{{ g.remision }}{{ g.info }}
{{ cg.resumen }}
{{ cg.err }}
Respuesta técnica de Coordinadora
{{ cg.raw }}
Resolución
{{ cd.costoFmt }}
{{ cd.resolL }}
{{ cd.impactosTitle }}
{{ i.l }} Faltante: el producto repuesto no suma costo ni descuenta inventario (ya salió con la venta). Solo cuentan el material de empaque y la guía. Sin impactos en otros módulos
Producto original{{ cd.destinoLabel }}
{{ cd.costeoTitulo }}: {{ cd.costeoNota }}
Responder por WhatsApp
{{ cd.telFmt }} · {{ cd.cliente }}
Alerta de alistamiento
{{ casoAlistDestTxt }}
Lo que verá en la app
{{ casoAlistPreview }}
Asignado a
Responsable: {{ cd.responsable }} · Vence: {{ cd.venceFmt }}
Disputa con transportadora {{ cd.dispEstadoL }}
{{ cd.dispResumen }}
El producto ya salió y se cargó al inventario. Abre una disputa para hacerle seguimiento al reclamo con la transportadora (puede resolverse en semanas o meses).

{{ casoModalTitle }}

Tipo de caso
¿Está ligado a un pedido?
Producto(s) afectado(s)
Toca para marcar cuáles del pedido son los afectados.
Caso sin pedido: elige del catálogo.
{{ p.nombre }}
Evidencia adjunta
{{ a.name }}
Qué se envía al cliente · productos, kits o insumos
{{ it.tipoL }} {{ it.nombre }} {{ it.unidades }} und
Impactos automáticos al resolver
Según el caso, al marcarlo Resuelto se aplica solo lo que corresponde — sin elegir cuentas:
· Reenvío / cambio: el producto nuevo enviado se descuenta del inventario y su costo se carga como garantía (MSVC).
· Devolución que vuelve a bodega: el producto original reingresa al inventario.
· Reembolso / nota crédito: se registra el egreso en Finanzas.
{{ toastMsg }}
Carritos abandonados
Checkouts sin completar en Shopify · escríbeles para recuperarlos
Consultando Shopify…
No hay carritos abandonados recientes.
{{ c.nombreTxt }}
{{ c.contactoTxt }} · {{ c.fechaFmt }}
{{ c.productosTxt }}
{{ c.totalFmt }}
{{ waComposeTitulo }}
Revisa o edita el mensaje antes de enviarlo
{{ histClienteNombre }}
{{ histClienteContacto }}
{{ histClienteResumen }}
Sin pedidos registrados.
{{ h.ref }} {{ h.totalFmt }}
{{ h.fechaFmt }}
{{ h.productos }}
Detalle de saldo · {{ sdNombre }}
{{ sdN }} movimientos · saldo corrido desde el saldo inicial
Saldo inicial {{ sdIniFmt }}
{{ r.fechaFmt }} {{ r.concepto }}{{ r.categoria }} {{ r.signo }}{{ r.montoFmt }} {{ r.saldoFmt }}
Saldo final {{ sdFinalFmt }}
Muestras sin valor comercial
Descuentan inventario y su costo va a «Obsequios/muestras» en el P&G
Aún no hay muestras registradas.
{{ m.fechaFmt }} {{ m.numero }}{{ m.dest }}{{ m.origenTxt }}{{ m.items }}{{ m.motivo }} · {{ m.quien }}{{ m.envioTxt }} {{ m.uds }} undcosto {{ m.costoFmt }}

Cambiar contraseña

Elige una nueva contraseña para tu cuenta. La usarás la próxima vez que inicies sesión.

{{ pwdError }}