Phần D — Kho và vận hành kho

← Mục lục

Phần D · Kho & vận hành kho

Nhập, lấy, đóng, chuyển, kiểm

Một thùng hàng đi qua kho theo thứ tự này: nhập vào kho (D2, D3) → lấy ra khỏi kệ (D4) → đóng gói, dán nhãn (D5) → chuyển sang kho khác nếu cần (D6). Song song là hai việc định kỳ: kiểm kê xem sổ sách có khớp thực tế không (D7), và giữ cấu trúc kho, vị trí, mã QR luôn đúng (D8, D9). Màn hình mở đầu là Tổng quan kho (D1) — nơi thấy việc gì đang gấp. Mục D10 là lô hàng và hạn dùng, thứ mà mọi bước trên đều phải tôn trọng. Mục cuối (D11) là đợt giao — thứ đứng trước cả chuỗi trên: một đơn không nhất thiết giao một lần, và mỗi đợt đi qua đúng chuỗi D4 → D5 → vận đơn của riêng nó.

Đọc Phần D khi nào

Đây là cổng quản trị web/, nhóm menu Kho. Người vận hành kho dùng hằng ngày; người nhập danh mục thuốc (Phần C) và quản trị viên (Phần E) chỉ vào khi cần tra. Kho không tự tạo ra đơn — hàng trong kho là kết quả của đơn bán ở Phần APhần B.

⚠️ Nhân viên kho chỉ thấy dữ liệu từ mùng 1 tới hôm nay

Các màn có yếu tố thời gian — điều chuyển, kiểm kê, hoạt động, đề xuất, cảnh báo — bị giới hạn trong tháng hiện tại với vai trò nhân viên kho. Quản lý kho thấy toàn bộ. Đây là quy tắc bảo mật có chủ ý, không phải lỗi: thấy thiếu phiếu tháng trước là do phân quyền, không phải mất dữ liệu. Xem Luật 1.

Ngược lại, kho không giới hạn theo dòng dữ liệu

Khác với phòng kinh doanh (chỉ thấy khách của mình), nhân viên kho thấy hết mọi kho — mọi phiếu điều chuyển, mọi đơn mua, kể cả kho không phải kho mình phụ trách. Hai trục này khác nhau: hẹp về thời gian, rộng về dòng dữ liệu.

D1

Tổng quan kho — nơi bắt đầu mỗi ngày

/warehouse → thanh menu ngang nhóm KhoTổng quan Kho
Trang tổng quan kho: bốn ô số tổng, hai thẻ kho Hà Nội và Hồ Chí Minh, thanh menu ngang nhóm Kho
Hình 45 Tổng quan kho. Trên cùng là thanh menu ngang nhóm Kho, rồi bốn ô số tổng; dưới là Tổng quan theo kho với thẻ từng kho. Hai khối Cần chú ý và lưới chức năng nằm tiếp bên dưới.
  1. Mở /warehouse. Bốn ô số tổng ở trên cùng: Tổng số kho, Tổng hàng hoá (mặt hàng), Tổng tồn kho (đơn vị) và Hoạt động 24h (lượt). Bốn số này cộng từ chính các thẻ kho bên dưới nên luôn khớp với chúng.
  2. Khối Tổng quan theo kho: mỗi kho một thẻ, ghi tên kho, mã kho, vai trò (ví dụ Kho chính, Kho phụ) và nhãn Hoạt động khi kho đang dùng được. Thẻ cho năm số: Hàng hoá, Tồn kho, Kệ (kèm số ô vị trí), Tình trạng kệ (phần trăm ô đã dùng) và Mức phủ (phần trăm dung lượng đang chứa).
  3. Cuối mỗi thẻ là dải Hoạt động 24h qua, gồm các nhãn Nhập kho, Bán hàng, Chuyển đi, Trả hàng, Kiểm kê, Hỏng/hết kèm số lượt. Bấm tiêu đề dải, hoặc nút Chi tiết ở góc thẻ, để mở chi tiết kho đó.
  4. Xem khối Cần chú ý trước khi làm gì khác. Mỗi mục là một việc đang chờ: Đề xuất nhập hàng nghiêm trọng, Đề xuất nhập hàng quá hạn, Kiểm kê chờ điều chỉnh, Kiểm kê đang chạy. Bấm vào mục nào thì nhảy thẳng sang màn xử lý việc đó.
  5. Cuộn xuống lưới chức năng. Đây là mục lục của cả module kho, chia ba nhóm: Vận hành hàng ngày, Lập kế hoạch & Giám sát, Cấu hình. Mỗi thẻ là một lối vào.
  6. Thêm kho mới: nút Thêm kho mới ở góc phải trên.
⚠️ Khối "Cần chú ý" ẩn mục có số bằng 0

Khối này chỉ hiện những mục đang có số lớn hơn 0, nên số ô thay đổi tuỳ tình hình chứ không cố định. Khi không có việc gì gấp, cả khối được thay bằng một dải xanh: Không có mục nào cần chú ý — toàn bộ hoạt động kho đang ổn. Đừng hiểu dải xanh đó là "khối bị lỗi, không tải được".

⚠️ Thanh menu ngang không liệt kê hết module này

Thanh menu ngang của nhóm Kho10 mục, còn lưới chức năng trên trang này có 15 thẻ. Bốn màn không có mục menu nào, chỉ mở được từ lưới: Di chuyển Thuốc, Hoạt động 24h, Phê duyệt, Đợt giao. Hai màn nữa có menu nhưng nằm ở nhóm khác chứ không phải nhóm Kho: Cảnh báo & Thông báoBáo cáo Kho, đều thuộc nhóm Báo cáo & Phân tích. Ngoài ra menu còn ẩn mục theo vai trò, nên hai người khác vai trò có thể thấy số mục khác nhau — đang tìm một chức năng kho mà không thấy thì quay lại lưới này trước khi kết luận là không có.

D2

Nhập hàng — nhận phiếu điều chuyển về kho

