Conversational SAP
Ask it the way you would ask a person
No query language, no entity names, no transaction codes. A question in plain English comes back as figures, with the SAP field and the period they were computed from printed underneath.
- Finds the right data itself across a catalogue of the whole SAP surface
- Answers in seconds, not in a ticket queue
- Follow-ups keep their context: “break those down”, “just for org 5000”
- Every figure carries its source line
How much discount did we give last month, by condition type?
412.8m SAR in August 2026, across four condition types, 6.2% of gross order value. ZK02 customer rebate is the largest at 178.4m and is contractual. ZD01 is the one worth a look: it is the manual header discount, entered by hand, and it accounts for 94.1m across 1,208 orders.
SAR
Source: zsd_sales_order / A_SalesOrderItemPrcgElmnt · discount = sum of ConditionAmount · grouped by ConditionType · joined to header for the document date · August 2026
Assumed: discount means the condition types your pricing procedure configures as discounts: ZK02, ZD01, ZD02, ZK05. Freight, surcharge and tax conditions are excluded. Item-level rows carry no date of their own, so the period came from the header.
How it works
01
It searches your SAP, it does not guess at it
Your OData surface is ingested into a searchable catalogue: every service, entity set, field, type and key. A question is resolved against that catalogue, so the platform is choosing between entities that actually exist in your system rather than recalling what an SAP system usually looks like.
02
The query is built in code, not written by the model
One model call turns the question into a typed specification: which entity, which measure, which grouping, which period. Code executes it. The model never writes a filter string, never writes a date, and cannot name an entity outside the candidate list the platform assembled.
03
A follow-up resolves against the last answer
“Break those down”, “just for sales org 5000”, “and how many of those last year” each carry the previous question forward. What changes is one dimension; the rest of the plan is reused, so the second question costs what the first one did.
04
Arithmetic is arithmetic
Totals, deltas and percentages are computed in code and never asserted by a model. A percentage is the easiest number for a language model to get subtly wrong and the hardest for a reader to check by eye.
What it replaces
The normal path from a question to an answer in SAP runs through somebody else. A request, a queue, a specialist who knows which table holds the field you mean, and a report that answers the question you asked three weeks ago rather than the one you have now.
The cost is not mainly the waiting. It is that the second question (the one you only think of once you have seen the first answer) never gets asked at all, because asking is expensive.
What a good answer contains
A figure on its own is not an answer, it is an assertion. Every number AnrilX reports carries the entity set it was read from, the SAP field and aggregation behind it, the filter applied and the window covered:
Source: zsd_sales_order / ZA_SalesOrder · net revenue = sum of TotalNetAmount · Q3 2026
That line is what makes the difference between a number you have to trust and a number you can check. It is also what catches the one error nothing else can: a figure computed correctly from the wrong entity looks completely normal until you see which entity it came from.
Where it draws the line
The platform will tell you when a window was assumed because your question named no period, when a read came back incomplete, when a field name was repaired to the nearest match, and when one of your own business rules adjusted the figure. Each of those is a fact about the answer, and each is reported in the answer rather than in a log nobody opens.
Where it stops
What this capability will not do
Where this one stops, said here rather than discovered in a pilot.
-
A question with no answer in your data returns nothing, not a plausible substitute. Zero is a finding only when zero is the answer.
-
Context is scoped to the thread you are in. A question resting on something established in a different conversation has to restate it, because the platform does not carry assumptions between threads.
-
It reads what your own SAP authorisations permit. A question about data you cannot see returns nothing rather than a leak.
Questions people ask us
Do we need to know SAP table or entity names to ask a question?
No. You ask in business language (“which products are declining fastest”) and AnrilX resolves that against your own SAP catalogue. Entity and field names appear in the answer, under the figure, so you can check what was read.
How fast is an answer?
A compiled question (a figure, a breakdown, a comparison or a trend) typically returns in a couple of seconds, because only one model call is spent turning the question into a query and none at all executing it. Questions that need real reasoning take longer and are handled by a slower path.
What happens if it cannot answer?
It says so, and says why: the data is not there, the period is outside what the system holds, or the question cannot be expressed as a single query. An unanswerable question never becomes an invented answer.
Next
Self-building views
Describe the view. It builds itself.
Say what you want to watch and the dashboard assembles. Each panel stores the question rather than the answer, so it runs again against live SAP every time it is opened.
It learns your rules
It reports on your basis, not its own
Give it the documents you have already written (reporting standards, close policy, pricing guidelines), and it works out which figures each one governs.
From answer to action
Nothing reaches SAP unapproved
When something must change, the exact change and the exact SAP call are put in front of a person first. Approve it and it runs. Reject it and the reason becomes a constraint for the rest of the conversation.
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.