Your books are in one Odoo.
Your filings need them in another.
We take over an accounting from one Odoo to a fresh one, and hand you the file you have to file. You connect your Odoo with a key you create, you see what it contains before anything is ordered, and you press the button that builds it.
Start — analyse my books What it costs What we can and cannot read
The diagnosis is free, it commits you to nothing, and it reads totals only. You can stop right after it.
Belgian accounting, Odoo 19.
Three things you can walk away with
You pick the outcome. What travels with it — how much of your accounting follows — is the second choice, and it is priced on what your base actually contains.
1. Get my books only
From free.
A database you can restore wherever you like: your own Odoo, your accountant's, a host. No module, no filing help. The lightest takeover — your chart of accounts, your balances and your investment lines — costs nothing.
2. My annual accounts
The XBRL the National Bank accepts.
Generated by reading your own books, downloaded right after payment. Nothing is copied, nothing is hosted, and there is no takeover to pay for. You file it yourself on the Central Balance Sheet Office site.
3. My corporate income tax return
A hosted Odoo that carries the module.
Fed with your books, with the declaration module installed and the deep validation built in. You prepare your return and file it yourself on Biztax. The database is downloadable at any time.
On Odoo Online? Then this is for you.
Our three modules install on a self-hosted Odoo or on odoo.sh. They cannot be installed on Odoo Online — that platform accepts no custom code at all. And Odoo Online is where most small companies are.
That is not a gap in our products; it is how the platform works, and no publisher gets around it. It is also exactly why this service exists: we read your Odoo Online base from outside, over the API, and hand you the file — or a database we host, carrying the module, fed with your books.
One thing to be clear about, because it would be easy to assume otherwise: when we host a database carrying the declaration module, you are not buying the module. You are buying the service. Which of the two is cheaper depends on your case, and on one difference: the service is paid per company and per financial year, while a module is bought once and serves every year and every one of your companies. If you run a self-hosted Odoo or odoo.sh, the modules are here, and our price page says from which year each of them overtakes the service.
Five steps, and you press the last one
1. Connect
The address of your Odoo and an API key you create yourself. We ask for no password and could not use one.
2. Diagnosis
Counts, an investment table, the size of your attached documents. Aggregates only — never an individual amount, never a label. It is free and it commits you to nothing.
3. Your plan
What you walk away with, and how far back we take your data. Your price bracket was measured at step 2 — you never declare it.
4. Payment
The terms of the service, which are not the terms of the modules. Per company and per financial year.
5. You build it
You paste your key again — we did not keep it — and you press the button. Not a scheduled job, not an operator: you.
We only read — and our software is what makes sure of it
Two belts, and you control neither of them alone.
1. Ideally, give us a key that cannot write
Odoo does not let you restrict a key — a key inherits every right of the user it belongs to. But it does let you restrict that user: create one with the standard read-only accounting role, and the key it produces can only read.
We do not require it. On Odoo Enterprise an extra user costs a seat every month, and we are not going to make you pay one to buy from us.
2. Whatever key you give us, our program limits itself
It confines itself to the calls below and actively forbids itself every other one — write, create, unlink, and any method that writes under another name. The refusal happens inside our own program, before a connection to your server is even opened: it is not an internal instruction anyone could forget, it is a list, and what is not on it does not leave.
fields_get · search · search_read · search_count · read · formatted_read_group · has_access · has_group
A generic dispatcher — execute_kw, call_kw — is refused too. A dispatcher on that list would be the list deleted.
And we look, rather than pretend not to know
Whether a key can write is something we can ask Odoo in one read, so we ask it. If the key you give us carries write rights, the screen says so before you go any further. You can carry on, or come back with a narrower one — but you will not learn it from us afterwards.
And your key is never stored
Not in a database, not in a file, not in a session, not in a log line, not in a redirect URL. It lives in memory for the length of one reading. You paste it again to build, and you can revoke it immediately after.
None of this is a claim you have to take on trust. The service publishes, live, the SHA-256 fingerprint of the file that enforces the list and the list itself, at service.anthracite.brussels/sante — and it refuses to start at all if its own self-check fails. The modules we sell carry the same list, and a test in our repository fails the build if the two ever drift apart. Nobody needs access to our machines to check the rule.
Look before you connect anything
A live Odoo carrying a full set of books and our modules, open to anyone.
Sign in with demo / demo. Read-only, reset every night. The names, VAT numbers and bank accounts in it are invented; the amounts come from accounts already filed with the Central Balance Sheet Office, so they are public.
What this service does not do
We do not file anything for you. Not with the National Bank, not on Biztax. The file is yours, the filing is your gesture.
We do not draw up your annual accounts. Drawing them up is reserved to ITAA professionals; we put figures that already exist into the form the recipient expects. The boundary of the product is the boundary of the law.
We never write into your source accounting. It is read, and something is built elsewhere. Your books of record stay where they are, with the retention obligations that go with them.
We do not audit your accounting. If a figure is wrong in your books, it is wrong in the file. The takeover is checked to the cent against the source — that is a copy being faithful, not an accounting being right.
Questions before you start: support@anthracite.brussels.