thanh menu ngang nhóm KhoNhập hàng — tiêu đề trang ghi Nhận hàng
Danh sách phiếu điều chuyển đang chờ nhập kho đích
Hình 46 Hàng đợi phiếu điều chuyển. Ba ô đếm trên đầu cho biết còn bao nhiêu phiếu Đang vận chuyển, Đã nhận một phầnTổng chờ nhận.
  1. Mở màn. Danh sách chỉ gồm phiếu điều chuyển đang trên đường tới kho này — hàng từ kho khác chuyển sang, không phải hàng mua từ nhà cung cấp.
  2. Mỗi phiếu là một thẻ gọn: mã phiếu (dạng DC-2026-0001), nhãn trạng thái, dòng kho đi → kho đến kèm ngày, và một nút hành động bên phải. Thẻ không liệt kê hàng bên trong — muốn xem hàng thì phải mở form nhận.
  3. Bấm nút trên thẻ để mở form nhận: phiếu đang trên đường có nút Nhận hàng; phiếu đã nhận một phần có nút Nhận tiếp. Form mở ra ngay dưới thẻ, tiêu đề ghi Xác nhận nhập kho. Điền Người nhậnô bắt buộc duy nhất — và Ghi chú nhận nếu cần.
  4. Đi qua từng dòng hàng. Bảng có các cột Sản phẩm, Số lô, Đóng gói, Số lượng, Đã xuất, Còn chờ, rồi tới hai ô bạn điền: Nhận (tốt)Hư hỏng.
  5. Chọn Ô nhận cho từng dòng — đây là vị trí hàng sẽ nằm sau khi nhập. Ô có dấu là ô đang chứa sẵn mặt hàng đó, kèm mức dùng hiện tại (hiện tại/sức chứa).
  6. Bấm Xác nhận nhập kho. Tồn kho tăng ngay ở bước này.
Form xác nhận nhập kho với bảng dòng hàng và cột ô nhận
Hình 47 Form nhận hàng. Cột Ô nhận là chỗ dễ bỏ sót nhất — thiếu ô thì dòng đó không nhập được vào kho.
Nhận thiếu vẫn xong phiếu

Nếu Nhận (tốt) nhỏ hơn Còn chờ, phiếu chuyển sang trạng thái Đã nhận một phần và vẫn nằm trong danh sách với nút Nhận tiếp. Hàng về đợt sau thì nhận tiếp, không phải tạo phiếu mới.

⚠️ Nhận hàng ở đây KHÔNG phải nhận theo đơn mua

Hàng mua từ nhà cung cấp theo đơn mua hàng được nhập ở màn Đơn mua hàng (/purchase), không phải màn này. Thẻ Nhận hàng trên lưới Tổng quan kho ghi mô tả "Nhận lô theo đơn mua hàng, kiểm số lượng" — mô tả đó sai. Màn D2 này là hàng đợi điều chuyển nội bộ, không liên quan đơn mua hàng.

⚠️ Nhãn trạng thái hiện bằng mã tiếng Anh

Phiếu điều chuyển hiển thị mã trạng thái viết hoa bằng tiếng Anh, không phải nhãn tiếng Việt: IN_TRANSIT (đang vận chuyển), PARTIAL_RECEIVED (đã nhận một phần), PENDING (chờ duyệt), DRAFT (nháp), COMPLETED (hoàn thành). Đây là hiện trạng giao diện, không phải lỗi hiển thị của riêng máy bạn.

D3

Nhập kho — quét hàng thẳng vào một ô vị trí

thanh menu ngang nhóm KhoNhập kho
Lưới ô vị trí của một kho kèm bốn ô đếm tổng vị trí, đang hoạt động, tổng sức chứa, tổng tồn kho
Hình 48 Chọn ô để nhập. Bốn ô đếm trên đầu là Tổng vị trí, Đang hoạt động, Tổng sức chứa, Tổng tồn kho; tỉ lệ sử dụng {%} nằm ngay trong ô đếm cuối.
  1. Chọn Kho ở đầu trang. Lưới ô vị trí hiện ra; thu hẹp bằng ô nhập có sẵn dòng gợi ý "Tìm mã vị trí, kệ, tủ..." và ô chọn trạng thái (mặc định Tất cả trạng thái), đổi kiểu xem lưới ↔ danh sách nếu muốn.
  2. Bấm vào ô cần nhập. Trang chuyển sang chế độ quét, tiêu đề ghi rõ Nhập vào: <mã ô>. Bấm Đổi vị trí nếu chọn nhầm ô.
  3. Quét lần lượt ba thứ: mã SKUđơn vị & số lượnghạn sử dụng.
  4. Mỗi lần ghi nhận thành công, màn hình báo Đã ghi nhận <tên> ×N và dòng đó vào tồn ngay. Màn này không có nút kết thúc — quét hết hàng thì chuyển sang ô khác hoặc rời trang là xong. Muốn bỏ thì dùng Xoá tất cả hoặc xoá từng dòng.
Chế độ quét nhập kho với ba bước mã SKU, đơn vị và số lượng, hạn sử dụng
Hình 49 Chế độ quét sau khi chọn ô. Ba bước SKU → đơn vị & số lượng → hạn dùng lặp lại cho từng mặt hàng; danh sách dòng đã ghi nằm bên dưới, mỗi dòng đã cộng vào tồn rồi.
🚧 Ba lý do chặn hay gặp khi quét

Mã chưa khớp catalogue · Sản phẩm chưa có mã SKU · Thiếu hạn sử dụng. Cả ba đều dừng đúng dòng đó lại, không ghi vào tồn. Gặp cái đầu tiên thì kiểm tra lại mặt hàng đã khai ở C1 chưa; gặp cái thứ hai thì nhờ người nhập danh mục bổ sung mã SKU.

⚠️ Ghi là vào tồn ngay — không có bước duyệt

Mọi dòng quét ở đây cộng vào tồn kho ngay lập tức, không chờ ai duyệt, không có nút hoàn tác, và cũng không có nút "kết thúc" để chốt lại — ghi xong là xong. Quét nhầm số lượng thì cách sửa là kiểm kê lại ô đó (D7), không phải sửa ở màn này.

