Import chi tiết đơn hàng mua (PO)
Nhập liệu hàng loạt sản phẩm vào đơn hàng mua từ file Excel, tự động mapping SKU, đơn vị tính, số lượng và đơn giá mua.
Tính năng Import chi tiết đơn hàng mua cho phép thêm hàng loạt sản phẩm vào một đơn hàng mua (PO) từ file Excel. Hệ thống sẽ tự động tìm sản phẩm dựa trên SKU và mapping đơn vị tính, giúp tiết kiệm thời gian khi tạo đơn hàng mua có nhiều sản phẩm.
Giao diện tổng thể
- Chức năng import nằm trong trang Thêm/Chỉnh sửa đơn hàng mua (PO), ở phần Chi tiết mua hàng.
- Nhấn nút Import từ Excel để mở hộp thoại chọn file.
- Hệ thống sẽ đọc file, tự động mapping các cột, và thêm sản phẩm vào danh sách chi tiết đơn hàng mua.
Định dạng file import
File import có thể là Excel (.xls, .xlsx) hoặc CSV (.csv). Mỗi dòng trong file tương ứng với một sản phẩm (biến thể) cần thêm vào đơn hàng mua.
Các cột trong file Excel
| Tên cột | Bắt buộc | Mô tả | Mã code |
|---|---|---|---|
| SKU | Có | Mã SKU hoặc barcode của biến thể sản phẩm. Hệ thống sẽ tìm sản phẩm dựa trên mã này | sku |
| Số lượng | Có | Số lượng cần mua (theo đơn vị tính). Nếu để trống, mặc định = 1 | uom_quantity |
| Đơn vị tính | Có | Tên đơn vị tính (VD: Cái, Hộp, Thùng). Nếu để trống, hệ thống dùng đơn vị tính mặc định của sản phẩm | uom_name |
| Đơn giá | Không | Đơn giá mua (VNĐ) theo đơn vị tính. Nếu để trống = 0 | uom_unit_price |
| Số lượng đếm | Không | Số lượng đếm thực tế (chỉ dùng cho sản phẩm cân ký bán theo số lượng đếm) | catch_counting |
Tên cột trong file không cần khớp chính xác. Hệ thống hỗ trợ nhận diện tên cột tương tự (synonyms). Ví dụ: cột "SL", "S.L" sẽ được tự động mapping thành cột Số lượng.
Danh sách tên cột tương đương (synonyms)
| Cột | Tên tương đương được nhận diện |
|---|---|
| SKU | sku, code, variant, biến thể |
| Số lượng | SL, S.L, số lượng |
| Đơn vị tính | đơn vị tính, đvt, dv, đv, đv tính |
| Đơn giá | đơn giá, đg, giá, giá mua |
| Số lượng đếm | số lượng đếm, sl đếm, số trái, số quả, số miếng |
Các bước import
- Truy cập menu Kho hàng > Đơn hàng mua (PO).
- Nhấn Thêm đơn PO hoặc mở một đơn hàng mua đã có.
- Trong phần Chi tiết mua hàng, nhấn nút Import từ Excel.
- Chọn file Excel từ máy tính.
- Hệ thống sẽ tự động mapping các cột và hiển thị kết quả.
- Kiểm tra danh sách sản phẩm đã được thêm.
- Nhấn Lưu phiếu mua hàng để hoàn tất.
File mẫu tải về
Các file Excel mẫu để tham khảo định dạng cột và dữ liệu. Tải về, chỉnh sửa theo nhu cầu rồi dùng để import.
| File mẫu | Mô tả |
|---|---|
| purchaseorder_import_template.xlsx | File mẫu import chi tiết đơn hàng mua với các cột SKU, Số lượng, Đơn vị tính, Đơn giá. |
Quy tắc xử lý dữ liệu
Tìm sản phẩm theo SKU
- Hệ thống tìm sản phẩm (biến thể) dựa trên SKU trong cơ sở dữ liệu sản phẩm.
- Nếu SKU không tìm thấy, hệ thống sẽ hiển thị cảnh báo dòng đó bị bỏ qua (kèm số dòng trong file Excel).
- Chỉ các SKU hợp lệ mới được thêm vào đơn hàng mua.
Mapping đơn vị tính
- Nếu cột Đơn vị tính có giá trị, hệ thống sẽ tìm đơn vị tính phù hợp dựa trên tên (so sánh không phân biệt hoa thường).
- Nếu cột Đơn vị tính để trống, hệ thống tự dùng đơn vị tính có hệ số quy đổi lớn nhất của sản phẩm làm mặc định.
Xử lý số lượng đếm (catch counting)
- Cột Số lượng đếm chỉ áp dụng cho sản phẩm có cách bán cân ký = Bán theo số lượng đếm.
- Nếu sản phẩm không phải loại cân ký đếm, giá trị cột này sẽ bị bỏ qua (= 0).
Hành vi khi import
- Import sẽ thêm mới sản phẩm vào danh sách chi tiết đơn hàng mua.
- Nếu SKU đã tồn tại trong danh sách chi tiết, hệ thống sẽ ghi đè số lượng theo dữ liệu trong file.
- Sau khi import thành công, bạn vẫn có thể chỉnh sửa số lượng, đơn giá trước khi lưu đơn hàng.
Giới hạn
- Import chi tiết đơn hàng mua không giới hạn số dòng. Tuy nhiên, file quá lớn có thể ảnh hưởng đến hiệu suất xử lý trên trình duyệt.
Danh sách lỗi
Import chi tiết đơn hàng mua xử lý hoàn toàn trên Frontend (trình duyệt). Hệ thống đọc file Excel, resolve SKU và đơn vị tính ngay trên giao diện, sau đó thêm sản phẩm vào danh sách chi tiết (chưa lưu cho đến khi nhấn Lưu phiếu mua hàng).
Lỗi Frontend (xử lý trên giao diện)
| Mã lỗi | Thông báo | Nguyên nhân | Cách khắc phục |
|---|---|---|---|
sku_not_found | SKU [mã] không tìm thấy (dòng X) | Mã SKU trong file không khớp với bất kỳ biến thể sản phẩm nào trong hệ thống. Hệ thống tìm trong bộ nhớ frontend (useProductCache) | Kiểm tra lại SKU đã tồn tại trong hệ thống. Đảm bảo sản phẩm đã được tạo và đồng bộ |
Lỗi logic (không hiển thị cảnh báo nhưng ảnh hưởng dữ liệu)
| Tình huống | Hành vi hệ thống | Lưu ý |
|---|---|---|
| Đơn vị tính không khớp | Tên ĐVT trong file không tìm thấy đơn vị tương ứng → hệ thống tự dùng ĐVT có hệ số quy đổi lớn nhất | Không hiển thị cảnh báo. Kiểm tra cột ĐVT sau khi import |
| Số lượng để trống | Mặc định = 1 | Điền số lượng rõ ràng vào file |
| Đơn giá để trống | Mặc định = 0 | Có thể chỉnh sửa đơn giá trước khi lưu đơn hàng |
| Số lượng đếm không áp dụng | Sản phẩm không phải loại cân ký đếm → giá trị catch_counting = 0 | Cột này chỉ có tác dụng với sản phẩm cân ký bán theo số lượng đếm |
| SKU trùng | Nếu SKU đã có trong danh sách chi tiết, hệ thống ghi đè số lượng và đơn giá thay vì cộng dồn | Đảm bảo mỗi SKU chỉ xuất hiện 1 lần trong file |
Lỗi chung (file Excel)
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| File không đọc được | File bị hỏng, sai định dạng hoặc không có dòng tiêu đề | Kiểm tra file có đuôi .xls, .xlsx hoặc .csv. Đảm bảo dòng đầu tiên là tiêu đề cột |
| Cột không được nhận diện | Tên cột trong file không nằm trong danh sách synonyms | Đổi tên cột theo danh sách tên cột tương đương |
Cách đọc lỗi: Khi import thất bại, hệ thống hiển thị số dòng trong file Excel (bắt đầu từ dòng 2, vì dòng 1 là tiêu đề). Ví dụ: "dòng 5" tương ứng với dòng thứ 5 trong file Excel.
Phân quyền
- Xem đơn hàng mua: Cần quyền Xem đơn hàng mua.
- Thêm/Chỉnh sửa đơn hàng mua: Cần quyền Quản lý đơn hàng mua.