Conectar Tiendanube con tu sistema de gestión sirve para dos cosas concretas: que el stock que ve el comprador salga del inventario real y que el pedido pago entre al sistema listo para facturar. Todo lo demás —precios, ofertas, datos del cliente, reserva de mercadería— viaja arriba de esos dos caminos.
Lo importante es entender qué se sincroniza en cada dirección, porque no es simétrico.
Qué viaja y hacia dónde
| Dato | Dirección | Cuándo |
|---|---|---|
| Stock disponible | Sistema → Tiendanube | Cada vez que algo mueve el inventario |
| Precio de lista y precio de oferta | Sistema → Tiendanube | Cada vez que cambia el precio o la oferta |
| Alta y datos del producto | Sistema → Tiendanube | Al publicar o editar el producto |
| Pedidos | Tiendanube → Sistema | Cuando el pedido queda pago |
| Estado del pedido | Tiendanube → Sistema | Cuando cambia en la tienda |
El catálogo lo manda el sistema. Los pedidos los manda la tienda. Nada se edita en dos lugares a la vez.
El stock que se publica no es el del depósito
Esta es la parte que más confunde y la que más problemas evita.
El número que se manda a Tiendanube es el stock disponible, y se calcula así:
- Se suma el stock real de las sucursales configuradas como sucursales de e-commerce. No de todas: sólo de las que elegiste. Si tenés un depósito que no despacha web, no entra en la cuenta.
- Se le restan las reservas activas sobre ese producto en esas mismas sucursales.
- Si el resultado da negativo, se publica cero.
Una reserva activa es mercadería que todavía figura en el inventario pero ya tiene dueño: un carrito con reserva vigente, un pedido tomado y no despachado, una venta en curso. Contarla como disponible es exactamente el mecanismo que termina en el mail de "no tenemos stock, te devolvemos la plata".
Si el producto es un kit o combo, el disponible no sale de sus variantes sino de la composición del kit: el sistema calcula cuántos kits se pueden armar con los componentes que hay. Publicar el stock de la caja vacía sería mentira.
Y si nunca configuraste las sucursales de e-commerce, la sincronización no corre: se saltea con ese motivo explícito en vez de publicar un número inventado. Es el primer lugar donde mirar si la tienda quedó en cero.
El enganche es por SKU, y se revisa antes
El error caro de una integración de catálogo es cruzar dos productos distintos y quedarse descontando stock del equivocado. Por eso el enganche no es automático: primero hay una vista previa.
El sistema trae el catálogo de Tiendanube (hasta 400 productos por defecto, hasta 1.000 si lo pedís) y clasifica cada variante en uno de seis estados:
- Ya vinculada: tiene mapeo, no hay nada que hacer.
- Con match: el SKU de Tiendanube coincide con un producto del sistema.
- Sin match: el SKU existe pero no está en el sistema.
- Sin SKU: la variante de Tiendanube no tiene código cargado.
- SKU repetido en Tiendanube: dos variantes de la tienda con el mismo código.
- SKU ambiguo en el sistema: el código matchea con más de un producto tuyo.
Los últimos tres no se enganchan solos. Se listan para que los resuelvas y recién ahí se confirma la vinculación. Del otro lado pasa lo mismo: un producto del sistema queda bloqueado para publicar si le falta SKU, si le falta el SKU a alguna variante o si tiene SKUs duplicados entre variantes.
La conclusión práctica es aburrida pero real: la calidad de la integración es la calidad de tus SKUs. Media hora ordenando códigos antes de conectar ahorra semanas de stock descuadrado. Si venís de planillas y todavía no tenés códigos consistentes, el control de stock es el paso previo, no el posterior.
Precio de lista y precio de oferta
A Tiendanube van dos valores por variante:
- Precio de lista: el precio base del producto con el markup del canal aplicado. Es el que se ve tachado cuando hay oferta.
- Precio promocional: el precio de la oferta vigente, o vacío si no hay ninguna.
El markup por canal es lo que te permite vender online más caro que en el mostrador sin mantener dos catálogos. Tiene sentido: la venta web se come la comisión de la pasarela, el envío y el packaging. Si publicás el precio del local, esa diferencia sale de tu margen. Es el mismo razonamiento que aplica en Mercado Libre, donde la comisión pesa todavía más.
Cuando sacás una oferta, el sistema no se limita a dejar de mandarla: manda explícitamente la limpieza de la promoción anterior. Sin eso, el precio tachado se queda pegado en la tienda para siempre.
Cómo entra un pedido
Cuando un pedido queda pago en Tiendanube, el sistema hace esto:
- Verifica el estado de pago. Sólo entra si está pagado, aprobado o completado. Si está pendiente, se registra como no pagado y no genera nada.
- Resuelve el cliente. Busca la cuenta por identificador de la tienda, mail o CUIT/DNI. Si no existe, la crea.
- Completa los datos fiscales contra AFIP. Si el comprador dejó CUIT o DNI, la razón social y el domicilio que devuelve AFIP mandan sobre lo que se tipeó en el checkout. El tipo de documento se mapea al código de AFIP: 80 CUIT, 86 CUIL, 96 DNI, 99 sin identificar.
- Arma la orden con las líneas, el envío y el estado de pago.
- Reserva el stock de esas líneas, que es lo que hace que el disponible del resto de los canales baje al instante.
De ahí en adelante el pedido es una venta común del sistema: se le emite la factura de AFIP, se le registra el cobro y sale en los reportes junto con las del mostrador.
Un pedido que ya se importó y después cambia de estado en la tienda no se duplica: sincroniza el estado sobre la orden que ya existe.
Cuándo se dispara la sincronización
En dos tiempos, igual que en WooCommerce:
- Envío inmediato: apenas termina la operación que movió el stock o el precio, sale la actualización al canal. Tarda segundos.
- Trabajo durable: en paralelo queda encolado un trabajo con clave de idempotencia, que un proceso levanta después.
El primero es velocidad. El segundo es la garantía: si el envío inmediato falla —se cayó la API, venció el token, hubo timeout—, el trabajo encolado lo cubre en el ciclo siguiente. Y la clave de idempotencia evita que veinte movimientos seguidos sobre el mismo producto se conviertan en veinte llamadas a Tiendanube.
No hay botón de "sincronizar" que alguien tenga que acordarse de apretar. Cuando algo no llega, la pantalla de diagnóstico muestra los últimos trabajos con su estado y su error, y los últimos webhooks recibidos con la hora en que se procesaron. Es la diferencia entre "no sé por qué no se actualizó" y "el token venció el martes".
Antes de conectar, revisá esto
- Todos los productos que vas a publicar tienen SKU, y no hay SKUs repetidos entre variantes.
- Las sucursales de e-commerce están definidas. Sin eso no se sincroniza nada.
- El markup del canal está cargado, aunque sea en cero, para saber a qué precio se publica.
- Corriste la vista previa del catálogo y resolviste los casos sin match antes de vincular.
Con eso resuelto, la integración deja de ser un proyecto y pasa a ser lo que tiene que ser: algo que no mirás nunca más.