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 }}
{{ 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 }}
{{ k.label }}
{{ k.valor }}
{{ k.nota }}
Mes ant. {{ k.dPrev }}
Año ant. {{ 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 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.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.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.
{{ o.numero }} {{ 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.
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 (últimas 10)
{{ h.fechaFmt }}
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:

Permisos por usuario

El nivel de cada módulo se calcula desde sus submódulos
Usuario Compras Desarrollo Producción Inventario Ventas Finanzas Marketing 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

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)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.

Aceites esenciales y fragancias valorados al costo actual.

Valor total {{ invMPTotal }}
Código Materia prima Stock Costo unit. Valor Estado
{{ m.codigo }} {{ m.nombre }} {{ m.stockActual }} {{ m.unidad }}mín. {{ m.stockMinimo }} {{ m.costoFmt }} {{ m.valorFmt }} {{ m.estadoLabel }}
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 }}
{{ m.texto }}
Responder en {{ m.canalL }}
{{ m.quien }} · {{ m.sello }}
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 }}

El riel de la izquierda filtra por canal y las pestañas separan lo tuyo de lo que está sin asignar. La franja oscura de arriba muestra a quién le debes respuesta y hace cuánto — con aviso en el navegador. Al tomar una conversación el bot queda en pausa; «Pedir datos» envía el guión amable para capturar nombre, WhatsApp y correo y no perder el hilo.

{{ 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.

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.

No hay plantillas en esta cuenta.
{{ t.nombre }}
{{ t.meta }}
Migrar · {{ t.externos }} {{ 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 }} pedidos · ticket {{ ciAtribTicket }}
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

Valor vendido por canal

Ventas registradas en el período, según el canal del pedido.

Sin ventas en el período seleccionado.
{{ v.canal }}Chat {{ v.pedidos }} pedidos · ticket {{ v.ticket }} {{ v.total }}
Total canales de chat{{ ciChatTotal }}

«Vendido tras el chat» arriba se calcula cruzando el celular del pedido con el teléfono de la conversación, no por el canal escrito en el pedido. {{ ciSinTel }} conversaciones sin teléfono no se pueden cruzar.

Pedidos vendidos tras el chat

{{ ciAtribPedidos }} · {{ ciAtribTotal }}

Cada pedido cuyo celular coincide con una conversación del período. Toca uno para abrir su conversación.

Ningún pedido del período cruza con una conversación.
{{ p.fecha }} {{ p.pedido }}
{{ p.cliente }}
{{ p.items }}
{{ 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.
Código Materia Proveedor Consumo Stock En tránsito Cobertura Punto de reorden Compra sugerida Pedir antes de Estado
{{ m.codigo }} {{ m.nombre }} {{ 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.

Insumos y materiales de empaque valorados al costo actual.

Valor total {{ invInsTotal }}
Código Insumo / empaque Tipo Stock Costo unit. Valor Estado
{{ m.codigo }} {{ m.nombre }} {{ m.tipoLabel }} {{ m.stockActual }} {{ m.unidad }}mín. {{ m.stockMinimo }} {{ m.costoFmt }} {{ m.valorFmt }} {{ m.estadoLabel }}

Stock disponible (inicial + producido) valorado al costo de fórmula.

Valor total {{ invPTTotal }}
Código Producto Formato Stock Costo unit. Valor Precio venta
{{ p.codigo }} {{ p.nombre }} {{ p.formatoLabel }} {{ p.stock }} und {{ p.costoFmt }} {{ p.valorFmt }} {{ p.precioFmt }}

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.

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.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.

Checkouts sin completar en Shopify. Escríbeles por WhatsApp para ayudarlos a terminar la compra.
Recuperación automática de carritos
Mensaje a la hora configurada del abandono + segundo intento a las 24h con cupón. Requiere la función carritos-auto desplegada.

⚠ WhatsApp solo permite iniciar conversación con una plantilla aprobada en Meta; sin plantilla, el mensaje automático solo llega a quienes te escribieron en las últimas 24h.

Del al
{{ carCount }} carritos
Consultando Shopify…
No hay carritos abandonados en el rango.
{{ c.nombreTxt }}{{ c.clienteTxt }}Contactado
{{ c.contactoTxt }} · {{ c.fechaFmt }}
{{ c.ultimaTxt }}
{{ c.productosTxt }}
{{ c.totalFmt }}
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.
Fecha Pedido Cliente Pago / método Canal Producto Total Saldo
{{ v.fechaFmt }} {{ v.pedidoTxt }}{{ v.ov }} · {{ v.origenLabel }} {{ v.cliente }}{{ 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.

Toda la historia de ventas para analizar y definir estrategias. Importa el histórico desde 2020 por Excel/CSV.

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 }}

Evolución de ventas

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

Ventas por canal

{{ 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 }}
Año
Mes
Canal

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.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.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 }}
compras + producción
(−) Salidas
{{ invSalFmt }}
costo de lo vendido
Inventario final
{{ invFinFmt }}
variación {{ invVarFmt }}
Reconstruido desde los movimientos registrados (compras recibidas, producción y ventas). 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.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.sub }} · {{ c.tasaTxt }} · {{ c.modalidadTxt }}Próximo: {{ c.proxTxt }} {{ c.estadoTxt }} Saldo{{ c.saldoFmt }}
Capital {{ c.capitalFmt }}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 }}
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 }}