D4

Lấy hàng — nhặt hàng theo đơn xuất

thanh menu ngang nhóm KhoLấy hàng
Danh sách phiếu lấy hàng dạng thẻ, kèm phần trăm hoàn thành và thanh tiến độ
Hình 50 Danh sách phiếu cần lấy, hiện dạng thẻ chứ không phải bảng. Sáu tab trạng thái ở đầu trang: Tất cả, Chờ xử lý, Đang thực hiện, Hoàn thành, Tạm dừng, Đã huỷ. Dòng ngay trên thẻ phiếu là đầu nhóm đợt giao: Đợt 1, mã đợt, nhãn trạng thái đợt, ba số Đã chia … · Đã đóng … · Đã giao …, số phiếu của nhóm kèm mã đơn, và link Xem đợt.
  1. Chọn Kho. Mỗi phiếu là một thẻ: mã phiếu kèm nhãn trạng thái (có thể có nhãn đỏ Quá hạn), dòng Đơn hàng: … | Kho: …, khu vực lấy hàng, số phút dự kiến, người được giao, và bên phải là phần trăm hoàn thành cùng thanh tiến độ ghi x / y itemsx / y units.
  2. Danh sách gom theo đợt giao: các phiếu cùng một đợt nằm dưới một dòng đầu nhóm — Đợt 1, mã đợt (dạng PG-2026-0001), nhãn trạng thái đợt, ba số Đã chia … · Đã đóng … · Đã giao …, số phiếu của nhóm kèm mã đơn, và link Xem đợt mở thẳng màn đợt giao (D11). Đợt đã gửi đi có thêm nhãn Đã rời kho. Phiếu cũ chưa gắn đợt nào rơi vào nhóm Không chia đợtkhông có phiếu nào bị ẩn, chúng chỉ nằm riêng một nhóm.
  3. Mỗi thẻ có các nút, hiện theo trạng thái: Xem hàng đã lấy (có ở mọi trạng thái, mở chế độ chỉ xem — không sửa được), Bắt đầu lấy hàng (phiếu Chờ xử lý), Tiếp tục lấy hàng (phiếu Đang thực hiện), Tạm dừng, và Tiếp tục (phiếu đang tạm dừng).
  4. Nhặt hàng bằng quét. Bấm Bắt đầu lấy hàng (hoặc Tiếp tục lấy hàng) để vào chế độ lấy hàng — tiêu đề đổi thành Lấy hàng — <mã phiếu> kèm dòng "còn lại N sản phẩm cần lấy". Bấm Quét lấy hàng để mở cửa sổ quét.
  5. Trong cửa sổ quét: quét mã SKU → chọn đơn vị và số lượng → quét hạn dùng nếu mặt hàng đó cần. Mỗi lần xong, một dòng tích vào bảng bên dưới. Quét hết hàng rồi bấm Hoàn tất lấy hàng.
  6. Một dòng có vấn đề thì bấm Báo cáo trên dòng đó. Cửa sổ Báo cáo vấn đề hỏi Loại vấn đềThiếu hàng hoặc Hư hỏng — và ô Lý do; bấm Báo cáo để gửi.
  7. Dòng nào hệ thống yêu cầu kiểm lại thì hiện thêm nút Xác minh. Nút này chỉ có trên dòng đã lấy, nên đừng đi tìm nó trên mọi dòng.
  8. Xong hết bấm Hoàn thành lấy hàng ở thanh trên. Nút này chỉ bật khi không còn dòng nào. Tồn kho trừ thật ở đúng bước này, và hệ thống tự tạo phiếu đóng hàng cho đợt của phiếu này — làm tiếp ở D5.
  9. Cần dừng giữa chừng: bấm Tạm dừng, chọn lý do trong cửa sổ Tạm dừng phiếu lấy hàng. Phiếu chuyển sang Tạm dừng; quay lại làm tiếp bằng Tiếp tục.
Chế độ lấy hàng với bảng dòng hàng, cột thao tác có nút Xác minh và Báo cáo
Hình 51 Chế độ lấy hàng. Cột Thao tác chỉ có Xác minh (dòng cần kiểm lại) và Báo cáo — đi hết các dòng rồi mới bấm Hoàn thành lấy hàng.
⚠️ Không có ô nhập số lượng ở từng dòng — quét là đường duy nhất

Bảng dòng hàng chỉ hiển thị đã lấy / cần lấy, không có nút cộng trừ. Muốn ghi nhận số đã nhặt thì buộc phải đi qua cửa sổ Quét lấy hàng. Không có cách nào sửa số lượng trực tiếp trên bảng.

⚠️ Danh sách chỉ hiện 10 phiếu, không có phân trang

Màn này lấy 10 phiếu một lần và không có nút chuyển trang. Phiếu thứ 11 trở đi không hiện. Cách làm việc: lọc theo Kho hoặc Trạng thái để thu hẹp danh sách. Ô tìm kiếm chỉ lọc trong 10 dòng đang thấy, nên nó không giúp tìm phiếu chưa tải về.

⚠️ F5 là mất chỗ đang làm

Chế độ lấy hàng không có đường dẫn riêng. Tải lại trang là quay về danh sách và phải chọn lại phiếu — nhưng tiến độ từng dòng đã lưu, không mất công đã làm.

Dải xanh "Đang lọc theo đợt …" — đọc trước khi tưởng mất phiếu

Mở màn này từ nút bàn giao hoặc từ link Xem đợt thì danh sách chỉ còn phiếu của đúng đợt đó, và trên cùng hiện dải Đang lọc theo + đợt N + của đơn … kèm nút Bỏ lọc. Bộ lọc nằm trên đường dẫn nên F5 vẫn giữ nguyên phạm vi lọc — thấy ít phiếu hơn bình thường là do dải này, bấm Bỏ lọc để xem lại toàn bộ.

D5

Đóng hàng — gói, dán nhãn, chốt phiếu

