SAP Business AI, Explained

Purchase Requisition Agent in Joule Studio: A Design Walkthrough

How to design a conversational purchase requisition agent in Joule Studio: three narrow tools, a policy check, and approval above a set amount before SAP.

For Process owners, SAP consultants, Developers

In 30 seconds
What it is A requisition agent that drafts, checks policy and waits for approval above a threshold.
You use it when You are scoping a conversational procurement agent and need to decide its tools, policy checks and approval threshold.

A purchase requisition agent should draft and check policy, then wait for a named approver above the threshold before creating anything in SAP The agent turns a chat into a clean draft. Policy checks and people decide what reaches SAP.

Part 19 of 26 in SAP Business AI, Explained.

Raising a purchase requisition is a small task that eats a surprising amount of time. A conversational agent can take “I need twelve handheld meter-reading devices for the Al Quoz depot” and turn it into a correct draft. The agent finds the right item and checks the budget, and above a set amount a person approves before anything is created. Here’s how I’d design one, starting from a live Joule Studio demo shared on SAP Community.

What the agent does, briefly

  • An SAP Community post describes a live session where an SAP consultant built a purchase requisition agent in Joule Studio, from intent to a working preview.
  • The guardrails sit outside the model: a fixed policy check, an approval threshold, and SAP authorisations that apply to the person, not the agent.

A shop assistant who doesn’t sign cheques

This is the shop assistant you ask, not the stock-room sensor. You say what you need, and the assistant finds the product, checks it’s in stock and writes up the order slip. But the assistant doesn’t sign the cheque. For a small purchase you sign it yourself, and for a large one the manager does.

From chat message to requisition

  1. Understand the request. The agent asks follow-up questions only for missing details (quantity, delivery depot, date).
  2. Find the item. The agent reads the catalogue and any framework agreement. If nothing fits, it offers a free-text requisition.
  3. Check budget and policy. A fixed policy check, not the model, tests budget, preferred supplier and the approval threshold.
  4. Confirm and route. The employee confirms the draft. Below the threshold it goes ahead, and above it a named approver has to approve first.
  5. Create in SAP. The draft requisition is created with the requester’s identity, and your normal SAP approval rules still apply.

Swimlane: the employee asks, the agent drafts, a policy check tests budget and threshold, an approver decides, then SAP creates the requisition

What the live demo actually showed

In the SAP Community write-up, an SAP development consultant built the agent live from a community-voted procurement use case, with about 30 participants asking questions. Joule Studio went through four steps.

  • An intent summary, after clarifying questions such as which SAP S/4HANA deployment was in use and which requisition scenarios to support. A Quick Create option skips the questions and assumes standard processes.
  • A Product Requirements Document (PRD) covering purpose, users, scope and prioritised requirements, plus a recommended solution architecture.
  • A specification: the technical instructions for the coding step.
  • The build, with roughly 15 minutes of coding. Joule Studio generated the agent, one Model Context Protocol (MCP) server per required SAP interface (a small connector that lets the agent call that interface), and test cases.

In preview with mock data, the agent offered three ways to create a requisition: from a framework agreement, from a catalogue item, or as free text. Asked for “a new MacBook”, it checked framework agreements and catalogue items. The post is clear that the demo had no live system access (real integration would draw on SAP S/4HANA and SAP Ariba data), so the control design is still yours to do.

Twelve meter readers for the Al Quoz depot

(NextSAP Utilities is the fictional Dubai utility used across this site’s SAP content, and this conversation is invented too.)

This is agent 7 in the NextSAP register: conversational, custom-built in Joule Studio, at autonomy L3 “Act with approval”. Rashid, the Procurement Lead, owns it, and Hana, the AI Governance Lead, signed off its risk rating as medium.

NextSAP’s field and depot supervisors raise about 1,100 requisitions a month for meters, cables, tools and PPE, and 60 supervisors are eligible to use the agent. Around 60% of requisitions are catalogue items. Before the agent, about 30% came back for rework, and Rashid’s team estimates a supervisor spends 15 minutes on each, often fixing wrong material groups or cost centres.

A typical conversation:

  • A depot supervisor writes: “Twelve handheld meter-reading devices for the Al Quoz depot, needed by the 20th.”
  • The agent reads the catalogue and finds the contracted device at 1,450 UAE dirhams (AED) each, so AED 17,400 in total.
  • It checks the depot cost centre, which has AED 40,000 left this quarter. Budget is fine.
  • The policy check applies NextSAP’s rule that anything over AED 15,000 needs Rashid’s team. This one does.
  • The employee confirms the draft, and it waits for Rashid, who approves in his inbox with the agent’s summary and budget check attached.
  • Only then is the requisition created in SAP, under the supervisor’s identity, with SAP’s own release rules applying as usual.

A second request, for two insulated tool kits at AED 2,300 in total, passes the policy check, needs only the employee’s confirmation and is created in under two minutes. Rashid’s pilot target is to cut the 15 minutes to under 5 for catalogue items and to halve rework on wrong cost centres. Both are targets to measure, not results.

SAP lists Uniper as a customer that built a custom procurement agent in Joule Studio, so this is well-trodden ground for custom agents.

Who releases what?