Préstamos otorgados

Dinero que prestó la empresa a empleados, socios o terceros · salió de caja
Saldo por cobrar
{{ credCobrarSaldoFmt }}
{{ c.nombre }}{{ c.sub }} · {{ c.tasaTxt }} · {{ c.modalidadTxt }}Próximo: {{ c.proxTxt }} {{ c.estadoTxt }} Saldo{{ c.saldoFmt }}
Capital {{ c.capitalFmt }}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 }}
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 }}
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 }}
{{ fcjTotalLabel }}
{{ fcjTotal }}
Entradas del mes
{{ fcjIng }}
Salidas del mes
{{ fcjEg }}
Flujo neto
{{ fcjNeto }}

Cuentas

{{ c.nombre }}{{ 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.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 }}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.categoria }} · {{ g.diaTxt }}{{ g.pagoTxt }} {{ g.montoFmt }} Pagado
Aún no hay gastos fijos. Agrega arriendo, servicios, nómina, software…
{{ finMesLabel }}
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 (envase del cliente)−{{ pgRecargas }}
{{ pgAjusteInvLabel }}{{ pgAjusteInvTxt }}
(−) 4×1000 (GMF) sobre movimientos bancarios−{{ pgGmf }}
Utilidad operacional · margen {{ pgMargenNeto }}{{ pgOperacional }}
No operacional
(+) Envíos cobrados al cliente+{{ pgNoOperacional }}
Resultado del periodo{{ pgResultado }}
Ingresos {{ pgDIngresos }} vs {{ pgPrevLabel }}Utilidad {{ pgDOper }} vs {{ pgPrevLabel }}{{ pgNVentas }} ventas 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
{{ finMesLabel }}
IVA generado (ventas)Ver detalle ▾
{{ ivGenerado }}
IVA descontableVer detalle ▾
{{ ivDescontable }}
Compras {{ ivDescCompras }} · Comisiones {{ ivDescComis }}
{{ 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 }}
retorno sobre la inversión
CPA
{{ mktKpiCpa }}
costo por venta
Ingresos atribuidos
{{ mktKpiIngresos }}
ventas desde anuncios
Ventas
{{ mktKpiVentas }}
CTR
{{ mktKpiCtr }}
Alcance
{{ mktKpiAlcance }}
CPM
{{ mktKpiCpm }}

Resultados por día

{{ mktPeriodo }}

Campañas destacadas

{{ c.nombre }} {{ c.objetivo }} · {{ c.spendFmt }} {{ c.roasFmt }} {{ c.ingresosFmt }}

Alertas

{{ a.tipo }}
{{ a.txt }}
Sin alertas por ahora.
Periodo
Estado
Campaña Inversión Ingresos ROAS CPA CTR Frec. Result. Estado
{{ c.nombre }} {{ c.objetivo }} · {{ c.moodLabel }}
{{ c.spendFmt }} {{ c.ingresosFmt }} {{ c.roasFmt }} {{ c.cpaFmt }} {{ c.ctrFmt }} {{ c.frecuencia }} {{ c.resultados }} {{ c.resLabel }} {{ c.estLabel }}
Experto en Meta Ads · IA

