Tính Tuổi Tồn kho (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vanaccex

Thành viên tiêu biểu
Tham gia
8/7/18
Bài viết
457
Được thích
306
Giới tính
Nữ
Em Vân có một vấn đề muốn tham khảo Anh/Chị diễn đàn ạ !

Em Vân muốn tính tuổi tồn kho của của mã vật tư theo Phương pháp nhập trước xuất trước ( FIFO) dựa vào những thông tin sau ạ
+ Bảng tồn dữ liệu đầu kì
+ Bảng kê nhập xuất theo từng mã Vật tư
Mục tiêu em Vân Muốn tính toán thời gian tồn tại thời điểm từ ngày J2 đến ngày K2 sheet PhatSinh
Kết quả hiện thị ở cột J5 - L5
Em Vân cảm ơn Anh/Chị ạ !
 

File đính kèm

Nếu số tồn có nhiều tuổi khác nhau thì xử lý thế nào?
 
Upvote 0
Nếu số tồn có nhiều tuổi khác nhau thì xử lý thế nào?
Thì liệt kê tồn đó gồm những tuổi nào ạ ! Số lượng và giá trị là bao nhiêu ạ ??

Có chăng bạn giúp mình liệt kê ra 1 sheet khác theo từng dòng cho dễ kiểm soát hơn ạ,

Cảm ơn bạn nhiều !
 
Upvote 0
Nếu chỉ tính Tồn thì Tồn từ ngày 01/01/2020 đến 31/12/2020 với Tồn từ ngày 01/12/2020 đến 31/12/2020 có gì khác không, chỉ thắc mắc chút xíu vì thấy không cần cái điều kiện từ ngày bắt đầu.
 
Upvote 0
Nếu chỉ tính Tồn thì Tồn từ ngày 01/01/2020 đến 31/12/2020 với Tồn từ ngày 01/12/2020 đến 31/12/2020 có gì khác không, chỉ thắc mắc chút xíu vì thấy không cần cái điều kiện từ ngày bắt đầu.
Em Vân cần điều kiện ngày để biết được thực tế đến ngày đó thì tồn bao nhiêu ngày rồi ạ
 
Upvote 0
Bài này dùng công thức với 2 cột phụ, tồn đầu anh đem qua bên chi tiết nhập xuất luôn, tính tuổi tồn kho thì dựa vào ngày nhập và ngày K2, ngày L2 không đụng đến luôn. Khi em chỉnh ngày K2 thì nhớ chỉnh lại cái Filter chỉ lấy số lượng tồn > 0 là được.
 

File đính kèm

Upvote 0
Bài này dùng công thức với 2 cột phụ, tồn đầu anh đem qua bên chi tiết nhập xuất luôn, tính tuổi tồn kho thì dựa vào ngày nhập và ngày K2, ngày L2 không đụng đến luôn. Khi em chỉnh ngày K2 thì nhớ chỉnh lại cái Filter chỉ lấy số lượng tồn > 0 là được.
Với cách này cần phải sắp xếp dữ liệu trước đúng không anh ??
Anh có thể giúp em Vân bằng code VBA được không ạ
Bài đã được tự động gộp:

Tức là tính đến ngày 1/1/20 thì tuổi hàng tồn kho trung bình là bao nhiêu và đến ngày 31/12/20 tuổi tồn kho trung bình là bao nhiêu phải không?
Dạ em Vân tính trong khoảng thời gian này ạ
 
Upvote 0
Với cách này cần phải sắp xếp dữ liệu trước đúng không anh ??
Anh có thể giúp em Vân bằng code VBA được không ạ
Bài đã được tự động gộp:


Dạ em Vân tính trong khoảng thời gian này ạ
Mình chỉ biết khái niệm tuổi tồn kho trung bình - được xác định theo thời điểm chứ không phải giai đoạn. Hay có kiểu tuổi tồn kho khác mình chưa biết, bạn giải thích rõ hơn tuổi tồn kho mà bạn nhắc đến được định nghĩa như nào không?
 
Upvote 0
Bài này dùng công thức với 2 cột phụ, tồn đầu anh đem qua bên chi tiết nhập xuất luôn, tính tuổi tồn kho thì dựa vào ngày nhập và ngày K2, ngày L2 không đụng đến luôn. Khi em chỉnh ngày K2 thì nhớ chỉnh lại cái Filter chỉ lấy số lượng tồn > 0 là được.
Cách tính bằng công thức này sai: Cùng 1 mặt hàng HH04
- Tồn đầu 706, nhập thêm 154, 133, 108 mà tồn cuối không tăng
- Xuất 281 mà tồn cuối không giảm
- Tổng xuất luỹ kế tính đến tận 31/12 mặc dù phát sinh các ngày khác (công thức nhập luỹ kế đúng hơn)
- Tuổi tồn kho phải tính thời gian từ lúc mua về cho đến lúc bán hết hoặc tính đến ngày báo cáo, từng lô hàng nhập sẽ có ngày mua về khác nhau. Do đó mỗi lô hàng sẽ có tuổi tồn kho khác nhau. Các lô hàng đã bán hết từ đời nào cũng có tuổi tồn kho của nó chứ không phải bằng 0 như hình

1608641106800.png
 
Upvote 0
Cách tính giá xuất kho theo FIFO cũng sai: (code FIFO của @vanaccex )
- Nếu xem số tồn 706 ngày 31/12/10 là 1 lot, thì ngày 1/1/11 và 2/1/11 xuất 281 và 255 với giá lô tồn là đúng, vì chưa hết lô tồn. Xuất xong vẫn còn 170
- Ngày 12/1/11 xuất 436, trong khi lô tồn có giá 8.282.000 chỉ còn 170, phải lấy thêm của lô nhập ngày 1/1/11 (dòng 20) 154 với giá 9.840.000, và thêm 112 của lô nhập kế tiếp (dòng 21) với giá 9.430.000. Tổng là 436 với giá trị 3.979.460. Dòng 98 sai


1608643323048.png
 
Upvote 0
Cách tính giá xuất kho theo FIFO cũng sai: (code FIFO của @vanaccex )
- Nếu xem số tồn 706 ngày 31/12/10 là 1 lot, thì ngày 1/1/11 và 2/1/11 xuất 281 và 255 với giá lô tồn là đúng, vì chưa hết lô tồn. Xuất xong vẫn còn 170
- Ngày 12/1/11 xuất 436, trong khi lô tồn có giá 8.282.000 chỉ còn 170, phải lấy thêm của lô nhập ngày 1/1/11 (dòng 20) 154 với giá 9.840.000, và thêm 112 của lô nhập kế tiếp (dòng 21) với giá 9.430.000. Tổng là 436 với giá trị 3.979.460. Dòng 98 sai


View attachment 251655
Vậy phần anh Thầy sửa lại giúp em Vân với ạ !
 
Upvote 0
Code FIFO trên GPE có khá nhiều.Tôi chưa bao giờ viết code cho nó, vì nếu làm tôi sẽ đòi cấu trúc dữ liệu chuẩn, phải có mã lot tất cả các lần nhập và tất cả mã hàng. Phải có bảng liệt kê lot. Bảng liệt kê lot sẽ có:
- Mã lot
- Ngày nhập
- Đối tác bán hàng
- Mã hàng nhập
- Số lượng, đơn giá nhập
- Ngày xuất, số lượng xuất
- Số lượng tồn sau khi xuất
- ...
Mỗi khi xuất hàng sẽ lọc bảng mã lot theo mã hàng và tồn > 0, ngày cuối xuất hàng của từng lot, số tồn sau lần xuất cuối.
- Nếu số tồn đủ thì lấy SL và giá, trừ vào cột tồn cuối
- nếu không đủ thì lấy hết số tồn và giá, trả tồn cuối về 0, lấy tiếp lot tồn kế tiếp
- Cuối cùng tổng thành tiền của các lot đã lấy
(Như ví dụ minh hoạ bài 12)

Tôi chưa thấy ai có cấu trúc dữ liệu như vậy nên làm biếng làm lắm.
 
Upvote 0
Cách tính bằng công thức này sai: Cùng 1 mặt hàng HH04
- Tồn đầu 706, nhập thêm 154, 133, 108 mà tồn cuối không tăng
- Xuất 281 mà tồn cuối không giảm
- Tổng xuất luỹ kế tính đến tận 31/12 mặc dù phát sinh các ngày khác (công thức nhập luỹ kế đúng hơn)
- Tuổi tồn kho phải tính thời gian từ lúc mua về cho đến lúc bán hết hoặc tính đến ngày báo cáo, từng lô hàng nhập sẽ có ngày mua về khác nhau. Do đó mỗi lô hàng sẽ có tuổi tồn kho khác nhau. Các lô hàng đã bán hết từ đời nào cũng có tuổi tồn kho của nó chứ không phải bằng 0 như hình

View attachment 251652
2 cột cuối là trung gian để tính tồn kho của các lô hàng nhập thôi anh, thời điểm chốt là 31/12 nên mấy lô hàng nhập đầu năm đã xuất hết. Số lượng tồn này không phải là tồn lũy kế nên nó không theo nguyên tắc tồn đầu + nhập - xuất.

Tồn mặt hàng HH 04 đến 31/12
1608648811940.png
 
Lần chỉnh sửa cuối:
Upvote 0
2 cột cuối là trung gian để tính tồn kho của các lô hàng nhập thôi anh, thời điểm chốt là 31/12 nên mấy lô hàng nhập đầu năm đã xuất hết. Số lượng tồn này không phải là tồn lũy kế nên nó không theo nguyên tắc tồn đầu + nhập - xuất
Từng lô hàng có số tồn riêng của nó, và do tính chất nhập trước xuất trước nên những lô hàng cuối cùng nhập từ 21/11 đến 27/12 (như trong hình) số tồn phải còn nguyên, những lot phía trước chỉ 1 lô còn dang dở, còn bao nhiêu lot là hết tồn.
Tính tuổi hàng tồn cũng không đúng: tất cả các lô hàng nhập dù đã xuất hết hay chưa cũng đều có tuổi (chết hoặc chưa chết).
Mẫu báo cáo này nếu tính trong tháng 12 (có ngày bắt đầu và ngày kết thúc), thì liệt kê tất cả lot hàng mua trong tháng, dù hết hay chưa, và tất cả đều có tuổi.
 
Upvote 0
Từng lô hàng có số tồn riêng của nó, và do tính chất nhập trước xuất trước nên những lô hàng cuối cùng nhập từ 21/11 đến 27/12 (như trong hình) số tồn phải còn nguyên, những lot phía trước chỉ 1 lô còn dang dở, còn bao nhiêu lot là hết tồn.
Tính tuổi hàng tồn cũng không đúng: tất cả các lô hàng nhập dù đã xuất hết hay chưa cũng đều có tuổi (chết hoặc chưa chết).
Mẫu báo cáo này nếu tính trong tháng 12 (có ngày bắt đầu và ngày kết thúc), thì liệt kê tất cả lot hàng mua trong tháng, dù hết hay chưa, và tất cả đều có tuổi.
Quá rõ ràng và dễ hiểu.
 
Upvote 0
Từng lô hàng có số tồn riêng của nó, và do tính chất nhập trước xuất trước nên những lô hàng cuối cùng nhập từ 21/11 đến 27/12 (như trong hình) số tồn phải còn nguyên, những lot phía trước chỉ 1 lô còn dang dở, còn bao nhiêu lot là hết tồn.
Tính tuổi hàng tồn cũng không đúng: tất cả các lô hàng nhập dù đã xuất hết hay chưa cũng đều có tuổi (chết hoặc chưa chết).
Mẫu báo cáo này nếu tính trong tháng 12 (có ngày bắt đầu và ngày kết thúc), thì liệt kê tất cả lot hàng mua trong tháng, dù hết hay chưa, và tất cả đều có tuổi.
Em thực sự chưa hiểu khái niệm tuổi tồn kho này lắm, theo em hiểu thì đơn vị tính "tuổi" là ngày. Vậy khi tính tuổi cho một khoảng thời gian thì "tuổi" được tính từ ngày nhập hàng đến ngày nào? Ngày đầu kì, ngày xuất hàng, ngày cuối kì, hay là ngày lập báo cáo? Nhờ bác thông não giùm với.
 
Upvote 0
Em thực sự chưa hiểu khái niệm tuổi tồn kho này lắm, theo em hiểu thì đơn vị tính "tuổi" là ngày. Vậy khi tính tuổi cho một khoảng thời gian thì "tuổi" được tính từ ngày nhập hàng đến ngày nào? Ngày đầu kì, ngày xuất hàng, ngày cuối kì, hay là ngày lập báo cáo? Nhờ bác thông não giùm với.
Mình thấy Mod giải thích rõ rồi mà, tuổi tồn được tính từ ngày nhập đến khi bán hết hàng, nếu hàng chưa bán hết thì tính từ ngày nhập đến cuối kỳ báo cáo và mình tính tồn theo từng lot nhập. Còn ngày đầu kỳ là để mình giới hạn lot nhập bắt đầu từ khi nào thôi. Ví dụ như tính tuổi tồn từ 01/12 đến 31/12 thì mình chỉ xét các lot nhập từ 01/12 đến 31/12, các lot nhập trước 01/12 cũng có tuổi tồn nhưng mình ko xét tới. Theo mình hiểu là như vậy.
 
Upvote 0
Em thực sự chưa hiểu khái niệm tuổi tồn kho này lắm, theo em hiểu thì đơn vị tính "tuổi" là ngày. Vậy khi tính tuổi cho một khoảng thời gian thì "tuổi" được tính từ ngày nhập hàng đến ngày nào? Ngày đầu kì, ngày xuất hàng, ngày cuối kì, hay là ngày lập báo cáo? Nhờ bác thông não giùm với.
Tính cho tới ngày lập báo cáo bạn à. Ví dụ: dù đã sang năm 2020 nhưng yêu cầu quản lý đặt ra là tính tuổi đến cuối năm 2011 (như dữ liệu của thớt) thì ta tính tới đó.
 
Upvote 0
Em thực sự chưa hiểu khái niệm tuổi tồn kho này lắm, theo em hiểu thì đơn vị tính "tuổi" là ngày. Vậy khi tính tuổi cho một khoảng thời gian thì "tuổi" được tính từ ngày nhập hàng đến ngày nào? Ngày đầu kì, ngày xuất hàng, ngày cuối kì, hay là ngày lập báo cáo? Nhờ bác thông não giùm với.
Tuổi tính từ ngày sinh đến ngày báo cáo, nếu đã chết (hết tồn) thì tuổi từ ngày sinh đến ngày chết
Báo cáo tuổi tồn kho nhằm mục đích:
- Tính vòng đời từng mặt hàng: Mặt hàng nào bán chạy, mặt hàng nào bán chậm, để có kế hoạch mua hàng. Báo cáo này thường lấy khoảng thời gian là 1 quý, 6 tháng, 1 năm, để tính trung bình. Tuổi còn kèm theo số lượng trung bình từng lot nếu không sẽ không lập kế hoạch đúng. Chỉ lấy số liệu những lot đã hết
- Tính tuổi trung bình hàng còn tồn chưa bán hết: Nếu mặt hàng tồn quá lâu thì phải có kế hoạch khuyến mãi hay gì đó để giải phóng kho.

Một báo cáo khác tính vòng quay hàng tồn kho: Tổng số lượng bán 1 năm chia cho tồn kho trung bình 1 thời điểm. Thí dụ do sức chứa của kho và sức mua của khách nên hàng tồn kho nằm ở mức tối đa 1 ngàn sản phẩm, xuống dưới 400 là phải đặt mua bổ sung -> tồn kho trung bình là 1 số giữa 1000 và 400, giả sử 700. 1 năm bán 7.000 tức là số vòng quay = 10 vòng/ 1 năm. Tính ngược ra tuổi tồn kho trung bình là 365/10 = 36 ngày
 
Upvote 0
Tuổi tính từ ngày sinh đến ngày báo cáo, nếu đã chết (hết tồn) thì tuổi từ ngày sinh đến ngày chết
Báo cáo tuổi tồn kho nhằm mục đích:
- Tính vòng đời từng mặt hàng: Mặt hàng nào bán chạy, mặt hàng nào bán chậm, để có kế hoạch mua hàng. Báo cáo này thường lấy khoảng thời gian là 1 quý, 6 tháng, 1 năm, để tính trung bình. Tuổi còn kèm theo số lượng trung bình từng lot nếu không sẽ không lập kế hoạch đúng. Chỉ lấy số liệu những lot đã hết
- Tính tuổi trung bình hàng còn tồn chưa bán hết: Nếu mặt hàng tồn quá lâu thì phải có kế hoạch khuyến mãi hay gì đó để giải phóng kho.

Một báo cáo khác tính vòng quay hàng tồn kho: Tổng số lượng bán 1 năm chia cho tồn kho trung bình 1 thời điểm. Thí dụ do sức chứa của kho và sức mua của khách nên hàng tồn kho nằm ở mức tối đa 1 ngàn sản phẩm, xuống dưới 400 là phải đặt mua bổ sung -> tồn kho trung bình là 1 số giữa 1000 và 400, giả sử 700. 1 năm bán 7.000 tức là số vòng quay = 10 vòng/ 1 năm. Tính ngược ra tuổi tồn kho trung bình là 365/10 = 36 ngày
Sau khi học hiểu thì mình thiết kế lại file ở bài #7 như bên dưới.
 

File đính kèm

Upvote 0
Sau khi học hiểu thì mình thiết kế lại file ở bài #7 như bên dưới.
Tồn theo lô vẫn chưa đúng. Như trên giải thích tính đến ngày BC thì do nhập trước xuất trước nên những lô nhập cuối phải còn nguyên, chỉ 1 lô xuất dang dở, còn phía trên bằng 0. Lô dang dở là lô nhập 287 còn tồn 99
Như cột tồn P tôi thêm vào
Còn cột K của bạn không phải như thế. Ngoài ra, tổng tồn cột K của bạn không đúng so với tổng nhập - tổng xuất: Chỉ có 1.853, số đúng là 1.930 ở cột P

1608708935916.png
 
Lần chỉnh sửa cuối:
Upvote 0
Tồn theo lô vẫn chưa đúng. Như trên giải thích tính đến ngày BC thì do nhập trước xuất trước nên những lô nhập cuối phải còn nguyên, chỉ 1 lô xuất dang dở, còn phía trên bằng 0. Lô dang dở là lô nhập 287 còn tồn 99
Như cột tồn P tôi thêm vào
Còn cột K của bạn không phải như thế. Ngoài ra, tổng tồn cột K của bạn không đúng so với tổng nhập - tổng xuất: Chỉ có 1.853, số đúng là 1.930 ở cột P
À, tại em không lấy toàn bộ dữ liệu mà chỉ chốt đến ngày chốt báo cáo ở ô K2. Những lần nhập sau ngày tại K2 (hiện tại đang là 15/12/11) này em sẽ cho tuổi bằng 0 (vì tuổi âm sẽ khá vô lí). Nếu em sửa ô K2 thành 31/12/11 thì sẽ vẫn được số 1930 như của bác

1608710660204.png
 
Upvote 0
À, tại em không lấy toàn bộ dữ liệu mà chỉ chốt đến ngày chốt báo cáo ở ô K2. Những lần nhập sau ngày tại K2 (hiện tại đang là 15/12/11) này em sẽ cho tuổi bằng 0 (vì tuổi âm sẽ khá vô lí). Nếu em sửa ô K2 thành 31/12/11 thì sẽ vẫn được số 1930 như của bác
Cách tính đúng là không quan tâm ô K2. Công thức luôn tính đến hết dữ liệu. Kết quả theo J2 và K2 là lọc toàn bộ trong khoảng J2 và K2 qua sheet mới. Sheet mới này cũng chưa dùng được, còn phải tính trung bình:
- Tuổi tồn kho trung bình trên các lô đã bán hết theo mục đích 1: Dự trù cho kế hoạch mua trong tương lai
- Số ngày tồn đọng trong kho chưa bán hết (tồn >0) trung bình theo mục đích 2: khuyến mãi bán giải phóng hàng tồn
Quản lý cấp cao chỉ cần xem kết quả cuối để quyết định, những kết quả trung gian không có thời giờ đọc và phân tích
 
Upvote 0
Những lần nhập sau ngày tại K2 (hiện tại đang là 15/12/11) này em sẽ cho tuổi bằng 0 (vì tuổi âm sẽ khá vô lí).
Cách làm đúng là như trên, còn sự vô lý nằm ở chỗ này: Từ 16/12 trở về sau mà xuất thì nó cũng cứ trừ vào những lô còn tồn từ 15/12 trở về trước theo thứ tự FIFO. Bạn thử xoá hết xuất từ 16/12 trở về sau xem, sẽ hợp lý ngay. À không, 1.853 khớp với số tồn dòng 1743
 
Lần chỉnh sửa cuối:
Upvote 0
Cách làm đúng là như trên, còn sự vô lý nằm ở chỗ này: Từ 16/12 trở về sau mà xuất thì nó cũng cứ trừ vào những lô còn tồn từ 15/12 trở về trước theo thứ tự FIFO. Bạn thử xoá hết xuất từ 16/12 trở về sau xem, sẽ hợp lý ngay. À không, 1.853 khớp với số tồn dòng 1743
Đúng rồi bác. Chủ đề này rất thú vị, cám ơn bác đã nhiệt tình thông não :D
 
Upvote 0
Em Vân xin cảm ơn ý kiến của cách Anh và thầy @ptm0412 ạ !. Em Vân sẽ cố gắng hoàn thiện lại ạ
 
Upvote 0
Em Vân xin cảm ơn ý kiến của cách Anh và thầy @ptm0412 ạ !. Em Vân sẽ cố gắng hoàn thiện lại ạ
Bạn xem chọn mẫu 1 vài chỗ dò lại thủ công xem file đã chạy đúng hay chưa. Tuổi tồn kho tôi ghi theo định dạng SốLượngTồn1-SốNgàyTồn1;SốLượngTồn2-SốNgàyTồn2;...) và ghi cho tất cả các dòng. Cần tuổi tồn cho vật tư nào, ngày nào thì cứ tìm đến đúng dòng đó.
 

