Ứng dụng quy trình sản xuất thực tế trong Odoo 13

Using manufacturing in Odoo 13

Phương Đỗ

Giới thiệu


Xin chào các bạn! trong bài viết hôm nay mình sẽ hướng dẫn các bạn những quy trình sản xuất cơ bản trên thực tế và áp dụng quy trình sản xuất này trong Odoo 13. Như các bạn đã biết, phân hệ sản xuất (manufacturing) là một trong những phân hệ cơ bản trên Odoo, giúp người dùng quản lý các quy trình sản xuất sản phẩm, quy trình phát triển sản phẩm mới, quy trình quản lý chất lượng, nhân công, máy móc... tùy vào nhu cầu của từng doanh nghiệp mà người dùng có thể cấu hình và áp dụng các quy trình sản xuất như mong muốn. 


Phạm vi trong bài viết này, mình sẽ giới thiệu với các bạn một vài trường hợp cơ bản trong quy trình sản xuất sản phẩm trên thực tế và dựa trên quy trình thực tế này đưa vào áp dụng quy trình sản xuất trên Odoo phiên bản 13.


Để biết thêm các tính năng quản lý sản xuất trong Odoo, các bạn tham khảo bài giới thiệu tính năng sản xuất của Odoo tại đây.

Ứng dụng quy trình sản xuất trong Odoo 13


Mỗi công ty, doanh nghiệp sẽ có các quy trình sản xuất phẩm khác nhau đối với từng loại sản phẩm. Nhưng nhìn chung hầu hết các công ty doanh nghiệp đều có các quy trình sản xuất cơ bản để quản lý quá trình tiêu hao nguyên phụ liệu (component) và quản lý các công đoạn sản xuất sản phẩm. Để người dùng hiểu rõ hơn các quy trình quản lý này, mình sẽ đưa ra một tình huống cụ thể khi sản xuất một sản phẩm đối với doanh nghiệp sản xuất để mọi người dễ hình dung nhé.


Tình huống: Công ty ABC là một công ty sản xuất nội thất chuyên sản xuất và lắp ráp sản phẩm như tủ, bàn, ghế, kệ.... Ví dụ, để sản xuất ra một cái bàn, công ty cần các yếu tố cơ bản như:

  • Nguyên phụ liệu: 04 cái Chân bàn, 01 cái Mặt bàn, 08 cái Ốc vít và 01 Màu sơn

  • Công đoạn sản xuất: 

    • [1] Lắp ráp: 

      • Miêu tả: Cố định 04 cái ốc vít trên 04 cái chân bàn, sau đó lắp ráp 04 cái chân bàn có gắn ốc vít vào cái mặt bàn (sử dụng 04 ốc vít còn lại)

      • Tiêu hao nguyên phụ liệu: 04 cái Chân bàn, 01 cái Mặt bàn, 08 cái Ốc vít

    • [2] Sơn màu:

      • Miêu tả: Quét / sơn màu lên sản phẩm đã được lắp ráp

      • Tiêu hao nguyên phụ liệu: 01 Màu sơn


Chú ý: Mục đích của công ty trong tình huống này mong muốn quản lý quy trình quản lý tiêu hao nguyên phụ liệu và các công đoạn sản xuất sản phẩm. Giả sử rằng Chân bàn và Mặt bàn là nguyên vật liệu có sẵn chỉ đem đi lắp ráp và sơn màu để trực tiếp sản xuất ra sản phẩm là Cái bàn.


Dựa vào tình huống trên, mình sẽ giới thiệu một vài quy trình quản lý tiêu hao nguyên phụ liệu và quản lý công đoạn sản xuất  thường xảy ra trên thực tế đối với các công ty và doanh nghiệp sản xuất sản phẩm:

  • Quy trình 01: Quy trình sản xuất cơ bản không quản lý "Bán thành phẩm"

  • Quy trình 02: Quy trình sản xuất cơ bản có quản lý "Bán thành phẩm" (Semi-finished products)

  • Quy trình 03: Quy trình sản xuất quản lý công đoạn thuê gia công bên ngoài (Subcontract)

  • Quy trình 04: Quy trình sản xuất quản lý bộ nguyên phụ liệu (Kit components)


