Quy tắc giá
Tài liệu ERPNext tiếng Việt: Quy tắc giá
Quy tắc giá (Pricing Rule) cho ERPNext biết khi nào cần thay giá chuẩn, áp chiết khấu hoặc lợi nhuận gộp (margin), hoặc tặng thêm một sản phẩm miễn phí. Bạn có thể giới hạn quy tắc theo mặt hàng, đối tượng, số lượng, giá trị, ngày, kho, công ty, loại tiền hoặc điều kiện khác. ERPNext xét các quy tắc đủ điều kiện khi bạn thêm một mặt hàng hoặc khi giao dịch được tính lại.
Dùng quy tắc giá cho các ngoại lệ lặp đi lặp lại. Với điều chỉnh một lần, hãy nhập chiết khấu trực tiếp vào giao dịch. Với chiến dịch có nhiều mức, hãy cân nhắc chương trình khuyến mãi.
Trước khi bắt đầu
- Tạo sẵn các mặt hàng, nhóm mặt hàng, thương hiệu, khách hàng, nhà cung cấp và bảng giá liên quan.
- Xác định quy tắc dùng cho bán hàng, mua hàng, hay cả hai.
- Quyết định kết quả mong muốn: giá mới, chiết khấu theo phần trăm hoặc số tiền cố định, lợi nhuận gộp, hay sản phẩm tặng.
- Kiểm tra các quy tắc giá chồng nhau. Nếu nhiều quy tắc cùng khớp, hãy quyết định quy tắc nào được ưu tiên và có cộng dồn hay không, trước khi dùng cho giao dịch thật.
Để mở Quy tắc giá, dùng thanh tìm kiếm hoặc vào Bán hàng > Mặt hàng và giá > Quy tắc giá (Selling > Items and Pricing > Pricing Rule).
Tạo quy tắc giá
- Chọn Thêm quy tắc giá (Add Pricing Rule).
- Nhập Tiêu đề (Title) rõ ràng, nêu đối tượng và ưu đãi.
- Ở Áp dụng trên (Apply On), chọn Mã mặt hàng (Item Code), Nhóm mặt hàng (Item Group), Thương hiệu (Brand) hoặc Giao dịch (Transaction).
- Chọn Giá (Price) cho giá, chiết khấu hoặc lợi nhuận gộp. Chọn Sản phẩm (Product) cho ưu đãi tặng hàng.
- Thêm các mã mặt hàng, nhóm mặt hàng hoặc thương hiệu mà quy tắc áp dụng. Chọn biểu tượng bút chì được tô sáng để sửa tất cả các ô của một dòng trong bảng.
- Ở Thông tin đối tượng (Party Information), bật Bán hàng (Selling) hoặc Mua hàng (Buying). Nếu cần, giới hạn quy tắc cho một khách hàng, nhóm khách hàng, khu vực (Territory), đối tác bán hàng, chiến dịch, nhà cung cấp hoặc nhóm nhà cung cấp.
- Đặt điều kiện về số lượng, số tiền, thời hạn hiệu lực, công ty và loại tiền.
- Nhập kết quả: giá, chiết khấu, lợi nhuận gộp hoặc sản phẩm tặng.
- Lưu quy tắc giá.

