Production Plan does not surface unfulfilled Sales Order quantity after partial completion

We are implementing ERPNext for a lens manufacturing company. Our production flow involves consolidating multiple Sales Orders into a single Production Plan, which creates Work Orders for finished goods manufacturing. A core operational requirement is that any unfulfilled Sales Order quantity — due to in-process rejection, scrap, or partial production — must be re-plannable in a subsequent Production Plan or Work Order to complete the fulfilment cycle.

We have identified two distinct scenarios where this cycle breaks, depending on whether Sales Orders are consolidated into one Work Order or kept separate.


Scenario 1 — Consolidated Work Order (Sales Order link breaks)

  • Sales Order 1: Item A — 10,000 qty

  • Sales Order 2: Item A — 20,000 qty

  • Production Plan created against both Sales Orders — since both contain the same Item, Production Plan consolidates demand into a single planned qty of 30,000

  • 1 Work Order created: WO1 (30,000 qty) — consolidated across both Sales Orders

  • Issue: when Sales Orders are consolidated into a single Work Order, the Sales Order link field on the Work Order shows null — the connection to the originating Sales Orders is broken

  • As a result, Sales Order Item.produced_qty is never updated when WO1 completes

  • Actual production outcome: WO1 produced only 29,000 (1,000 lost to in-process rejection/scrap)

  • Since the Sales Order link is null and produced_qty is not updated, the system has no awareness that 1,000 qty remains unfulfilled

  • When a new Production Plan is created and the same Sales Orders are pulled in via Get Sales Orders, the pending 1,000 qty is not surfaced — no reliable way to add only the pending shortfall into the next Production Plan or Work Order

Scenario 2 — Separate Work Orders per Sales Order (Sales Order link exists but pending qty still not re-plannable)

  • Sales Order 1: Item A — 10,000 qty → WO1 (10,000 qty), Sales Order link field correctly populated

  • Sales Order 2: Item B — 20,000 qty → WO2 (20,000 qty), Sales Order link field correctly populated

  • Since the Sales Order link exists, Sales Order Item.produced_qty is correctly updated when each Work Order completes

  • Actual production outcome: WO1 produced only 9,000 (1,000 lost to rejection/scrap), WO2 produced full 20,000

  • Sales Order 1 correctly reflects produced_qty = 9,000 against ordered qty = 10,000 — the 1,000 shortfall is visible at Sales Order level

  • Issue: even with this correct rollup, when a new Production Plan is created and Sales Order 1 is not pulled in via Get Sales Orders, the system does not offer only the pending 1,000 qty — there is no mechanism to add the outstanding Sales Order balance (qty minus produced_qty) into a new Production Plan or a fresh Work Order to complete the fulfilment cycle


Core Gap — Pending Qty not re-plannable in either scenario

In both scenarios, the end result is the same: the unfulfilled Sales Order quantity cannot be cleanly added to a subsequent Production Plan or Work Order. The manufacturing fulfilment cycle has no native completion path for partial production outcomes. Planners are forced to track pending balances manually outside ERPNext.

The expected behaviour in both scenarios is:

  • System should allow the pending qty (Sales Order Item qty minus produced_qty) to be pulled into a new Production Plan run or directly into a new Work Order

  • The new Production Plan / Work Order should be linkable back to the original Sales Order so that produced_qty continues to accumulate correctly until the Sales Order is fully fulfilled

  • The Sales Order should remain open/partially fulfilled until the total produced_qty across all Work Orders equals the ordered qty

Query

  1. In both scenarios: is there a supported workflow to re-plan and complete the fulfilment cycle for a partially-produced Sales Order — i.e., create a follow-on Work Order or Production Plan linked to the original Sales Order that accumulates into produced_qty until the order is fully closed?

  2. Is there a roadmap item or GitHub issue covering either of these gaps?


Business Impact

In high-volume discrete manufacturing (our client produces 30,000+ units per day across 45+ SKUs), in-process rejection and scrap are a normal operational reality. The inability to re-plan and complete partially-fulfilled Sales Orders through ERPNext’s Production Planning means:

  • Planners cannot use Production Plan to manage backlog — pending quantities must be tracked in spreadsheets outside the system

  • Sales Order fulfilment status is inaccurate when consolidation is used (Scenario 1), making delivery tracking unreliable

  • The manufacturing cycle has no native completion path for partial production outcomes

Note: consolidation of identical Items across Sales Orders into a single Work Order (Scenario 1) is operationally essential for our manufacturing setup — batch efficiency requires fewer mould changeovers, a single consolidated material draw, and a single machine setup cycle. Reverting to separate Work Orders per Sales Order (Scenario 2) is not a viable workaround at scale, and even Scenario 2 does not resolve the re-planning gap.

Any guidance on the intended design, a supported workaround, or a roadmap item addressing this would be very helpful.