App catalogue Procurement

Contract renewal and approval

Opens a case 90 days before a purchasing contract expires, shows consumption against target value, and carries the renew, renegotiate or lapse decision through legal and the category lead.

SCREENSDATA HANDLERSSOURCE OBJECTS, READ IN PLACES01 Expiring contractsscreenS02 Contract reviewscreenS03 Supplier termsscreenS04 Legal reviewscreenS05 Approvalscreendh_contractPurchasing contractdh_poPurchase order linedh_vendorSupplier masterdh_invoiceSupplier invoiceS/4HANAEKKO · EKPOS/4HANAEKKO · EKPO · EKET · EKBES/4HANALFA1 · LFB1 · LFM1S/4HANARBKP · RSEGrows stay in the source · access rules apply at read time · writes go through the source's released interface and are confirmed
The screens, the data handlers behind them and the objects each handler reads in place on S/4HANA. Other systems have their own page.
5 days
of configuration to a production-grade version
estimate
6
screens, desktop and mobile
catalogue
4
data handlers, read in place
catalogue
4
systems with a page for this app
catalogue
3
clocks with escalation
catalogue
What it does

Today, and with the app

Today a buyer learns that a contract has expired when the ERP stops a call-off against it, and the consumption figure comes from a report run for the occasion. Legal receives the new terms as a scanned attachment.

The app watches every purchasing contract's validity and opens a case 90 days before expiry for its buyer, with 12 months of call-offs by month, consumption against the target value, the prices against the last 3 purchase orders and any open orders dated beyond expiry. The buyer chooses to renew, renegotiate or let the contract lapse and records the reason. For a renegotiation the supplier confirms prices and validity on the portal screen, legal reviews the changed clauses, and the category lead approves. The app then changes the validity and target value, or creates the new contract, in the ERP through the contract interface.

Who takes part

Process app: lanes and boxes first, then screens per box, then roles, then the criteria on each arrow

LaneDoes
Buyerreviews consumption and prices and proposes the option
Supplierconfirms new prices and validity on the portal screen and uploads the signed document
Legalreviews changed clauses
Category leadapproves the renewal or the lapse
Screens

6 screens, composed from the handlers

Every screen renders for desktop and mobile; portal screens are the same screens delivered to an outside login.

ScreenWhat is on it
S01 Expiring contractsgrid of contracts with supplier, valid-to, target value, released value as a percentage, call-offs in the last 12 months, days to expiry; filter by category and buyer; open button
S02 Contract reviewconsumption chart by month, contract prices beside the last 3 purchase orders, supplier block status and payment terms, open orders dated beyond expiry; options: renew, renegotiate, lapse; reason; submit
S03 Supplier termsportal screen: proposed validity, target value and price list; accept or counter; upload of the signed document
S04 Legal reviewchanged clauses highlighted against the current contract; approve or return with a note
S05 Approvalsummary with consumption, price change in value, legal result; approve or return; note
S06 Trackercontracts by stage and days to expiry; contracts lapsing this month; value renewed this quarter
Data handlers

4 objects, read where they live

The first object is the main one; each system page shows the real table or resource behind every handler.

ObjectWhy the app reads itSee it on
Purchasing contractvalidity, target value, released value and buyerS/4HANA · Oracle Fusion · Snowflake · Databricks
Purchase order linecall-offs against the contract in the last 12 months and open orders beyond expiryS/4HANA · Oracle Fusion · Snowflake · Databricks
Supplier masterblock status, payment terms and contactsS/4HANA · Oracle Fusion · Snowflake · Databricks
Supplier invoiceamounts paid against the call-offsS/4HANA · Oracle Fusion · Snowflake · Databricks

Written back

ObjectWhat changes
Purchasing contractvalidity and target value extended, or a new contract created with the agreed prices; a lapse recorded with the reason
Purchase order lineopen order lines dated beyond expiry moved to the new contract or closed
The flow

From the trigger to the last write

