Requisition → PO → goods receipt
Run procure-to-pay documents through an ERP correctly.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- SAP (ME21N/MIGO) · Odoo Purchase · SAP Ariba
- Class GUI-need label
HY· Hybrid
Digital-employee context
Project class assignments, not demonstrated employee capability or imported benchmark coverage. Acceptance criteria and value metrics are proposals; no ROI has been measured.
Procurement operations · Primary class
- Workflow
- Read quote/SOW → match catalog → fill missing fields → choose purchasing/sourcing route → confirm submission.
- Deliverable
- Purchase or sourcing request with item selection and attachments.
- Proposed acceptance
- Correct items, quantities, route and attachments; user confirmation; no duplicate request.
- Proposed metric · unmeasured
- Time to accepted request; manual touches; rework and duplicate-request rates.
The output is a purchase or sourcing requisition with selected items and attachments, at the intake stage of procurement.
- ServiceNow: Procurement product recommendation agent · Official documentation
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R05.09.01.01-T01 Create a cost-center purchase requisition in ME51N
Original instruction
SAP GUI for Windows is logged into sandbox S/4HANA client 100. From input/req_form.pdf create one purchase requisition in ME51N: M-1001 x40, M-1002 x15, M-2040 x2, plant 1010, purchasing group 001, account assignment K to cost center 10101301, delivery date 2026-11-20. Write the PR number to output/pr.txt.
- Platforms
win· Windows- Applications
- SAP GUI (ME51N)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
type· Text & formskey· Shortcutsclick· Point & click- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Grader RFC read of EBAN/EBKN: one new PR, 3 items with exact MATNR/MENGE/WERKS/EKGRP, KNTTP K, KOSTL 10101301, delivery date; number equals output/pr.txt. SAP GUI scripting is disabled server-side (sapgui/user_scripting=FALSE) and the agent user has no RFC authorization.
Proposed partial credit
45% three items exact; 30% account assignment and cost center; 15% plant, PGr and date; 10% PR number recorded.
R05.09.01.01-T02 Convert a requisition into vendor-split POs using source list
Original instruction
In SAP GUI (sandbox), convert all 4 items of PR 10000412 into purchase orders with ME21N. Use the fixed source of supply from the source list, which yields one PO per vendor; take net prices from info records and payment terms and Incoterms (FCA + named place) from input/vendor_terms.xlsx. Do not change quantities or dates.
- Platforms
win· Windows- Applications
- SAP GUI (ME21N) · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
type· Text & formsclick· Point & clickmulti· Cross-app- Work product
WP08· App/system state- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
RFC read EKKO/EKPO/EKET: exactly 2 new POs, every item references BANFN/BNFPO of PR 10000412, NETPR equals EINE info-record price, ZTERM/INCO1/INCO2 per xlsx, MENGE and EINDT unchanged. GUI scripting disabled server-side.
Proposed partial credit
30% vendor split correct; 30% PR references on all items; 25% prices from info records; 15% terms and Incoterms.
R05.09.01.01-T03 Post a partial goods receipt with batches and QI stock in MIGO
Original instruction
Post the goods receipt for PO 4500017732 in MIGO from the scanned delivery note input/dn_77321.png. Use the handwritten corrected quantities, enter batch numbers and shelf-life expiry dates from the note, post item 30 into quality-inspection stock, and leave undelivered quantities open (no 'delivery completed' flag).
- Platforms
win· Windows- Applications
- SAP GUI (MIGO)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
type· Text & formsvis· Visual judgmentclick· Point & click- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
MATDOC/MSEG: movement 101, quantities equal the handwritten values (key), CHARG and VFDAT per batch, item 30 INSMK/stock type Q; EKPO ELIKZ blank on open items; EKBE history consistent. GUI scripting disabled; no RFC for agent user.
Proposed partial credit
35% quantities from handwriting; 25% batches and expiry dates; 25% item 30 to QI stock; 15% open items not closed.
R05.09.01.01-T04 Return damaged units to vendor with movement type 122
Original instruction
On macOS using SAP GUI for Java (sandbox), return 12 damaged units of M-3307 received with material document 5000012894 to the vendor in MIGO (Return Delivery, movement type 122), reason for movement 0002 'Damaged in transit', no output printing. Write the new material document number to output/return.txt.
- Platforms
mac· macOS- Applications
- SAP GUI for Java (MIGO)
- 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
- 3 / 5
Proposed verifier
MSEG: new doc with BWART 122, MENGE 12, GRUND 0002, LFBNR/LFPOS referencing 5000012894; EKBE PO history net received decreased by 12; doc number matches output/return.txt. Agent user lacks RFC and GUI scripting.
Proposed partial credit
40% movement 122 with qty 12 against right reference; 25% reason code; 20% PO history updated; 15% doc number recorded.
R05.09.01.01-T05 Set up a scheduling agreement with a monthly delivery schedule
Original instruction
In SAP GUI (sandbox), create a scheduling agreement in ME31L for vendor 17300080, material M-5500, plant 1010, target quantity 12,000 PC, validity 2026-11-01 to 2027-04-30, price from input/quote_5500.pdf. Then in ME38 maintain 6 schedule lines of 2,000 PC on the 5th of each month starting 2026-11-05.
- Platforms
win· Windows- Applications
- SAP GUI (ME31L/ME38)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & clickkey· Shortcuts- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
EKKO BSTYP L with KDATB/KDATE and vendor; EKPO KTMNG 12000 and NETPR per quote; EKET exactly 6 lines, EINDT on the 5th Nov-Apr, MENGE 2000 each. Grader reads via its own RFC user after the episode. SAP GUI scripting is disabled server-side (sapgui/user_scripting=FALSE) and the agent user has no RFC authorization.
Proposed partial credit
35% agreement header and validity; 20% target qty and price; 45% six schedule lines exact (pro rata per line).
R05.09.01.01-T06 Award a call for tenders to the compliant lowest bid in Odoo
Original instruction
Odoo 17 Purchase (sandbox) has call for tenders TND/2026/014 for 300 'USB-C Dock' with 3 vendor RFQs entered. Apply input/award_rule.md: lowest unit price among bids with lead time <= 14 days and vendor not on hold. Confirm that RFQ as a PO, cancel the other two, and close the tender.
- Platforms
web· Any OS (web)- Applications
- 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
- 3 / 5
Proposed verifier
DB read: winning purchase.order state 'purchase' and vendor equals key; other two 'cancel'; purchase.requisition state 'done'. Agent user has no API key; chatter tracking messages must be authored by the agent's web session.
Proposed partial credit
50% correct winner confirmed; 30% losers cancelled; 20% tender closed.
R05.09.01.01-T07 Receive a lot-tracked shipment and create a backorder
Original instruction
In Odoo Inventory, validate receipt WH/IN/00042 (PO P00118, 500 'Sensor Board v3', lot-tracked). The carrier delivered 480 units in 4 lots listed on input/packing_list.pdf. Enter those lots and quantities, validate, and create a backorder for the remaining 20.
- Platforms
web· Any OS (web)- Applications
- Odoo Inventory · 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
- 2 / 5
Proposed verifier
stock.move.line: 4 lot names and quantities exactly per packing list, picking state done; one backorder picking with 20 units in assigned/waiting; PO received qty 480. No API key issued to agent.
Proposed partial credit
50% lots and quantities exact; 30% backorder of 20; 20% receipt validated.
R05.09.01.01-T08 Three-way match a vendor bill and hold on quantity mismatch
Original instruction
Vendor 'Kestrel Components' sent invoice input/inv_KC-2291.pdf for PO P00121. In Odoo, create the bill from the PO, set lines and prices from the PDF, and compare billed quantities to received quantities. If any line bills more than received, keep the bill in draft and log a chatter note 'qty mismatch line N'; otherwise post it.
- Platforms
web· Any OS (web)- Applications
- Odoo Purchase · Odoo Invoicing
- 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
account.move: invoice lines linked to purchase.order.line, amounts per PDF (+/-0.01), ref KC-2291; seeded mismatch on line 2 so state must be draft and a note contains 'qty mismatch line 2'; posting the bill scores 0 on the hold milestone.
Proposed partial credit
35% bill linked to PO with correct lines; 25% amounts and reference; 40% held in draft with exact note.
R05.09.01.01-T09 Switch a warehouse to two-step receipts and run two POs through it
Original instruction
In Odoo Inventory, configure warehouse 'WH2' for 2-step incoming shipments (Input then Stock). Then process the receipts of POs P00130 and P00131 into WH2/Input and complete the resulting internal transfers to WH2/Stock with full quantities.
- Platforms
web· Any OS (web)- Applications
- Odoo Inventory
- 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
- 3 / 5
Proposed verifier
stock.warehouse WH2 reception_steps 'two_steps'; for both POs a done receipt to WH2/Input and a done internal transfer to WH2/Stock; stock.quant in WH2/Stock equals PO quantities, WH2/Input empty.
Proposed partial credit
30% route configured; 40% both receipts to Input; 30% internal transfers done and quants correct.
R05.09.01.01-T10 Allocate freight and duty as landed costs on a receipt
Original instruction
Receipt WH/IN/00057 (3 products, AVCO costing) has freight $1,240 (input/freight_bill.pdf) and import duty $860 (input/customs_entry.pdf). In Odoo, create and validate landed costs: freight split by weight, duty split by current cost. Report the new unit costs of the 3 products in output/unit_costs.csv.
- Platforms
web· Any OS (web)- Applications
- Odoo Inventory · Odoo Accounting
- 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
stock.landed.cost state done, linked to WH/IN/00057, two cost lines with split_method by_weight and by_current_cost_price; valuation adjustment lines per product within 0.01 of key; product standard_price and CSV match key.
Proposed partial credit
30% landed cost linked and validated; 40% correct split methods and adjustment amounts; 30% unit costs in DB and CSV.
R05.09.01.01-T11 Requisition policy-compliant furniture in Ariba guided buying
Original instruction
In an SAP Ariba Buying test realm (guided buying), requisition 2 ergonomic chairs and 2 monitor arms for cost center CC-410 from the catalog, picking items that comply with input/furniture_policy.pdf (preferred-supplier tag, chair under $650, arm load >= 9 kg). Add the business justification from the policy and submit for approval; do not approve.
- Platforms
web· Any OS (web)- Applications
- SAP Ariba
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader reads the requisition via the realm's reporting export: 2 lines with item ids in the compliant set (key), qty 2 each, cost center CC-410, justification present, status Submitted, no approval actions by the agent user. Ariba API application keys and integration credentials are withheld from the agent, so the requisition must be created in the guided-buying browser session.
Proposed partial credit
40% compliant items chosen; 20% quantities and cost center; 20% justification; 20% submitted, not approved.
R05.09.01.01-T12 Confirm a PO partially and send an advance ship notice as supplier
Original instruction
Signed into an Ariba Network supplier test account, confirm PO 4500018890 from 'Acme Test Buyer': line 1 confirm all; line 2 confirm 60 of 100 and backorder 40 with estimated date 2026-11-15; line 3 reject with comment 'Discontinued, see substitute SKU-88'. Then create a ship notice for line 1 with carrier and tracking from input/asn.txt.
- Platforms
web· Any OS (web)- Applications
- SAP Ariba Network
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 4 / 5
Proposed verifier
Test buyer endpoint receives cXML ConfirmationRequest: line statuses accept/detail(60+40 backorder dated 2026-11-15)/reject with comment; ShipNoticeRequest for line 1 with exact carrier and tracking. The cXML shared secret and Ariba APIs are withheld from the supplier account, so documents can only be sent from the Ariba Network portal session.
Proposed partial credit
45% line confirmations exact; 20% reject comment; 35% ship notice with correct tracking.
R05.09.01.01-T13 Run a packaging RFP and award by total landed cost
Original instruction
In SAP Ariba Sourcing (test realm), create RFP 'Packaging Q1-2027' with the 18 line items in input/pkg_items.xlsx, invite the 3 test suppliers and open it. A simulator submits bids. Award each line to the lowest landed cost (bid price + freight from input/freight_matrix.xlsx by supplier region), save the award scenario, and do not send award notifications.
- Platforms
web· Any OS (web)win· Windowsmac· macOS- Applications
- SAP Ariba Sourcing · Excel
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-appnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
long· Long-horizonmultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
Event export: 18 items with quantities/UoM per xlsx, 3 invitees, event opened; award allocation per line equals key computed from bids + freight; total award value within 0.5%; no notification records. UI event log required.
Proposed partial credit
25% event content correct; 15% suppliers invited and opened; 45% per-line awards; 15% no notifications sent.
R05.09.01.01-T14 Apply a supplier confirmation and release the changed PO
Original instruction
Supplier confirmation input/conf_4500017901.pdf changes item 20 net price to 18.40 EUR and item 10 delivery date to 2026-12-03. Apply both in ME22N; the change re-triggers release strategy S1. Then log on as APPROVER01 in a second SAP GUI session and release the PO with code 01 in ME29N.
- Platforms
win· Windows- Applications
- SAP GUI (ME22N/ME29N)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
type· Text & formsclick· Point & clickmulti· Cross-app- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
EKPO item 20 NETPR 18.40; EKET item 10 EINDT 2026-12-03; EKKO FRGKE released; CDHDR/CDPOS show changes by AGENT user and release by APPROVER01; no other fields changed. SAP GUI scripting is disabled server-side and neither user has RFC authorization, so changes must come from SAP GUI dialog sessions.
Proposed partial credit
30% price change; 30% date change; 30% released by approver session; 10% no collateral changes.
R05.09.01.01-T15 Run requisition to invoice end-to-end in SAP GUI
Original instruction
From request input/request_email.eml run the full chain in SAP GUI (sandbox): ME51N requisition, ME21N PO to vendor 17300096, MIGO receipt of quantities on input/dn_8812.pdf, and MIRO invoice input/inv_9921.pdf whose 1.8% price variance is within tolerance. Write all document numbers to output/p2p.json.
- Platforms
win· Windows- Applications
- SAP GUI (ME51N/ME21N/MIGO/MIRO)
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
type· Text & formsclick· Point & clickmulti· Cross-appvis· Visual judgment- Work product
WP08· App/system state- Conditions
licensed· Licensed pro applong· Long-horizonmultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
EBAN->EKPO reference, EKPO vendor and qty, MATDOC 101 qty per delivery note, RBKP/RSEG posted with amounts per invoice and price difference line, document numbers in JSON match. GUI scripting disabled; no RFC for agent.
Proposed partial credit
20% PR; 25% PO linked; 25% GR; 30% invoice posted with variance and document numbers in JSON.
R05.09.01.01-T16 Approve requisitions against remaining budget in Fiori My Inbox
Original instruction
In SAP Fiori launchpad (sandbox) as approver, process the 7 purchase-requisition items in My Inbox in creation order: approve each while its cost center's remaining budget in input/budget_2026Q4.xlsx covers it (deduct as you go), reject the rest with note 'Budget exceeded'.
- Platforms
web· Any OS (web)win· Windowsmac· macOS- Applications
- SAP Fiori · Excel
- Interfaces
brow· Browserdesk· Desktop GUI- 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
risk· Irreversible/risky- Proposed difficulty
- 3 / 5
Proposed verifier
EBAN release indicator per item vs key computed sequentially from budget; rejected items carry the note text; workflow log actor is the approver user via Fiori (OData service user disabled for direct calls).
Proposed partial credit
70% decisions correct (pro rata over 7 items); 20% rejection notes; 10% processed in order.
R05.09.01.01-T17 Control: post the lot receipt through Odoo external API
Original instruction
Control pair of T07. On a fresh copy of the same Odoo DB, use the external XML-RPC API with the key in input/api_key.txt to validate WH/IN/00042 with the 4 lots and quantities from input/packing_list.pdf and create the 20-unit backorder. Save the script as output/receive.py.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Odoo external API · Python
- Interfaces
api· API/SDKterm· Terminal- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
code· Code & commands- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Same DB checks as T07 (lots, quantities, backorder of 20, picking done); script present and re-runnable on another fresh copy with identical end state.
Proposed partial credit
50% lots and quantities; 30% backorder; 20% script reproduces state.
R05.09.01.01-T18 Release an approved requisition to a PO and post product receipt in D365
Original instruction
In Dynamics 365 Supply Chain Management (demo company USMF), create a purchase requisition for the 3 items in input/req_d365.xlsx with budget check, submit it through workflow (auto-approval configured), release it to a PO via 'Release approved purchase requisitions', confirm the PO and post a product receipt with packing slip PS-4471.
- 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 & formsnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
OData read by grader: requisition status Closed with 3 lines, purchase order linked and Confirmed, product receipt journal PS-4471 with quantities per xlsx. Agent has no Entra app registration for OData.
Proposed partial credit
25% requisition lines; 20% approved; 25% released and confirmed PO; 30% product receipt PS-4471.
R05.09.01.01-T19 Refuse a split-PO request and route one PO to approval
Original instruction
In Odoo Purchase, input/req_split.eml asks you to raise three $8,000 POs for 30 laptops from 'Northbridge Test Supplier' to stay under the $10,000 approval threshold. Follow input/procurement_policy.md. Create the correct purchasing document and log a chatter note citing the policy section you applied.
- Platforms
web· Any OS (web)- Applications
- 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
clarify· Ask when unclear- Proposed difficulty
- 3 / 5
Proposed verifier
Exactly one purchase.order for 30 laptops totaling $24,000, state 'to approve' (two-level approval), not confirmed; no other POs for this vendor; chatter note contains 'section 4.2' (split prohibition). Three POs scores 0.
Proposed partial credit
40% no split; 30% single PO in 'to approve'; 30% note citing the policy.
R05.09.01.01-T20 Receive deliveries from photographed notes with quarantine and backorders
Original instruction
Three deliveries arrived for PO P00140; their notes are photographed in input/dn_a.jpg, dn_b.jpg, dn_c.jpg (one has handwritten corrections, one has a 'DAMAGED' stamp on a line). In Odoo, receive the quantities actually delivered, move the stamped quantity to WH/Quarantine, and keep backorders only for still-missing quantities.
- Platforms
web· Any OS (web)- Applications
- Odoo Inventory
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
vis· Visual judgmentclick· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
stock.move.line quantities per key read from the photos; damaged qty moved to WH/Quarantine; open backorder quantities equal PO minus delivered; no over-receipt. Agent has no API key.
Proposed partial credit
45% received quantities; 25% quarantine move; 30% backorders correct.
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.