Separate qty-tolerance configuration for Material Request → Purchase Order, independent of PO → PR/PI overbilling settings
Hi, Buying Settings currently has a single, shared configuration that controls quantity tolerance across the purchase flow — it blocks users from creating a Purchase Order for quantity in excess of the Material Request, and this same setting/behavior is tied to the overbilling allowance used later in the flow (PO → Purchase Receipt and PO → Purchase Invoice).
Multiple clients have requested that these be decoupled: they want to control Material Request → Purchase Order qty tolerance independently from PO → PR/PI qty tolerance, since business rules for "can I raise a PO for more than requested" are often different from "can I receive/bill for more than ordered."
Current behavior One configuration (in Buying Settings) governs qty blocking/allowance and is effectively shared/coupled across the MR→PO step and the PO→PR/PI overbilling step. There is no independent way to set a different tolerance % (or hard block vs. allow-with-limit) specifically for MR→PO versus PO→PR/PI.
Requirement Introduce a separate, independent configuration for "Allowed Qty Over Material Request" (MR → PO), distinct from the existing overbilling/over-receipt allowance that governs PO → PR and PO → PI:
New setting: Qty Allowance % for MR → PO — controls how much (if any) a Purchase Order can exceed its linked Material Request quantity, per item or globally as per current UX pattern. Existing setting(s) for PO → PR and PO → PI qty/overbilling allowance remain unchanged and unaffected by the new MR→PO setting. The two configurations must be able to hold different values (e.g., MR→PO strictly blocked at 0% over, while PO→PR/PI allows 5% over) without one setting overriding or interfering with the other. Acceptance Criteria
New independent field(s) added (Buying Settings, or wherever appropriate) for MR→PO qty tolerance, separate from the existing PO→PR/PI overbilling allowance Creating a PO for qty greater than MR qty is validated against the new MR→PO setting only Creating a PR/PI for qty greater than PO qty continues to validate against the existing overbilling allowance, unaffected by the new setting Setting one configuration does not change or constrain the other (fully decoupled) Regression check: existing PO→PR/PI overbilling behavior unchanged for clients not using the new MR→PO setting
Regards, Deepak Singh
Source: frappe/erpnext