Đặt hàng → Nhận hàng (toàn bộ vòng đời đơn)
Luồng đầy đủ một đơn hàng, từ lúc khách bấm đặt đến khi khách nhận được hàng. Mỗi bước ghi rõ vai trò, màn hình, thao tác và trạng thái đơn thay đổi ra sao.
Tóm tắt: Khách đặt → Kế toán xác nhận thanh toán → Chủ quầy chuẩn bị + nhập mã vận đơn → Kế toán phân công giao hàng → NV giao hàng xác nhận đã giao → đơn Hoàn thành.
Sơ đồ chuyển trạng thái đơn:
Bước 1 — Khách hàng đặt hàng · Khách hàng
-
Khách chọn sản phẩm, vào Giỏ hàng → Thanh toán (
/checkout), chọn địa chỉ nhận. Chỉ có một hình thức: Chuyển khoản / QR — tiền luôn chuyển vào tài khoản công ty (OGR) trước, sau đó OGR mới chi trả về gian hàng. Không có COD (thanh toán khi nhận). -
Nhấn Đặt hàng.

-
Hệ thống tạo đơn (mỗi quầy một đơn), sinh mã đơn và mã xác nhận giao hàng riêng cho khách.
- Trạng thái đơn: Mới; thanh toán: Chưa thanh toán.

-
Khách mở đơn của mình (
/account/orders/[mã đơn]), quét QR chuyển khoản vào tài khoản OGR, rồi bấm Tôi đã chuyển khoản → thanh toán chuyển sang Chờ xác nhận.
Bước 2 — Kế toán xác nhận thanh toán · Kế toán
-
Mở Thanh toán (
/dashboard/accounting/payments) — nơi liệt kê đơn chưa thanh toán / chờ xác nhận → chọn đơn để mở chi tiết. (Menu Đơn hàng chỉ hiện đơn đã thanh toán.) -
Sau khi đối chiếu đã nhận được tiền chuyển khoản của khách, bấm ✓ Đã nhận tiền.
- Thanh toán: → Đã thanh toán; đơn bắt đầu xuất hiện ở Đơn hàng & Tổng hợp đơn.

-
Cập nhật trạng thái đơn theo tiến trình: Mới → Đang xử lý → Đang giao → Hoàn thành (có thể Huỷ khi cần). Các trạng thái Đã huỷ / Đã hoàn tiền / Thất lạc là trạng thái kết thúc.
Bước 3 — Chủ quầy chuẩn bị & chọn hình thức giao · Chủ quầy
-
Chủ quầy mở Đơn hàng của quầy → chọn đơn (
/dashboard/booth/orders/[mã đơn]). -
Chọn hình thức giao — đây là điểm rẽ 2 nhánh ở các bước sau:
- Quầy giao trực tiếp — chủ quầy tự giao (nhánh A).
- Gửi văn phòng Cty (phụ phí 5.000 ₫) — OGR giao giúp (nhánh B).
-
Nhập đơn vị vận chuyển (GHTK, GHN, J&T…) và mã vận đơn, rồi bấm Gửi đơn.
- Trạng thái đơn: → Đang giao.

Nhánh A — Quầy giao trực tiếp (booth_direct)
Không có nhân viên giao hàng OGR. Chủ quầy tự giao qua đơn vị vận chuyển đã nhập ở Bước 3.
-
Chủ quầy giao hàng qua hãng vận chuyển; khách theo dõi bằng mã vận đơn.
-
Khi hàng đã tới tay khách, Kế toán mở đơn và đổi trạng thái sang Hoàn thành (
/dashboard/accounting/orders/[mã đơn]→ khối cập nhật trạng thái).
Với nhánh A, kế toán KHÔNG phân công nhân viên giao hàng — hệ thống chỉ hiện phần phân công giao hàng cho đơn Gửi văn phòng Cty.
Nhánh B — Gửi văn phòng Cty (office)
B1. Kế toán bàn giao đơn cho NV giao hàng · Kế toán
Bàn giao cả danh sách (khuyên dùng): mở Bàn giao giao hàng (/dashboard/accounting/delivery)
→ tick nhiều đơn Gửi văn phòng Cty → chọn nhân viên giao hàng → Bàn giao. Cả danh sách
được cập nhật lên hệ thống một lần.

Hoặc phân công lẻ trong chi tiết một đơn (khối Giao hàng — chỉ hiện với đơn Gửi văn phòng Cty).

- Mỗi đơn được gán NV giao hàng (
delivery_status = Được phân công).
B2. NV giao hàng quét QR xác nhận · Nhân viên giao hàng
-
NV giao hàng mở Đơn cần giao (
/dashboard/delivery) → thấy danh sách được bàn giao + nút Quét QR giao hàng.
-
Khi giao tới nơi, khách mở đơn của mình → hiện mã QR xác nhận nhận hàng.

-
NV bấm Quét QR giao hàng → quét QR của khách (hoặc nhập mã dự phòng tay).
- Trạng thái đơn: → Hoàn thành; giao hàng: → Đã giao.
Bước cuối — Khách nhận hàng · Khách hàng
Khách mở Đơn mua (/account/orders/[mã đơn]) thấy tiến trình chuyển sang Hoàn thành.

Nếu phải hoàn tiền · Khách hàng + Kế toán
-
Khách hàng cung cấp tài khoản nhận hoàn tiền — hoặc lưu sẵn mặc định trong Hồ sơ (tự điền cho mọi đơn), hoặc nhập riêng trong đơn: mục Tài khoản nhận hoàn tiền → chọn ngân hàng, nhập số tài khoản + tên chủ tài khoản → Lưu tài khoản.

-
Kế toán mở đơn → mục Hoàn tiền hiện mã VietQR (tài khoản khách + số tiền + nội dung). Quét QR để chuyển hoàn cho khách, rồi bấm Đánh dấu đã hoàn tiền.
- Trạng thái → Đã hoàn tiền, thanh toán → Đã hoàn tiền; nếu đơn đã nằm trong bảng kê thì dòng đơn được gỡ khỏi bảng kê (không tính tiền nữa).

Nếu khách chưa nhập tài khoản, kế toán sẽ thấy nhắc “Khách chưa cung cấp tài khoản nhận hoàn tiền” — đề nghị khách nhập trước khi hoàn.
Thông điệp gửi khách luôn thân thiện: “Đợt mua chung không đủ số lượng nên đã kết thúc. Chúng tôi sẽ hoàn tiền đầy đủ cho quý khách.”
Sau khi đơn Hoàn thành, tiền được đối soát & chi trả theo 2 luồng tiếp theo: Kế toán ↔ Chủ gian và Chủ gian ↔ Chủ quầy.