Trước khi áp dụng các quy trình sản xuất thực tế vào Odoo, chúng ta cần bảo đảm chắc chắn rằng phân hệ sản xuất (manufacturing) đã được cài đặt và cấu hình tính năng được bật đầy đủ.


Cài đặt phân hệ sản xuất tại menu: Apps > Manufacturing



Bật cấu hình tính năng "Work Orders" và "Subcontract" tại menu: Manufacturing > Configuration > Settings



Lưu ý: tính năng "Subcontracting" là cấu hình dành cho quy trình thuê gia công ngoài.


Quy trình 01: Quy trình sản xuất cơ bản không quản lý "Bán thành phẩm"

Quy trình đầu tiên là quy trình sản xuất cơ bản, quy trình này không thông qua việc quản lý "Bán thành phẩm", nghĩa là từ các nguyên phụ liệu ban đầu trực tiếp sản xuất ra Thành phẩm. Quay về tình huống ban đầu, từ các nguyên phụ liệu ban đầu,  chúng trải qua 2 công đoạn "Lắp ráp" và "Sơn màu" sẽ sản xuất ra được thành phẩm là "Cái Bàn" theo như sơ đồ bên dưới: 



Dựa vào sơ đồ này, chúng ta có thể trực tiếp cấu hình sản phẩm và thiết lập quy trình sản xuất để sản xuất ra thành phẩm trên Odoo. Trước hết, chúng ta cần tạo sản phẩm thành phẩm "Cái bàn" trên Odoo và xác định định mức nguyên phụ liệu (Bills of material: BOM) để cấu thành nên thành phẩm này. 


Tạo mới sản phẩm "Cái Bàn #1" được cấu hình Route là Manufacture tại menu: Manufacturing > Master data > Products, đây là thành phẩm sẽ được sản xuất ra:



Tiếp theo, cấu hình định mức nguyên phụ liệu để sản xuất ra "Cái Bàn #1" tại menu: Manufacturing > Master data > Bills of materials (hoặc tại nút Bill of Material trên giao diện của sản phẩm) 


Chú ý rằng, cái loại định mức nguyên phụ liệu (BoM type) cho sản phẩm "Cái Bàn #1"  là "Manufacture this product". Tất cả sản phẩm nguyên phụ liệu (Component) được định nghĩa là Route là "Buy", nghĩa là nguyên phụ liệu luôn được lấy từ kho để phục vụ nhu cầu sản xuất nếu hết hàng sẽ đi mua hàng về để cung ứng. Trong tính huống này, giả sử tất cả nguyên phụ liệu đều có sẵn trong kho.



Trong đó Routing sẽ được cấu hình theo 02 công đoạn là "Lắp ráp" và "Sơn màu" như hình:


Sau khi cấu hình đầy đủ, chúng ta vào menu: Manufacturing > Operations > Manufacturing Orders để tạo mới một yêu cầu sản xuất sản phẩm "Cái Bàn #1" và lên kế hoạch sản xuất. Lúc này, trên đơn sản xuất ở trạng thái "Planned", người dùng có thể thấy tất cả các nguyên phụ liệu đều đã được "Reserved" và đang chờ 02 tiến trình Work Orders là "Lắp ráp" và "Sơn màu".



Tiến trình "Lắp ráp" đang ở trạng thái "Ready" sẵn sàng để thực hiện và tiến trình "Sơn màu" đang chờ hoạt động "Lắp ráp" hoàn thành với trạng thái "Waiting for another WO".



Trong công đoạn "Lắp ráp", hệ thống hiển thị danh sách nguyên phụ liệu cần thực hiện cho công đoạn này được liệt kê như hình. Bấm "Process" và "Mark as Done" để hoàn thành  công đoạn "Lắp ráp".



Trên đơn sản xuất sản phẩm, hệ thống cập nhật số lượng nguyên phụ liệu tiêu hao khi hoàn thành công đoạn "Lắp ráp".



Tiếp tục, công đoạn "Sơn màu" đang ở trạng thái "Ready" sẵn sàng để thực hiện. Bấm Process và Mark as todo để hoàn thiện công việc này.



