WMS - InventoryPhiếu nhập/xuất kho
Tạo phiếu nhập/xuất mới
Tạo một phiếu nhập hoặc xuất kho mới
Endpoint
POST /v1/productreceipts
Quyền:
inventory.add(scoped theowarehouse_id). Nếustatus = 9(Hoàn thành), cần thêm quyềninventory.statuscomplete.
Request Payload
JSON Object Payload:
{
"company_id": 1,
"creator_id": 101,
"warehouse_id": 10,
"direction": 3,
"type": 1,
"status": 1,
"identifier": "PNK-2023-001",
"shift_id": 0,
"source": 1,
"source_id": 0,
"picking_list_id": 0,
"external_id": "",
"note": "Nhập hàng",
"tag": "import",
"file_id_list": [],
"quantity": 10,
"count_detail": 1,
"details": [
{
"product_variant_id": 201,
"uom_id": 1,
"uom_name": "Cái",
"uom_factor": 1,
"uom_quantity": 10,
"item_quantity": 10,
"item_serial_number": "",
"is_catch_weight": 0,
"weight_sale_mode": 0,
"catch_counting": 0,
"order_detail_id": 0,
"order_detail_type": 0
}
]
}Các trường chính
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
company_id | int | Có | ID công ty |
creator_id | int | Có | ID người tạo phiếu |
warehouse_id | int | Có | ID kho (phải thuộc công ty) |
direction | int | Có | Hướng phiếu: 1 (Xuất) hoặc 3 (Nhập). Xem Trạng thái & Mã giá trị |
type | int | Có | Loại phiếu, phải hợp lệ với direction (xem bảng bên dưới) |
status | int | Có | Trạng thái ban đầu (1, 3, 5, 7 hoặc 9). Không được truyền 11 (Đã hủy) |
details | array | Có | Danh sách dòng hàng, tối thiểu 1 dòng |
identifier | string | Mã phiếu. Hệ thống lưu đúng giá trị gửi lên, không tự sinh mã | |
shift_id | int | ID ca làm việc | |
source | int | Nguồn gốc phiếu (SOURCE_*) | |
source_id | int | ID đối tượng nguồn | |
picking_list_id | int | ID danh sách lấy hàng | |
external_id | string | ID tham chiếu bên ngoài | |
note | string | Ghi chú | |
tag | string | Thẻ, phân cách bằng dấu phẩy | |
file_id_list | array | Danh sách ID file đính kèm | |
quantity | int | Tổng số lượng (hệ thống lưu theo giá trị gửi lên) | |
count_detail | int | Số dòng chi tiết (hệ thống lưu theo giá trị gửi lên) |
Các trường của mỗi dòng trong details
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
product_variant_id | int | Có | ID biến thể sản phẩm (phải thuộc công ty) |
uom_quantity | int | Số lượng theo đơn vị tính (mặc định 0) | |
uom_factor | int | Hệ số quy đổi ra đơn vị cơ bản (mặc định 1). Số lượng đơn vị cơ bản = uom_quantity × uom_factor | |
uom_id | int | ID đơn vị tính | |
uom_name | string | Tên đơn vị tính | |
item_quantity | int | Chỉ dùng để kiểm tra không âm; số lượng đơn vị cơ bản được hệ thống tự tính từ uom_quantity × uom_factor | |
item_serial_number | string | Số serial/IMEI (nếu có) | |
is_catch_weight | int | Hàng cân ký (1) hay không (0) | |
weight_sale_mode | int | Chế độ bán theo trọng lượng | |
catch_counting | int | Số lượng đếm (áp dụng cho chế độ bán theo trọng lượng có đếm) | |
order_detail_id | int | ID dòng chi tiết đơn hàng liên quan | |
order_detail_type | int | Loại dòng chi tiết đơn hàng liên quan |
Loại phiếu hợp lệ theo hướng
direction | type hợp lệ |
|---|---|
3 (Nhập) | 1, 3, 15, 17, 19, 99 |
1 (Xuất) | 5, 7, 9, 11, 13, 15, 17, 19, 99 |
Lưu ý
Dòng hàng không hợp lệ (thiếu hoặc sai product_variant_id, số lượng âm) sẽ bị bỏ qua và không được tạo, phiếu vẫn được tạo với các dòng hợp lệ. Sau khi tạo phiếu, tồn kho của các biến thể liên quan được cập nhật bất đồng bộ.
Response Schema
HTTP 201 - JSON Object
Xem ProductReceipt Object Schema. Trường details chứa các dòng hợp lệ đã gửi lên, được bổ sung id, company_id, creator_id, date_created.
Error Codes
| HTTP | Code | Mô tả |
|---|---|---|
| 422 | error_company_id_required | ID công ty không được để trống |
| 422 | error_company_id_notfound | Công ty không hợp lệ hoặc không thuộc phạm vi truy cập |
| 422 | error_user1_id_required | ID người tạo (creator_id) không được để trống |
| 422 | error_user_id_notfound | Người tạo không hợp lệ |
| 422 | error_not_permission | Không có quyền thêm phiếu tại kho này |
| 422 | error_type_required | Loại phiếu là bắt buộc |
| 422 | error_direction_required | Hướng nhập/xuất là bắt buộc |
| 422 | error_direction_invalid | Hướng nhập/xuất không hợp lệ |
| 422 | error_type_invalid | Loại phiếu không hợp lệ với hướng nhập/xuất |
| 422 | error_warehouse_id_required | ID kho là bắt buộc |
| 422 | error_warehouse_id_invalid | ID kho không hợp lệ |
| 422 | error_detail_required | Chi tiết phiếu là bắt buộc |
| 422 | error_status_invalid | Trạng thái không hợp lệ |
| 422 | error_status_complete_not_allow | Không có quyền hoàn thành phiếu |
| 422 | error_this_api_not_allow_cancel | API này không cho phép hủy phiếu (dùng API Hủy phiếu) |
| 422 | error_add | Lỗi khi thêm phiếu |