2–4 phương án trong ngân sách — nhân viên chọn, không AI tự chốt
| Hàng | SL | Đơn giá | Thành tiền |
|---|---|---|---|
| Hương vòng HV-20 | 2 | 25.000 | 50.000 |
| Nến đỏ cặp | 1 | 18.000 | 18.000 |
| NVL | Cần | Trạng thái |
|---|---|---|
| Xoài tượng | 2 quả | backorder |
| Bưởi da xanh | 1 quả | reserved |
| Hương vòng | 1 bó | reserved |
| Vàng mã bộ | 1 bộ | reserved |
| SKU | Tên | On hand | Reserved | ATP | HSD |
|---|---|---|---|---|---|
| XOAI-T | Xoài tượng | 0 | 0 | 0 | hết |
| BUOI-DX | Bưởi da xanh | 8 | 3 | 5 | 18/09 |
| HV-20 | Hương vòng | 40 | 4 | 36 | — |
| LE-HOA | Hoa tươi bó | 6 | 2 | 4 | HSD 13/09 |
| Đơn | Điểm | Giờ | Shipper | TT |
|---|---|---|---|---|
| ML-24091 | Phủ Tây Hồ · cổng phụ | 07:30 | scheduled | |
| ML-24088 | Chùa Hà | 08:00 | Tuấn | dispatched |
| ML-24080 | Nhà chị Mai | 08:40 | Hùng | delivered |
Publish tạo version mới. Đơn đã chốt giữ snapshot — không sửa sống BOM.
| Tên | Loại | Khu | Active |
|---|---|---|---|
| Phủ Tây Hồ | phủ | Tây Hồ | có |
| Chùa Hà | chùa | Cầu Giấy | có |
| Đền Bà Chúa Kho | đền | Bắc Ninh | có |
Báo cáo 1 cột. Số liệu từ server, không cộng trên client.
Chính sách — admin sửa trên UI, không sửa code
Bán lẻ khi hết hàng
Default require_stock — cấm confirm nếu ATP không đủ.
Đơn mâm khi thiếu NVL
Cho đặt trước rằm: reservation + backorder, không ghi on_hand âm.
Cọc tối thiểu
% trên quote. Confirm không bắt buộc paid-in-full.
Cutoff nhận đơn theo dịp
Ví dụ rằm: ngưng nhận trước 20:00 hôm trước.
Hoàn tất khi COD chưa thu
Policy complete. Không hard-code.
Ngân sách recommend nới
Cho phép gợi ý vượt ngân sách tối đa.
Thương hiệu — theme_json chỉ CSS variable, không upload CSS
Tên hiện
organizations.brand_short
Màu nhấn
Ghi đè --primary. Token còn lại giữ hệ thống.
Kênh thanh toán / ops — secret không nhét code
SePay VA / QR
Mỗi tenant một tài khoản. Webhook trên public_base_url.
Telegram chat ops
Cảnh báo tồn / HSD / đơn burst.
Role sẵn: owner, cashier, order_taker, producer, warehouse, shipper, auditor
| Người | Role | Chi nhánh |
|---|---|---|
| Lan Thu | Quầy 1 | |
| Tuấn | Quầy 1 |
Không có công tắc. Đây là bất biến kiến trúc
on_hand không âm
Override chỉ với permission + lý do + audit.
Giá do server QuoteOffering
Client price bị bỏ.
Tracking = token 256-bit + last-4
Không order_id + last4.
Danh sách lễ là dữ liệu
Không hard-code phủ/chùa trong code.