Quy trở lại đơn sản xuất ban đầu, hệ thống đã chuyển trạng thái của đơn sản xuất thành "To close" và cột Consumed trên danh sách nguyên phụ liệu đã cập nhật đầy đủ. Tuy nhiên, lưu ý trong trạng thái "To close" này hệ thống chưa thực sự trừ kho cho sản phẩm nguyên phụ liệu, Khi bấm "Mark as Done" trên đơn sản xuất, hệ thống mới thực sự tiêu hao nguyên phụ liệu và cập nhật lại kho.



Khi đơn hàng sản xuất đã hoàn thành (Done), hệ thống sẽ xuất hiện dòng dịch chuyển của sản phẩm tại nút "Product Moves" trên đơn hàng sản xuất để người dùng kiểm tra, thành phẩm trong kho đã tăng lên và nguyên phụ liệu đã giảm số lượng thực tế trong kho.



Như vậy là chúng ta đã hoàn thành xong quy trình 01 với một quy trình sản xuất đơn giản quản lý sản xuất tiêu hao nguyên phụ liệu và công đoạn sản xuất.

Quy trình 02: Quy trình sản xuất cơ bản có quản lý "Bán thành phẩm" (Semi-finished products)


Quy trình sản xuất thứ 02 này sẽ phức tạp hơn quy trình 01 ở chỗ người dùng có quản lý bán thành phẩm theo nhu cầu. Áp dụng tính huống ban đầu, giả sử sau khi hoàn thành xong công đoạn lắp ráp, người dùng sẽ có có một bán thành phẩm gọi là "Cái Bàn Thô", sau đó quét sơn trên "Cái Bàn Thô" này để ra được thành phẩm là Cái Bàn. Bên dưới là hình minh họa cho quy trình có sử dụng "Bán thành phẩm"



Lưu ý trong ví dụ này, mình sử dụng bán thành phẩm là "Cái Bàn Thô" sau khi hoàn thành quá trình "Lắp ráp". Tuy nhiên, chúng ta cũng có thể tạo bán thành phẩm khác tùy vào thực tế. Ví dụ, tình huống ban đầu khi xử lý công đoạn "Lắp ráp" cần 02 thao tác là Cố định 04 ốc vít vào 04 cái chân bàn, chúng ta cũng có thể tạo bán thành phẩm cho thao tác này là "Bộ Chân Bàn Có Gắn Ốc Vít". Cái này tùy vào nhu cầu thực tế nhé các bạn (thực tế công ty cần quản lý bán thành phẩm là gì)


Ví dụ: Quy trình 02 này chúng ta có sản phẩm "Cái Bàn #2" cũng được cấu hình Route là Manufacture. 



Cấu hình định mức nguyên phụ liệu BoM cho sản phẩm này sẽ bao gồm sản phẩm là Bán thành phẩm "Cái Bàn Thô" và nguyên phụ liệu "Màu sơn", đặc biệt quá trình để làm ra thành phẩm tại bước này chỉ là "Sơn màu".



Routing "Sơn màu #" của định mức nguyên phụ liệu



Trong đó Bán sản phẩm sẽ được cấu hình Route là "Manufacture" và "Replenish on Order (MTO)", nghĩa là nếu sản phẩm này không có trong kho, hệ thống sẽ cung ứng hàng tự động bằng cách đi sản xuất sản phẩm này. Trong ví dụ này, giả sử hàng không có sẵn trong kho, khi có bất kỳ yêu cầu nào đối với sản phẩm này thì hệ thống phải đi sản xuất để có hàng đáp ứng nhu cầu.



Đối với bán thành phẩm này, chúng ta cùng cấu hình định mức nguyên phụ liệu cho nó như hình:



Trong đó, Routing của bán thành phẩm này là "Lắp ráp #", đây là công đoạn để làm nên Cái Bàn Thô



Khi đã hoàn thành xong các cấu hình, chúng ta vào menu: Manufacturing > Operations > Manufacturing Orders để tạo mới một đơn sản xuất sản phẩm "Cái Bàn #2"



Sau khi bấm "Mark as Todo" để đơn hàng sản xuất chuyển sang trạng thái "Confirmed", lúc này để sản xuất sản phẩm "Cái Bàn #2" chúng ta cần bán thành phẩm là "Cái Bàn Thô" nhưng sản phẩm này không có sẵn trên hệ thống, hệ thống sẽ tạo tự động tạo một đơn sản xuất khác để sản xuất "Cái Bàn Thô" đáp ứng nhu cầu cho đơn hàng sản xuất "Cái Bàn #2".




