Runs the monthly variance review on the live ledger: each cost center owner explains the lines above threshold, controllers consolidate, and the CFO sees the top 20.
Today the controller exports actuals and budget on working day 3, pastes them into a workbook and emails each cost center owner a tab. The explanations come back in every format over 2 weeks, and the summary for the CFO is assembled by hand.
The app compares actuals in the ledger with the plan version for every cost center line and opens a review item wherever the difference passes 5 percent and 25,000. The cost center owner sees the line with its journal entries, explains the variance and, where the cause is permanent, enters a revised forecast for the rest of the year. The business controller checks each explanation, consolidates by department and marks the variances that will recur. The group controller and the CFO see the top 20 by value with the explanations beside them, and the agreed forecast version is written back to the planning system.
| Function | Level | Does |
|---|---|---|
| Cost center owners | Level 1: cost center owner | explains each variance and revises the forecast |
| Cost center owners | Level 2: department head | signs the department's explanations |
| Controlling | Level 1: business controller | checks explanations and consolidates |
| Controlling | Level 2: group controller | reviews the consolidated view and the recurring items |
| Finance leadership | Level 1: CFO | reads the top 20 and records the actions |
Every screen renders for desktop and mobile; portal screens are the same screens delivered to an outside login.
| Screen | What is on it |
|---|---|
| S01 My variances | grid of the owner's cost center lines with actual, plan, variance and percent; status per line; open button |
| S02 Line explanation | journal lines behind the actual, 12-month trend chart, explanation field with cause category, revised forecast field, timing or permanent toggle; submit |
| S03 Department sign-off | every line of the department with its explanation; sign or return with a note |
| S04 Consolidation | controller view by department and account; accept, return or mark recurring; consolidated variance and forecast |
| S05 Top 20 | the 20 largest variances of the company with explanation, owner and action; decision and note |
| S06 Cycle board | explanations received, signed and open by department; days to deadline; forecast version status |
The first object is the main one; each system page shows the real table or resource behind every handler.
| Object | Why the app reads it | See it on |
|---|---|---|
| Budget line | plan and actual amount per cost center, account and period | S/4HANA · Oracle Fusion · Workday · Snowflake |
| Journal line | the journal lines behind each actual | S/4HANA · Oracle Fusion · Workday · Snowflake |
| Cost center | owner and company of every line | S/4HANA · Oracle Fusion · Workday · Snowflake |
| Employee | the owner's manager for the department level | S/4HANA · Oracle Fusion · Workday · Snowflake |
| Object | What changes |
|---|---|
| Budget line | revised forecast amount written to the forecast version of the planning system; explanation stored beside the line |
Start: On working day 3 after a period closes, every cost center line whose actual differs from plan by more than 5 percent and more than 25,000.
# start criterion, in canonical fields; each system page shows it in that system's fields
abs({budget.amount} - {budget.plan_amount}) > 0.05 * {budget.plan_amount} and abs({budget.amount} - {budget.plan_amount}) > 25000| Step | Moves when |
|---|---|
| Variance detected | review item opened for the cost center owner with the journal lines attached |
| Explained | explanation carries a cause category and, where the cause is permanent, a revised forecast |
| Department signed | department head signs by working day 6 |
| Consolidated | controller accepts every explanation; recurring items flagged |
| Top 20 reviewed | CFO records an action per item; forecast version written back by working day 9 |
| Component | Trigger → action → outcome |
|---|---|
| grd_variances | on open → read actual and plan for the owner's cost centers → colour the lines above threshold, show the count in the header |
| fld_forecast | on change → compare the revised amount with the run rate of the last 3 months → ask for a reason when the change is above 15 percent |
| btn_sign_department | on click → lock the department's explanations → open S04 for the controller, notify by message |
| btn_write_forecast | on click → call the planning interface with the agreed amounts → store the version number, update S06 |
| Step | Time limit and escalation |
|---|---|
| Explanation | 3 working days, then the owner is reminded and the department head is copied |
| Department sign-off | working day 6, then the item escalates to the business controller |
| Cycle | working day 9, then open items appear on the CFO's screen with an overdue flag |
Names, places and figures are illustrative; the pattern is the catalogue's.
On working day 3 at 07:30 the app opened 212 review items across the Lyon and Milan plants, 48 of them above 100,000. Marc, who owns the Lyon maintenance cost center, saw a 140,000 overrun, opened the journal lines behind it and found 2 turbine repairs booked in the same month; he explained the timing and moved the forecast for the second repair into the next quarter before 10:00. The controller consolidated on day 5, the CFO read the top 20 on day 8 with every explanation beside the figure, and the revised forecast version reached the planning system the same afternoon.
The objects with their real names, the criteria in that system's fields, the write interface and what to set up first.
Budget line read from BPGE · BPJA (budget) · ACDOCP (plan data); also on SAP ECC.
Open the S/4HANA page →Budget line read from Budgetary Control REST: controlBudgetBalances · EPM plans; also on Oracle E-Business Suite.
Open the Oracle Fusion page →Budget line read from Financial_Management: Get_Budgets · Get_Budget_Amendments; HCM / finance.
Open the Workday page →Budget line read from CONFORMED.BUDGET_LINE · CONFORMED.ACTUALS_MONTHLY; lakehouse.
Open the Snowflake page →Other systems connect through the same handlers; see how SmartApps connect.
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.
Any of SAP S/4HANA, Oracle Fusion Cloud, Workday, Snowflake, 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.
Every role in this app is inside the company; an outside role can be added as a lane with a portal screen.
Every step, value, decision, notification and write-back acknowledgement of every instance, with the version of the app, append-only.
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.