thanh menu ngang nhóm KhoĐóng hàng
Danh sách phiếu đóng hàng dạng thẻ với bộ lọc kho, trạng thái và dải số liệu
Hình 52 Danh sách phiếu đóng. Lọc theo Kho, Trạng thái và ô Tìm kiếm; phía trên là dải số liệu tổng. Mỗi phiếu hiện dạng thẻ, không phải bảng, và gom theo đợt giao — dòng đầu nhóm ghi Đợt 1, mã đợt, trạng thái đợt và ba số Đã chia … · Đã đóng … · Đã giao ….
  1. Chọn Kho, Trạng thái hoặc gõ vào ô Tìm kiếm để thu hẹp danh sách. Mặc định màn này chỉ hiện phiếu đang chờ đóng — không thấy phiếu cần tìm thì đổi bộ lọc trạng thái trước khi kết luận là mất phiếu.
  2. Danh sách gom theo đợt giao, giống màn Lấy hàng (D4): mỗi đợt một dòng đầu nhóm ghi Đợt N, mã đợt, nhãn trạng thái đợt, ba số Đã chia … · Đã đóng … · Đã giao …, số phiếu của nhóm kèm mã đơn, nhãn Đã rời kho nếu đợt đã gửi đi, và link Xem đợt. Phiếu cũ chưa gắn đợt nằm ở nhóm Không chia đợt.
  3. Mỗi phiếu là một thẻ: mã đóng, đơn hàng, kho, nhãn trạng thái, và hai chỉ số Thùng: x / y cùng Khối lượng: a / b kg. Chỉ số Thùng đếm số thùng đã niêm phong xong trên tổng số thùng của đơn. Phần trăm ở góc phải thẻ là tỉ lệ mặt hàng đã đóng, không phải tỉ lệ thùng — hai con số này thường khác nhau.
  4. Bấm Bắt đầu đóng hàng trên phiếu cần làm. Khu vực đóng hàng chỉ hiện ra sau khi bấm nút này.
  5. Nhận diện kiện đang đóng. Quét mã QR dán trên thùng, hoặc gõ tay mã kiện vào ô Mã QR kiện rồi bấm Xác nhận kiện. Nhận đúng kiện rồi, hệ thống hiện ngay bảng Hàng đã đóng trong kiện này: sản phẩm, số lượng, đơn vị, số lô, hạn dùng. Quét một kiện là biết ngay bên trong có gì.
  6. Đóng hàng vào kiện. Bảng Hàng còn chờ đóng liệt kê từng dòng của phiếu kèm Cần đóng / Đã đóng / Còn lại. Sửa ô Đóng lần này nếu không đóng hết một lượt, rồi bấm Đóng vào kiện. Chưa chọn kiện thì nút này khoá — hệ thống không cho đóng hàng vào chỗ không xác định.
  7. Đóng xong mọi dòng, bấm Hoàn thành để chốt phiếu.
  8. Trên thẻ phiếu còn nút Đối chiếu — mở cửa sổ Đối chiếu & Kiểm tra, so số đã đóng với số trên đơn và kiểm tiến độ; dùng khi nghi ngờ lệch.
Khu vực đóng hàng sau khi quét mã kiện: bảng hàng đã đóng trong kiện và bảng hàng còn chờ đóng
Hình 53 Sau khi quét mã kiện. Bảng trên là Hàng đã đóng trong kiện này — kiện đang chứa gì; bảng dưới là Hàng còn chờ đóng — các dòng còn lại của phiếu, kèm ô Đóng lần này và nút Đóng vào kiện. Không có cột giá nào, kể cả ở bảng trên.
Phiếu đóng hàng sinh ra từ bước lấy hàng, không phải tạo tay

Một đợt chưa lấy hàng xong thì chưa có phiếu đóng: phiếu đóng hàng do hệ thống tạo tự động đúng lúc bấm Hoàn thành lấy hàngD4. Lọc theo một đợt mà màn này báo Đợt này chưa có phiếu đóng hàng thì thường là đợt đó chưa lấy xong, hoặc bước tạo tự động chưa chạy — màn hình có sẵn nút Mở phiếu lấy hàng của đợt để đi thẳng sang kiểm tra. Đừng coi đó là mất phiếu.

⚠️ Đóng hàng KHÔNG trừ tồn và KHÔNG đổi trạng thái đơn

Tồn kho đã bị trừ từ bước lấy hàng (D4). Bước này chỉ đóng gói và chốt phiếu. Một hệ quả cần biết: phiếu chỉ hoàn tất được khi mọi thùng đã niêm phong; nếu còn thùng chưa niêm phong, hệ thống chặn và báo Cannot complete packing with unsealed containers (câu tiếng Anh, không phải tiếng Việt).

⚠️ Danh sách chỉ hiện 10 phiếu, không có phân trang

Giống màn Lấy hàng (D4): màn này lấy 10 phiếu một lần và không có nút chuyển trang, nên phiếu thứ 11 trở đi không hiện. Cách làm việc: lọc theo Kho và Trạng thái để thu hẹp danh sách. Ô tìm kiếm chỉ lọc trong 10 dòng đang thấy.

⚠️ In nhãn thùng — thứ để đối soát khi hàng thất lạc

Nút Mã QR trên thẻ phiếu mở cửa sổ in nhãn cho từng thùng. Mỗi nhãn gồm một mã QR thậtdanh sách hàng đã đóng trong đúng thùng đó — sản phẩm, số lượng, đơn vị, số lô, hạn dùng — kèm dòng cho biết đơn này có tổng cộng bao nhiêu thùng. Bấm In nhãn để in.

Nhãn này dán lên thùng. Sau đó quét mã là biết chính xác thùng đó chứa gì, nên khi thất thoát trên đường vận chuyển sẽ đối chiếu được mất đúng mặt hàng nào. Mã QR trên nhãn cũng chính là mã mà ô Mã QR kiện ở bước 3 đọc, nên nhãn in ra rồi vẫn quét lại được để xem trong thùng còn gì. Phiếu chưa gán thùng nào thì hệ thống báo Chưa có thùng nào.

⚠️ Màn đóng hàng không hiện giá — và đó là chủ ý