Trước tiên, chúng ta cần hoàn thành đơn sản xuất "Cái Bàn Thô" để có bán thành phẩm sản xuất "Cái Bàn #2". Trong đơn sản xuất này, chúng ta chỉ cần hoàn thành công đoạn "Lắp ráp #" là xong tiến trình sản xuất.




Bấm "Mark as Done" để hoàn thành đơn sản xuất "Cái Bàn Thô"



Xem dòng dịch chuyển sản phẩm (Product moves) trên đơn sản xuất đã hoàn thành


Tại thời điểm này, đơn hàng sản xuất cho sản phẩm "Cái Bàn #2" đã sẵn sàng để sản xuất vì Bán thành phẩm đã có hàng trong kho để sản xuất.



Chúng ta tiếp tục hoàn thành công đoạn cuối cùng là "Sơn màu #" cho đơn hàng sản xuất



Quay trở lại đơn sản xuất đã được hoàn thành sau khi "Mark as Done"



Bấm nút "Product Moves" để xem dòng dịch chuyển các sản phẩm sau khi sản xuất ra thành phẩm và tiêu hao nguyên phụ liệu.



Quy trình 03: Quy trình sản xuất quản lý công đoạn thuê gia công bên ngoài (Subcontract)


Đối với 02 quy trình bên trên, tất cả các công đoạn sản xuất ra thành phẩm đều do chính công ty hoặc doanh nghiệp tự sản xuất. Tuy nhiên đối với một vài trường hợp cụ thể, doanh nghiệp có thể sử dụng đối tượng gia công bên ngoài để thực hiện một phần công đoạn sản xuất. 


Theo tình huống ban đầu, để áp dụng việc thuê gia công bên ngoài, chúng ta đưa một phần công đoạn sản xuất sản phẩm để thuê đối tượng bên ngoài thực hiện gia công sản xuất. Việc sản xuất ra "Cái Bàn" cần qua 02 công đoạn là Lắp ráp và Sơn màu, đối với công đoạn Lắp ráp, trình tự sẽ là:

  • [1] Gắn cố định 04 ốc vít vào 04 cái chân bàn.

  • [2] Lắp ráp cái chân bàn đã chốt ốc vít vào mặt bàn. 


Công ty có thể thuê luôn đối tượng ngoài làm tất cả công đoạn lắp ráp hoặc làm một phần công đoạn này. Trong bài viết này, chúng ta sẽ sử dụng đối tượng gia công ngoài làm công đoạn đầu của Lắp ráp "[1] Gắn cố định 04 ốc vít vào 04 cái chân bàn". Sau khi hoàn thiện công đoạn [1], chúng ta sẽ thu được "Bộ chân bàn có gắn ốc vít" để tiếp tục các công đoạn sản xuất tiếp theo. Các bạn có thể xem chi tiết quy trình sản xuất sản phẩm "Cái Bàn" có thuê gia công ngoài như sơ đồ bên dưới.



Để áp dụng quy trình này trên Odoo, đảm bảo chắc chắn rằng cấu hình tính năng "Subcontract" đã được bật trên menu: Manufacturing > Configuration > Settings > Subcontracting



Sau khi đã bật cấu hình đầy đủ, chúng ta tạo và cấu hình thành phẩm và nguyên phụ liệu để thực hiện quy trình sản xuất.


Tạo sản phẩm thành phẩm: "Cái bàn #3" có Route là "Manufacture" tại menu: Manufacturing > Master Data > Products



Sản phẩm này có định mức nguyên phụ liệu (BoM) được cấu hình như hình:



Trong đó, nguyên phụ liệu "Bộ Chân Bàn Có Gắn Ốc Vít" sẽ được gia công bên ngoài nên cấu hình Route cho sản phẩm sẽ là "Buy" và "Replenish on Order (MTO)", nghĩa là khi sản phẩm không có hàng trong kho, thì hệ thống sẽ tự động đi đưa ra bên ngoài gia công để cung ứng hàng. Lưu ý, cấu hình đối tượng gia công cho sản phẩm này chính là trường thông tin "Vendors" trên thông tin sản phẩm. Ví dụ tên đối tượng gia công là "GCSX".




