Skip to content
AnrilX
All SAP modules
FI/CO

Finance & Controlling

Variance, margin, and what actually moved them

Cost centres, internal orders, profit centres and the postings behind them: variance against plan, with the drivers ranked rather than asserted.

See it answer one of these

Ask it

Questions you can ask on day one

Asked in plain language. Each answer prints the SAP entity, field and period it was computed from, underneath the figure.

  • “Which cost centres are over budget, and what drove it?”
  • “Where did margin go this quarter?”
  • “What is still open past terms?”
  • “How does this quarter's revenue compare with the same quarter last year?”
  • “Which customers account for the largest share of overdue value?”
  • “What did we bill against what we shipped last month?”

What it reads

The finance objects behind an answer

Cost centres and internal orders

Actual against plan, by period, with the postings that produced the difference.

Profit centres

Contribution by organisational slice, grouped by something a person recognises rather than by a code.

General ledger postings

The line items behind a balance, which is where a variance stops being a number and becomes an explanation.

Accounts receivable

Open items by customer and age, against the terms each was agreed on.

Accounts payable

What is owed, to whom, and when it falls due.

Why it is hard

What no standard report does for you

The number you need is a calculation, not a column

Margin, variance against plan, effective discount rate, the cost of a delay; none of these is stored anywhere. They are arithmetic across modules, which is why they end up in a spreadsheet maintained by one person who knows the conventions.

Every figure has a basis, and the basis lives in a document

Your reporting standard says which allowances apply and which figures may circulate. That document is real and it is not inside the system computing the numbers, so compliance depends on whoever built the report having remembered it.

Two sides of a reconciliation live in different modules

What you charged and what you paid have different keys, different grains and often different currencies. Reconciling them is not one query, and a tool that presents it as one is hiding an assumption.

Reconciliation, done as reconciliation

“What did we bill against what we shipped” is two figures from two different entity sets, and the useful part of the answer is whether they agree.

AnrilX compiles each side as its own query, runs both through the same executor, and computes the verdict arithmetically. A verdict a model asserts is indistinguishable from one a model invented, and a reconciliation you cannot trust is worse than none, so where one side cannot be read, it is excluded and reported as excluded rather than quietly counted as agreement.

Your basis, applied without being asked

Finance figures are rarely raw. There is an allowance, a category that is excluded, a rounding convention, a rule about which version of a number may leave the building. That basis is written down somewhere, and it is not in the system doing the arithmetic.

Upload the standards you already have and AnrilX works out which figures each governs. A governed answer names the document it applied and marks the unadjusted figure clearly, so the raw number is still available to whoever needs it, and cannot be circulated by accident.

Forward as well as back

Finance is the module where “what happens next” is asked most often. Forecasts are trained on your own SAP history and backtested against whole periods the model never saw, with the resulting error reported alongside the forecast rather than kept internal. Above a fixed error threshold the platform shows no figures at all.

One of these questions, answered

Which cost centres are over budget, and what drove it?

Seven cost centres, 8.4m SAR over plan year to date. Maintenance 4100 is most of it at 3.1m, and the driver is not maintenance: 2.6m of that is an internal activity allocation from plant 1000, posted monthly since March. The cost centre is carrying it rather than causing it.

Cost centre Actual · plan
4100 · Maintenance 11.9m · 8.8m SAR
2200 · Logistics 6.4m · 5.1m SAR
3300 · Quality 2.9m · 2.4m SAR
7 cost centres +8,412,770.15 SAR

Source: A_CostCenter and I_ActualPlanJournalEntryItem · actual and plan by CostCenter and CostElement · allocation lines separated by their origin object · 2026 to date

Assumed: budget means the plan version currently active, not last year's actuals. Allocations are reported against the receiving cost centre and the sending one is named, because charging the variance to whoever received it explains nothing.

Where it stops

What it will not answer here

The limits particular to this module. Worth knowing before a pilot rather than during one.

  • Where one side of a reconciliation cannot be read, it is excluded from the verdict and said so. It is never counted as agreement.

  • Currencies are never mixed into a single total. A figure spanning several is split by the currency its documents carry.

  • Margin and contribution depend on which cost components your CO configuration actually posts. The answer names the elements it included rather than presenting a composition you cannot see.

Questions people ask us

Can it apply our reporting standard automatically?

Yes. Upload the standard and AnrilX works out which figures it governs, applies it when those figures are reported, and names the document in the answer. The unadjusted number is shown alongside and marked as unadjusted.

How does it reconcile two figures?

Each side is compiled as its own query and run through the same executor, and the verdict (whether they line up) is arithmetic rather than a model's claim. A wrong verdict asserted in prose is indistinguishable from a right one.

Can it explain a variance rather than just report it?

It ranks the contributors, so a variance comes with what moved it rather than as a single number you then have to go and investigate.

Bring the question your reports cannot answer

Thirty minutes against a live SAP system we provide: no access to yours, nothing to set up. If it cannot answer, you find that out in half an hour rather than three months into a pilot.