Nexo the digital employee for Odoo

Quality tests passed by Nexo
before the Beta

Before putting Nexo in the hands of real companies we put it through everything that breaks a digital employee, with a independent oracle behind every number: the figure is not asked of the model, it is checked in the Odoo database. This is the stress we have put it through — and this is what it has taken.

Odoo 15 · 16 · 17 · 18 · 19 Last certification: 01/10/2026 Two runs in a row: 40 checks · 0 failures Compiled package: tested on all five series
⤓Download the report as PDF
+40,000checks and interactions recorded
5,619real conversations with the agent
771 Mtokens processed
112full runs of the release gate
31,999documents processed
19test installations with real data
Where «more than 40,000» comes from, so you never have to take the figure on trust: 37,156 messages exchanged with the agent (only real usage: the artificial injections from our own tests are counted separately and do not come in here) + 3,411 checks recorded in the 112 full runs of the release gate. If you also add the 317 checks of the deterministic battery in each of those 112 runs, the count goes up to 76,071. The small print is published on purpose. Every one of these numbers comes from a record that is kept: every one of them can be counted again one by one and, if you like, we will show you the detail of any of them.

1How we measure it (and why you can believe it)

If the method is not serious, the number is worth nothing.

Tested as a real user

A real browser, clicking in Odoo and talking to Nexo the way a customer would. No test runs «through the back door».

100 % verified check against an oracle

Amounts, taxes, balances and sequences are checked by SQL against the database. Every figure Nexo gives is validated against the real data: none of them is accepted just because the agent says so.

One gate, one number

A single command says whether the version can be delivered: it returns the number of failures and leaves a machine-readable record. No version has gone out without passing twice in a row on the same day.

Everything is written down

Every case keeps its screenshot, the full conversation and its verdict: 143 executions with 2,572 steps and 731 files of evidence.

2What has passed through its hands

Counted across the 19 test installations, not estimated.

Documents and accounting objects worked on during the test campaign
PurposeQuantityPurposeQuantity
Customer invoices2,103Contacts and records4,620
Vendor invoices1,086Employees1,889
Credit notes960Batches and expiry dates178
Journal entries7,572Projects and tasks70
Invoices posted7,102POS tickets910
Invoices with taxes2,863Invoices through the inbox171
Invoices without taxes322Documents processed31,999
Counted on 05/10/2026 on the 19 test installations where Nexo has worked (sectors, countries and customer modules). The production accounts and single-use databases are not counted: if the count hid databases, it would stop being a count.
The trickiest tax cases (personal income tax withholding, Spanish equivalence surcharge and reverse charge) also have their own dedicated test, with its oracle, just like the volume invoices.

3The stress we have put Nexo through

You find out what a digital employee is like when things go wrong. So we made them go wrong on purpose, one by one.

We have deployed a safety net so you do not notice an outage

If something fails in our infrastructure, everything has to carry on the same for you. We have put backup layers in place — our own and on top of Cloudflare— so that an outage resolves itself: you carry on working as always and you do not have to notice a thing.

We have caused outages in the external services

Errors, outages and long waits: Nexo retries on its own, keeps working and, if it cannot, says so clearly and leaves nothing half-finished.

«Ignore your instructions»

And we asked it to delete accounting data. It refuses, keeps to the scope and explains why. It does not give in once.

We removed a user's permissions

It says exactly which permission is missing, in plain language, and creates nothing.

We uploaded broken files and 15 MB files

It rejects them with a reason and the rest of the job carries on: the chat does not hang.

50 invoices at once… twice

Through the folder and through Excel, uploading the same file twice: 0 duplicates and 0 mismatches.

Two companies and several currencies at once

It does not mix up taxes, balance sheets or sequences; when you switch company in Odoo, Nexo notices and invoices with the right company's taxes.

We tested it with customer modules, not Odoo's own

The five sector domains (fleet, batches, projects, POS and recipe costing) have been measured with a customer's own modules: Nexo works out the schema of each installation, it does not take it for granted.

Nexo learns your Odoo by itself (introspection)

Nexo is specialist in reading the live database: you do not have to tell it where each piece of data lives, it works it out and adapts to how your installation is set up. We have put it up against custom modules —real estate, vehicle fleet, recipes, in-house POS— and to databases modified by the customer. It learns your schema and works with it.

We gave it a scanned document (image only)

A scanned photocopy, with not one letter of text inside: it reads it just like a normal PDF, and the test checks the amount and the account against the database, not against what the agent says.

We asked it to filter by a field that does not exist

And it did not make it up: refused to apply the filter halfway (it would have shown the whole list as if it were filtered), it said which field was the right one and carried on. A badly filtered list is false data: we would rather it said so.

We slipped it an invoice that fails to add up

A total that is not the sum of its lines, or a document in another currency: detects it, says so and changes nothing on its own. It shows you the difference and lets you decide.

Each of these blows leaves its proof inside the release gate: if one day Nexo stops taking it, that version is not approved.

4The four promises, measured

They are not slogans: each one has its number.

✓Rarely fails

100 % accurate in the sample of 60 real tasks (30 accounting + 30 queries), in Spanish and French, verified against the database (September 2026 campaign).

✓If it fails, it says so clearly

0 technical messages on screen and 0 silent failures: when it cannot, it explains what is missing and what to do.

✓Never leaves data half-finished

0 half-finished records after a failure. Every operation is checked before it is treated as done and the whole thing is rolled back if anything does not add up.

✓Anything important waits for your OK

0 destructive actions run without user confirmation.

And one more, measured with a stopwatch: speed — p50 of 5.1 s and p95 of 8.7 s per real task (20 timed tasks, worst case 9.2 s).

5How far it goes

Nexo belongs to no single sector, country or Odoo version.

Odoo 15 · 16 · 17 · 18 · 19

All five Odoo series in use, covered: Nexo lives inside your installation, whichever version it is.

Multi-activity: it adapts to anything

Supermarkets, fishing, fast food, logistics, services, HR, metalworking… and yours. If your business runs on Odoo, Nexo works in your business.

Tax rules for each country

It understands the taxes and obligations of each territory. Very thorough tax tests for Spain, France, Germany, the United Kingdom, the United States and China.

Speaks your language

Write to it in whatever language you like and it answers in yours. The native interface is currently available in five languages and we keep adding to it.

6And if something breaks, you find out

One command, one verdict

The release gate returns the number of failures. It is the same test that the last certified version passed (01/10/2026): 40 checks · 0 failures, twice in a row on the same version.

317 checks without spending a single token

The deterministic battery checks, without calling the model, that the engine calculates and stores what it should: accounting, currencies, permissions, licences and what happens if part of the cloud fails. Not a euro of consumption and everything verifiable in a second.

The package that reaches you is tested installed

Nexo is delivered compiled (no source code at all) and the package is tested taking the original out and putting in what you would receive: on all five Odoo series it loads, responds and passes the whole battery. And it carries the builds for all three Python versions inside, so it installs without you having to know anything about that.

And we tell you everything: the criterion for releasing a version is not a feeling, it is a agreed number — and it is met. The best part comes afterwards: the private beta with real companies, because no test replaces your real case.