Tiếp tục cấu hình định mức nguyên phụ liệu cho sản phẩm gia công này để xác định định mức tiêu hao nguyên phụ liệu khi đem đi gia công. 


Lưu ý, BoM type của sản phẩm gia công chúng ta chọn là "Subcontracting" và đối tượng gia công chính là Nhà cung cấp (Vendor) đã được chọn trên thông tin sản phẩm. Đối với loại BoM type là "Subcontracting" chúng ta sẽ không thấy trường thông tin "Routing" trên BoM nữa vì công đoạn này đi gia công bên ngoài không cần quản lý công đoạn sản xuất. Nguyên phụ liệu cho sản phẩm gia công sẽ là 04 cái chân bàn và 04 cái ốc vít như hình.



Lúc này, trên trường thông tin Vendor của sản phẩm gia công chúng ta thấy đối tượng gia công "GCSX" đã được bật là "Subcontracted".


Sau khi đã hoàn thành cấu hình, chúng ta vào tạo đơn sản xuất sản phẩm "Cái Bàn #3" tại menu: Manufacturing > Operations > Manufacturing Orders



Sau khi đơn sản xuất đã được "Confirmed", tại thời điểm này sản phẩm "Bộ Chân Bàn Có Gắn Ốc Vít" không có sẵn trong kho, hệ thống sẽ tự động tạo đơn "Requests for quotation" cho chính đối tượng gia công "GCSX" tại menu: Purchase > Orders > Requests for quotation




Tiếp tục, trên đơn này chúng ta bấm nút "Confirm order" để xác nhận đơn gia công và chuẩn bị nhận hàng từ đơn vị gia công. Trên đơn nhận hàng từ nhà gia công, bấm nút "Validate" để xác nhận đã nhận hàng từ phía đơn vị gia công.



Sau khi đã nhận, chúng ta có thể kiểm tra dòng dịch chuyển sản phẩm "Bộ Chân Bàn Có Gắn Ốc Vít" đã có hàng trong kho thông qua Subcontracting. Trong khi đó, nguyên phụ liệu "Cái Chân Bàn" và "Cái Ốc Vít" đã bị giảm số lượng trong kho đúng như định mức nguyên phụ liệu đã được cấu hình trên sản phẩm "Bộ Chân Bàn Có Gắn Ốc Vít", hệ thống ghi nhận tham chiếu đơn dịch chuyển  "WH/SBC/00001" là từ Subcontracting.



Quay trở lại đơn sản xuất "Cái Bàn #3", nguyên liệu bị thiếu là "Bộ Chân Bàn Có Gắn Ốc Vít" đã được gia công và sẵn sàng cho quy trình sản xuất tiếp theo, trên đơn sản xuất tiếp tục  bấm "Plan" để vào "Work Orders" thực hiện Lắp ráp và Sơn màu.




Bấm "Process" cho công đoạn Lắp ráp và "Mark as Done" để hoàn thành, tiếp tục công đoạn Sơn màu



Bấm "Process" cho công đoạn Sơn màu và "Mark as Done" để hoàn thành


Quay trở về đơn sản xuất "Cái Bàn #3", nó đã được chuyển sang trạng thái "To Close", bấm nút "Mark as Done" để hoàn thành đơn sản xuất và ghi nhận tiêu hao nguyên phụ liệu trong kho.



Bấm nút "Product Moves" trên đơn sản xuất đã Done để xem chi tiết dòng dịch chuyển sản phẩm trong kho


 

Như vậy chúng ta đã kết thúc Quy trình 03 sử dụng công đoạn có gia công bên ngoài.


Quy trình 04: Quy trình sản xuất quản lý bộ nguyên phụ liệu (Kit components)


Quy trình 04 này đơn giản chỉ là nhóm một vài nguyên phụ liệu thành một bộ nguyên phụ liệu (Kit components) để dễ dàng quản lý và đơn giản hóa danh sách các nguyên phụ liệu của một sản phẩm cần sản xuất cũng như công đoạn tiêu hao nguyên phụ liệu tương ứng.


Ví dụ đối với tình huống trên, chúng ta sử dụng bộ Kit nguyên phụ liệu "Bộ Chân Bàn Gắn Ốc Vít" như là một bộ nguyên phụ liệu gồm 04 cái chân bàn và 04 cái ốc vít. Xem chi tiết sơ đồ quy trình 04 như bên dưới.



