# WCPOS ATUM 통합

[ATUM Multi-Inventory](https://www.stockmanagementlabs.com/addons/atum-multi-inventory/)를 [WCPOS Pro](/ko/getting-started/pro-license.md)와 통합하여 판매 시점에서 위치 기반 재고, 가격, SKU를 사용할 수 있게 합니다.

ATUM Multi-Inventory를 사용하면 상품 재고를 창고, 소매 매장 등 여러 재고 위치로 나눌 수 있습니다. 이 플러그인은 해당 ATUM 위치를 WCPOS Pro [매장](/ko/stores/.md)에 연결하여 각 POS 단말기가 실제 위치에 맞는 재고 수준, 가격, SKU를 볼 수 있게 합니다.

## 기능[​](#features "기능으로 직접 링크")

#### 위치별 재고

각 매장은 통합 WooCommerce 재고가 아니라 지정된 ATUM 재고 위치에서 재고 수량을 가져옵니다.

#### 유연한 가격

WooCommerce 기본 가격, WCPOS Pro 매장별 가격 또는 ATUM 위치별 가격 중에서 선택할 수 있습니다.

#### 위치 SKU

선택적으로 POS에서 상품의 기본 SKU를 ATUM 위치별 SKU로 바꿀 수 있습니다.

#### 감사 가능한 재고 이동

주문은 올바른 ATUM 위치에서 재고를 차감하고 복원하며, `atum_inventory_orders`에 전체 감사 기록을 남깁니다.

#### 상품 편집 쓰기 되돌림

POS에서 수정한 재고, 가격, SKU가 해당 위치에 매핑된 ATUM 재고 행으로 다시 동기화됩니다.

## 설치[​](#installation "설치으로 직접 링크")

1

#### ATUM 및 Multi-Inventory 설치

[ATUM Inventory Management](https://wordpress.org/plugins/atum-stock-manager-for-woocommerce/)와 [ATUM Multi-Inventory 애드온](https://www.stockmanagementlabs.com/addons/atum-multi-inventory/)을 설치합니다. ATUM에서 재고 위치를 구성하세요.

2

#### WCPOS ATUM 통합 설치

`WP Admin > POS > 설정 > 확장`에서 설치하거나, [GitHub 릴리스 페이지](https://github.com/wcpos/wcpos-atum/releases)에서 최신 릴리스를 다운로드한 뒤 `플러그인 > 새로 추가 > 플러그인 업로드`로 업로드합니다.

3

#### 매장을 ATUM 위치에 매핑

`POS > 매장`으로 이동해 매장을 편집하고 **ATUM 재고** 사이드바 섹션을 구성합니다. 매장이 사용할 재고 위치를 선택하고, 가격 소스를 고른 뒤, 필요한 경우 SKU 재정의를 활성화합니다.

## 매장 구성[​](#store-configuration "매장 구성으로 직접 링크")

플러그인은 WCPOS Pro 매장 편집기 사이드바에 **ATUM 재고** 섹션을 추가하며, 매장마다 세 가지 설정을 제공합니다.

* **재고 위치** — 이 매장이 재고를 가져오는 ATUM 위치입니다.

* **가격 소스** — 상품 가격의 출처입니다:

  <!-- -->

  * *기본값* — 표준 WooCommerce 가격
  * *WCPOS Pro* — WCPOS Pro에서 설정한 매장별 가격
  * *ATUM* — ATUM 재고의 위치별 가격

* **SKU 재정의** — 선택적으로 상품의 기본 SKU 대신 ATUM 위치별 SKU를 사용합니다.

## POS 동작[​](#pos-behavior "POS 동작으로 직접 링크")

매장에 ATUM 위치가 지정되어 있으면 POS로 제공되는 상품 데이터가 자동으로 조정됩니다.

* **재고 수량**은 통합 WooCommerce 재고가 아니라 특정 위치의 재고를 반영합니다.
* **재고 상태**는 해당 위치의 수량을 기준으로 다시 계산됩니다.
* **가격**은 구성된 가격 소스에서 가져옵니다.
* **SKU**는 재정의가 활성화된 경우 ATUM 위치 SKU로 바뀝니다.

모든 조정은 WCPOS REST API를 통해 투명하게 처리됩니다. POS 앱 쪽 변경은 필요하지 않습니다. POS에서 수행한 상품 편집도 매핑된 ATUM 재고 행으로 다시 기록됩니다. 아래 [상품 편집 쓰기 되돌림](#product-edit-write-back)을 참고하세요.

## 재고 관리[​](#stock-management "재고 관리으로 직접 링크")

ATUM 위치가 매핑된 매장에서 POS 주문이 생성되면, 플러그인은 ATUM의 기본 재고 차감 흐름이 쓰기를 처리하도록 하되 올바른 위치로 유도합니다.

1. **REST 페이로드 주입.** POS가 주문을 생성하거나 업데이트할 때 플러그인은 각 라인 항목에 `mi_inventories` 항목을 주입하여 ATUM이 어느 위치에서 재고를 가져와야 하는지 알 수 있게 합니다. 이것이 없으면 ATUM은 기본 재고로 되돌아갑니다.
2. **위치 범위 재고 필터.** 플러그인은 ATUM의 후보 재고 목록을 매장의 매핑된 위치 term에 연결된 항목만 포함하도록 필터링하여 차감과 복원 모두에서 올바른 재고가 선택되게 합니다.

실제 재고 변경은 주문 및 환불 시 ATUM이 수행하며, 실제 `order_id`가 포함된 행을 `atum_inventory_orders`에 작성하므로 ATUM의 감사 기록이 유지됩니다.

## 상품 편집 쓰기 되돌림[​](#product-edit-write-back "상품 편집 쓰기 되돌림으로 직접 링크")

계산원이나 관리자가 POS에서 상품 또는 옵션을 편집하면 변경 사항은 WooCommerce 기본 상품뿐 아니라 해당 매장 위치에 매핑된 ATUM 재고 행으로 동기화됩니다. 이렇게 하면 `WP Admin`에서 수동 업데이트하지 않아도 각 위치의 재고, 가격, SKU가 ATUM과 동기화됩니다.

쓰기 되돌림은 `store_id`가 포함된 WCPOS 상품 및 옵션 REST 업데이트(`/wcpos/v1/products/...`로 보내는 `POST`, `PUT`, `PATCH`)에서 트리거됩니다. 플러그인은 매장에 매핑된 ATUM 위치를 찾아 해당 위치의 재고 행만 업데이트합니다. 다른 위치는 건드리지 않습니다.

### 동기화되는 항목[​](#what-syncs "동기화되는 항목으로 직접 링크")

쓰기 되돌림은 각 매장의 구성을 존중하므로, 매장이 실제로 소유하는 데이터만 ATUM에서 변경됩니다.

| 필드                        | 동기화되는 경우                                                                |
| --------------------------- | ------------------------------------------------------------------------------ |
| **재고 수량**               | 항상 — ATUM 위치가 매핑된 모든 매장은 자기 위치 행을 동기화 상태로 유지합니다. |
| **정가 / 할인 가격 / 가격** | 매장의 **가격 소스**가 *ATUM*으로 설정된 경우에만.                             |
| **SKU**                     | 해당 매장에서 **SKU 재정의**가 활성화된 경우에만.                              |

매장이 *기본값* 또는 *WCPOS Pro* 가격을 사용하는 경우 ATUM 가격 필드는 변경되지 않으므로 ATUM은 진실의 원천이 아니라 기준 가격으로 남습니다. 재정의가 꺼진 SKU에도 같은 규칙이 적용됩니다.

### 쓰기 되돌림을 트리거하지 않는 항목[​](#what-doesnt-trigger-write-back "쓰기 되돌림을 트리거하지 않는 항목으로 직접 링크")

* 상품 생성. 쓰기 되돌림은 업데이트에서만 실행되며, 새 상품은 WooCommerce의 일반 저장 경로를 따릅니다.
* `store_id`가 없는 요청. POS가 어느 위치에 쓸지 플러그인에 알려야 합니다.
* ATUM 위치가 매핑되지 않은 매장.
* 매장 위치에 대한 기존 ATUM 재고 행이 없는 상품. 플러그인은 새 재고 행을 만들지 않고 기존 행만 업데이트합니다.

## 요구 사항[​](#requirements "요구 사항으로 직접 링크")

WordPress

<!-- -->

: WordPress 5.9+ 및 PHP 7.4+

WooCommerce

<!-- -->

: WooCommerce가 설치 및 활성화되어 있음

ATUM

<!-- -->

: ATUM Inventory Management 및 ATUM Multi-Inventory 애드온

WCPOS

<!-- -->

: WCPOS Pro — multi-store는 Pro 기능입니다

## 관련[​](#related "관련으로 직접 링크")

* [Multi-Store](/ko/stores/.md) — 매장별 가격, 주소 및 계산원 배정
* 출처: [github.com/wcpos/wcpos-atum](https://github.com/wcpos/wcpos-atum)
