Phần thao tác dưới đây nên được thực hiện trên một danh sách sản phẩm đối chứng. Với mỗi quy tắc, lưu dữ liệu nguồn, kết quả mong đợi và bản nháp nhận được. Cách kiểm tra này giúp tìm đúng chỗ không khớp khi danh mục hoặc phần mềm nguồn thay đổi.
Khi nào cần ánh xạ hàng hóa?
Ví dụ giả định, website gửi mã WOO_SKU_VPS-PRO và tên “VPS PL1”, trong khi kế toán cần một tên, mã và đơn vị phù hợp danh mục chứng từ. Ghi đầu ra đã được xác nhận trước khi cấu hình, rồi thử đúng dữ liệu website thực gửi. Không suy chỉ từ tên ngắn rằng chu kỳ hoặc thuế đã đúng.
Lập danh sách nhóm cần ánh xạ và nhóm có thể giữ dữ liệu chi tiết từ nguồn. Nếu một sản phẩm chưa có quy tắc, giữ nó trong phạm vi kiểm tra; không dùng tên cùng thuế mặc định để che một dữ liệu thiếu. Người thêm sản phẩm mới cần biết phải thông báo ai trước khi mở bán.
Chọn mã sản phẩm, mã nhóm hay tên?
| Tiêu chí | Trường hợp phù hợp |
|---|---|
| Mã sản phẩm | Cần cấu hình riêng một sản phẩm có mã ổn định. |
| Mã nhóm | Nhiều sản phẩm cùng cách xuất hóa đơn. |
| Tên sản phẩm | Nguồn không có mã ổn định; cần đối chiếu tên đầy đủ. |
Trong cùng phạm vi và nguồn, ưu tiên là mã sản phẩm → mã nhóm → tên sản phẩm. Đối chiếu tên bỏ khoảng trắng thừa và không phân biệt hoa/thường, nhưng vẫn phân biệt dấu tiếng Việt. Vì vậy, “May chu” không mặc định khớp “Máy chủ”.
Mã nguồn thường gặp
WHMCS có dạng WHMCS_PRODUCT_12, WHMCS_GROUP_3; WooCommerce có WOO_SKU_VPS-PRO, WOO_PRODUCT_80, WOO_CATEGORY_12. HostBill và API riêng có bộ mã tương ứng. Đây là ví dụ định dạng; dùng mã thực tế hệ thống gửi.
Nguồn tích hợp mặc định là any. Chỉ chọn nguồn cụ thể khi cùng mã cần được xử lý khác nhau giữa các phần mềm. Khi quy tắc không khớp, kiểm tra cả mã, nguồn và phạm vi thay vì chỉ nhìn tên sản phẩm.
Chọn cách ghép tên hóa đơn
- Chỉ dùng tên cấu hình để thay hoàn toàn tên nguồn.
- Tên cấu hình rồi đến tên sản phẩm để giữ phần chi tiết phía sau.
- Tên sản phẩm rồi đến tên cấu hình khi cần giữ tên nguồn phía trước.
Tạo bản xem trước cho từng lựa chọn ghép tên và so với đầu ra đã được kế toán xác nhận. Kiểm tra tên trùng, phần chu kỳ lặp và độ dài; với dịch vụ nhiều tháng, đối chiếu cả đơn vị cùng số lượng. Nếu chỉ sửa phần tên, tổng hoặc cách thể hiện nghĩa vụ có thể vẫn chưa đúng.
Dữ liệu website nên gửi nhất quán
{
"itemCode": "WOO_SKU_VPS-PRO",
"itemGroupCode": "WOO_CATEGORY_12",
"sourceProductName": "VPS PL1",
"itemName": "VPS PL1",
"unit": "Tháng",
"quantity": 1,
"unitPrice": 100000,
"taxRate": 10
}
Đây là minh họa cấu trúc trong luồng ánh xạ; tên khóa có thể khác theo module. API HĐĐT trực tiếp dùng các khóa dòng hàng riêng như name, unit_price, tax_rate. Không sao chép một cấu trúc cho mọi API. Mức thuế ví dụ không thay thế việc xác định thuế thực tế.
Nếu không có mã sản phẩm, đối chiếu tên dùng sourceProductName; khi trống thì dùng itemName. Đọc thêm chuẩn hóa dữ liệu website và POS.
Khi quy tắc làm thay đổi thuế
Trước khi đưa dữ liệu qua tích hợp, chốt schema với đội phát triển và giữ một mẫu request đã ẩn thông tin nhạy cảm. Kiểm tra mã sản phẩm có thay đổi khi nhân bản hoặc chuyển sản phẩm giữa các kênh hay không. Một quy tắc đúng với mã cũ có thể không được áp dụng cho bản ghi mới dù tên bán hàng giống nhau.
Khi quy tắc đổi thuế suất, mở nháp và đối chiếu đơn giá trước thuế, tiền thuế cùng tổng thanh toán. Luồng được tài liệu mô tả tính lại đơn giá để giữ tổng đã trả. Lưu kết quả trước và sau cho nhóm thử; không chỉ thấy tổng bằng nhau rồi bỏ qua các thành phần vừa thay đổi.
Dữ liệu hàng hóa chi tiết được ưu tiên hơn hàng mặc định. Nếu áp dụng cơ chế giảm thuế của mẫu hóa đơn bán hàng, cần xác nhận điều kiện và trường dữ liệu tương ứng trước khi dùng; không bật hàng loạt chỉ vì hệ thống có tùy chọn.
Checklist kiểm thử quy tắc
Mỗi thay đổi thuế hoặc điều kiện giảm thuế cần được xác nhận về nghiệp vụ và thời điểm áp dụng. Đội triển khai thực hiện cấu hình dựa trên quyết định đó, không tự chọn mức theo một ví dụ kỹ thuật. Những hồ sơ đã phát hành không được sửa như nháp để làm chúng giống quy tắc mới.
Tình huống giả định: một nhóm sản phẩm dùng chung quy tắc, nhưng chỉ một thành viên thay cách thể hiện. Trước khi sửa quy tắc nhóm, kiểm tra liệu các thành viên còn lại có bị ảnh hưởng. Có thể cần phạm vi riêng theo thiết kế được hỗ trợ; dù chọn cách nào, phải thử cả sản phẩm thay đổi lẫn nhóm đang ổn định.
- Thử sản phẩm thường, giảm giá và dịch vụ nhiều tháng trên Sandbox.
- Kiểm tra quy tắc riêng có ưu tiên hơn quy tắc nhóm.
- So tên, mã, đơn vị, thuế và tổng với đơn nguồn.
- Đọc nhật ký khi không khớp rồi kiểm tra lại nháp.
- Chỉ mở tự động phát hành sau khi dữ liệu ổn định.
Đọc thêm: cẩm nang hóa đơn điện tử Pay2S cho quản lý danh mục hàng hóa.

Khi chuẩn hóa danh mục cho hóa đơn tự động, chuẩn bị mẫu dữ liệu từ từng phần mềm nguồn. Trao đổi triển khai nên dùng các trường hợp thực tế đã ẩn dữ liệu khách, giúp xác định khóa, phạm vi và cách thử phù hợp.