Toàn bộ khu vực đóng hàng chỉ mang thông tin hàng hoá: sản phẩm, quy cách đóng gói, số lượng, số lô, hạn sử dụng. Không có giá bán, giá vốn hay thành tiền ở bất kỳ chỗ nào — kể cả trên nhãn in ra. Đây là quy tắc bảo mật của hệ thống để không lộ thông tin giá cho người đóng hàng, không phải thiếu sót cần báo lỗi.

D6

Điều chuyển kho — ba bước, ba người xác nhận

thanh menu ngang nhóm KhoĐiều chuyển Kho
Danh sách phiếu điều chuyển kho với bốn ô đếm và bảng phiếu
Hình 54 Danh sách phiếu điều chuyển. Bốn ô đếm đầu trang: Phiếu chờ duyệt, Đang vận chuyển, Hoàn thành tháng này, Tổng số phiếu.
  1. Tạo phiếu: bấm Tạo phiếu điều chuyển, chọn Loại điều chuyển, Ngày chuyển, Từ kho, Đến kho, và điền Lý doô bắt buộc.
  2. Thêm hàng vào phiếu bằng + Thêm sản phẩm, mỗi dòng một mặt hàng kèm số lượng. Bấm Tạo mới để lưu phiếu.
  3. Bấm Xem trên một phiếu để mở chi tiết. Phiếu đi qua ba bước, mỗi bước một người xác nhận riêng:

Bảng danh sách có các cột Số phiếu, Loại, Từ kho, Đến kho, Ngày chuyển, Trạng tháiThao tác — trong đó có nút Xem, và Sửa chỉ có ở phiếu nháp. Cột Loại nhận bốn giá trị: Kho → Kho, Kho → Kho lẻ, Kho lẻ → KhoTrả hàng.

Modal chi tiết phiếu điều chuyển với thông tin hai kho và bảng hàng
Hình 55 Chi tiết phiếu điều chuyển. Nút hành động đổi theo trạng thái — phiếu nháp có Duyệt phiếu, phiếu đã duyệt có Xác nhận xuất kho.
BướcAi làmPhải điềnHệ quả
Duyệt phiếuNgười có quyền duyệtNgười duyệtHàng bị giữ chỗ ở kho đi — chưa rời kho
Xác nhận xuất khoThủ kho điNgười xuấtTồn kho đi trừ thật; phiếu chuyển sang Đang vận chuyển
Xác nhận nhập khoThủ kho đếnNút này đưa sang màn Nhập hàng (D2), làm tiếp ở đó
Huỷ phiếu — chỉ khi chưa xuất kho

Nút Hủy phiếu chỉ có ở phiếu nháp hoặc chờ duyệt, và bắt buộc điền Người hủy cùng Lý do hủy. Hàng đã xuất kho thì không huỷ được — muốn trả lại phải tạo phiếu điều chuyển ngược lại.

⚠️ Cột Trạng thái hiện mã tiếng Anh

Badge trong bảng ghi mã viết hoa bằng tiếng Anh: DRAFT (nháp), APPROVED (đã duyệt), IN_TRANSIT (đang vận chuyển), PARTIAL_RECEIVED (nhận một phần), COMPLETED (hoàn thành), CANCELLED (đã huỷ). Bốn ô đếm ở đầu trang thì ghi tiếng Việt — đừng lấy nhãn ô đếm để đối chiếu với badge trong bảng.

⚠️ Không có ô lọc, và bảng chỉ hiện 20 phiếu

Màn hình không có ô lọc nào và bảng lấy 20 phiếu một lần, không phân trang. Muốn xem phiếu cũ hơn hoặc lọc theo trạng thái, phải gõ thẳng vào đường dẫn, ví dụ /warehouse/transfers?status=DRAFT. Đây là chỗ chưa dùng được — xem Phần F.

D7

Kiểm kê kho — đếm thực tế, đối chiếu sổ sách

thanh menu ngang nhóm KhoKiểm kê Kho
Trang kiểm kê kho với dải sáu ô đếm và bốn tab công việc của tôi, tiến trình kiểm, đề xuất, báo cáo chênh lệch
Hình 56 Kiểm kê kho. Trên cùng là dải sáu ô đếm, dưới là bốn tab: Công việc của tôi, Tiến trình kiểm, Đề xuất, Báo cáo chênh lệch. Quản lý kho mở vào tab Tiến trình; nhân viên mở vào tab Công việc của tôi.
  1. Chọn Kho ở đầu trang. Dải sáu ô đếm cho biết tình hình ngay: Chờ kiểm (phiếu đã tạo, chưa ai bắt đầu), Đang kiểm (kèm số đợt đang mở), Chờ điều chỉnh (đếm xong nhưng chưa áp dụng vào tồn — việc của quản lý kho), Đã hoàn tất, Yêu cầu kiểm lạiChênh lệch (kèm dòng Thừa … · Thiếu …).
  2. Quản lý kho tạo đợt: bấm Tạo kiểm kê, chọn Kho, Bắt đầu kiểm kêKết thúc kiểm kê.
  3. Hệ thống tạo một phiếu cho mỗi ô vị trí và tạm giữ chỗ ô đó. Nếu kho còn đợt kiểm kê cũ chưa xong, hệ thống hỏi có huỷ các phiếu cũ để tạo đợt mới không.
  4. Giao việc: mở Lịch sử kiểm kê → chọn đợt → tab Giao việc, chọn nhiều ô rồi chọn nhân viên phụ trách.
  5. Nhân viên quét: mở phiếu, bấm nút Bắt đầu kiểm slot này (nút chỉ có hình, nhãn nằm ở dòng gợi ý khi rê chuột), rồi quét ba bước như nhập kho (D3)SKU → đơn vị & số lượng → hạn sử dụng. Mỗi dòng tự lưu ngay, không có nút lưu riêng.
  6. Chốt ô: bấm Kết thúc khi đã quét xong, hoặc Xác nhận slot trống khi ô thật sự rỗng.
  7. Chốt sổ: quản lý kho bấm Áp dụng điều chỉnh tồn kho trên phiếu đã hoàn tất. Tồn kho chỉ đổi ở bước này — trước đó hệ thống mới chỉ ghi nhận số đếm.
  8. Nghi ngờ kết quả sai: bấm Yêu cầu kiểm lại, chọn phạm vi (Kiểm lại toàn bộ slot hoặc Chỉ các mã sai khác) và ghi lý do.