Các trường quan trọng
| Trường | Tác dụng |
|---|---|
| Vô hiệu hóa (Disable) | ERPNext ngừng áp dụng quy tắc mà không xóa cấu hình hoặc lịch sử của nó. |
| Áp dụng trên (Apply On) | Chọn xét điều kiện theo Mã mặt hàng, Nhóm mặt hàng, Thương hiệu hay toàn bộ giao dịch. |
| Giá hay chiết khấu sản phẩm (Price or Product Discount) | Giá thay đổi giá trị thương mại. Sản phẩm thêm một mặt hàng tặng theo số lượng đã cấu hình. |
| Kho hàng (Warehouse) | Giới hạn quy tắc cho hàng được xuất từ một kho cụ thể. |
| Điều kiện hỗn hợp (Mixed Conditions) | Cộng gộp số lượng hoặc giá trị của các mặt hàng đã chọn rồi mới so với ngưỡng. |
| Tích lũy (Is Cumulative) | Xét các giao dịch đủ điều kiện cộng dồn trong một khoảng thời gian. Quy tắc áp dụng cho giao dịch làm vượt ngưỡng. |
| Dựa trên mã giảm giá (Coupon Code Based) | Yêu cầu có mã giảm giá (Coupon Code) khớp thì quy tắc mới được áp dụng. |
| Áp dụng cho (Applicable For) | Giới hạn quy tắc theo một loại đối tượng bán hoặc mua, như Khách hàng, Nhóm khách hàng, Khu vực, Đối tác bán hàng, Nhà cung cấp hoặc Nhóm nhà cung cấp. |
| Số lượng tối thiểu và tối đa (Min and Max Qty) | Khoảng số lượng đủ điều kiện, tính theo đơn vị tính kho của mặt hàng (Stock UOM). Để Số lượng tối đa bằng 0 nếu không giới hạn trên. |
| Số tiền tối thiểu và tối đa (Min and Max Amt) | Khoảng giá trị đủ điều kiện. Quy tắc cấp giao dịch có thể áp chiết khấu lên Tổng cộng (Grand Total) hoặc Tổng thuần (Net Total). |
| Có hiệu lực từ và đến (Valid From and Valid Up To) | Khoảng ngày quy tắc có hiệu lực. Để trống ngày nào thì phía đó không giới hạn. |
| Công ty và Loại tiền (Company and Currency) | Giới hạn quy tắc cho công ty và loại tiền đã chọn. |
| Cho bảng giá (For Price List) | Giới hạn kết quả cho giao dịch dùng một bảng giá cụ thể. Chỉ để trống khi quy tắc phải chạy với mọi bảng giá đủ điều kiện. |
| Ưu tiên (Priority) | Quyết định quy tắc nào thắng khi nhiều quy tắc chồng nhau. |
Đặt điều kiện về số lượng, giá trị và thời hạn
Các ô số lượng và số tiền xác định ngưỡng của quy tắc. Trong ví dụ này, Northstar Retail phải đặt ít nhất hai laptop AeroBook 14. Quy tắc giới hạn cho công ty Nova Electronics Trading, đồng USD và thời hạn hiệu lực năm 2026.

Nếu đơn hàng thấp hơn Số lượng tối thiểu hoặc Số tiền tối thiểu, hoặc vượt mức tối đa khác 0, ERPNext không áp dụng quy tắc.
- Khi bật Điều kiện hỗn hợp, ERPNext kiểm tra tổng số lượng hoặc tổng số tiền của các mặt hàng đã chọn.
- Khi bật Tích lũy, ERPNext kiểm tra các giao dịch đủ điều kiện trong cả khoảng thời gian đã cấu hình.
Chọn kết quả của quy tắc
Với quy tắc theo giá, chọn một trong các kết quả sau:
- Đơn giá (Rate): thay giá mặt hàng thông thường bằng đơn giá nhập trong quy tắc.
- Phần trăm chiết khấu (Discount Percentage): giảm giá đủ điều kiện theo phần trăm.
- Số tiền chiết khấu (Discount Amount): trừ một số tiền cố định, theo loại tiền của quy tắc.
- Lợi nhuận gộp (Margin): cộng thêm một phần trăm hoặc một số tiền lên giá đã lấy. Xem thêm lợi nhuận gộp.

