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.
| Purpose | Quantity | Purpose | Quantity |
|---|---|---|---|
| Customer invoices | 2,103 | Contacts and records | 4,620 |
| Vendor invoices | 1,086 | Employees | 1,889 |
| Credit notes | 960 | Batches and expiry dates | 178 |
| Journal entries | 7,572 | Projects and tasks | 70 |
| Invoices posted | 7,102 | POS tickets | 910 |
| Invoices with taxes | 2,863 | Invoices through the inbox | 171 |
| Invoices without taxes | 322 | Documents processed | 31,999 |
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.
4The four promises, measured
They are not slogans: each one has its number.
100 % accurate in the sample of 60 real tasks (30 accounting + 30 queries), in Spanish and French, verified against the database (September 2026 campaign).
0 technical messages on screen and 0 silent failures: when it cannot, it explains what is missing and what to do.
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.
0 destructive actions run without user confirmation.
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.