Trong tab Tiến trình kiểm có thêm dải chọn trạng thái — Tất cả, Chờ kiểm, Đang kiểm, Hoàn tất, Kiểm lại — mỗi mục kèm số phiếu. Quản lý kho còn thấy khối Các kho đang kiểm liệt kê từng kho kèm số ô đang kiểm; bấm vào một kho để lọc ngay theo kho đó.

Màn hình quét kiểm kê khổ điện thoại với ba bước SKU, đơn vị và số lượng, hạn sử dụng
Hình 57 Màn quét kiểm kê — thiết kế cho điện thoại. Quét xong thì bấm Kết thúc ở thanh cố định dưới đáy màn hình.
⚠️ Đọc số chênh lệch cho đúng đơn vị

Trên Báo cáo chênh lệch và bản in CSV, con số nằm theo đơn vị cơ sở nhưng lại được dán nhãn đơn vị đóng gói. Ví dụ dòng ghi "500 Hộp" thực chất là 500 viên. Trước khi kết luận lệch bao nhiêu, nhân với hệ số quy đổi của quy cách (C3). Lưu ý: cột Đơn vị ở bảng dòng của phiếu chỉ hiện tên đơn vị (Hộp, Vỉ…), không cho biết hệ số, và bảng chênh lệch thì không có cột này. Chi tiết ở Phần F.

🚧 Màn quét tràn chữ trên điện thoại hẹp

Hai ô đếm ở đầu màn quét — số dòng và số đv cơ sởtràn ra ngoài màn hình khi mở trên điện thoại hẹp (khoảng 400px trở xuống) và che mất nút bên cạnh. Cách xử lý tạm: xoay ngang máy, hoặc dùng máy tính bảng / màn hình rộng hơn cho thao tác kiểm kê.

⚠️ Phiếu quá hạn tự đóng — không ai được báo

Phiếu kiểm kê chưa chốt mà quá hạn sẽ bị hệ thống tự huỷ và nhả ô giữ chỗ. Mốc mặc định là 24 giờ kể từ lúc bắt đầu. Hệ thống không gửi thông báo khi việc này xảy ra — nên nếu một phiếu đang làm tự nhiên biến mất khỏi danh sách, đó là lý do. Kiểm lại cột Trạng thái của phiếu cũ.

Kiểm đột xuất một ô

Không đi qua màn này. Quét mã QR của ô (xem D8) để mở màn tra vị trí, rồi bấm Kiểm kê tại vị trí này — hệ thống tạo một phiếu lẻ cho đúng ô đó.

D8

Vị trí và mã QR — dán nhãn để quét được

/warehouse/slots — thanh menu ngang nhóm KhoVị trí kệ (Slot)
Danh sách ô vị trí kho với thẻ ô, mã QR, thanh mức sử dụng và nút in QR
Hình 58 Quản lý Vị trí. Bốn ô đếm luôn có: Tổng vị trí, Đang sử dụng, Vị trí trống, Có mã QR. Ô thứ năm Đang kiểm kê chỉ hiện khi đang có phiếu kiểm kê chạy — vắng nó không phải lỗi.
  1. Mở /warehouse/slots. Lọc theo Kho, ô Tìm kiếm và bộ Trạng thái; đổi kiểu xem lưới ↔ danh sách.
  2. Thêm một ô vị trí lẻ: bấm Thêm vị trí (khi kho chưa có ô nào, nút ghi Thêm vị trí đầu tiên) và điền vào form Thêm vị trí mới. Muốn tạo hàng loạt thì dùng Cấu hình kho (D9).
  3. Tích chọn nhiều ô: thanh chọn hiện {n} / {m} đã chọn kèm hai nút Chọn tất cảBỏ chọn. Chọn xong bấm In QR đã chọn ({n}) để in một lượt — tem in ra khổ A4, bốn tem một hàng. Hoặc bấm In QR trên từng thẻ ô.
  4. Dán nhãn lên đúng ô trong kho. Từ đó quét mã là mở được màn tra vị trí.
  5. Màn tra vị trí cho biết ô đang chứa gì, và có nút Kiểm kê tại vị trí này để kiểm đột xuất đúng ô đó.
Đường vào màn này

Mục Vị trí kệ (Slot) nằm trên thanh menu ngang của nhóm Kho — chọn nhóm Kho ở sidebar rồi nhìn dải menu phía trên đầu trang. Hoặc gõ thẳng /warehouse/slots. Màn Tủ kệ nằm ngay cạnh đó trên cùng dải menu. Không thấy hai mục này thì là thiếu quyền — xem E7.

Hai trạng thái ô nhìn thấy ở đây

Thẻ ô ghi Đầy hoặc Còn trống, kèm thanh Sử dụng {x}% và số {tồn} / {sức chứa}. Bộ lọc Trạng thái ở màn này chỉ có bốn lựa chọn — Trống, Đầy, Bảo trì, Đã đặt — nên đừng chỉ nhìn nhãn trên thẻ để kết luận ô đang ở trạng thái gì. Muốn thấy và sửa đủ năm trạng thái thì vào tab Cấu trúc kho (D9).

D9

Cấu hình kho — dựng tủ và ô vị trí

