Contracts
Every price a dated line, closed and replaced, never edited, and checked against the bill.
Every bill, as CSV, XLSX, PDF or e-invoice, or typed in by hand, is checked against its contract and the inventory, and held in its own currency.

Findings
Bill, contract and inventory are compared line by line. Where they disagree, the finding keeps the evidence.
A service charge that matches no service in the inventory.
A live service that no bill charged for in the month.
A recurring charge above or below its contract price, beyond a small tolerance, or a service billed with no contract or outside its term.
A dispute cites the finding, the bill line or the bill.
How bills arrive
Every path ends in the same checks and the same review. Every bill file is kept exactly as it arrived, and no role can change it.

| Path | How it reads |
|---|---|
| Upload | CSV, XLSX and PDF files, each recognised by its contents, not by its name. A bill can also be typed in by hand. |
| Structured e-invoice (UBL 2.1) | Read at once, credit notes included, with no mapping question and no model, then checked and reviewed like any other bill. |
| Provider connection | Where a provider offers a billing connection, its bills are collected on a schedule and go through the same checks and review as an upload. |
| Provider portal | Bills are collected from the portal on a schedule, so the history is kept after the portal drops it. |
| SFTP | Files a provider leaves on an SFTP drop are collected and read like an upload. |
| Billing mailbox | Bills emailed to the group’s billing mailbox are picked up and read like an upload. |
| Provider readers | Readers are added provider by provider, bilingual Arabic and English layouts included, so a known layout needs no mapping question. |
The detail
Reading a PDF
Reading PDF bills with the intelligence engine is off until a group administrator switches it on.

Shared charges
A charge the group pays once, such as the head office’s main link, is split by a rule into shares that add up exactly to the whole.

Money
The bills list leads with the total billed in the group’s currency, summed from each bill’s recorded conversion.
Every converted figure names the rate that produced it, or is not written at all. A bill’s page states its conversion in one sentence, with the rate and its date.
An exchange rate is never changed. A corrected rate is a new record.
A group administrator enters the group’s own rate, and the entry is audited. Published reference rates are collected on a schedule beside it.
It sets which rate type leads, which fall back in order and how old a rate may be, with a leading rate of its own for budgets, statutory tie-out and balance items.
Each month’s figures are stated at a rate frozen for that month, so a later rate does not quietly change them.
A figure with no rate reads “Not converted” and is never added in at par. With no usable rate, a person is asked for one.
How it works

A file is recognised by its contents, not by its name, and kept exactly as it arrived.
A person confirms a spreadsheet’s column mapping once, and Riopex reuses it for that layout.
A line is bound to a service only by an identifier, never by a guess.
The lines must add up to the bill’s total, and the tax lines to its stated tax.
A Hijri issue date, an unclassified charge or a failed sum opens a review item. The bills list counts every bill waiting on a person.
Questions
The engine states how sure it is of each header field it reads, and the fields it is least sure of are marked for checking.
Accuracy on your providers’ invoices is measured in the pilot, on your own documents.
No. CSV and XLSX bills are never sent to a model. An e-invoice is read at once, with no mapping question and no model.
No. A bill the engine has read always waits for a person, and is never accepted on the engine’s word.
An e-invoice whose number is already on the same account is refused as a duplicate.
A fallback rate is never worked out through a third currency. With no usable rate, the figure is left empty and a person is asked for one.
Yes. A pilot starts with three invoices from one company, in whatever form the provider sent them.
Related
Every price a dated line, closed and replaced, never edited, and checked against the bill.
Every service the group pays for. Each import runs as a dry run first, and can be undone as one batch until a carrier confirmation names its services.
Each company’s findings re-evaluated every night, each worked on its own page.
Three invoices, as the provider sent them, show what Riopex reads.
Request a pilot