Skip to content
AnrilX
All capabilities

Apps

However the work arrives, it becomes SAP

An email, a WhatsApp message, a text file, or one sentence you type. AnrilX reads the work, builds the SAP documents it implies, and holds the whole batch for you to check before any of it is written.

  • Work arrives as email, WhatsApp, a text file or a sentence
  • A batch becomes SAP documents in one pass, under one approval
  • An app you describe exists: no release, no ticket
  • Read apps cannot reach a write tool at all
  • Write apps stop for a person, every time
See it live

Library · task apps

Library · task apps

The questions a team repeats become small screens rather than something retyped each morning. Each one is a saved question with a form around it, reading the same live SAP as everything else, and the ones that write go through the same approval gate as every other write.

Sales order creator SD · write, approved · open below
Order tracker SD · 4 inputs
Discount inspector SD · 2 inputs
Quotation builder SD · write, approved
Supplier price drift MM · 3 inputs
Three-way match exceptions MM · 2 inputs

Sales order creator

Sold-to party
152210 · Najd Contracting
resolved from the name as it was typed
Sales organisation
1600 · Riyadh
Distribution channel
10 · Direct sale
Division
01 · Components
Order type
OR · standard order
Requested delivery date
2026-10-02
earliest the ATP check allows is 2026-09-29
Customer PO number
PO-88412
Payment terms
ZB01 · 30 days net
from the customer master, not typed
Incoterms
CIP · Riyadh
Currency
SAR
the company code currency; not a choice this screen offers
Check and create

Items

ItemMaterialDescriptionQuantityPlantNet priceNet value
000010TG-2207Sensor array420 EA10001,281.20 SAR538,104.00 SAR
000020TG-1140Control unit310 EA1000812.40 SAR251,844.00 SAR
000030TG-0915Housing kit880 EA1000336.75 SAR296,340.00 SAR
000040TG-3302Drive coupling34 EA12002,940.10 SAR99,963.40 SAR
4 items1,644 EA1,186,251.40 SAR

SAP write requires your approval

operation
create
entity set
zsd_sales_order / A_SalesOrder_2
record
new document · order type OR

Fields that change

SoldToParty - 152210

SalesOrganization - 1600

DistributionChannel - 10

OrganizationDivision - 01

RequestedDeliveryDate - 2026-10-02

PurchaseOrderByCustomer - PO-88412

to_Item - 4 items · 1,186,251.40 SAR

Approve Reject

Source: zsd_sales_order / A_SalesOrder_2 · POST with 4 item lines · every field validated against the service contract and the availability check before this dialog was shown · nothing has been sent

The app collects the fields and the platform compiles the call. Nothing typed into this screen reaches SAP until the dialog above is released, and the payload cannot be edited inside the dialog; approving one object and sending another is not approval. Each app stores its own compiled query; opening one costs no model call.

How it works

01

Whatever it arrived as, it gets read

A customer's email, a WhatsApp message, a chat thread, a text file, a note from a call. The relevant values are pulled out and placed in the form's own fields, where you can see them and change them. A field the extractor could not find is left empty rather than guessed.

02

A batch is one pass, not one at a time

Forty messages become forty draft orders together, and the ones that could not be read are listed as such rather than quietly dropped. Say "create sales orders for every confirmed quotation this week" and it builds each order with its positions. The whole batch is presented once, with every line attributed to what it came from, and nothing reaches SAP until a person releases it.

03

An app you describe is an app that exists

Apps are configuration rather than deployments, so describing the screen you need is enough to have it, across modules, not only the one a tool was built for. The write rules are not part of what you describe: an app that writes stops for an approver whether or not its description mentions it.

04

A prefilled value is a real value

What the extractor fills in is written into the form properly, so it submits as typed input would, and an edit you make on top of it survives. A prefilled box that displays a value and submits nothing is the worst outcome available here, because it looks exactly like it worked.

05

Write capability is per app, and enforced by withholding

An app that does not write is not given the write tools at all. It is not asked to refrain from using them, which matters because the instructions an app runs on are editable configuration and the tool list is not.

06

The paste is sent as well as extracted

The form is always a subset of what an enquiry says. So the original text travels with the extracted fields; otherwise every detail the form had no box for is silently discarded on the way through.

The work between the questions

Not everything is a question. A lot of the day is a task with a shape: somebody sends an enquiry, four values need to come out of it and go into SAP, and the person doing that has done it two hundred times.

Asking a chat interface to do that is worse than a form, because you end up describing the same structure in prose every time. So apps are forms, with the useful part being what fills them.

Why a prefilled field has to be a real value

This is a genuinely subtle failure and worth describing, because it looks like success.

In most component libraries, giving a field a value as a property makes it display that value without putting it into the form’s state. The box shows 106434. The form submits nothing for that field. Every visible signal says it worked.

AnrilX writes extracted values into the form’s own state, exactly where typed input goes. Which also means an edit you make on top of an extracted value is your edit, and survives; a form that quietly restores the model’s guess over a human correction is worse than one that never guessed.

Read and write are different things

Most apps only read. Those are not given write tools at all, rather than being instructed not to use them, because an app’s instructions live in editable configuration and its tool list does not. An app that has no write tool cannot be talked into a write by anything written in its description.

The apps that do write go through the same approval gate as everything else: the exact payload and the exact call, in front of a person, before anything is sent.

Where it stops

What this capability will not do

Where this one stops, said here rather than discovered in a pilot.

  • Extraction is a reading of prose and it can be wrong. Every value is shown in an editable field before anything happens, and the source of each is attributed.

  • Form fields are a closed set of kinds (text, number, date, period, select, checkbox and so on), not an arbitrary form builder.

  • An app is scoped to a task. It is not a general SAP client with a nicer skin.

Questions people ask us

What is an app, as opposed to just asking a question?

An app is a purpose-built screen for a task you repeat: tracking an order through delivery and billing, inspecting discounts by condition type, raising a quotation. It carries its own framing and its own form, so the work is a few fields rather than a well-phrased question.

Can an app change something in SAP?

Only if it is a write app, and only through the same approval gate everything else uses. Apps that read cannot reach a write tool at all; the tools are withheld rather than the app being told not to use them.

What happens to text the form has no field for?

It is submitted alongside the form. The agent reads the whole enquiry, not only the boxes, so a detail without a matching field is not thrown away.

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.