Request type Agent role Who releases
Catalogue item, below threshold, budget available Drafts and creates after employee confirms Employee confirmation, then SAP rules
Catalogue item, above threshold Drafts and routes Named approver, then SAP rules
Framework agreement call-off Drafts with the agreement reference As above, by amount
Free text, no catalogue match Drafts, flags for buyer review Buyer, always
Budget exceeded or blocked supplier Explains and stops Not released. The request is refused with a reason

Where the agent’s job ends

The agent produces a complete, correctly coded draft with its evidence, and routes anything above the threshold to a named approver. It doesn’t decide whether a purchase is allowed. That’s for the policy check and the people involved. It also can’t change prices, suppliers or approval rules, or get around your SAP purchasing approvals and the requester’s authorisations.

Explain it to your CFO

  • Staff describe what they need in a chat, and the system prepares the request correctly and checks it against budget and our spending rules.
  • Large requests still need a named manager’s approval, and our existing finance approvals don’t change.

Three settings to agree before go-live

  • What’s the approval threshold? I’d start low, for example AED 15,000, and raise it only after three months of clean results.
  • Can the agent create, or only draft? My default is that it creates a draft after the employee confirms and never submits on its own. The agent drafts, and the policy check and people release.
  • Who owns the policy rules? The procurement lead, as configuration outside the agent’s prompt, so they can be audited and changed without retraining anything.

Go deeper

Technical detail for architects and developers

In the demo, the specification named a Python agent framework, skill definitions and MCP server configurations for the coding step.

SAP’s AIJ200 lesson on creating an agent describes the lifecycle the demo used: business intent, PRD, technical specification, generated implementation, testing and deployment. Generated code is inspectable and can be managed in Git. The SAP product post adds that deployment registers the agent in Joule Work and in SAP AI Agent Hub.

For tools, I’d expose three MCP tools, each with an input schema and an output schema:

  • read_catalogue(query, plant) returns items, prices and agreement references. Read-only.
  • check_budget(cost_centre, amount) returns available budget and a pass or fail. Read-only.
  • create_draft_pr(items, cost_centre, requester, approval_ref) creates a draft and returns its number. It must reject a call above the threshold without a valid approval_ref.

These are my design names, not SAP application programming interface (API) names. Behind them, the generated MCP servers wrap the released SAP APIs your tenant uses. The MCP specification says servers must validate all tool inputs and implement access controls, and clients should ask for user confirmation on sensitive operations. I’d put the threshold check inside create_draft_pr as well as in the policy step, so a confused or manipulated model can’t skip it.

On identity, the SAP Community write-up says generated MCP servers don’t include technical user configuration, agents follow principal propagation enforced by the agent gateway, and authorisations remain the customer’s job. Design for the requester’s identity to reach SAP, so the requisition is created with their rights.

The same write-up notes that Joule Studio knows published SAP APIs, but custom OData (Open Data Protocol) services must be described manually in the intent or PRD. The deployed agent is A2A (Agent2Agent) enabled, so a sourcing agent could later receive a handover from it.

For evaluation, build a test set of 200 real, anonymised requests. Measure item match rate, cost centre accuracy, policy check agreement, and how often the agent asked an unnecessary question. Re-run it on every change to the prompt or tools.

Words you’ll hear

  • Purchase requisition (PR): an internal request to buy something, before it becomes a purchase order to a supplier.
  • Framework agreement: a long-term contract with a supplier that sets prices for repeated purchases.
  • Catalogue item: a pre-approved product with a fixed price that staff can order directly.
  • Approval threshold: the amount above which a named person must approve.
  • MCP (Model Context Protocol): an open standard for plugging tools into agents, a bit like a universal power socket.
  • Principal propagation: passing the real user’s identity through to the backend system, so actions run with their rights.
  • Preview: a test mode where you talk to the agent with mock data before deployment.

Keep going

Independent explainer, not affiliated with or endorsed by SAP SE. SAP, Joule and other SAP product names are trademarks of SAP SE.

Frequently asked questions

Did SAP really build a purchase requisition agent in 45 minutes?

An SAP Community post describes a live, unscripted session where an SAP consultant built one in Joule Studio, with the coding phase taking roughly 15 minutes. It ran in preview with mock data on an internal staging environment, so treat it as a prototype, not a production agent.

Should the agent create the requisition itself?

I recommend it creates a draft only after the employee confirms, and that anything above your threshold waits for a named approver. Your existing purchasing approval rules in SAP stay in force.

Which tools does the agent need?

Three narrow ones are enough to start: read the catalogue, check the budget, and create a draft requisition. Leave out tools that change suppliers, prices or approvals.

How does the agent get access to SAP?

Per the SAP Community write-up, generated MCP servers do not include technical user setup, agents follow principal propagation enforced by the agent gateway, and authorisations are set by the customer.

Further reading

Continue your trail

Knowledge completion

You now have the Joule Studio context.

Save this guide, continue to the next concept or return to the Knowledge Library with your context intact.

Knowledge Area

Joule Studio

4 resources in this area.

Joule Studio 4
Sachin H. Patil
Sachin H. Patil
SAP + AI · Joule Studio

Practical SAP notes, structured for review, reuse and long-term maintenance.

View profile →
Knowledge, not noise
Get the next FI-CA / Utilities deep dive in your inbox.

Spotted something out of date, or have a question about this topic? Corrections and questions are always welcome.

Send a note →
Pinch or tap Zoom to read the detail
HomeKnowledgeInsightsAI LabToolsProfile