Khi quy tắc đủ điều kiện, đơn giá đặt trong quy tắc giá được ưu tiên hơn đơn giá trong giá mặt hàng thông thường. Hãy giới hạn quy tắc bằng Cho bảng giá khi kết quả không nên áp dụng cho mọi bảng giá bán hoặc mua.
Tạo ưu đãi tặng sản phẩm
Chọn Sản phẩm khi chương trình tặng thêm một mặt hàng.
- Bật Cùng mặt hàng (Same Item) cho ưu đãi kiểu mua hai tặng thêm một chính mặt hàng đó.
- Để trống Cùng mặt hàng và chọn Mặt hàng tặng (Free Item) khi quà tặng là mặt hàng khác.
- Nhập số lượng tặng, đơn vị tính và đơn giá. Dùng Làm tròn số lượng tặng (Round Free Qty) khi số lượng tặng tính ra là số lẻ và không phù hợp.
- Bật Không bắt buộc số lượng mặt hàng tặng (Don't Enforce Free Item Qty) khi người dùng được giảm hoặc bỏ số lượng tặng ban đầu. Cách này hữu ích khi tồn kho có hạn hoặc người bán muốn linh hoạt số lượng quà.
Xem ví dụ cụ thể tại thiết lập quy tắc giá Mua 1 tặng 1.
Áp dụng và kiểm tra quy tắc giá
- Tạo hoặc mở một giao dịch mua hoặc bán được hỗ trợ, như báo giá, đơn bán hàng, đơn mua hàng hoặc hóa đơn bán hàng.
- Chọn đối tượng, công ty, loại tiền, bảng giá và ngày giao dịch mà quy tắc yêu cầu.
- Thêm một mặt hàng đủ điều kiện và đạt ngưỡng số lượng hoặc số tiền đã cấu hình.
- Kiểm tra đơn giá, chiết khấu hoặc dòng hàng tặng. Tính lại giao dịch sau khi đổi một điều kiện.
Nếu giao dịch phải cố ý bỏ qua mọi quy tắc khớp, dùng Bỏ qua quy tắc giá (Ignore Pricing Rule) ở nơi có tùy chọn này. Chỉ dùng cho ngoại lệ đã được duyệt.
Quy tắc chồng nhau và nâng cao
Hãy thử các quy tắc chồng nhau trước khi bật. Dùng Có ưu tiên (Has Priority) và Ưu tiên (Priority) khi một quy tắc cụ thể hơn phải thắng. Chỉ bật Áp dụng nhiều quy tắc giá (Apply Multiple Pricing Rules) khi bạn muốn các chiết khấu đủ điều kiện cộng dồn. Với Áp dụng chiết khấu trên giá đã chiết khấu (Apply Discount on Discounted Rate), ERPNext nhân lần lượt từng chiết khấu thay vì cộng các phần trăm.
Ngưỡng gợi ý (Threshold for Suggestion) có thể nhắc người dùng khi số lượng hoặc số tiền nhập gần đạt mức tối thiểu. Kiểm tra quy tắc đã áp dụng (Validate Applied Rule) có thể hiện Mô tả quy tắc (Rule Description) khi giá trị nhập tay không khớp với quy tắc kỳ vọng.
Tab Điều kiện động (Dynamic Condition) nhận một biểu thức Python một dòng, dựa trên các trường trong giao dịch đích. Chỉ dùng khi các trường chuẩn không diễn đạt được yêu cầu. Giữ điều kiện đơn giản, thử trong một công ty thử nghiệm và ghi rõ ai chịu trách nhiệm duy trì nó.
Xử lý sự cố
| Vấn đề | Cần kiểm tra |
|---|---|
| Quy tắc không được áp dụng | Kiểm tra Vô hiệu hóa, Bán hàng hoặc Mua hàng, phạm vi mặt hàng, phạm vi đối tượng, số lượng, số tiền, ngày hiệu lực, công ty, loại tiền, kho và bảng giá. Sau đó xóa và thêm lại mặt hàng, hoặc tính lại giao dịch. |
| Một quy tắc không mong muốn được áp dụng | Tìm các quy tắc đang bật khác cùng khớp mặt hàng và đối tượng. Xem lại cài đặt ưu tiên và áp dụng nhiều quy tắc. |
| Chiết khấu biến mất sau khi đổi đơn hàng | Số lượng, giá trị, đối tượng, ngày hoặc bảng giá đã đổi có thể không còn đạt điều kiện. Kiểm tra lại các trường điều kiện. |
| Hàng tặng quay lại sau khi đã xóa | Bật Không bắt buộc số lượng mặt hàng tặng nếu người dùng được phép đổi hoặc xóa quà đã lấy. |
| Quy tắc tích lũy không kích hoạt | Kiểm tra Số tiền tối thiểu, Số tiền tối đa, thời hạn hiệu lực, đối tượng, mặt hàng và trạng thái giao dịch. Chiết khấu áp dụng cho giao dịch đủ điều kiện làm vượt ngưỡng, không áp ngược cho các giao dịch trước đó. |
Câu hỏi thường gặp
Được. Áp dụng quy tắc cho một nhóm mặt hàng cha phù hợp, như "All Item Groups", hoặc dùng quy tắc cấp giao dịch. Quy tắc rộng nên có giới hạn rõ về đối tượng, thời hạn hoặc giá trị để tránh chiết khấu ngoài ý muốn.
Được. Chọn Bán hàng, đặt Áp dụng cho là Khách hàng và chọn khách hàng đó.
Không. Quy tắc chỉ đổi kết quả trên các giao dịch đủ điều kiện. Giá mặt hàng gốc vẫn dùng cho các giao dịch không đạt điều kiện.
Có. Bật Vô hiệu hóa. Hãy cập nhật ngày hiệu lực và xem lại các điều kiện trước khi bật lại.
Dùng quy tắc giá cho kết quả có điều kiện trực tiếp. Dùng chương trình khuyến mãi khi một chiến dịch cần nhiều mức số lượng hoặc số tiền, và sẽ sinh ra nhiều quy tắc giá.