Análisis experto de tus campañas

La IA revisa el rendimiento de tu pauta, lo cruza con tus ventas del ERP y te dice qué cambiar: presupuesto, públicos, tipo de campaña y creativos.

{{ mktAiTsFmt }}
{{ mktAiError }}
Análisis generado
{{ mktAiAnswerClean }}
Recomendaciones rápidas
{{ i.tag }}
{{ i.titulo }}
{{ i.texto }}
{{ cr.formato }} {{ cr.estLabel }} {{ cr.moodLabel }}
{{ cr.nombre }}
“{{ cr.copy }}”
CTR{{ cr.ctrFmt }} Gasto{{ cr.spendFmt }} Ventas{{ cr.resultados }}
{{ a.tipo }} {{ a.nombre }}
{{ a.detalle }} · {{ a.ubicacion }} · {{ a.edad }} años
Inversión
{{ a.spendFmt }}
Alcance
{{ a.alcanceFmt }}
CTR
{{ a.ctrFmt }}
Ventas
{{ a.resultados }}
CPA
{{ a.cpaFmt }}

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 }}
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
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.

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 }}Recarga{{ l.codigo }} · {{ l.costoUnitFmt }}/und{{ l.cantidad }} und{{ l.totalFmt }}
Total{{ opDetalle.totUnid }} und{{ opDetalle.totCostoFmt }}
N° de orden de producción {{ draft._numero }}
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: el cliente trae su envase. Solo se descuentan la mezcla y los aceites — envase, tapa y etiqueta no se consumen. No suma al stock de PT; su costo va al P&G como «Recargas (envase del cliente)».
Costo unitario {{ prodOpCostoUnitFmt }} · Costo del lote {{ prodOpTotalFmt }} · Stock resultante {{ prodOpStockResultante }} (desde {{ prodOpStockActual }} und)
ProductoCantidadCosto lote
{{ it.nombre }}Recarga {{ 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 }}
Precio final con IVA: {{ prodPrecioConIvaFmt }} (IVA {{ prodIvaFmt }} · el margen se calcula sobre el precio 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 }} {{ it.cantidad }} × {{ it.precioUnitFmt }} Costo {{ it.costoTotalFmt }} {{ it.subtotalFmt }}
Agrega los productos e insumos que arman el kit.

{{ kitDesdeNota }}

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 }}

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.
{{ 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.

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.
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.unidades }} × {{ it.valorFmt }}{{ it.descTxt }} {{ it.subtotalFmt }}
Agrega los productos a cotizar.
Rentabilidad · solo visible para el equipo
Margen inicial (sin descuento)
{{ cotMargenIniPct }}%
{{ cotMargenIniFmt }}
Margen con descuento
{{ cotMargenDescPct }}%
{{ cotMargenDescFmt }}
Costo total
{{ cotCostoTotFmt }}
Subtotal (IVA incl.){{ cotSubtotalFmt }}
Descuento {{ cotDescPctTxt }}{{ cotDescMontoFmt }}
Envío{{ cotEnvioFmt }}
IVA (19%) incluido{{ cotIvaFmt }}
Total{{ cotTotalFinalFmt }}
Creado por {{ leadDraftCreador }}
Así se verá el PDF {{ cotPreviewNoun }} {{ cotPreviewNum }}.
{{ 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.

Se descuenta del inventario al registrarlo.

Consignación

Si marcas una tienda, las unidades salen del stock en consignación de esa tienda y NO del inventario propio.

Mensajes por WhatsApp
Este pedido no tiene celular registrado.
Abre WhatsApp con el mensaje escrito para enviarlo tú. El texto también queda copiado.

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 }}
Factura / soporte · PDF o imagen

El rol define los permisos iniciales; luego los ajustas por submódulo en la matriz. 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 }}
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 }}
{{ 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 }}
Resolución
{{ cd.costoFmt }}
{{ cd.resolL }}
{{ cd.impactosTitle }}
{{ i.l }} Sin impactos en otros módulos
Producto original{{ cd.destinoLabel }}
{{ cd.costeoTitulo }}: {{ cd.costeoNota }}
Responder por WhatsApp
{{ cd.telFmt }} · {{ cd.cliente }}
Pedido de alistamiento
{{ casoAlistDestTxt }}
{{ 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.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 }}