WCPOS ATUM 통합
ATUM Multi-Inventory를 WCPOS Pro와 통합하여 판매 시점에서 위치 기반 재고, 가격, SKU를 사용할 수 있게 합니다.
ATUM Multi-Inventory를 사용하면 상품 재고를 창고, 소매 매장 등 여러 재고 위치로 나눌 수 있습니다. 이 플러그인은 해당 ATUM 위치를 WCPOS Pro 매장에 연결하여 각 POS 단말기가 실제 위치에 맞는 재고 수준, 가격, SKU를 볼 수 있게 합니다.
기능
위치별 재고
각 매장은 통합 WooCommerce 재고가 아니라 지정된 ATUM 재고 위치에서 재고 수량을 가져옵니다.
유연한 가격
WooCommerce 기본 가격, WCPOS Pro 매장별 가격 또는 ATUM 위치별 가격 중에서 선택할 수 있습니다.
위치 SKU
선택적으로 POS에서 상품의 기본 SKU를 ATUM 위치별 SKU로 바꿀 수 있습니다.
감사 가능한 재고 이동
주문은 올바른 ATUM 위치에서 재고를 차감하고 복원하며, atum_inventory_orders에 전체 감사 기록을 남깁니다.
상품 편집 쓰기 되돌림
POS에서 수정한 재고, 가격, SKU가 해당 위치에 매핑된 ATUM 재고 행으로 다시 동기화됩니다.
설치
ATUM 및 Multi-Inventory 설치
ATUM Inventory Management와 ATUM Multi-Inventory 애드온을 설치합니다. ATUM에서 재고 위치를 구성하세요.
WCPOS ATUM 통합 설치
WP Admin > POS > 설정 > 확장에서 설치하거나, GitHub 릴리스 페이지에서 최신 릴리스를 다운로드한 뒤 플러그인 > 새로 추가 > 플러그인 업로드로 업로드합니다.
매장을 ATUM 위치에 매핑
POS > 매장으로 이동해 매장을 편집하고 ATUM 재고 사이드바 섹션을 구성합니다. 매장이 사용할 재고 위치를 선택하고, 가격 소스를 고른 뒤, 필요한 경우 SKU 재정의를 활성화합니다.
매장 구성
플러그인은 WCPOS Pro 매장 편집기 사이드바에 ATUM 재고 섹션을 추가하며, 매장마다 세 가지 설정을 제공합니다.
- 재고 위치 — 이 매장이 재고를 가져오는 ATUM 위치입니다.
- 가격 소스 — 상품 가격의 출처입니다:
- 기본값 — 표준 WooCommerce 가격
- WCPOS Pro — WCPOS Pro에서 설정한 매장별 가격
- ATUM — ATUM 재고의 위치별 가격
- SKU 재정의 — 선택적으로 상품의 기본 SKU 대신 ATUM 위치별 SKU를 사용합니다.
POS 동작
매장에 ATUM 위치가 지정되어 있으면 POS로 제공되는 상품 데이터가 자동으로 조정됩니다.
- 재고 수량은 통합 WooCommerce 재고가 아니라 특정 위치의 재고를 반영합니다.
- 재고 상태는 해당 위치의 수량을 기준으로 다시 계산됩니다.
- 가격은 구성된 가격 소스에서 가져옵니다.
- SKU는 재정의가 활성화된 경우 ATUM 위치 SKU로 바뀝니다.
모든 조정은 WCPOS REST API를 통해 투명하게 처리됩니다. POS 앱 쪽 변경은 필요하지 않습니다. POS에서 수행한 상품 편집도 매핑된 ATUM 재고 행으로 다시 기록됩니다. 아래 상품 편집 쓰기 되돌림을 참고하세요.
재고 관리
ATUM 위치가 매핑된 매장에서 POS 주문이 생성되면, 플러그인은 ATUM의 기본 재고 차감 흐름이 쓰기를 처리하도록 하되 올바른 위치로 유도합니다.
- REST 페이로드 주입. POS가 주문을 생성하거나 업데이트할 때 플러그인은 각 라인 항목에
mi_inventories항목을 주입하여 ATUM이 어느 위치에서 재고를 가져와야 하는지 알 수 있게 합니다. 이것이 없으면 ATUM은 기본 재고로 되돌아갑니다. - 위치 범위 재고 필터. 플러그인은 ATUM의 후보 재고 목록을 매장의 매핑된 위치 term에 연결된 항목만 포함하도록 필터링하여 차감과 복원 모두에서 올바른 재고가 선택되게 합니다.
실제 재고 변경은 주문 및 환불 시 ATUM이 수행하며, 실제 order_id가 포함된 행을 atum_inventory_orders에 작성하므로 ATUM의 감사 기록이 유지됩니다.
상품 편집 쓰기 되돌림
계산원이나 관리자가 POS에서 상품 또는 옵션을 편집하면 변경 사항은 WooCommerce 기본 상품뿐 아니라 해당 매장 위치에 매핑된 ATUM 재고 행으로 동기화됩니다. 이렇게 하면 WP Admin에서 수동 업데이트하지 않아도 각 위치의 재고, 가격, SKU가 ATUM과 동기화됩니다.
쓰기 되돌림은 store_id가 포함된 WCPOS 상품 및 옵션 REST 업데이트(/wcpos/v1/products/...로 보내는 POST, PUT, PATCH)에서 트리거됩니다. 플러그인은 매장에 매핑된 ATUM 위치를 찾아 해당 위치의 재고 행만 업데이트합니다. 다른 위치는 건드리지 않습니다.
동기화되는 항목
쓰기 되돌림은 각 매장의 구성을 존중하므로, 매장이 실제로 소유하는 데이터만 ATUM에서 변경됩니다.
| 필드 | 동기화되는 경우 |
|---|---|
| 재고 수량 | 항상 — ATUM 위치가 매핑된 모든 매장은 자기 위치 행을 동기화 상태로 유지합니다. |
| 정가 / 할인 가격 / 가격 | 매장의 가격 소스가 ATUM으로 설정된 경우에만. |
| SKU | 해당 매장에서 SKU 재정의가 활성화된 경우에만. |
매장이 기본값 또는 WCPOS Pro 가격을 사용하는 경우 ATUM 가격 필드는 변경되지 않으므로 ATUM은 진실의 원천이 아니라 기준 가격으로 남습니다. 재정의가 꺼진 SKU에도 같은 규칙이 적용됩니다.
쓰기 되돌림을 트리거하지 않는 항목
- 상품 생성. 쓰기 되돌림은 업데이트에서만 실행되며, 새 상품은 WooCommerce의 일반 저장 경로를 따릅니다.
store_id가 없는 요청. POS가 어느 위치에 쓸지 플러그인에 알려야 합니다.- ATUM 위치가 매핑되지 않은 매장.
- 매장 위치에 대한 기존 ATUM 재고 행이 없는 상품. 플러그인은 새 재고 행을 만들지 않고 기존 행만 업데이트합니다.
요구 사항
관련
- Multi-Store — 매장별 가격, 주소 및 계산원 배정
- 출처: github.com/wcpos/wcpos-atum