Thẻ kho nên lưu từng giao dịch nhập/xuất hay chỉ lưu tồn kho tổng hợp?

Hiii mọi người

Hiện tại mình đang thiết kế App Thẻ kho trong giải pháp sản xuất.

:pushpin: Bài toán mình đang giải là gì?

Mình đang xây dựng App Thẻ kho để theo dõi tình hình nhập, xuất của từng nguyên vật liệu trong kho

Mục tiêu của mình khi tạo app là người dùng có thể biết được:

  • Sản phẩm nào được nhập vào kho
  • Sản phẩm nào được xuất ra khỏi kho
  • Số lượng nhập/xuất là bao nhiêu

Hiện tại mình đang cân nhắc nên thiết kế app này theo hướng lưu từng giao dịch nhập/xuất, hay chỉ lưu một dòng tổng hợp tồn kho theo sản phẩm và kho

:balance_scale: Hai hướng mình đang cân nhắc

Hướng 1: Thẻ kho lưu từng giao dịch nhập/xuất

Với hướng này thì mỗi lần có phát sinh nhập kho hay xuất kho thì hệ thống sẽ tạo 1 record trong Thẻ kho

Mình thấy rằng khi tạo như thế này thì mình có thể theo dõi được rõ từng giao dịch nhập/xuất. Nhưng ngoài ra nếu làm thế này thì số lượng record trong Thẻ kho sẽ lớn

Hướng 2: Thẻ kho chỉ lưu tồn kho tổng hợp theo sản phẩm và kho

Với hướng này thì một record Thẻ kho = Một sản phẩm x Một kho

Ví dụ:

  • NVL A - Kho chính
  • NVL B - Kho phụ

Thẻ kho chỉ lưu thông tin tổng hợp như:

  • Tồn đầu kỳ
  • Tổng nhập
  • Tổng xuất
  • Tồn cuối kỳ

Mình hiện tại chưa thử cách này nhưng mình nghĩ là dữ liệu sẽ gọn hơn vì mỗi sản phẩm trong mỗi kho là chỉ có 1 record. Nhưng khi muốn xem lịch sử nhập/xuất chi tiết thì cần vào các app Phiếu Nhập kho và Phiếu xuất kho để xem.

:man_raising_hand: Mình đang nghiêng về hướng nào và tại sao?

Hiện tại mình đang nghiêng về hướng 1

Lý do là khi mình tìm hiểu thì Thẻ kho trong thực tế thường được dùng để theo dõi lịch sử biến động kho. Nếu chỉ lưu tồn kho tổng hợp thì người dùng có thể biết được tồn hiện tại nhưng khó biết quá trình biến động số lượng hàng hoá

  • Hàng được nhập từ phiếu nào?
  • Xuất theo phiếu nào?
  • Xuất bao nhiêu lần?
  • Sau mỗi lần nhập/xuất thì còn tồn bao nhiêu

Vì vậy mình nghĩ Thẻ kho nên có vai trò giống sổ chi tiết biến động kho, còn tồn kho hiện tại có thể được lấy từ dòng giao dịch mới nhất hoặc tính tổng từ các phát sinh nhập/xuất

:red_question_mark: Mình muốn hỏi về việc khi thiết kế Thẻ kho thì nên xử lý tồn kho hiện tại và lịch sử giao dịch sao cho hợp lý?

Mình đang nghiêng về hướng lưu từng giao dịch nhập/xuất vì cảm thấy cách này dễ kiểm tra, dễ truy vết. Tuy nhiên mình cũng muốn nghe thêm góc nhìn của mọi người về việc nếu làm như vậy thì có gây khó khăn cho các app khác khi cần lookup tồn kho hiện tại không

Mong nhận được góp ý từ mọi người ạ. Cảm ơn mọi người nhiều :folded_hands:

Hi Khang, về việc thiết kế app thẻ kho mình đồng ý với ý kiến thiết kế theo hướng 1 “Thẻ kho lưu từng giao dịch nhập/xuất“.

Ngoài các ý mà bạn đã đưa ra, mình bổ sung thêm vài thông tin để làm rõ việc vì sao nên thiết kế app thẻ kho theo hướng này:

  1. Khả năng truy vết: Kho hàng bản chất là tiền. Khi xảy ra chênh lệch tồn kho, cần phải trả lời được: Sai ở đâu? Do phiếu nào? Ai làm?

Hướng 1: Ghi nhận độc lập từng lần nhập/ xuất. Mọi biến động đều để lại thông tin (thời gian, chứng từ gốc). Thất thoát sẽ tra cứu ra ngay.

Hướng 2: Bản chất là lệnh ghi đè. Dữ liệu cũ bị xóa mất để thay bằng số mới, dẫn đến việc mất hoàn toàn dấu vết lịch sử nếu có gian lận hoặc sai sót nhập liệu.

  1. Cơ sở để tính Giá vốn (COGS): Để phần mềm tự động tính được giá vốn theo phương pháp FIFO (Nhập trước xuất trước) hoặc Bình quân, hệ thống bắt buộc phải có một chuỗi danh sách các lô hàng nhập/xuất theo đúng trình tự thời gian. Hướng 2 (chỉ lưu 1 con số tổng) hoàn toàn không xử lý được việc tính giá vốn.

Về việc làm sao cách nào để theo dõi tồn kho hiện tại, bạn có thể tham khảo 2 cách sau:

Tại app danh mục NVL, bạn thêm vào 2 trường Rollup Tổng nhập (Thẻ nhập kho có NVL tương ứng) và Tổng xuất (Thẻ xuất kho có NVL tương ứng) sau đó dùng 1 trường Công thức để tính Tồn kho hiện tại = Tổng nhập - tổng xuất

Tổng hợp báo cáo tồn kho qua cổng phân tích. Qua pulish dữ liệu từ app thẻ kho, bạn hoàn toàn có thể lập báo cáo tồn kho với các chỉ số: Tổng nhập, tổng xuất, Tồn kho hiện tại, Giá trị tồn kho.