THE FLOW · CONTRACT RENEWAL AND APPROVAL1Contractselectedcase opened 90 daysbefore expiry for thebuyer with 12 monthsof consumption andopen orders beyondexpiry2Option chosenbuyer chooses renew,renegotiate or lapsewith a reason;consumption below 30percent needs a notefor the category lead3Supplier termsfor a renegotiationthe supplier confirmsprices and validityon the portal within10 working days4Legal clearedchanged clausesapproved; a renewalwith unchangedclauses skips thisstep5Approvedcategory leadapproves; above 1million the head ofprocurement signs aswell6Contractupdatedvalidity and targetvalue changed, or thenew contract created,in the ERP; openorders beyond expirymoved; case closed
Each step and the criterion that moves it.

Start: A purchasing contract whose validity ends within the next 90 days.

# start criterion, in canonical fields; each system page shows it in that system's fields
{contract.valid_to} <= today + 90 and {contract.valid_to} >= today

StepMoves when
Contract selectedcase opened 90 days before expiry for the buyer with 12 months of consumption and open orders beyond expiry
Option chosenbuyer chooses renew, renegotiate or lapse with a reason; consumption below 30 percent needs a note for the category lead
Supplier termsfor a renegotiation the supplier confirms prices and validity on the portal within 10 working days
Legal clearedchanged clauses approved; a renewal with unchanged clauses skips this step
Approvedcategory lead approves; above 1 million the head of procurement signs as well
Contract updatedvalidity and target value changed, or the new contract created, in the ERP; open orders beyond expiry moved; case closed
Actions, clocks and measures

What the components do, what the clocks enforce, what the board shows

ComponentTrigger → action → outcome
dd_optionon change → show the fields the option needs (new validity, target value, price list or lapse reason) → route a renegotiation to the supplier and a lapse to the category lead
btn_send_termson click → create the portal request with the proposed terms → start the 10-day supplier clock
btn_legal_clearon click → record the legal decision on the clause set → move the case to approval, notify the buyer
btn_update_contracton click → call the ERP contract interface to change validity and target value or to create the contract → store the number, close the case, refresh S01

Clocks

StepTime limit and escalation
Buyer proposal10 working days from case open, then the category lead is reminded
Supplier reply10 working days, then the buyer is reminded and the supplier's account manager is copied
Approval3 working days, then the case escalates to the head of procurement; a contract within 30 days of expiry moves to the top of S06

Measures

contracts renewed before expiryconsumption against target valueprice change from renegotiationlapsed contracts with open orders beyond expirydays from case open to contract update
A day with the app

Illustrative

Names, places and figures are illustrative; the pattern is the catalogue's.

On 3 March the app opened a case for a logistics services contract expiring on 1 June, and showed Sofia, the category buyer in Milan, that 84 percent of the 2 million target value was consumed and that the rates sat 6 percent below the latest quotes. She chose to renegotiate at 10:15; the supplier confirmed new rates on the portal on 12 March, legal cleared the 2 changed clauses in a day, and the category lead approved on 17 March at 16:40. The new validity and target value reached the ERP the same minute, and the tracker showed 23 more contracts expiring that quarter, 4 of them set to lapse.

illustrative scenario · Contract renewal and approval
On your systems

One page per system

The objects with their real names, the criteria in that system's fields, the write interface and what to set up first.

Other systems connect through the same handlers; see how SmartApps connect.

Terms on this page

Target valueThe total value a contract allows call-offs against.
Call-offA purchase order placed against a contract, drawing down its target value.
LapseLetting a contract end on its expiry date, with the reason recorded.
Questions

How long does it take to have this running?

About 30 minutes to a first running screen on your live rows, and 5 working days to the production-grade version described here, most of it spent agreeing screens and criteria with the process owner.

Which system does it run on?

Any of SAP S/4HANA, Oracle Fusion Cloud, Snowflake, Databricks, with the objects read in place; the pages above show the objects and the write path for each. Two systems at once is one handler per object per system.

Who takes part from outside the company?

Roles on portal screens see only the rows the access policy allows, and their steps are logged like everyone else's.

What does the audit record hold?

Every step, value, decision, notification and write-back acknowledgement of every instance, with the version of the app, append-only.

See this app on your data

Bring the process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.