# 오프라인 기능

WCPOS는 브라우저 기반 데이터베이스(IndexedDB)를 사용하여 각 기기에 상품 및 고객 데이터를 로컬로 저장합니다. 따라서 POS의 일부 기능은 인터넷 연결 없이도 작동하지만, 일부 기능은 연결이 필요합니다.

## 오프라인에서 작동하는 기능[​](#what-works-offline "오프라인에서 작동하는 기능으로 직접 링크")

* **상품 탐색** — 캐시된 데이터에서 상품을 검색, 필터링하고 상품 세부 정보를 확인합니다
* **고객 탐색** — 고객 이름, 이메일, 주소를 조회합니다
* **장바구니 구성** — 항목 추가, 수량 변경, 가격 편집, POS 할인 적용을 할 수 있습니다
* **바코드 스캔** — 바코드를 스캔하여 로컬 데이터베이스에서 상품을 찾습니다
* **보고서 보기** — 기본(오프라인) 보고서 유형은 로컬에 저장된 주문에서 보고서를 생성합니다

## 연결이 필요한 기능[​](#what-requires-a-connection "연결이 필요한 기능으로 직접 링크")

* **결제 완료** — 결제 처리 및 WooCommerce에서 주문 생성을 하려면 서버 통신이 필요합니다
* **쿠폰 코드 적용** — 쿠폰 검증은 서버에서 처리됩니다
* **데이터 동기화** — WooCommerce에서 새 상품, 업데이트된 가격 또는 새 고객을 가져옵니다
* **로그인** — 최초 인증에는 WordPress 사이트 연결이 필요합니다
* **라이선스 활성화** — Pro 라이선스 확인은 WCPOS 라이선스 서버에 연결되어야 합니다
* **환불 처리** — 환불은 오프라인에서 대기열에 넣을 수 없습니다. 게이트웨이와 매장 모두 연결 가능해야 합니다([환불](/ko/orders/refunds.md) 참조)

## 로컬 데이터베이스 작동 방식[​](#how-the-local-database-works "로컬 데이터베이스 작동 방식으로 직접 링크")

WCPOS를 처음 열면 백그라운드에서 WooCommerce 상품과 고객 다운로드가 시작됩니다. 이 과정은 점진적으로 진행되며, POS를 더 많이 사용할수록 로컬 데이터가 더 완전해집니다.

로컬 데이터베이스:

* **세션 간 유지** — 브라우저를 다시 시작하거나 기기를 재부팅해도 데이터가 유지됩니다
* **기기별로 관리** — 각 기기는 자체 로컬 사본을 유지합니다
* **동기화 상태 유지** — WCPOS는 서버의 변경 사항을 주기적으로 확인하고 업데이트를 가져옵니다

더 자세한 기술 정보는 [아키텍처](/ko/reference/architecture.md) 참고 문서를 참조하세요.

## 연결 상태 표시기[​](#connectivity-indicator "연결 상태 표시기으로 직접 링크")

POS 헤더에는 연결 상태를 나타내는 색상 점이 표시됩니다:

* **녹색** — 서버에 연결되어 있으며 모든 기능을 사용할 수 있음
* **노란색** — 연결이 불안정하며 일부 작업이 느릴 수 있음
* **빨간색** — 오프라인이며 캐시된 데이터 탐색만 가능

## 연결이 끊어졌을 때 발생하는 일[​](#what-happens-during-connectivity-loss "연결이 끊어졌을 때 발생하는 일으로 직접 링크")

POS 사용 중 인터넷 연결이 끊어지면:

1. **상품과 고객은 계속 탐색할 수 있습니다**. 캐시된 데이터에서 확인됩니다.
2. **카트를 계속 구성하고** 항목을 편집할 수 있습니다.
3. **결제는 실패합니다** — 주문을 처리하려면 POS가 WooCommerce 서버에 연결되어야 합니다.
4. **열려 있는 주문은 보존됩니다**. 연결이 복구될 때까지 로컬 데이터베이스에 저장됩니다.

## 연결이 복구되면[​](#when-connection-restores "연결이 복구되면으로 직접 링크")

연결이 다시 복구되면:

* 연결 상태 표시기가 녹색으로 바뀝니다.
* 결제로 진행하여 보류된 주문을 완료할 수 있습니다.
* 백그라운드 동기화가 재개되어 오프라인 상태였던 동안 발생한 제품 또는 고객 변경 사항을 가져옵니다.
* 수동 작업은 필요하지 않습니다 — WCPOS가 자동으로 다시 연결합니다.

## 불안정한 연결을 위한 팁[​](#tips-for-unreliable-connections "불안정한 연결을 위한 팁으로 직접 링크")

* **중요한 주문에는 "서버에 저장"을 사용하세요** — 이렇게 하면 주문이 WooCommerce로 즉시 전송되므로 기기의 로컬 데이터베이스가 삭제되더라도 주문이 손실되지 않습니다.
* **정기적으로 동기화하세요** — 연결이 간헐적이라는 것을 알고 있다면, 연결 상태가 좋을 때 제품 카탈로그를 동기화하여 로컬 데이터를 최신 상태로 유지하세요.
* **네이티브 앱을 고려하세요** — 데스크톱 및 모바일 앱을 사용할 수 있는 경우, 브라우저 버전보다 오프라인 안정성이 더 좋을 수 있습니다.
