Cách tự động hóa mua hàng trong Odoo: Tạo đơn mua hàng nháp từ nhu cầu thực tế
Đơn mua hàng tự viết ra chính mình — được nhóm theo từng nhà cung cấp, tôn trọng mức tối thiểu, quyền quyết định cuối cùng vẫn thuộc về bạn
Tạo đơn mua hàng thủ công nghĩa là phải cân đối mức tồn kho, đơn bán hàng còn mở, lô hàng đang về, mức tối thiểu của nhà cung cấp và bảng giá — cho từng nhà cung cấp, mỗi tuần. Hướng dẫn này trình bày chi phí thực sự của việc tạo đơn mua hàng thủ công, giới hạn của tính năng bổ sung hàng tồn kho có sẵn của Odoo, và cách AutoPURCHASE tính toán chính xác những gì cần mua từ dữ liệu Odoo theo thời gian thực, rồi tạo các đơn mua hàng nháp theo từng nhà cung cấp ưu tiên, sẵn sàng để bạn xem xét và xác nhận.
💸 Chi phí thực sự của việc tạo đơn mua hàng thủ công
Câu hỏi về mua hàng nghe có vẻ đơn giản: hôm nay chúng ta cần đặt mua gì? Để trả lời đúng cho từng sản phẩm, cần kết hợp bốn con số — mục tiêu tồn kho, đơn hàng khách đã xác nhận nhưng chưa giao, số lượng đang có sẵn, và số lượng đang trên đường về. Làm điều này trong đầu hoặc trên bảng tính, và các kiểu sai sót là hoàn toàn có thể đoán trước:
- Đặt hàng trùng lặp: đơn mua hàng đang về từ tuần trước bị quên mất, khiến cùng một nhu cầu bị đặt hai lần và trở thành hàng tồn kho dư thừa.
- Cam kết bị lãng quên: một đơn hàng khách đã xác nhận nhưng chưa giao không hiện ra như là thiếu hàng — cho đến khi đến lúc giao hàng mà hàng lại không có sẵn.
- Bỏ sót mức tối thiểu của nhà cung cấp: một đơn hàng ba đơn vị được gửi đi, nhà cung cấp từ chối hoặc tính thêm phụ phí, và người mua hàng phải bắt đầu lại từ đầu.
- Hàng bán chậm bị đặt quá mức: nếu không có giới hạn mức tồn kho tối đa, việc “làm tròn lên một thùng đầy” âm thầm biến thành nguồn cung cho hai năm.
- Hàng giờ trên bảng tính: một người mua hàng có năng lực dành phần lớn một ngày để xây dựng các đề xuất đặt hàng mà một cỗ máy có thể tính toán trong vài giây.
🔧 Những lựa chọn các đội ngũ thường thử trước tiên
1. Tính năng bổ sung hàng tồn kho có sẵn của Odoo
Các quy tắc đặt hàng lại và màn hình “Replenishment” (Bổ sung hàng) của Odoo thực sự hữu ích: khi tồn kho giảm xuống dưới mức tối thiểu, Odoo có thể đề xuất hoặc tạo một yêu cầu báo giá. Nhưng chất lượng kết quả phụ thuộc hoàn toàn vào các giá trị tối thiểu/tối đa được lưu trong quy tắc — và Odoo không tự tính toán những giá trị đó cho bạn. Tính năng bổ sung có sẵn cũng cho bạn rất ít quyền kiểm soát đối với các rào chắn nghiệp vụ như giá trị đặt hàng tối thiểu theo từng nhà cung cấp, giới hạn mức tồn kho tối đa, hay danh sách không bao giờ đặt hàng, nên người mua hàng vẫn phải xử lý lại từng đề xuất.
2. Nghi thức bảng tính hằng tuần
Xuất dữ liệu tồn kho, xuất đơn bán hàng và đơn mua hàng còn mở, hợp nhất, tính toán nhu cầu, rồi nhập lại kết quả thành các đơn mua hàng trong Odoo. Cách này vẫn hoạt động, nhưng tốn hàng giờ, dễ hỏng khi một cột bị di chuyển, và chỉ mới bằng đúng lần xuất dữ liệu gần nhất.
3. Tự động hóa tùy chỉnh
Các tác vụ máy chủ theo lịch hoặc script tùy chỉnh có thể tạo đơn mua hàng, nhưng các trường hợp đặc biệt — nhóm theo nhà cung cấp, mức tối thiểu, các lần chạy lại phải bổ sung vào đơn đang mở thay vì nhân đôi nó — chính là những phần biến việc này thành một dự án phần mềm thực sự với công việc bảo trì thực sự.
🤖 Cách làm tự động: AutoPURCHASE
AutoPURCHASE là một bot của BOTS4.me tính toán nhu cầu theo từng sản phẩm từ dữ liệu Odoo theo thời gian thực và tạo đơn mua hàng nháp (yêu cầu báo giá), được nhóm theo từng nhà cung cấp ưu tiên — nhờ đó công việc của người mua hàng chỉ còn là xem xét và xác nhận.
🧮 Một công thức trung thực
nhu cầu = (mục tiêu tồn kho + đơn bán hàng đã xác nhận nhưng chưa giao) − (tồn kho hiện có + đơn mua hàng đang về)
Không có gì bạn đã đặt bị đặt hai lần, và các cam kết đã xác nhận với khách hàng không bao giờ bị bỏ sót. Khi bật Sử dụng Mục tiêu AutoSTOCK, mục tiêu tồn kho được lấy từ lần chạy AutoSTOCK gần nhất đã ghi quy tắc vào Odoo. Nếu không có lần chạy nào gần đây, hoặc bạn không sở hữu AutoSTOCK, AutoPURCHASE sẽ dùng quy tắc đặt hàng lại của chính Odoo.
Nhu cầu được tính toán từ dữ liệu Odoo theo thời gian thực
Các dòng được nhóm theo từng nhà cung cấp ưu tiên
Đơn mua hàng nháp (yêu cầu báo giá) được tạo trong Odoo
Bạn xem xét, xác nhận, gửi đi
Các rào chắn nghiệp vụ được tích hợp sẵn, không phải gắn thêm sau:
- Tuân thủ mức tối thiểu của nhà cung cấp: số lượng đặt hàng tối thiểu của nhà cung cấp được tôn trọng, và tổng đơn hàng của mỗi nhà cung cấp phải đạt giá trị đơn hàng tối thiểu của bạn. Các đơn quá nhỏ sẽ được bỏ qua và liệt kê trong báo cáo thay vì làm phiền nhà cung cấp.
- Bảo vệ khỏi việc đặt hàng quá mức: giới hạn mức tồn kho tối đa giúp hàng bán chậm không bị đặt mua quá nhiều; danh sách đen không bao giờ đặt hàng giữ các sản phẩm ngừng kinh doanh và sản phẩm đặc biệt ra khỏi mọi đề xuất.
- Một bản nháp đang mở cho mỗi nhà cung cấp: lần chạy sau thêm các dòng mới vào bản nháp đang mở của chính AutoPURCHASE cho nhà cung cấp đó thay vì tạo đơn hàng thứ hai, và các bản nháp do người dùng hoặc Odoo tạo không bao giờ bị động đến — an toàn khi chạy hằng giờ, hằng ngày hoặc hằng tuần.
- Mặc định là bản nháp: không có gì được gửi cho nhà cung cấp nếu không qua bạn — bạn gửi RFQ từ Odoo. Từ gói Family, các đơn hàng dưới mức trần giá trị do bạn đặt có thể được xác nhận tự động (tắt mặc định).
- Giữ Mua hàng: đặt các khách hàng đang bị ngừng tín dụng hoặc đang tranh chấp vào trạng thái giữ. Không mua hàng cho các đơn đang mở của họ, số lượng chưa giao của họ được trừ khỏi mọi nhu cầu mua hàng, và mỗi báo cáo cho biết đã loại trừ bao nhiêu. Có từ gói Business.
Từ tháng miễn phí đến những đơn hàng nháp đầu tiên
- Bước 1 — Bắt đầu tháng Discovery miễn phí của bạn: đăng nhập tại bots4.me/bots, nhấp Bắt đầu tháng Discovery miễn phí trên thẻ AutoPURCHASE và chấp nhận Điều khoản một lần — không cần thẻ tín dụng. Cần hỗ trợ thiết lập? Cho chúng tôi biết bạn dùng ERP nào và hiện bạn mua hàng ra sao, chúng tôi sẽ cùng bạn thiết lập. Bạn cũng có thể dùng thử bảng điều khiển với dữ liệu mẫu tại bots4.me/bots_demo trước.
- Bước 2 — Kết nối Odoo: trên Odoo.sh hoặc on-premise, cài đặt module miễn phí BOTS4.me Connect (Odoo 13–19) và kết nối chỉ với một lần nhấp. Trên Odoo Online, hãy tạo API key tại Settings → Users & Companies → Users → người dùng của bạn → Account Security (bật chế độ nhà phát triển nếu tab bị ẩn), sau đó mở Cài đặt (bánh răng) → AutoPURCHASE → Trình quản lý truy cập → Thêm Nguồn → ERP → Odoo tại bots4.me và dán key vào đó; người dùng Odoo đứng sau key cần quyền Purchase (User). Odoo Online cần gói Custom của Odoo để truy cập API. Một kết nối phục vụ mọi ứng dụng BOTS4.me làm việc với Odoo.
- Bước 3 — Đặt quy tắc của bạn: trong tab Điều khiển của AutoPURCHASE, đặt Giá trị đơn hàng tối thiểu (tổng giá trị mà đơn hàng của một nhà cung cấp phải đạt), Giới hạn độ phủ tối đa (số tháng nhu cầu trung bình mà bạn không bao giờ đặt vượt quá) và Danh sách không bao giờ đặt hàng (mã sản phẩm, phân tách bằng dấu phẩy). Làm tròn theo quy cách đóng gói làm tròn số lượng lên đến số lượng tối thiểu của từng nhà cung cấp.
- Bước 4 — Bắt đầu ở DEMO: AutoPURCHASE khởi động ở DEMO. Mỗi lần chạy ở chế độ này tạo ra một báo cáo đề xuất mua hàng đầy đủ (đơn hàng theo từng nhà cung cấp kèm giá trị, các nhà cung cấp bị bỏ qua và lý do, sản phẩm thiếu nhà cung cấp) trong khi không có gì được tạo trong Odoo. Ở DEMO, một đề xuất mới được tạo nhiều nhất khoảng một lần mỗi ngày, và nó dùng hạn mức sử dụng của bạn giống như một lần chạy thật.
- Bước 5 — Chạy thật: trong tab Điều khiển, chuyển chế độ từ DEMO sang LIVE (tùy chọn này mở khóa sau báo cáo DEMO đầu tiên của bạn); Tạo Đơn Đặt hàng được bật mặc định trên mọi gói. Sau đó chọn Lịch chạy (hằng giờ, hằng ngày hoặc hằng tuần) và Giờ hoạt động, và bộ phận mua hàng của bạn sẽ thấy các RFQ nháp gọn gàng trong Odoo, được nhóm theo từng nhà cung cấp.
Tuần đầu tiên với AutoPURCHASE
- Đọc báo cáo đề xuất đầu tiên: phần tóm tắt cho thấy các cài đặt mà lần chạy đã dùng, số đơn hàng nhà cung cấp được đề xuất cùng tổng giá trị, những nhà cung cấp bị bỏ qua vì dưới Giá trị đơn hàng tối thiểu của bạn, và những sản phẩm cần đặt nhưng chưa có nhà cung cấp trong Odoo.
- Bổ sung nhà cung cấp còn thiếu: sản phẩm không có nhà cung cấp thì không thể đưa vào RFQ nào. Hãy thêm nhà cung cấp cho sản phẩm trong Odoo (dòng nhà cung cấp đầu tiên là nhà cung cấp ưu tiên) và lần chạy tiếp theo sẽ bao gồm sản phẩm đó.
- “Không tìm thấy mục tiêu tồn kho”? AutoPURCHASE cần mục tiêu để làm căn cứ đặt hàng. Hãy thêm quy tắc đặt hàng lại min/max cho sản phẩm của bạn trong Odoo (trên Odoo 14 trở lên, đặt Trigger thành Manual để Odoo không tự đặt hàng), hoặc để AutoSTOCK ghi chúng (LIVE, với Ghi Quy tắc Đặt hàng lại đang bật) và giữ Sử dụng Mục tiêu AutoSTOCK ở trạng thái bật.
- Kiểm tra từng con số: bảng dòng đơn hàng hiển thị Mục tiêu, Tồn kho hiện có, Hàng đang về và Đơn bán đang mở bên cạnh mỗi số lượng đặt, cùng giá nhà cung cấp và giá trị dòng. Nếu số lượng có vẻ quá lớn, hãy giảm Giới hạn độ phủ tối đa và kiểm tra số lượng tối thiểu của nhà cung cấp mà Làm tròn theo quy cách đóng gói sử dụng, rồi so sánh với đề xuất DEMO tiếp theo.
- Theo dõi Dashboard: tab Nhật ký ghi lại mỗi lần chạy đã làm gì và vì sao, và phần thống kê hiển thị Sản phẩm Cần Đặt hàng, Đơn đặt hàng đã tạo và Nhà cung cấp Đã bỏ qua.
- Chuyển sang LIVE khi các đề xuất khớp với những gì bạn vốn sẽ đặt: khi đó, RFQ nháp xuất hiện trong Odoo Purchase, mỗi nhà cung cấp một bản. Lần chạy sau thêm các dòng mới vào bản nháp đang mở của chính AutoPURCHASE cho nhà cung cấp đó thay vì tạo đơn hàng thứ hai, nên chạy lại không bao giờ làm chồng đơn hàng; các bản nháp do người dùng hoặc Odoo tạo không bao giờ bị động đến.
- Tự động xác nhận đơn hàng là bước cuối cùng: tính năng này có từ gói Family, tắt mặc định và chỉ xác nhận các đơn hàng dưới mức trần giá trị của bạn. Chỉ bật sau vài tuần mà các bản nháp luôn khớp với quyết định của chính bạn.
📅 Vận hành hằng ngày trông như thế nào
Ở mỗi lần chạy theo lịch, AutoPURCHASE tính toán lại nhu cầu từ dữ liệu ERP theo thời gian thực, nhóm chúng theo nhà cung cấp ưu tiên của từng sản phẩm dựa trên dữ liệu nhà cung cấp và bảng giá trong Odoo của bạn, rồi tạo một đơn hàng nháp gọn gàng cho mỗi nhà cung cấp — chứ không phải một đống đơn mua hàng chỉ có một dòng. Một báo cáo đề xuất mua hàng sẽ đến hộp thư đến của bạn sau mỗi lần chạy, bằng ngôn ngữ bạn chọn trong số 31 ngôn ngữ.
Bạn luôn nắm quyền kiểm soát từ Dashboard tại bots4.me/bots: bật/tắt bằng Công tắc bot, công tắc cho từng tính năng, Lịch chạy và Giờ hoạt động, cùng nhật ký quyết định đầy đủ trong tab Nhật ký. Nền tảng được lưu trữ tại EU, được xây dựng cho GDPR, với 2FA tùy chọn. Đây cũng là nền tảng mà IMP Kontakt dùng để chuyển hàng nghìn RFQ và đơn hàng gửi qua email mỗi tháng thành bản ghi ERP với Mail2ERP.
🔄 Phần giữa của vòng lặp tồn kho trong Odoo
AutoPURCHASE phát huy sức mạnh lớn nhất khi là mắt xích giữa của một vòng lặp ba bot. Ở phía trước, AutoSTOCK tính toán mục tiêu tồn kho tối ưu từ lịch sử bán hàng thực tế của bạn và giữ cho các quy tắc đặt hàng lại của Odoo luôn cập nhật — vì vậy “mục tiêu tồn kho” trong công thức là một con số có cơ sở thống kê, chứ không phải phỏng đoán. Ở phía sau, khi bạn xác nhận và gửi đơn mua hàng, Supplier2ERP đọc email xác nhận từ nhà cung cấp và ghi lại giá, số lượng và ngày giao hàng đã xác nhận vào các đơn mua hàng đó trong Odoo.
AutoSTOCK quyết định cần giữ bao nhiêu → AutoPURCHASE soạn nháp những gì cần mua → Supplier2ERP ghi lại những gì nhà cung cấp thực sự cam kết. Kết quả: toàn bộ quy trình bổ sung hàng tồn kho vận hành dựa trên dữ liệu từ đầu đến cuối, và vai trò của đội ngũ bạn là đưa ra phán đoán, không phải nhập liệu.
🌍 Odoo trước tiên, các ERP khác cũng vậy
Hiện nay AutoPURCHASE hỗ trợ các phiên bản Odoo từ 13 đến 19 (Odoo Online, Odoo.sh, và on-premise), ERPNext 15 và 16, Zoho Inventory, Dolibarr 23 trở lên, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero và SAP Business One. Mọi ERP khác có API (SAP S/4HANA, Oracle NetSuite, Dynamics 365 Finance / Sales và nhiều hệ thống khác) đều được kết nối theo yêu cầu — hãy cho chúng tôi biết bạn đang dùng gì.
❓ Câu hỏi thường gặp
Odoo có thể tự động tạo đơn mua hàng không?
Chỉ một phần. Các quy tắc đặt hàng lại của Odoo có thể tạo yêu cầu báo giá khi tồn kho giảm xuống dưới mức tối thiểu, nhưng các giá trị tối thiểu/tối đa phải do bạn tự duy trì, và các rào chắn như giá trị đặt hàng tối thiểu theo từng nhà cung cấp, giới hạn mức tồn kho tối đa, hay danh sách không bao giờ đặt hàng đều bị hạn chế. AutoPURCHASE tính toán nhu cầu từ mục tiêu tồn kho, đơn bán hàng đã xác nhận, tồn kho hiện có và đơn mua hàng đang về, sau đó tạo các đơn mua hàng nháp được nhóm theo nhà cung cấp với các rào chắn đó được tích hợp sẵn.
AutoPURCHASE tính toán những gì cần đặt hàng như thế nào?
Theo từng sản phẩm: (mục tiêu tồn kho + đơn hàng khách đã xác nhận nhưng chưa giao) trừ đi (tồn kho hiện có + đơn mua hàng đang về). Các đơn bán hàng đã xác nhận không bao giờ bị bỏ quên và không có gì đã đặt hàng bị đặt lại lần hai. Mục tiêu tồn kho được lấy từ AutoSTOCK nếu bạn sở hữu cả hai ứng dụng, nếu không thì lấy từ các quy tắc đặt hàng lại có sẵn của Odoo.
Nó có gửi đơn hàng cho nhà cung cấp của tôi mà không cần tôi phê duyệt không?
Không. Mặc định, AutoPURCHASE tạo đơn đặt hàng nháp (RFQ) trong Odoo — bạn xem xét và xác nhận trước khi bất cứ thứ gì đến tay nhà cung cấp, và việc gửi RFQ cho nhà cung cấp vẫn diễn ra trong Odoo. Từ gói Family, các đơn hàng dưới mức trần giá trị do bạn đặt có thể được xác nhận tự động (tắt mặc định).
Nó xử lý số lượng và giá trị đặt hàng tối thiểu của nhà cung cấp như thế nào?
Số lượng đặt hàng tối thiểu của nhà cung cấp từ bảng giá nhà cung cấp trong Odoo được tôn trọng (khi bật Làm tròn theo quy cách đóng gói, số lượng được làm tròn lên đến mức đó), và đơn hàng của mỗi nhà cung cấp phải đạt giá trị đơn hàng tối thiểu của bạn. Các đơn hàng dưới mức này sẽ bị bỏ qua và được liệt kê trong báo cáo đề xuất mua hàng, để bạn quyết định chờ thêm hay bổ sung đơn hàng.
Điều gì ngăn nó tạo cùng một đơn mua hàng hai lần?
AutoPURCHASE tính các đơn đặt hàng đang về là nhu cầu đã được đáp ứng, và lần chạy sau thêm các dòng mới vào bản nháp đang mở của chính nó cho nhà cung cấp đó thay vì tạo đơn hàng thứ hai. Các bản nháp do người dùng hoặc Odoo tạo không bao giờ bị động đến, nên ngay cả các lần chạy theo lịch thường xuyên cũng không làm chồng đơn hàng.
Tôi có cần AutoSTOCK để sử dụng AutoPURCHASE không?
Không. Khi chạy độc lập, AutoPURCHASE dùng các quy tắc đặt hàng lại min/max đã có trong Odoo của bạn — trên Odoo 14 trở lên, là các quy tắc bạn đặt thành Trigger = Manual; các quy tắc để ở chế độ tự động vẫn do Odoo xử lý. Sở hữu cả hai thì tốt hơn: AutoSTOCK tính lại mục tiêu tối ưu từ lịch sử bán hàng thực tế theo lịch, và AutoPURCHASE luôn đặt hàng dựa trên những con số mới nhất, dựa trên dữ liệu.
AutoPURCHASE có dùng AI để quyết định mua gì không?
Không. AutoPURCHASE hoàn toàn dựa trên quy tắc. Đơn đặt hàng được xây dựng từ mục tiêu tồn kho, đơn hàng khách đã xác nhận, tồn kho hiện có và các đơn đặt hàng đang trên đường về; cùng một đầu vào luôn cho cùng một kết quả, và không có gì được gửi đến nhà cung cấp AI.
Những phiên bản Odoo nào được hỗ trợ, và tôi có thể dùng thử trước không?
Odoo 13 đến 19: Odoo.sh và on-premise với connector Python một cú nhấp, Odoo Online với khóa API. Odoo Online cần gói Custom của Odoo để truy cập API. Tháng đầu tiên của bạn là tháng Discovery miễn phí, không cần thẻ tín dụng. Ứng dụng khởi động ở DEMO, và bạn nhận được báo cáo đề xuất mua hàng đầy đủ trước khi bất kỳ đơn hàng nào được tạo trong Odoo.
📚 Hướng dẫn liên quan
- Trung tâm: Cách tự động hóa Odoo từ đầu đến cuối: Từ đơn hàng qua email đến hóa đơn đã thanh toán
- Bước trước bước này: Cách thiết lập điểm đặt hàng lại tối ưu trong Odoo từ lịch sử bán hàng thực tế
- Bước sau bước này: Cách tự động nhập xác nhận đơn hàng từ nhà cung cấp vào Odoo
- Phía bán hàng: Cách tự động nhập đơn hàng và yêu cầu báo giá qua email vào Odoo
- Thiết lập bộ kết nối: Cách kết nối Odoo với BOTS4.me (Odoo 13–19)
🔗 Nguồn và tài liệu đọc thêm
Tài liệu chính thức và các tiêu chuẩn được tham chiếu trong bài hướng dẫn này. Các đường link bên ngoài sẽ mở trong một tab mới.
Hãy để đơn mua hàng của bạn tự viết ra chính mình
Bắt đầu tháng Discovery miễn phí của bạn: kết nối Odoo, và các báo cáo đề xuất mua hàng đầu tiên sẽ đến ở DEMO, không có gì được tạo trong ERP cho đến khi bạn chuyển sang LIVE.