# Integración de WCPOS con ATUM

Integra [ATUM Multi-Inventory](https://www.stockmanagementlabs.com/addons/atum-multi-inventory/) con [WCPOS Pro](/es/getting-started/pro-license.md), habilitando inventario, precios y SKU basados en ubicación en el punto de venta.

ATUM Multi-Inventory permite dividir el stock de un producto entre múltiples ubicaciones de inventario: almacenes, tiendas minoristas, etc. Este plugin conecta esas ubicaciones de ATUM con las [tiendas](/es/stores/.md) de WCPOS Pro para que cada terminal POS muestre los niveles de stock, precios y SKU correctos según su ubicación física.

## Características[​](#features "Enlace directo a Características")

#### Stock por ubicación

Cada tienda obtiene las cantidades de stock de su ubicación de inventario ATUM asignada en lugar del stock agregado de WooCommerce.

#### Precios flexibles

Es posible elegir entre los precios predeterminados de WooCommerce, los precios por tienda de WCPOS Pro o los precios específicos por ubicación de ATUM.

#### SKU por ubicación

Opcionalmente, se puede sustituir el SKU principal del producto por un SKU específico de ubicación de ATUM en el POS.

#### Movimiento de stock con auditoría segura

Los pedidos descuentan y restauran el stock en la ubicación correcta de ATUM, con un registro de auditoría completo en `atum_inventory_orders`.

#### Escritura de edición de producto

Las ediciones de stock, precio y SKU realizadas en el POS se sincronizan con la fila de inventario de ATUM correspondiente a esa ubicación.

## Instalación[​](#installation "Enlace directo a Instalación")

1

#### Instalar ATUM y Multi-Inventory

Se debe instalar [ATUM Inventory Management](https://wordpress.org/plugins/atum-stock-manager-for-woocommerce/) y el [complemento ATUM Multi-Inventory](https://www.stockmanagementlabs.com/addons/atum-multi-inventory/). A continuación, configurar las ubicaciones de inventario en ATUM.

2

#### Instalar Integración WCPOS ATUM

Se puede instalar desde `WP Admin > POS > Ajustes > Extensiones`, o descargar la última versión desde la [página de versiones en GitHub](https://github.com/wcpos/wcpos-atum/releases) y subir el archivo a través de `Plugins > Añadir nuevo > Subir plugin`.

3

#### Asignar tiendas a ubicaciones de ATUM

Ir a `POS > Tiendas`, editar una tienda y configurar la sección lateral **Inventario ATUM**. Seleccionar la ubicación de inventario que la tienda debe utilizar, elegir una fuente de precios y, opcionalmente, habilitar la sustitución de SKU.

## Configuración de tienda[​](#store-configuration "Enlace directo a Configuración de tienda")

El plugin añade una sección **Inventario ATUM** en la barra lateral del editor de tiendas de WCPOS Pro con tres ajustes por tienda:

* **Ubicación de inventario** — la ubicación de ATUM de la que esta tienda obtiene el stock.

* **Fuente de precios** — de dónde provienen los precios de los productos:

  <!-- -->

  * *Predeterminado* — precios estándar de WooCommerce
  * *WCPOS Pro* — precios por tienda configurados en WCPOS Pro
  * *ATUM* — precios específicos por ubicación del inventario de ATUM

* **Sustitución de SKU** — opcionalmente se pueden utilizar los SKU específicos por ubicación de ATUM en lugar del SKU principal del producto.

## Comportamiento del POS[​](#pos-behavior "Enlace directo a Comportamiento del POS")

Cuando una tienda tiene una ubicación de ATUM asignada, los datos de producto enviados al POS se ajustan automáticamente:

* **Las cantidades de stock** reflejan el inventario de la ubicación específica, no el stock agregado de WooCommerce.
* **El estado del stock** se recalcula en función de la cantidad de la ubicación.
* Los **precios** provienen de la fuente de precios configurada.
* Los **SKU** se reemplazan por el SKU de la ubicación de ATUM si la anulación está habilitada.

Todos los ajustes se realizan de forma transparente a través de la API REST de WCPOS — no se requieren cambios en la aplicación POS. Las ediciones de productos realizadas desde el POS también se escriben de vuelta en la fila de inventario de ATUM correspondiente; consulte [Escritura de edición de productos](#product-edit-write-back) a continuación.

## Gestión de inventario[​](#stock-management "Enlace directo a Gestión de inventario")

Para los pedidos del POS realizados en tiendas con una ubicación de ATUM asignada, el plugin permite que el flujo nativo de deducción de inventario de ATUM gestione la escritura, pero lo dirige a la ubicación correcta:

1. **Inyección de datos en la solicitud REST.** Cuando el POS crea o actualiza un pedido, el plugin inyecta una entrada `mi_inventories` en cada línea de artículo para que ATUM sepa de qué ubicación debe tomar el inventario. Sin esto, ATUM recurriría al inventario principal.
2. **Filtro de inventario por ubicación.** El plugin filtra la lista de inventario candidato de ATUM para incluir solo las entradas vinculadas al término de ubicación asignado a la tienda, asegurando que se seleccione la correcta tanto en la reducción como en la restauración.

ATUM realiza el cambio de inventario real en el pedido y el reembolso, escribiendo filas en `atum_inventory_orders` con el `order_id` real, preservando así el registro de auditoría de ATUM.

## Escritura de edición de productos[​](#product-edit-write-back "Enlace directo a Escritura de edición de productos")

Cuando un cajero o gerente edita un producto o variación desde el POS, los cambios se sincronizan de vuelta con la fila de inventario de ATUM asignada a la ubicación de esa tienda, no solo con el producto principal de WooCommerce. Esto mantiene el inventario, el precio y el SKU de cada ubicación sincronizados con ATUM sin necesidad de actualizaciones manuales en `WP Admin`.

La escritura de vuelta se activa en las actualizaciones REST de productos y variaciones de WCPOS (`POST`, `PUT`, `PATCH` a `/wcpos/v1/products/...`) que incluyan un `store_id`. El plugin busca la ubicación de ATUM asignada a la tienda y actualiza solo la fila de inventario de esa ubicación — las demás ubicaciones no se modifican.

### Qué se sincroniza[​](#what-syncs "Enlace directo a Qué se sincroniza")

La escritura respeta la configuración de cada tienda, de modo que los datos de ATUM solo cambian cuando la tienda realmente es propietaria de esos datos:

| Campo                                          | Cuándo se sincroniza                                                                              |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Cantidad de stock**                          | Siempre — cada tienda con una ubicación ATUM asignada mantiene su fila de ubicación sincronizada. |
| **Precio regular / Precio de oferta / Precio** | Solo cuando la **Fuente de precios** de la tienda está configurada como *ATUM*.                   |
| **SKU**                                        | Solo cuando la **Anulación de SKU** está habilitada para la tienda.                               |

Si la tienda utiliza precios *Predeterminado* o *WCPOS Pro*, los campos de precio de ATUM no se modifican, de modo que ATUM continúa sirviendo como precio de referencia en lugar de la fuente de verdad. Lo mismo aplica para los SKU cuando la anulación está desactivada.

### Qué no activa la escritura[​](#what-doesnt-trigger-write-back "Enlace directo a Qué no activa la escritura")

* La creación de productos (solo las actualizaciones activan la escritura — los productos nuevos siguen la ruta de guardado normal de WooCommerce).
* Solicitudes sin un `store_id` — el POS debe indicar al plugin en qué ubicación escribir.
* Tiendas sin una ubicación ATUM asignada.
* Productos sin una fila de inventario ATUM existente para la ubicación de la tienda — el plugin no creará nuevas filas de inventario, solo actualizará las existentes.

## Requisitos[​](#requirements "Enlace directo a Requisitos")

WordPress

<!-- -->

: WordPress 5.9+ con PHP 7.4+

WooCommerce

<!-- -->

: WooCommerce instalado y activado

ATUM

<!-- -->

: ATUM Inventory Management y el complemento ATUM Multi-Inventory

WCPOS

<!-- -->

: WCPOS Pro — la función multitienda es una función Pro

## Relacionado[​](#related "Enlace directo a Relacionado")

* [Multitienda](/es/stores/.md) — precios, direcciones y asignación de cajeros por tienda
* Código fuente: [github.com/wcpos/wcpos-atum](https://github.com/wcpos/wcpos-atum)