Để áp dụng quy trình này trên Odoo, đầu tiên, chúng ta tạo sản phẩm cần sản xuất là "Cái Bàn #4" với Route là "Manufacture".



Cấu hình định mức nguyên phụ liệu (BoM) cho sản phẩm này như hình bên dưới:



Trong đó, sản phẩm "Bộ Chân Bàn Gắn Ốc Vít #4" sẽ là bộ nguyên phụ liệu gồm 04 cái chân bàn và 04 cái ốc vít. Sản phẩm này được đánh dấu BoM Type là "Kit" và ghi nhận tiêu hao nguyên phụ liệu ở giai đoạn "Lắp ráp" trong Routing "Lắp ráp -> Sơn màu".



Chú ý: có 02 trường hợp sử dụng bộ Kit component trong sản xuất sản phẩm:

  • Thành phẩm và Bộ nguyên phụ liệu có cùng Routing

  • Thành phẩm và Bộ nguyên phụ liệu không cùng Routing


Đối với trường hợp này, để đơn giản mình sẽ hướng dẫn theo hướng Thành phẩm và Bộ nguyên phụ liệu có cùng Routing, nghĩa là sản phẩm "Cái Bàn #4" và bộ nguyên phụ liệu "Bộ Chân Bàn Gắn Ốc Vít #4" có cùng Routing là "Lắp ráp -> Sơn màu", tiêu hao nguyên phụ liệu cho bộ nguyên phụ liệu ở công đoạn "Lắp ráp". 


Đối với trường hợp Thành phẩm và Bộ nguyên phụ liệu không cùng Routing, thao tác cũng tương tự, chỉ khác cấu hình Routing cho Thành phẩm và Bộ nguyên phụ liệu là khác nhau thôi. Các bạn nhớ chạy thử trường hợp này nhé.


Sau khi đã cấu hình đầy đủ, chúng ta tạo đơn sản xuất để đi sản xuất sản phẩm "Cái Bàn #4 " tại menu: Manufacturing > Operations > Manufacturing Orders. Trên danh sách nguyên phụ liệu của đơn sản xuất, chúng ta có thể thấy hệ thống sẽ hiển danh sách nguyên phụ liệu của sản phẩm "Bộ Chân Bàn Gắn Ốc Vít #4" là 04 cái chân bàn và 04 cái ốc vít chứ không phải sản phẩm "Bộ Chân Bàn Gắn Ốc Vít #4". Đây là điểm đặc biệt của loại BoM Type là Kit.



Sau khi đơn sản xuất đã được "Confirmed" và đầy đủ nguyên phụ liệu, chúng ta bấm "Plan" để tiến hành các công đoạn sản xuất trong Work Orders.



Với công đoạn "Lắp ráp", bấm Process và Mark as Done để hoàn thành.



Tương tự cho công đoạn "Sơn màu", bấm "Process" và "Mark as Done" để hoàn thành.



Quay trở lại đơn sản xuất ban đầu, nó đã chuyển sang trạng thái "To close", bấm "Mark as Done" để hoàn thành đơn sản xuất, hệ thống lúc này ghi nhận tiêu hao nguyên phụ liệu.



Kiểm tra dòng dịch chuyển sản phẩm cho đơn sản xuất qua nút "Product Moves". Mặc dù cấu hình bộ nguyên phụ liệu "Bộ Chân Bàn Gắn Ốc Vít #4" trên định mức nguyên phụ liệu của sản phẩm cần sản xuất nhưng toàn bộ quá trình sản xuất hệ thống không hề xuất hiện dòng dịch chuyển bộ nguyên phụ liệu này.



Vậy là chúng ta đã đi qua được các quy trình cơ bản trong sản xuất dựa vào một tình huống sản xuất sản phẩm đơn giản. Từ các quy trình thực tế này, ứng dụng nó vào quản lý sản xuất trên Odoo phiên bản 13. Nếu có bất kỳ thắc mắc nào liên quan đến bài chia sẻ này, các bạn gửi phản hồi ở mục bên dưới nhé. Hẹn gặp lại các bạn trong các bài chia sẻ tiếp theo!