BOM & production planning (MRP)
Build BOMs and plan manufacturing orders and capacity.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Odoo MRP · SAP PP · Dynamics 365 SCM
- Class GUI-need label
HY· Hybrid
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R05.09.01.04-T01 Build a two-level BOM with operations from an engineering list
Original instruction
Odoo 17 MRP (sandbox) is open. From input/ebom_drone_frame.xlsx create the BOM for 'Drone Frame X4': 14 components across a top level and one sub-assembly 'Arm Kit' (its own BOM, quantity 4 per frame), plus operations Cut (WC-CNC, 12 min), Bond (WC-BOND, 20 min) and Inspect (WC-QC, 5 min) with components consumed at the right operation.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP · Excel
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-app- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
mrp.bom/mrp.bom.line: two BOMs, line products/quantities/UoM exact, Arm Kit qty 4; mrp.routing.workcenter: 3 ops with work centers and times; bom_line operation_id per spec. Agent has no API key.
Proposed partial credit
40% component lines; 20% sub-assembly structure; 25% operations; 15% consumption per operation.
R05.09.01.04-T02 Run replenishment for a demand spike and confirm generated orders
Original instruction
In Odoo MRP/Inventory, a sales order for 50 'Smart Thermostat T2' was confirmed. Run the replenishment (MTO + manufacture route already set), then confirm all resulting manufacturing orders and RFQs for components with insufficient stock.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP · Odoo Purchase
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
mrp.production for 50 units linked to the SO origin, confirmed; purchase.order lines for exactly the short components with quantities = shortage (key), state purchase; no duplicate RFQs.
Proposed partial credit
40% MO created and confirmed; 40% correct component POs; 20% no duplicates.
R05.09.01.04-T03 Apply an engineering change to open manufacturing orders
Original instruction
ECO-41 (input/eco41.pdf) replaces component 'Cap 10uF X5R' with 'Cap 10uF X7R' on BOM 'Main Board v2' effective now. In Odoo PLM, create and apply the ECO as a new BOM revision, then update all manufacturing orders not yet started to the new revision; leave in-progress orders unchanged.
- Platforms
web· Any OS (web)- Applications
- Odoo PLM · Odoo MRP
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
mrp.eco done; new BOM version active with substituted line, old archived; MOs in state confirmed use new BOM and raw moves reference X7R; MOs in progress unchanged.
Proposed partial credit
35% ECO applied with new revision; 45% unstarted MOs updated; 20% in-progress MOs untouched.
R05.09.01.04-T04 Close a production order with by-products, scrap and variances
Original instruction
In Odoo MRP, produce MO WH/MO/00077 (200 'Olive Oil 500ml'). Shop-floor sheet input/mo77_sheet.pdf reports 196 good units, 4 scrapped bottles, 2.1 kg pomace by-product and actual oil consumption of 101.6 L. Record these, scrap the 4 units with reason 'Breakage', and mark done with a backorder for none.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
MO state done, qty_produced 196; by-product move 2.1 kg; raw oil move quantity 101.6 L; stock.scrap 4 units with reason; no backorder MO.
Proposed partial credit
30% produced qty; 25% consumption; 25% by-product; 20% scrap and no backorder.
R05.09.01.04-T05 Reschedule work orders around a line outage on the Gantt
Original instruction
Odoo MRP work-order Gantt for Line 2 shows next week's 11 work orders. Maintenance takes Line 2 down Tuesday 08:00-14:00 (input/outage.txt). Drag work orders so none overlaps the outage, no two overlap on Line 2, operation order within each MO is kept, and every MO due this week still finishes by its deadline.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
mrp.workorder date_start/date_finished: no overlap with outage or each other on Line 2; precedence kept; all MOs finish <= date_deadline. The seeded schedule cannot be fixed by the auto-plan button (it ignores the unavailability). Odoo's /xmlrpc and /jsonrpc endpoints are firewalled, no API key is issued and browser devtools are disabled, so changes must come from the web client.
Proposed partial credit
35% outage cleared; 25% no overlaps; 20% precedence; 20% deadlines met.
R05.09.01.04-T06 Create a material BOM and routing in SAP PP
Original instruction
In SAP GUI (sandbox, plant 1010), create the production BOM for material FG-7720 in CS01 (usage 1) with the 9 items in input/bom_7720.xlsx (one is a phantom assembly, item category L), and a routing in CA01 with 4 operations on work centers and standard values from input/routing_7720.pdf. Assign components to operations.
- Platforms
win· Windows- Applications
- SAP GUI (CS01/CA01) · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & clickmulti· Cross-app- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
RFC read STKO/STPO: 9 items, quantities, phantom indicator (SOBSL 50) on the right item; PLKO/PLPO: 4 ops, work centers, standard values; PLMZ component allocation per spec. GUI scripting disabled; agent has no RFC.
Proposed partial credit
35% BOM items; 15% phantom flag; 35% routing operations; 15% component allocation.
R05.09.01.04-T07 Run MRP and convert near-term planned orders to production orders
Original instruction
In SAP GUI (sandbox), run MRP Live (MD01N) for plant 1010 product family PF-A, review the stock/requirements list (MD04) of the 4 finished goods, and convert all planned orders with start date within 7 days into production orders (individually or via CO41). Do not convert later orders.
- Platforms
win· Windows- Applications
- SAP GUI (MD01N/MD04/CO41)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
click· Point & clicknav· Pan/zoom/scrolltype· Text & forms- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
PLAF/AFKO after episode: every planned order of PF-A with start <= today+7 converted (production orders exist with matching qty/dates), later planned orders remain; MRP run timestamp after task start. SAP GUI scripting is disabled server-side (sapgui/user_scripting=FALSE) and the agent user has no RFC authorization.
Proposed partial credit
20% MRP run; 60% correct conversions (no early or missing); 20% quantities and dates preserved.
R05.09.01.04-T08 Level an overloaded work center in the capacity planning table
Original instruction
In SAP GUI (sandbox) capacity planning table CM25 for work center WC-PRESS2, weeks 44-46 are overloaded (shown in red). Dispatch and drag operations so that no day exceeds 100% available capacity, operations stay in sequence within each order, and no order's finish moves past its basic finish date. Save the plan.
- Platforms
win· Windows- Applications
- SAP GUI (CM25)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
drag· Drag & dropnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
KBED/AFVV dispatch dates: daily load per WC-PRESS2 <= 100%; precedence within orders kept; order finish <= basic finish date; all overloaded operations dispatched. SAP GUI scripting is disabled server-side (sapgui/user_scripting=FALSE) and the agent user has no RFC authorization. Change documents must come from the planning table session.
Proposed partial credit
40% overload removed; 25% precedence kept; 25% due dates kept; 10% plan saved.
R05.09.01.04-T09 Confirm production operations with yield and scrap
Original instruction
In SAP GUI (sandbox) CO11N, confirm production order 1000331 from input/shift_report.pdf: operation 0010 final confirmation 480 yield, 12 scrap, 3.5 h machine; operation 0020 partial confirmation 300 yield. Let backflushed goods movements post; correct the one component with deviating actual consumption shown in the report.
- Platforms
win· Windows- Applications
- SAP GUI (CO11N)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
AFRU: two confirmations with yields/scrap/activities and final/partial flags exact; MSEG 261 backflush with corrected quantity for the deviating component; no extra confirmations. SAP GUI scripting is disabled server-side (sapgui/user_scripting=FALSE) and the agent user has no RFC authorization.
Proposed partial credit
35% op 0010 confirmation; 25% op 0020 partial; 30% corrected consumption; 10% no extras.
R05.09.01.04-T10 Version a formula and schedule a batch order in D365
Original instruction
In Dynamics 365 Supply Chain Management (demo, process manufacturing), create formula version 2 for item 'Cola Syrup' from input/formula_v2.xlsx (yield 1,000 L, 7 ingredients with scaling flags), approve and activate it with route RT-SYR, then create a batch order for 4,000 L, estimate and job-schedule it starting 2026-10-21.
- Platforms
web· Any OS (web)- Applications
- Dynamics 365 SCM · Excel
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-app- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
OData by grader: formula version 2 active and approved, 7 lines with quantities and scalable flags; batch order 4,000 L using version 2, status Scheduled, jobs from 2026-10-21; component estimates scale correctly.
Proposed partial credit
35% formula lines; 15% approval/activation; 25% batch order with right version; 25% scheduled jobs.
R05.09.01.04-T11 Reprioritize manufacturing orders by drag in Katana
Original instruction
Katana MRP (sandbox) Make view lists 16 open manufacturing orders. Reorder their priority by dragging rows so that orders for customers on input/priority_customers.txt come first (earliest delivery date first among them), then all others by delivery date, keeping blocked orders (missing materials) at the bottom.
- Platforms
web· Any OS (web)- Applications
- Katana MRP
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
MO rank order read from account state equals key sequence; Kendall tau >= 0.95 earns partial; blocked orders last. No Katana API key is issued to the agent, so rank changes can only be made by dragging rows in the web UI.
Proposed partial credit
40% priority customers first; 30% date order; 20% blocked last; 10% exact sequence.
R05.09.01.04-T12 Sequence a paint line on an APS Gantt to minimize changeovers
Original instruction
In Asprova APS on Windows, the paint line has 24 jobs next week in 6 colors. Resequence jobs on the Gantt chart (drag and lock) to minimize total changeover time from the color matrix in input/changeover.xlsx while meeting every due date, then save the project and export the dispatch list.
- Platforms
win· Windows- Applications
- Asprova APS · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
HY· Hybrid- Interaction primitives
drag· Drag & dropnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 5 / 5
Proposed verifier
Export parsed: all 24 jobs scheduled, no due-date misses, total changeover minutes <= reference optimum +10% (reference from MIP solver); locked jobs flag present. Agent cannot run Asprova scripting (macros disabled).
Proposed partial credit
30% feasible with no lateness; 50% changeover near optimum (full at 1.1x reference, linear to zero at 1.4x); 20% saved and exported.
R05.09.01.04-T13 Set up variant BOMs and read rolled-up costs
Original instruction
In MRPeasy (trial), create BOMs and a shared routing for 3 variants of 'Oak Shelf' (60/90/120 cm) from input/shelf_variants.xlsx, then read each variant's cost from the product cost breakdown and write them to output/costs.csv.
- Platforms
web· Any OS (web)- Applications
- MRPeasy · Excel
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Account export: 3 BOMs with components and quantities exact; routing with operations; costs.csv equals system cost per variant and key (+/-0.01).
Proposed partial credit
50% BOMs; 25% routing; 25% costs reported.
R05.09.01.04-T14 Reconstruct a manufacturing BOM from an assembly drawing
Original instruction
input/asm_drawing_VX9.pdf is a ballooned assembly drawing with a parts list partly cut off; balloons and quantities are only in the drawing views. In Odoo MRP, build the BOM for 'Valve VX9' with every part number and quantity, making 'Seal Kit' a kit (phantom) BOM of 3 parts as noted in the drawing notes.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP · PDF viewer
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
vis· Visual judgmentnav· Pan/zoom/scrolltype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
BOM lines vs key from the drawing (part numbers, quantities); Seal Kit BOM type phantom with 3 lines; missing or extra parts each deduct. Title-block parts list is incomplete by design, so counting balloons is required. Odoo's /xmlrpc and /jsonrpc endpoints are firewalled, no API key is issued and browser devtools are disabled, so changes must come from the web client.
Proposed partial credit
60% parts and quantities; 25% kit BOM; 15% no extra lines.
R05.09.01.04-T15 Roll up product cost and flag lines over target
Original instruction
In Odoo MRP, compute the BOM cost of the 5 finished goods in input/targets.csv using the BOM structure report (components + operations at work-center rates). Update each product's cost from BOM, then write output/cost_check.csv with product, rolled cost, target and a flag where cost exceeds target by more than 3%.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrolltype· Text & forms- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
product standard_price equals BOM roll-up (+/-0.01) for 5 products; CSV values and flags equal key.
Proposed partial credit
50% costs updated in DB; 30% CSV values; 20% flags correct.
R05.09.01.04-T16 Run a subcontracted production with component resupply
Original instruction
In Odoo MRP with subcontracting, PO P00160 orders 120 'Coated Bracket' from subcontractor 'Plating Test Co.'. Ensure the subcontract BOM exists (bracket raw + plating chemicals per input/subcon_bom.pdf), send the resupply transfer to the subcontractor, then receive 118 coated brackets, recording 2 rejected as scrap at receipt.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP · Odoo Purchase
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Subcontract BOM type 'subcontract' with lines per PDF; resupply picking done to subcontractor location; receipt 118 done, scrap 2 recorded; subcontract MO done with component consumption scaled; backorder per settings.
Proposed partial credit
25% BOM; 25% resupply; 35% receipt and MO; 15% scrap.
R05.09.01.04-T17 Build a lot-tracked assembly from a work order in NetSuite
Original instruction
In a NetSuite sandbox with manufacturing enabled, create a work order for 25 'Pump Assy P3' from its assembly BOM, then post an Assembly Build consuming components with lot numbers from input/lots_p3.csv and assigning finished lot P3-2610-A. Close the work order.
- Platforms
web· Any OS (web)- Applications
- NetSuite
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Saved search by grader: work order 25 units Closed; assembly build with component lot assignments per CSV and output lot P3-2610-A qty 25; inventory per lot updated.
Proposed partial credit
25% work order; 45% component lots; 20% output lot; 10% closed.
R05.09.01.04-T18 Move operations to an alternate resource around maintenance in Opcenter APS
Original instruction
In Siemens Opcenter APS (Preactor) on Windows, Mill-1 has a maintenance block Thursday 06:00-18:00. Drag the affected operations to alternate resource Mill-3 where its capability allows (input/capabilities.xlsx), otherwise delay them after the block, keeping all orders on time where possible. Save and report late orders in output/late.txt.
- Platforms
win· Windows- Applications
- Opcenter APS · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Schedule export: no operations on Mill-1 during the block; Mill-3 only gets capable operations; no overlaps; late-order set equals minimal key set (from solver) or late count <= key; output/late.txt matches. Opcenter's .NET API and data-import scripts are disabled for the agent profile, so moves must be made on the Gantt board and saved by Opcenter.
Proposed partial credit
35% block cleared; 25% capability respected; 25% lateness minimal; 15% report.
R05.09.01.04-T19 Plan a rush order to capacity and record the shortfall
Original instruction
Customer request input/rush_req.eml wants 400 'Gear Housing GH2' by Friday 2026-10-23. In Odoo MRP, plan manufacturing orders on the existing work-center calendars without overtime or double-booking; schedule as many as can finish by Friday, put the rest in a separate MO after Friday, and log the shortfall on the sales order chatter.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP · Odoo Sales
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
MO quantities: by-Friday MO qty equals key capacity (260) +/-0; second MO 140 scheduled after Friday; no work-center overloads; SO chatter note states 260 by Friday and 140 later.
Proposed partial credit
40% max feasible quantity planned; 25% remainder MO; 20% no overload; 15% shortfall note.
R05.09.01.04-T20 Run a make-to-order flow from sales order to delivery
Original instruction
In Odoo (sandbox), for SO S00210 (30 'Custom Cabinet' + 30 'Door Set'), run the full MTO flow: two-level MOs from the BOMs, component POs from preferred vendors, receive components (input/receipts.pdf, one short delivery with backorder), produce sub-assemblies then finished goods, and deliver to the customer. Save output/mto_docs.json listing every document.
- Platforms
web· Any OS (web)- Applications
- Odoo MRP · Odoo Purchase · Odoo Inventory
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scrollmulti· Cross-app- Work product
WP08· App/system state- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Document chain via origin links: MOs (2 levels) done with produced qty, POs confirmed and received per PDF incl. backorder, delivery done with 30+30; JSON lists all document names and matches DB.
Proposed partial credit
20% MOs generated; 20% POs; 20% receipts incl. backorder; 40% production and delivery done with complete JSON.
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.