HandyCafe Docs
owner cashier

상품

상품 페이지는 인터넷 카페 또는 게이밍 센터에서 판매하는 품목의 카탈로그를 관리합니다. 여기에는 음식, 음료, 스낵, 액세서리 및 고객에게 제공하는 모든 물리적 상품이 포함됩니다. 각 상품에는 가격, 카테고리, 세율, 재고 수준이 정의되어 있습니다. 상품은 주문 시스템과 통합되어 캐셔가 주문을 생성하고, 판매를 추적하고, 재고를 관리할 수 있습니다.

상품 필드

각 상품 레코드에는 다음 정보가 포함됩니다.

필드 설명
name 주문 인터페이스에 표시되는 상품 이름입니다. 고유해야 합니다(대소문자 구분 없음).
category 관련 상품을 그룹화하는 텍스트 라벨입니다(예: "음료", "스낵", "액세서리"). 필터링 및 보고에 사용됩니다.
unit 재고 추적을 위한 측정 단위입니다(예: "개", "kg", "리터", "캔", "병").
barcode 스캐너 연동을 위한 선택적 바코드 값입니다. 캐셔가 상품 바코드를 스캔하여 주문에 빠르게 추가할 수 있습니다.
sale_price 최소 통화 단위(예: 센트)의 판매 가격입니다. 단위당 고객에게 청구되는 금액입니다.
vat_rate 이 상품에 적용되는 부가세(부가가치세) 퍼센트입니다(예: 18%의 경우 18). 각 판매의 세금 구성 요소를 계산하는 데 사용됩니다.
stock 소수점 수량으로 표시되는 현재 재고 수준입니다. 주문이 접수되고 재고 구매가 기록될 때 자동으로 업데이트됩니다.
active 상품이 주문 인터페이스에 표시되는지를 제어하는 토글입니다. 비활성 상품은 캐셔에게 숨겨지지만 과거 보고를 위해 데이터베이스에 보존됩니다.
description 추가 상품 상세 정보를 위한 선택적 텍스트 설명입니다.

활성 / 비활성 토글

상품은 활성과 비활성 상태 간에 전환할 수 있습니다.

  • 활성 상품은 주문 인터페이스에 표시되며 새 주문에 추가할 수 있습니다.
  • 비활성 상품은 주문 인터페이스에서 숨겨지지만 데이터베이스에 남아 있습니다. 해당 상품이 포함된 과거 주문은 참조를 유지하므로 과거 판매 데이터가 보존됩니다.

계절 상품, 단종 상품, 일시적으로 재고가 없어 고객에게 제공하지 않아야 하는 상품에 유용합니다.

재고 추적

HandyCafe는 모든 상품의 재고 수량을 실시간으로 유지합니다. 이 값은 다음에 따라 시스템에서 자동으로 업데이트됩니다.

  • 판매: 주문을 통해 상품이 판매되면 주문된 수량만큼 재고가 감소합니다.
  • 재고 구매: 새 재고가 입고되어 재고 페이지에 기록되면 그에 따라 재고가 증가합니다.
  • 수동 조정: 캐셔 또는 관리자가 파손, 손상, 재고 불일치 등을 반영하기 위해 재고 수준을 수동으로 조정할 수 있습니다.

상품 재고 로그

상품 재고 수준의 모든 변경은 상품 재고 로그에 기록되어 완전한 감사 추적이 생성됩니다.

사유 설명
sale 고객 주문으로 인한 재고 감소입니다. 특정 주문 레코드에 연결됩니다.
purchase 재고 구매로 인한 재고 증가입니다. 특정 재고 항목에 연결됩니다.
adjustment 캐셔 또는 관리자에 의한 수동 재고 조정입니다.
waste 파손, 손상 또는 폐기로 인한 재고 감소입니다.
return 고객 반품 또는 주문 취소로 인한 재고 증가입니다.

각 로그 항목에는 수량 변동(증가는 양수, 감소는 음수), 변동 후 새 재고 수준, 변경한 사람, 사유를 설명하는 선택적 메모가 기록됩니다.

상품 카테고리

상품은 자유 텍스트 필드를 사용하여 카테고리별로 그룹화됩니다. 일반적인 카테고리는 다음과 같습니다.

  • 음료 (탄산음료, 물, 에너지 드링크)
  • 핫 드링크 (커피, 차, 핫초코)
  • 스낵 (감자칩, 사탕, 초콜릿 바)
  • 식품 (샌드위치, 랩, 핫밀)
  • 액세서리 (헤드셋, USB 드라이브, 마우스 패드)

카테고리는 주문 인터페이스에서 필터링에 사용됩니다. 캐셔가 카테고리 간에 빠르게 전환하여 적절한 상품을 찾을 수 있습니다. 카테고리는 판매 보고서에서의 그룹화에도 사용됩니다.

별도의 카테고리 관리 인터페이스는 없습니다. 카테고리는 상품에 카테고리 이름을 지정할 때 암시적으로 생성됩니다. 카테고리 이름을 변경하려면 기존 이름을 사용하는 모든 상품의 카테고리 필드를 업데이트합니다.

상품 생성

카탈로그에 새 상품을 추가하려면 다음을 수행합니다.

  1. 사이드바에서 상품 페이지로 이동합니다.
  2. 도구 모음에서 상품 추가 버튼을 클릭합니다.
  3. 이름(고유해야 함)을 입력합니다.
  4. 카테고리를 선택하거나 입력합니다.
  5. 측정 단위를 선택합니다.
  6. 판매 가격(최소 통화 단위로 고객에게 청구되는 금액)을 설정합니다.
  7. 부가세율(소수점, 예: 8%의 경우 0.08)을 설정합니다.
  8. 스캐너 지원을 위해 선택적으로 바코드를 입력합니다.
  9. 해당하는 경우 초기 재고 수준을 설정합니다.
  10. 저장을 클릭합니다.

상품 편집

목록에서 상품을 선택하면 상세 보기가 열립니다. 이름, 가격, 카테고리, 부가세율, 재고 수준, 활성 상태 등 모든 필드를 업데이트할 수 있습니다. 변경 사항은 즉시 적용됩니다. 가격을 업데이트하면 새 가격이 이후의 모든 주문에 적용됩니다.

과거 주문은 가격 변경의 영향을 받지 않습니다. 각 주문 항목은 판매 시점의 unit_price를 스냅샷으로 저장합니다.

주문과의 연동

캐셔가 주문을 생성하고 상품을 추가하면 다음이 수행됩니다.

  1. 상품의 현재 판매 가격과 부가세율이 주문 항목에 스냅샷으로 복사됩니다.
  2. 행 합계가 단가 * 수량으로 계산됩니다.
  3. 주문이 완료되면 상품의 재고 수준이 주문된 수량만큼 감소합니다.
  4. 주문에 연결된 reason = 'sale'인 재고 로그 항목이 생성됩니다.

주문이 나중에 취소되거나 환불되면 반품 재고 로그 항목을 통해 재고를 복원할 수 있습니다.