App catalogue Supply chain and planning

Excess and obsolete inventory review

Finds stock with cover above a threshold or a long idle time, gives each position to its planner with the options, and posts the decision in the ERP.

SCREENSDATA HANDLERSSOURCE OBJECTS, READ IN PLACES01 Excess positionsscreenS02 Position detailscreenS03 DispositionscreenS04 Finance reviewscreenS05 Warehouse executionscreendh_stockStock positiondh_materialMaterial masterdh_forecastForecastdh_soSales order linedh_batchBatchS/4HANAMARD · MCHB · MATDOC_EXTRACTS/4HANAMARA · MARC · MAKTS/4HANAPBIM · PBEDS/4HANAVBAK · VBAP · VBEPS/4HANAMCH1 · MCHA · MCHBrows 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.
6 days
of configuration to a production-grade version
estimate
6
screens, desktop and mobile
catalogue
6
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 the excess list is a quarterly extract that a planner sorts in a spreadsheet, and the decisions live in the email thread where finance asked about the reserve. By the time the warehouse scraps a batch, the list is 3 months old.

The app reads every stock position with its value, its last movement and the forecast and open sales orders it serves, and computes months of cover. A position above the cover threshold, or idle for more than 180 days, opens a case for the material planner of the plant with the same material's cover at every other plant beside it. The planner proposes a disposition: sell at a discount, transfer to a plant that needs it, rework, return to the supplier, scrap, or keep with a reason. Sales, quality and the controller confirm their part, the warehouse posts the movement from a handheld, and finance sees the reserve move with each decision.

Who takes part

Data-driven app: starts from the records a criterion selects; each record launches its own flow

LaneDoes
Material plannerreviews the position and proposes the disposition
Salesfinds a customer for a discounted sale or confirms a transfer to a sister plant
Qualityconfirms rework is feasible or marks the batch for scrap
Controllerapproves scrap above the limit and confirms the reserve
Warehouseposts the transfer or the scrap from a handheld
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 Excess positionsgrid of positions with on-hand, value, months of cover, days since last movement, batch expiry; filter by plant, material type and planner; open button
S02 Position detailstock by storage location and batch, 12-month forecast and open sales orders, receipts and issues over 24 months as a chart, cover at other plants; propose button
S03 Dispositionoptions: sell at a discount, transfer to a plant, rework, return to supplier, scrap, keep with reason; quantity, target plant or customer, discount; note; submit
S04 Finance reviewproposed dispositions with value and reserve effect; approve or return; reserve total by plant against the excess value
S05 Warehouse executionmobile screen: batch scan, quantity confirmed, transfer or scrap posting button, material document shown
S06 Boardexcess value by plant and material group, reserve, dispositions by type, value released this quarter
Data handlers

6 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
Stock positionon-hand, blocked and batch quantities, value and last movement per plant and storage locationS/4HANA · Oracle Fusion · Snowflake · Databricks
Material mastertype, plant status and lead timeS/4HANA · Oracle Fusion · Snowflake · Databricks
Forecastthe next 12 months of demand for the cover calculationS/4HANA · Oracle Fusion · Snowflake · Databricks
Sales order lineopen sales orders as firm demandS/4HANA · Oracle Fusion · Snowflake · Databricks
Batchexpiry and status of the batches heldS/4HANA · Oracle Fusion · Snowflake · Databricks
Journal linethe reserve posted so far for the material groupS/4HANA · Oracle Fusion · Snowflake · Databricks

Written back

ObjectWhat changes
Stock positiontransfer to another plant or scrap posted as a goods movement; quantity moved to blocked stock while a decision is open
Material masterplant status set to phase-out so planning stops creating new orders
Journal linethe agreed reserve change posted as a journal at month end
The flow

From the trigger to the last write

THE FLOW · EXCESS AND OBSOLETE INVENTORY REVIEW1Position selectedcase opened for the plant'smaterial planner; cover atother plants and batchexpiry shown2Disposition proposedplanner chooses an optionwith a quantity; a salegoes to sales, a rework toquality, a scrap to thecontroller3Function confirmedsales names a customer or areceiving plant; qualityconfirms rework or marksthe batch for scrap4Finance approvedscrap above 10,000, or anychange to the reserve,approved by the controller5Postedtransfer, scrap or statuschange posted in the ERP;reserve updated; caseclosed with the materialdocument
Each step and the criterion that moves it.

Start: A stock position worth more than 5,000 whose on-hand quantity covers more than 12 months of forecast and open orders, or whose last movement is older than 180 days.

# start criterion, in canonical fields; each system page shows it in that system's fields
{stock.value} > 5000 and ({stock.on_hand} > 12 months of {forecast.qty} + {so.qty} or {stock.last_movement} < today - 180)

StepMoves when
Position selectedcase opened for the plant's material planner; cover at other plants and batch expiry shown
Disposition proposedplanner chooses an option with a quantity; a sale goes to sales, a rework to quality, a scrap to the controller
Function confirmedsales names a customer or a receiving plant; quality confirms rework or marks the batch for scrap
Finance approvedscrap above 10,000, or any change to the reserve, approved by the controller
Postedtransfer, scrap or status change posted in the ERP; reserve updated; case closed with the material document
Actions, clocks and measures

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

ComponentTrigger → action → outcome
dd_dispositionon change → show the fields the option needs (target plant, customer, discount, rework order) → keep the quantity within on-hand
btn_proposeon click → route the case to sales, quality or the controller by option and value → start the 5-day clock
btn_poston tap → call the ERP goods movement interface with the transfer or scrap movement for the scanned batch → store the material document number, close the case
btn_phase_outon click → set the plant material status to phase-out through the material interface → stop new planned orders, refresh S01

Clocks

StepTime limit and escalation
Planner proposal5 working days, then the supply chain lead is reminded
Finance approval3 working days, then the plant controller's lead is copied
Execution10 working days, then the warehouse lead is reminded and the case is flagged on S06

Measures

excess value by plantvalue released per quartercases decided within 5 daysreserve as a share of excess valuepositions with a movement within 60 days of review
A day with the app

Illustrative

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

On the first Monday of the quarter the app listed 412 positions at the Lyon plant worth 3.8 million, 60 of them idle for a year. Thomas, the planner for pumps, proposed a transfer of 1,200 seals to the Poznań plant at 09:40 because that plant's cover was 3 weeks; the Poznań planner accepted by 11:00 and the warehouse posted the transfer at 15:20 from a handheld. Sales found a customer for 2 of his other positions by Wednesday, and the controller approved a scrap of 14,000 on Thursday with the reserve updated the same minute. The board showed the plant lead 620,000 released in the quarter and the reserve falling with it.

illustrative scenario · Excess and obsolete inventory review
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

CoverThe months of demand the on-hand quantity serves: on hand divided by the average monthly forecast and orders.
ReserveThe amount finance sets aside against stock that may sell below its book value.
Movement typeThe code on a goods movement that says what happened: transfer, scrap, receipt or issue.
Questions

How long does it take to have this running?

About 30 minutes to a first running screen on your live rows, and 6 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?

Every role in this app is inside the company; an outside role can be added as a lane with a portal screen.

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.