thanh menu ngang nhóm KhoCấu hình Kho
Tab tạo cấu trúc kho với các ô mã kho, số kệ tủ, số ô ngăn, sức chứa
Hình 59 Tab Tạo cấu trúc — hai bước: điền thông tin, rồi xem trước mã ô và tạo. Dòng xanh nói trước sẽ sinh ra bao nhiêu ô.
  1. Tab Tạo cấu trúc: điền Mã kho (bắt buộc, là tiền tố của mã ô — ví dụ HN sinh ra HN-01-02), Tên kho (để trống thì lấy bằng mã), Số Kệ/Tủ, Số ô/ngăn, Sức chứa/ô.
  2. Bấm Xem trước mã để xem mã ô sẽ sinh ra, kiểm tra rồi mới bấm Tạo cấu trúc.
  3. Tab Cấu trúc kho: chọn Kho, mở từng tủ để xem lưới ô. Mỗi ô sửa được Mã ô, Sức chứaTrạng thái.
  4. Năm trạng thái ô: Sẵn sàng · Đang dùng · Giữ chỗ · Bảo trì · Khóa. Ô đang có hàng thì không xoá được.
⚠️ Ô "Số Kệ/Tủ" thực chất là số TỦ

Màn này không tạo kệ riêng. Mỗi tủ được sinh kèm đúng một kệ ngầm, nên mã ô không chứa mã kệ, và ở các màn khác — Quản lý Vị trí (D8), Nhập kho (D3), màn tra vị trí — mọi ô đều hiện Tầng 1. Riêng tab Cấu trúc kho không hiện dòng tầng. Muốn hiểu đủ ba cấp kho → tủ → kệ → ô thì cần bộ phận kỹ thuật; trên giao diện chỉ thao tác được tới cấp tủ và ô.

Xoá kho, xoá ô

Xoá bị chặn theo tầng: kho còn tủ thì không xoá được, tủ còn ô thì không xoá được, ô còn hàng thì không xoá được. Xoá là xoá mềm nhưng giao diện không có nút khôi phục — cần lấy lại thì nhờ bộ phận kỹ thuật.

D10

Lô hàng và hạn dùng — thứ mọi bước trên phải tôn trọng

thanh menu ngang nhóm Supply ChainLô hàng

Mọi thao tác nhập, lấy, chuyển ở trên đều gắn với một số lô và một hạn sử dụng cụ thể. Đây là màn duy nhất xem được toàn bộ lô của cả hệ thống — tồn theo từng lô cũng hiện ở màn Nhập kho (D3) và màn tra vị trí, nhưng chỉ cho một ô.

  1. Bảng lô có các cột Số lô, Sản phẩm, Số lượng, Hạn dùng, Trạng thái, Ngày nhập.
  2. Cột Số lượng ghi theo dạng tồn hiện tại / ban đầu, kèm dòng Đã bán: N — đọc cả hai để biết lô đã xuất bao nhiêu.
  3. Cột Hạn dùng tự ghi thêm Đã hết hạn hoặc Còn N ngày khi lô tới gần ngưỡng cảnh báo của chính nó.
  4. Thêm lô mới bằng Tạo lô hàng; sửa hoặc xoá bằng nút trên từng dòng.
Trạng thái lôNghĩa
Đang hoạt độngLô dùng được để bán và để xuất kho
Cách lyĐang chờ kiểm tra chất lượng — không xuất bán
Hết hạnQuá hạn sử dụng — không xuất bán
Thu hồiBị nhà sản xuất hoặc cơ quan quản lý thu hồi
Bị khóaBị khoá thủ công, chờ xử lý nội bộ
⚠️ Chỉ hiện 20 lô gần hết hạn nhất

Danh sách sắp theo hạn dùng gần nhất và chỉ lấy 20 lô. Lô không nằm trong 20 lô đó không hiện ra — kể cả khi gõ đúng số lô vào ô tìm kiếm, vì ô tìm kiếm chỉ lọc trong 20 dòng đã tải. Cần tra một lô cụ thể thì nhờ bộ phận kỹ thuật, hoặc tra qua trang sản phẩm. Chi tiết ở Phần F.

D11

Đợt giao — chia một đơn thành nhiều lần giao

lưới chức năng ở Tổng quan KhoĐợt giao (không có mục menu ngang) · đường dẫn /warehouse/deliveries

Một đơn không nhất thiết giao một lần. Đơn 100 mặt hàng mà kho mới có 80 thì 80 mặt hàng đó đóng gói gửi trước, 20 mặt hàng còn lại chờ hàng về rồi gửi đợt sau. Mỗi lần gửi như vậy là một đợt giao, và mỗi đợt có phiếu lấy hàng, phiếu đóng hàng và vận đơn riêng — nghĩa là mỗi đợt đi qua đúng chuỗi D4D5 → gửi hàng, độc lập với các đợt khác.