File đính kèm

Upvote 0
Bạn xem chọn mẫu 1 vài chỗ dò lại thủ công xem file đã chạy đúng hay chưa. Tuổi tồn kho tôi ghi theo định dạng SốLượngTồn1-SốNgàyTồn1;SốLượngTồn2-SốNgàyTồn2;...) và ghi cho tất cả các dòng. Cần tuổi tồn cho vật tư nào, ngày nào thì cứ tìm đến đúng dòng đó.
Mình kiểm tra thử 1 vài mã thấy số liệu đã đúng ý !

Bạn có thể thêm cho mình một cột tổng số ngày tồn bên cạnh nữa không ạ ?

Mình cảm ơn bạn
 
Upvote 0
Mình kiểm tra thử 1 vài mã thấy số liệu đã đúng ý !

Bạn có thể thêm cho mình một cột tổng số ngày tồn bên cạnh nữa không ạ ?

Mình cảm ơn bạn
Bạn muốn:
1. Cộng: Số ngày tồn 1 + Số ngày tồn 2 + ... + Số ngày tồn n, hay là
2. Tính số ngày từ: Số ngày tồn 1 đến ngày của từng dòng phát sinh?

Con số ở 1 tôi không thấy có ý nghĩa gì về mặt thống kê. Con số ở 2 thì có ý nghĩa và nó có sẵn ở cột tuổi đó rồi, chỉ cần trích xuất từ chuỗi ra là có.
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom