Dữ liệu & trạng thái
Thông tin cần lưu, trạng thái đơn, tác vụ tự động, tham số cấu hình, cách tính tiền, trường hợp đặc biệt.
Nguồn: PRD Core Flow đặt hàng v0.4 (30/09/2026, cập nhật 01/10/2026). Người soạn: Hoàng Trọng Thanh Tùng (Product Manager PrintUp). Người duyệt: Nguyễn Hoàng Nam (CEO PrintUp). Mã BR-xx, QT-xx trong mục User stories là mã của PRD v0.4, khác mã cùng tên ở trang Trạng thái & quy tắc và danh mục FR lưu trữ.
Phụ lục này mô tả luồng đặt hàng ở mức đủ để dựng hệ thống: thông tin cần lưu, trạng thái đơn và cách chuyển, việc hệ thống tự chạy theo giờ, tham số cấu hình, cách tính tiền, các trường hợp đặc biệt, và chính sách đặt hàng quy ra quy tắc. Không quy định công nghệ, kiểu dữ liệu hay API. Copy giao diện ở Phụ lục B, nội dung email ở Phụ lục C.
Quy ước mã: màn hình S-xx · copy theo mã chấm (ví dụ checkout.recv.name) · email E-xx · tham số cấu hình CFG.xxx (con số Super Admin sửa được, không viết cứng trong code) · trường hợp TH-xx · trạng thái ST-xx · tác vụ tự động J-xx.
A.1 Thông tin cần lưu
| Nhóm | Thông tin cần lưu | Quy tắc |
|---|---|---|
| Tài khoản khách | Họ tên, email, số điện thoại, mật khẩu (có thể chưa đặt), đã kích hoạt hay chưa | Email là duy nhất. Gửi đơn bằng email đã có thì đơn gắn vào tài khoản đó. |
| Yêu cầu báo giá (YC) | Mã YC, sản phẩm, cấu hình đã chọn (nếu chuyển từ cấu hình), mô tả, kích thước, số lượng dự kiến, ngày cần hàng, link tham khảo, trạng thái | Trạng thái: Đã gửi → Đã báo giá → Đã chấp nhận / Đã từ chối / Hết hạn. |
| Báo giá tay (BG) | Mã BG, YC gốc, quy cách, số lượng, đơn giá, thành tiền, ghi chú PrintUp, người soạn, hạn hiệu lực | Hết hạn thì không chấp nhận được. Chấp nhận thì tạo mục giỏ với giá khóa theo BG. |
| Mục giỏ | Sản phẩm, chế độ giá, cấu hình (gồm gia công bề mặt và màu nhũ ép kim nếu có), số lượng, đơn giá, phí cố định (khuôn, bản in), nguồn thiết kế, thông tin bổ sung (Pantone, file vùng UV/ép kim, tệp dữ liệu) | Mỗi mục khi gửi thành một đơn riêng. Hàng tiêu chuẩn mua kèm tem tạo 2 mục liên kết. |
| Đơn | Mã đơn, tài khoản, danh sách mục, thông tin nhận hàng, yêu cầu khác, hình thức giao, ngày muốn nhận (nếu giao nhanh), mã giới thiệu, thông tin hóa đơn, các khoản tiền (mục A.5), tỷ lệ cọc áp dụng, ngày giao dự kiến, mốc chốt file, trạng thái, các cờ (mục A.2.3), phiên bản chính sách đã đồng ý | Giá, tổng và tỷ lệ cọc khóa khi gửi đơn. Đổi cấu hình giá sau đó không ảnh hưởng đơn đã gửi. |
| Nguồn thiết kế | Loại: tự thiết kế bằng AI / tải file / dán link; các phiên bản file (v1, v2…); kết quả kiểm kỹ thuật (đạt, chưa đạt kèm danh sách lỗi); kết quả AI quét nội dung | Lưu mọi phiên bản, không ghi đè. |
| Thiết kế AI | Mẫu đã chọn, tên thương hiệu, logo, nội dung từng mặt, phương án đã sinh, ảnh phối cảnh, phương án khách chọn, file in xuất ra | Cấu trúc mặt và ô nhập khai báo theo từng sản phẩm trong thư viện mẫu. |
| Bản duyệt in | File PDF, số phiên bản, người gửi, thời điểm khách duyệt hoặc yêu cầu sửa, nội dung yêu cầu sửa | Duyệt xong thì khóa file và ghi mốc chốt file. |
| Thanh toán | Loại (cọc / cuối / bổ sung / phí giao lại / hoàn tiền), số tiền yêu cầu, nội dung chuyển khoản, số tiền nhận, mã giao dịch, nguồn (SePay tự động / ghi nhận tay), người ghi nhận tay và lý do | Trạng thái đơn chỉ đổi khi SePay xác nhận đủ tiền hoặc Kế toán ghi nhận tay. |
| Hóa đơn | Loại (doanh nghiệp / cá nhân / cập nhật sau), tên công ty hoặc họ tên, mã số thuế hoặc số CCCD, địa chỉ xuất hóa đơn, email nhận hóa đơn điện tử, số hóa đơn, file hóa đơn | Email nhận hóa đơn mặc định là email nhận hàng, sửa được. |
| Giao hàng | Đơn vị vận chuyển, mã vận đơn, số lần giao, kết quả từng lần, lý do không thành công, lỗi thuộc bên nào, phí giao lại và phí hoàn, ngày liên hệ giao đầu tiên | Lần giao không thành công do lỗi PrintUp hoặc đơn vị vận chuyển không tính vào giới hạn. |
| Khiếu nại (KN) | Mã KN, đơn, nội dung, ảnh hoặc video, thời điểm tạo, trạng thái (Đã nhận / Đang xử lý / Đã kết luận), kết luận, hướng xử lý (in bù / hoàn tiền / không chấp nhận kèm lý do) | Chỉ tạo được trong thời hạn khiếu nại. |
| Yêu cầu theo đơn | Loại (hỏi, yêu cầu hủy, bổ sung mã giới thiệu, thay đổi đơn, khác), nội dung, trạng thái, người xử lý | Khách thấy trạng thái yêu cầu trên trang đơn. |
| Tin nhắn theo đơn | Người gửi (Khách / Admin / Thiết kế / Kế toán / Hệ thống), nội dung, đính kèm, thời điểm, đã đọc | Tin hệ thống ghi mọi lần đổi trạng thái. Thiết kế không thấy tên và số điện thoại khách. |
| Bằng chứng đồng ý | Mã đơn, phiên bản chính sách, thời điểm, địa chỉ IP, trình duyệt, loại thiết bị, hệ điều hành | Gửi bản sao qua email khi gửi đơn (E-02). Không xóa, không sửa. |
| Lịch sử trạng thái | Trạng thái cũ, trạng thái mới, người hoặc tác vụ thực hiện, thời điểm, lý do | Có cho mọi lần chuyển, kể cả tác vụ tự động. |
| Email đã gửi | Mã email (E-xx), đơn, người nhận, thời điểm, kết quả gửi | Dùng để tra khi khách nói không nhận được email. |
Định dạng mã và hiển thị
| Nội dung | Định dạng | Ví dụ |
|---|---|---|
| Mã đơn | PU-YYMMDD-NNNN | PU-261001-0012 |
| Mã yêu cầu báo giá | YC-YYMMDD-NNN | YC-261001-004 |
| Mã báo giá | BG-YYMMDD-NNN | BG-261002-004 |
| Mã khiếu nại | KN-NNNN | KN-0003 |
| Nội dung chuyển khoản | Mã đơn + hậu tố: COC (cọc), CUOI (còn lại), BS (bổ sung), GL (phí giao lại) | PU-261001-0012 COC |
| Tiền | Số nguyên VND, dấu chấm phân cách nghìn, hậu tố “ đ” | 2.690.000 đ |
| Ngày, giờ | dd/mm/yyyy · HH:mm, giờ Việt Nam | 02/10/2026 14:20 |
| Ngày làm việc | Thứ Hai–Thứ Sáu, trừ ngày lễ trong lịch nghỉ do Super Admin cấu hình | — |
A.2 Trạng thái đơn
Một đơn có đúng một trạng thái chính tại mỗi thời điểm. Trạng thái có ghi “nếu có” chỉ đi qua khi điều kiện thỏa; nếu không thì bỏ qua và timeline hiển thị “(không áp dụng)”.
| Mã | Tên hiển thị cho khách | Vào khi | Chuyển tiếp khi | Người hoặc tác vụ kích hoạt | |
|---|---|---|---|---|---|
| ST-00 | Đã gửi | Khách gửi đơn | Admin tiếp nhận → ST-01 nếu giao nhanh, ST-02 nếu PrintUp thiết kế, còn lại ST-03 | Admin | E-01, E-02 |
| ST-01 | Chờ xác nhận hạn giao (nếu có) | Đơn chọn “Yêu cầu giao hàng nhanh” | Khách chấp nhận phụ phí hoặc đổi sang giao thông thường → ST-02/ST-03; khách hủy → Đã hủy | Admin báo phụ phí; khách trả lời | E-03 |
| ST-02 | Đang thiết kế (nếu có) | Khách chọn PrintUp thiết kế (dịch vụ có phí) | Khách đồng ý báo giá thiết kế, Thiết kế tải file lên → ST-03 | Thiết kế | E-04 |
| ST-03 | Đang kiểm file | File, link hoặc thiết kế AI đã có | File đạt, Thiết kế gửi bản duyệt → ST-04; chưa đạt → ở lại, chờ khách tải lại | Thiết kế; AI quét chạy tự động khi vào trạng thái | E-05 nếu chưa đạt |
| ST-04 | Chờ khách duyệt bản in | Thiết kế gửi bản duyệt | Khách duyệt → ST-05 (ghi mốc chốt file); khách yêu cầu sửa → ST-03 | Khách | E-06 |
| ST-05 | Chờ cọc {tỷ lệ}% | Khách chốt file | SePay xác nhận đủ tiền cọc hoặc Kế toán ghi nhận tay → ST-06; quá hạn cọc → Đã hủy | SePay / Kế toán; tác vụ J-01 | E-07, E-08, E-09 |
| ST-06 | Đã cọc | Nhận đủ cọc | Sản xuất xác nhận nhận đơn → ST-08; khách yêu cầu mẫu thử (module bật, đủ điều kiện) → ST-07 | Sản xuất / Khách | E-10 |
| ST-07 | Đang làm mẫu thử (nếu có) | Khách yêu cầu mẫu thử | Khách duyệt mẫu → ST-08; yêu cầu chỉnh → ở lại | Sản xuất làm, Admin gửi mẫu; khách duyệt | E-11 |
| ST-08 | Đã xác nhận sản xuất | Sản xuất nhận đơn | Sản xuất bấm “Đã đặt nguyên vật liệu” → ST-09 | Sản xuất | E-12 |
| ST-09 | Đã đặt nguyên vật liệu | Sản xuất xác nhận đã đặt | Bắt đầu sản xuất → ST-10 | Sản xuất | E-13 |
| ST-10 | Đang sản xuất | Sản xuất bắt đầu | Thành phẩm → ST-11 | Sản xuất | — |
| ST-11 | Thành phẩm – chờ thanh toán cuối | Sản xuất báo thành phẩm | Nhận đủ phần còn lại → ST-12; quá hạn → cờ Tạm dừng, sau đó Đã hủy | SePay / Kế toán; tác vụ J-02 | E-14, E-15 |
| ST-12 | Đã thanh toán đủ | Nhận đủ 100% | Admin nhập mã vận đơn → ST-13 | Admin | E-16 |
| ST-13 | Đang giao | Có mã vận đơn | Admin cập nhật đã giao → ST-14; không thành công → ở lại, cập nhật số lần giao | Admin | E-17, E-18 |
| ST-14 | Đã giao | Admin cập nhật đã giao | Khách xác nhận đã nhận hoặc tự xác nhận sau thời hạn (J-04) → bật cờ Đã nhận | Khách / tác vụ J-04 | E-19 |
| ST-99 | Đã hủy | Xem mục A.2.2 | Không chuyển tiếp | — | E-09 hoặc E-20 |
A.2.1 Mốc hết hủy: khách gửi được yêu cầu hủy từ ST-00 đến ST-08. Từ ST-09 trở đi, nút “Hủy đơn” không hiển thị.
A.2.2 Lý do hủy (bắt buộc lưu đúng một lý do):
| Lý do | Từ trạng thái | Xử lý tiền |
|---|---|---|
| Khách hủy trước khi cọc | ST-00 → ST-05 | Không phát sinh tiền |
| Khách hủy sau khi cọc, trước mốc đặt nguyên vật liệu | ST-06 → ST-08 | Hoàn cọc sau khi trừ phí thiết kế và phí mẫu thử đã thực hiện, trong CFG.refund_sla_days |
| Quá hạn cọc | ST-05 | Không phát sinh tiền |
| Khách từ chối phụ phí giao nhanh và chọn hủy | ST-01 | Không phát sinh tiền |
| Quá hạn thanh toán cuối | ST-11 (cờ Tạm dừng) | Giữ toàn bộ tiền cọc |
| Không nhận hàng sau khi giao không thành công | ST-13 | Không hoàn tiền |
| Nội dung vi phạm phát hiện sau khi cọc | ST-06 → ST-08 | Hoàn cọc |
| PrintUp giao trễ quá CFG.late_cancel_days, khách chọn hủy | Trước ST-14 | Hoàn toàn bộ tiền đã thanh toán |
A.2.3 Cờ đi kèm trạng thái (không phải trạng thái riêng):
| Cờ | Bật khi | Tắt khi | Ảnh hưởng |
|---|---|---|---|
| Giao nhanh | Khách chọn “Yêu cầu giao hàng nhanh” | Khách đổi sang giao thông thường | Qua ST-01; có phụ phí |
| File chưa đạt | Thiết kế báo chưa đạt | Khách tải file mới | Trang đơn hiện nút “Tải lại file đã sửa” |
| Cảnh báo AI | AI quét phát hiện rủi ro | Admin xác nhận xử lý | Vào hàng chờ Admin; chưa báo khách cho tới khi Admin xác nhận |
| Thiếu thông tin hóa đơn | Loại hóa đơn “Cập nhật sau” hoặc thiếu MST/CCCD, địa chỉ, email | Khách lưu đủ thông tin | Chặn hiện QR thanh toán cuối |
| Tạm dừng – quá hạn thanh toán | Ngày CFG.final_pause_day kể từ yêu cầu thanh toán cuối | Khách thanh toán đủ | Hàng để tại xưởng; khách vẫn thanh toán được |
| Giao không thành công (n/3) | Admin cập nhật lần giao không thành công | Giao thành công | Lỗi do khách: khách trả phí giao lại và phí hoàn trước lượt giao mới |
| Đã nhận hàng | Khách bấm xác nhận hoặc J-04 | — | Đóng đơn; khiếu nại mở trong thời hạn |
| Đang khiếu nại | Khách gửi khiếu nại | Khiếu nại có kết luận | Hiện trạng thái KN trên trang đơn |
A.3 Tác vụ tự động theo giờ
| Mã | Tác vụ | Mốc bắt đầu | Hành động | Tham số |
|---|---|---|---|---|
| J-01 | Nhắc cọc và tự hủy | Mốc chốt file (vào ST-05) | Sau 24 giờ gửi E-08, sau 48 giờ gửi E-08 lần 2; hết hạn thì hủy đơn, lý do “Quá hạn cọc”, gửi E-09 | CFG.deposit_reminder_hours, CFG.deposit_timeout_days |
| J-02 | Nhắc thanh toán cuối, tạm dừng, hủy | Thời điểm gửi yêu cầu thanh toán cuối (vào ST-11) | Ngày 1, 3, 7 gửi E-15 và tạo việc gọi điện cho Admin; ngày 8 bật cờ Tạm dừng; ngày 30 hủy đơn, lý do “Quá hạn thanh toán cuối”, gửi E-20 | CFG.final_reminder_days, CFG.final_pause_day, CFG.final_cancel_days |
| J-03 | Hủy đơn không nhận hàng | Lần liên hệ giao đầu tiên | Ngày 30 mà đơn chưa giao thành công thì hủy, lý do “Không nhận hàng”, gửi E-20 | CFG.undelivered_cancel_days |
| J-04 | Tự xác nhận đã nhận hàng | Vào ST-14 | Sau 3 ngày không xác nhận và không có khiếu nại thì bật cờ Đã nhận | CFG.auto_receive_days |
| J-05 | Khóa báo giá hết hạn | Thời điểm gửi báo giá | Hết hạn thì chuyển BG sang “Hết hạn”, ẩn nút chấp nhận | CFG.quote_valid_days |
| J-06 | Hết hạn link kích hoạt và đăng nhập | Thời điểm gửi link | Hết hạn thì link báo “Link đã hết hạn” kèm nút gửi lại | CFG.login_link_hours |
| J-07 | Nhắc hạn hoàn tiền | Thời điểm duyệt hoàn tiền | Nhắc Kế toán trước hạn 1 ngày làm việc | CFG.refund_sla_days |
| J-08 | Nhắc hạn khiếu nại | Thời điểm tạo KN | Nhắc Admin khi sắp quá hạn phản hồi và hạn kết luận | CFG.complaint_reply_days, CFG.complaint_close_days |
A.4 Tham số cấu hình
Mỗi tham số CFG là một con số hoặc lựa chọn Super Admin sửa được trên màn cấu hình, không viết cứng trong code. Đổi tham số chỉ áp dụng cho đơn gửi sau thời điểm đổi. Cột Tình trạng: “Theo chính sách v0.1” nghĩa là số đã viết trong chính sách đặt hàng đang chờ duyệt toàn văn.
| Tham số | Ý nghĩa | Mặc định | Tình trạng |
|---|---|---|---|
| CFG.deposit_pct | Tỷ lệ cọc | 70% | Đã chốt 30/09 |
| CFG.deposit_reminder_hours | Nhắc cọc sau | 24 giờ, 48 giờ | Theo chính sách v0.1 |
| CFG.deposit_timeout_days | Tự hủy nếu chưa cọc | 3 ngày | Theo chính sách v0.1 |
| CFG.final_reminder_days | Nhắc thanh toán cuối | Ngày 1, 3, 7 | Theo chính sách v0.1 |
| CFG.final_pause_day | Bật cờ Tạm dừng | Ngày 8 | Theo chính sách v0.1 |
| CFG.final_cancel_days | Hủy do quá hạn thanh toán cuối | 30 ngày | Theo chính sách v0.1 |
| CFG.max_delivery_attempts | Số lần giao tối đa | 3 | Đã chốt 30/09 |
| CFG.undelivered_cancel_days | Hủy do không nhận hàng | 30 ngày | Theo chính sách v0.1 |
| CFG.auto_receive_days | Tự xác nhận đã nhận | 3 ngày | Theo chính sách v0.1 |
| CFG.complaint_window_days | Thời hạn khiếu nại sau khi nhận | 3 ngày | Theo chính sách v0.1 |
| CFG.complaint_reply_days | Phản hồi khiếu nại | 1 ngày làm việc | Theo chính sách v0.1 |
| CFG.complaint_close_days | Kết luận khiếu nại | 5 ngày làm việc | Theo chính sách v0.1 |
| CFG.refund_sla_days | Thời hạn hoàn tiền | 7 ngày làm việc | Theo chính sách v0.1 |
| CFG.quote_valid_days | Hiệu lực báo giá | 7 ngày | Theo chính sách v0.1 |
| CFG.free_revisions | Số lần sửa bản duyệt miễn phí | 2 | Theo chính sách v0.1 |
| CFG.qty_tolerance_pct | Dung sai số lượng | ±5% | Theo chính sách v0.1 |
| CFG.late_cancel_days | PrintUp trễ quá số ngày này thì khách được hủy | 7 ngày làm việc | Theo chính sách v0.1 |
| CFG.file_retention_months | Lưu file đã duyệt | 12 tháng | Theo chính sách v0.1 |
| CFG.standard_lead_days | Ngày giao thông thường, nội thành TP.HCM, tính từ mốc chốt file | Khoảng 7 ngày làm việc, theo nhóm sản phẩm; tỉnh khác cộng thời gian vận chuyển | Đã chốt 30/09 (số theo nhóm: P1-12) |
| CFG.express_min_date | Ngày sớm nhất được chọn khi giao nhanh | Theo nhóm sản phẩm | Chờ điều kiện giao nhanh (P1-12) |
| CFG.express_fee | Phụ phí giao nhanh | Admin nhập theo đơn | Chờ điều kiện giao nhanh (P1-12) |
| CFG.shipping_fee_table | Phí giao tạm theo tỉnh/thành | Bảng theo tỉnh | Tạm, chờ công thức và API vận chuyển (P0-1) |
| CFG.sample_module | Bật module mẫu thử | Tắt | Đã chốt 30/09: có module bật/tắt |
| CFG.sample_min_order | Điều kiện được yêu cầu mẫu thử | Đơn trên 2.500.000 đ | Chờ P1-13 |
| CFG.auto_invoice | Tự xuất hóa đơn | Tắt | Chờ nhà cung cấp hóa đơn điện tử |
| CFG.login_link_hours | Hiệu lực link kích hoạt, đăng nhập | 72 giờ | Đề xuất |
| CFG.price_includes_vat | Giá hiển thị đã gồm VAT | Có | Hướng họp 30/09, cần kế toán xác nhận (P0-5) |
| CFG.policy_version | Phiên bản chính sách hiện hành | v0.1 | Chờ duyệt toàn văn |
A.5 Tính tiền
| Khoản | Cách tính | Khi nào khóa |
|---|---|---|
| Thành tiền mục | Đơn giá theo bậc số lượng × số lượng + phí cố định (khuôn ép kim, bản in…) | Khi gửi đơn |
| Phí giao | Tạm: theo CFG.shipping_fee_table theo tỉnh/thành của địa chỉ. Đích: theo biểu phí đơn vị vận chuyển, từ trọng lượng, kích thước kiện, địa chỉ gửi – nhận, loại hàng | Khi gửi đơn |
| Trọng lượng ước tính | Diện tích trải phẳng (m²) × định lượng (g/m²) ÷ 1.000 × số lượng × hệ số 70–100% + bao bì đóng gói (kg) | Dùng để lấy phí giao |
| Phụ phí giao nhanh | Admin nhập theo đơn ở ST-01 | Khi khách chấp nhận |
| Phí thiết kế | Thiết kế báo giá ở ST-02 | Khi khách đồng ý báo giá |
| Tổng đơn | Tổng thành tiền các mục của đơn + phí giao + phụ phí giao nhanh + phí thiết kế | Khóa khi gửi; tính lại khi khách chấp nhận phụ phí hoặc phí thiết kế, luôn trước khi cọc |
| Tiền cọc | Tổng đơn × CFG.deposit_pct, làm tròn đến đồng | Tính lại cùng lúc với tổng; không đổi sau khi đã cọc |
| Còn lại | Tổng đơn − tiền cọc đã nhận | — |
| Phí giao lại | Phí giao lại + phí hoàn hàng (nếu có), Admin nhập theo biểu phí đơn vị vận chuyển | Khi Admin tạo yêu cầu |
| Hoàn cọc khi hủy trước mốc NVL | Tiền cọc đã nhận − phí thiết kế − phí mẫu thử đã thực hiện | Khi Kế toán duyệt hoàn |
Sau khi đã cọc, mọi thay đổi số tiền chỉ làm bằng phiếu điều chỉnh do Admin tạo, bắt buộc ghi lý do và lưu vết.
Giỏ nhiều mục: mỗi mục là một đơn riêng (duyệt file, cọc, sản xuất riêng). Prototype đang tính phí giao một lần cho cả giỏ; cách chia phí giao, giao chung hay riêng: P0-3.
A.6 Trường hợp đặc biệt
| Mã | Tình huống | Hệ thống xử lý | Khách thấy |
|---|---|---|---|
| TH-01 | Chuyển thiếu tiền cọc hoặc tiền còn lại | Không đổi trạng thái. Ghi nhận số đã nhận. Báo Admin. Admin hướng dẫn chuyển bổ sung với nội dung “{mã đơn} BS” | Tin nhắn hệ thống order.pay.short; email E-21 |
| TH-02 | Chuyển dư hoặc giao dịch trùng | Ghi nhận đủ cho bước hiện tại; phần dư tạo yêu cầu hoàn cho Kế toán | Tin nhắn báo PrintUp hoàn phần dư trong CFG.refund_sla_days; E-25 khi hoàn xong |
| TH-03 | Sai hoặc thiếu nội dung chuyển khoản | SePay không khớp đơn. Kế toán đối soát, ghi nhận tay kèm lý do | Khách nhắn Admin trong khung trao đổi của đơn |
| TH-04 | SePay chưa dùng được | Kế toán hoặc Admin ghi nhận tay mọi giao dịch | Không khác với khách |
| TH-05 | Chưa cọc sau khi chốt file | J-01 | E-08, E-09 |
| TH-06 | File chưa đạt | Thiết kế ghi danh sách lỗi, bật cờ File chưa đạt | Tin nhắn và E-05 liệt kê từng lỗi; nút “Tải lại file đã sửa” |
| TH-07 | Link file không tải được hoặc không có quyền | Thiết kế báo chưa đạt với lỗi “Link không tải được” | Như TH-06 |
| TH-08 | AI quét thấy rủi ro (logo trùng nhãn hiệu, nội dung cấm, thiếu thông tin ghi nhãn) | Vào hàng chờ Admin. Admin xác nhận rồi mới gửi tin nhắn cho khách | Tin nhắn từ Admin yêu cầu gửi giấy phép sử dụng hoặc thay nội dung |
| TH-09 | Khách yêu cầu sửa bản duyệt | Về ST-03. Đếm số lần sửa; vượt CFG.free_revisions thì Thiết kế báo phí trước khi sửa | Hộp xác nhận order.confirm.edit ghi số lần sửa còn miễn phí |
| TH-10 | Cấu hình vượt chuẩn (kích thước ngoài bộ chuẩn, tùy chọn có đánh dấu, ép kim dưới ngưỡng, dưới giá sàn) | Ẩn giá, đổi nút thành “Chuyển sang yêu cầu báo giá”, giữ cấu hình | Các mã config.toquote |
| TH-11 | Số lượng dưới tối thiểu hoặc lệch bước nhảy | Dưới tối thiểu thì chặn; lệch bước thì làm tròn lên và báo | config.qty.min / config.qty.rounded |
| TH-12 | Giao nhanh: PrintUp không đáp ứng được ngày | Admin đề xuất ngày sớm nhất hoặc đổi sang giao thông thường | E-03 với lựa chọn chấp nhận / đổi / hủy |
| TH-13 | Hủy sau mốc đặt nguyên vật liệu | Không cho hủy | Nút hủy không hiển thị; E-13 đã báo trước |
| TH-14 | Thiếu thông tin hóa đơn khi thanh toán cuối | Chặn hiện QR, mở form hóa đơn | order.invoice.need |
| TH-15 | Quá hạn thanh toán cuối | J-02 | E-15, E-20 |
| TH-16 | Giao không thành công do khách | Tăng số lần giao. Tạo yêu cầu thanh toán phí giao lại và phí hoàn (nội dung “{mã đơn} GL”); chỉ đặt lượt giao mới khi đã nhận phí | E-18 kèm số tiền; nút order.btn.pay_redelivery |
| TH-17 | Giao không thành công do PrintUp hoặc đơn vị vận chuyển | Không tăng số lần giao, không thu phí | E-18 ghi “PrintUp chịu phí giao lại” |
| TH-18 | Quá hạn không nhận hàng | J-03 | E-20 |
| TH-19 | Khiếu nại quá thời hạn | Ẩn nút “Tạo khiếu nại” | order.complaint.expired |
| TH-20 | Mã giới thiệu không tồn tại | Báo lỗi, vẫn cho gửi đơn không mã | checkout.ref.invalid |
| TH-21 | Email đặt hàng đã có tài khoản | Gắn đơn vào tài khoản cũ, không tạo tài khoản mới, không gửi E-01 | E-02 như thường |
| TH-22 | Báo giá hết hạn | J-05 | quote.expired |
| TH-23 | Khách từ chối báo giá | BG chuyển “Đã từ chối” | quote.rejected kèm nút gửi yêu cầu mới |
| TH-24 | Mẫu thử cần chỉnh | Ở lại ST-07, ghi yêu cầu chỉnh | Tin nhắn trong khung trao đổi |
| TH-25 | Phát hiện nội dung vi phạm sau khi cọc | Admin hủy đơn, lý do “Nội dung vi phạm”, tạo yêu cầu hoàn cọc | E-20 kèm số tiền hoàn |
| TH-26 | Chính sách có phiên bản mới | Đơn mới bắt khách tick đồng ý lại; đơn cũ giữ phiên bản cũ | checkout.terms.version hiện số phiên bản mới |
| TH-27 | PrintUp có nguy cơ giao trễ | Admin cập nhật ngày giao mới kèm lý do | E-22 |
| TH-28 | PrintUp trễ quá CFG.late_cancel_days | Khách được yêu cầu hủy và hoàn toàn bộ, kể cả sau mốc đặt nguyên vật liệu | E-22 có nút yêu cầu hủy |
| TH-29 | Khách muốn đổi số lượng, quy cách sau khi chốt file | Trước ST-09: khách gửi yêu cầu “Thay đổi đơn”, Admin báo giá và ngày giao mới, khách đồng ý mới áp dụng (phiếu điều chỉnh). Từ ST-09: không nhận | Trạng thái yêu cầu trên trang đơn |
A.7 Chính sách quy ra quy tắc hệ thống
Số điều theo tài liệu “Chính sách và điều khoản đặt hàng PrintUp” v0.1.
| Điều chính sách | Quy tắc hệ thống | Tham số | Story |
|---|---|---|---|
| 1.1 Tỷ lệ cọc | Cọc = tổng × tỷ lệ; tỷ lệ lưu theo đơn tại thời điểm tạo | CFG.deposit_pct | US-33 |
| 1.2 Giá và báo giá | Giá khóa khi gửi đơn; báo giá hết hạn tự khóa | CFG.quote_valid_days, CFG.price_includes_vat | US-26, US-63 |
| 1.3 Cách thanh toán | Chỉ QR SePay, số tiền và nội dung cố định; không COD | — | US-33, US-34 |
| 1.4 Chuyển thiếu, sai | TH-01 đến TH-03 | — | US-35 |
| 1.5 Đơn chưa cọc | J-01 | Nhóm CFG.deposit | US-70 |
| 1.6 Thanh toán còn lại | Chỉ đặt vận chuyển khi đủ 100% | — | US-34, US-45 |
| 1.7 Quá hạn thanh toán | J-02 | Nhóm CFG.final | US-71 |
| 2.1–2.2 Yêu cầu file, kiểm tra file | Danh sách file bắt buộc theo cấu hình; TH-06, TH-07 | — | US-14, US-30 |
| 2.3–2.4 Duyệt bản in, số lần sửa | Duyệt xong khóa file; đếm lần sửa (TH-09) | CFG.free_revisions | US-32 |
| 2.5 Mẫu thử | Module bật/tắt; mẫu duyệt là chuẩn đối chiếu | Nhóm CFG.sample | US-52, US-53 |
| 3.1 Dung sai số lượng | Kết luận khiếu nại số lượng dựa trên dung sai | CFG.qty_tolerance_pct | US-50 |
| 3.2 Thay đổi đơn | TH-29 | — | US-40 |
| 3.3 Ngày giao đã xác nhận | TH-27, TH-28 | CFG.late_cancel_days | US-73 |
| 4.1–4.3 Thời gian giao, giao nhanh, phí giao | Ngày dự kiến tính từ mốc chốt file; giao nhanh qua ST-01 | CFG.standard_lead_days, nhóm CFG.express, CFG.shipping_fee_table | US-23, US-24 |
| 4.4–4.5 Giao không thành công, không lưu kho | TH-16 đến TH-18, J-03 | CFG.max_delivery_attempts, CFG.undelivered_cancel_days | US-72 |
| 4.6 Nhận hàng | J-04 | CFG.auto_receive_days | US-48 |
| 5.1–5.6 Hủy, hoàn tiền | Mục A.2.1, A.2.2 | CFG.refund_sla_days | US-51 |
| 6 Khiếu nại | Thời hạn tạo; nhắc hạn xử lý (J-08) | Nhóm CFG.complaint | US-49, US-50 |
| 7 Nội dung in | AI quét + Admin xác nhận (TH-08); TH-25 | — | US-75 |
| 8.5 Lưu file | Giữ file đã duyệt theo thời hạn | CFG.file_retention_months | — |
| 9 Hóa đơn | “Cập nhật sau” được; bắt buộc trước thanh toán cuối | — | US-22, US-34 |
| 10 Kênh chính thức | Mọi thỏa thuận ghi trong trang đơn hoặc khung trao đổi của đơn | — | US-41 |
| 11 Dữ liệu cá nhân | Bằng chứng đồng ý; phân quyền hiển thị | — | US-26 |
| 14 Thay đổi chính sách | Phiên bản mới thì đơn mới phải đồng ý lại (TH-26) | CFG.policy_version | US-74 |
Cập nhật lần cuối 01/10/2026 bởi Hoàng Tùng · 6b3bfefc · Lịch sử thay đổi