Màn đợt giao của một đơn: ô tra mã đơn ở trên, hai thẻ đợt giao bên dưới
Hình 60 Màn đợt giao của một đơn. Ô Xem đợt của một đơn là đường vào; dưới là thẻ từng đợt. Đợt 1 đã gửi đi nên có đủ ba chứng từ và ba số Đã chia 80 · Đã đóng 80 · Đã giao 80; Đợt 2 mới chia số, hàng chưa về, nên ghi Chưa có chứng từ nào.
  1. Vào màn bằng hai cách: bấm thẻ Đợt giao ở lưới chức năng Tổng quan kho (màn này không có mục nào trên thanh menu ngang), hoặc bấm link Xem đợt ở đầu nhóm đợt trong màn Lấy hàng / Đóng hàng. Cách thứ hai mở thẳng đúng đơn đang làm, không phải gõ mã.
  2. Nếu mở từ lưới chức năng, màn hiện ô Xem đợt của một đơn với dòng gợi ý "Dán mã đơn hàng (order id)". Dán mã đơn rồi bấm Xem (hoặc gõ Enter). Dòng dưới ô ghi Đơn đang xem: kèm mã đơn, hoặc "chưa chọn đơn nào". Mã đơn là đường vào duy nhất — màn này không có danh sách đơn để bấm vào.
  3. Khối Đợt giao của đơn liệt kê từng đợt thành một thẻ, sắp theo số đợt. Mỗi thẻ ghi Đợt N, mã đợt (dạng PG-2026-0001), nhãn trạng thái đợt, và dòng Dự kiến giao … (chưa đặt thì ghi "Chưa đặt ngày dự kiến"). Ba ô giữa thẻ là toàn bộ định lượng của đợt: Đã chia, Đã đóng, Đã giao.
  4. Dưới ba ô là các nhãn chứng từ của đợt — Phiếu lấy hàng, Phiếu đóng hàng, Vận đơn — bấm vào để nhảy sang chứng từ đó. Đợt chưa có gì thì ghi "Chưa có chứng từ nào".
  5. Tạo đợt mới: nút Tạo đợt ở góc phải khối. Đợt cũng được tạo tự động khi duyệt đơn, nên đơn chưa chia tay bao giờ vẫn có thể đã có sẵn một đợt. Đơn chưa có đợt nào thì khối hiện Đơn chưa chia đợt nào. Bốn nút ghi — Tạo đợt, Chia lại số, Đổi trạng thái, Huỷ đợt — chỉ hiện với vai trò quản lý (quản trị viên, quản lý, trưởng phòng kinh doanh, quản lý kho). Nhân viên kho vẫn xem được đợt để lấy và đóng đúng phần hàng của đợt mình, nhưng không thấy nút nào.
  6. Chia số cho đợt: nút Chia lại số trên thẻ đợt, hoặc làm ngay lúc tạo. Bảng chia số có các cột #, Sản phẩm, Đặt, Đã chia đợt khác, Tối đa đợt này và ô điền Chia đợt này. Cột Tối đa đợt này đã trừ phần các đợt khác giữ, nên không cần tự tính; điền quá số đó thì dòng bị tô đỏ và hệ thống chặn lưu.
  7. Xem tiến độ chia số ở bảng Bảng chia số của đơn phía dưới: #, Sản phẩm, Đặt, Đã chia đợt, Còn lại phải chia, Đã giao, kèm dòng tổng Còn lại phải chia: N đơn vị. Cột Còn lại phải chia là cột đáng nhìn nhất — nó là phần chưa xếp vào đợt nào, tức là lý do đơn còn nằm ở trạng thái Giao một phần.
  8. Đổi trạng thái đợt: nút Đổi trạng thái trên thẻ. Huỷ đợt: nút Huỷ đợt. Cả hai nút đều có thể mờ đi kèm lý do khi rê chuột — xem khối ghi chú bên dưới.
Bảng chia số của đơn: từng dòng hàng với số đặt, đã chia đợt, còn lại phải chia và đã giao
Hình 61 Bảng chia số của đơn. Dòng Cefixime còn 20 đơn vị chưa xếp vào đợt nào (cột Còn lại phải chia tô đậm), và dòng tổng dưới bảng ghi đúng con số đó. Không có cột giá nào — chỉ tên hàng, mã hàng, quy cách và số lượng.
Trạng thái đợtNghĩa
Chờ lấy hàngĐã chia số, chờ nhân viên kho bắt đầu nhặt
Chờ hàng vềĐã chia số nhưng kho chưa có hàng — đợt nằm đó tới khi hàng nhập về. Đây mới là nghĩa của nấc này, không phải "đang kẹt chờ bấm nút"
Đang lấy hàngPhiếu lấy hàng của đợt đang được làm
Đang đóng hàngĐã lấy xong, đang đóng vào thùng
Đã giao vận chuyểnHàng đã rời kho, đang trên đường tới khách
Khách đã nhậnKhách đã nhận hàng của đợt này
Đã huỷĐợt bị huỷ trước khi gửi đi
Ba số trên thẻ đợt không phải một chuỗi bằng nhau

Đã chia là số đã xếp cho đợt, Đã đóng là số đã vào thùng, Đã giao là số đã rời kho. Ba số này tăng dần theo ba công đoạn khác nhau, nên thấy 80 · 0 · 0 là bình thường: đã chia xong nhưng chưa ai lấy hàng. Đợt chỉ "xong" khi đủ cả ba — và một đợt đã gửi đi thì không lấy lại được, xem khối dưới.

⚠️ Nút mờ đi là có lý do — rê chuột để đọc

Ba nút trên thẻ đợt tự khoá theo trạng thái, và lý do nằm ở dòng gợi ý khi rê chuột, không in ra màn hình: Đợt đã gửi đi thì không chia lại số được (nút Chia lại số mờ từ lúc hàng rời kho), Đợt đã gửi cho vận chuyển thì không huỷ được — hàng đã ra khỏi kho, phải đi đường trả hàng (nút Huỷ đợt), và Đợt đã ở nấc cuối (nút Đổi trạng thái khi không còn nấc nào để đi tiếp). Nút mờ không phải lỗi — bấm được mới là bất thường.

⚠️ Khâu kho tách theo đợt rồi — khâu tiền thì chưa

Đợt giao tách được lấy hàng, đóng hàng và vận đơn: mỗi đợt có phiếu lấy, phiếu đóng và vận đơn riêng — khối lượng và giá trị khai vận chuyển lấy theo đúng hàng nằm trong thùng của đợt đó, không phải của cả đơn. Màn Vận chuyển vì thế có thêm cột Đợt; vận đơn cũ cấp đơn (chưa chia đợt) hiện ở cột đó.

Nhưng hoá đơn và công nợ vẫn ghi theo cả đơn. Khách nhận hai đợt vẫn là một hoá đơn và một khoản nợ, không phải mỗi đợt một khoản — nên đừng hứa với khách là xuất hoá đơn riêng cho từng đợt. Danh sách việc còn thiếu nằm ở Phần F.

⚠️ Màn đợt giao không có giá — và đó là chủ ý

Cả màn này chỉ mang thông tin hàng hoá và số lượng: tên mặt hàng, mã hàng, quy cách đóng gói, số lượng, số lô, hạn dùng. Không có giá bán, giá vốn hay thành tiền ở bất kỳ chỗ nào. Đây là cùng một quy tắc bảo mật áp cho lấy hàngđóng hàng: người thao tác kho không cần biết giá, nên hệ thống không đưa giá vào màn kho. Tên mặt hàng ở bảng chia số lấy từ chính hệ thống kho, không đọc từ màn đơn hàng — màn đơn hàng có giá.