Custom Odoo modules, integrations and multi-company setups
Odoo experts for Community and Enterprise. We write the code into your repository with documentation, tests and upgrade notes, so any Odoo developer can maintain it. The price is fixed in writing before we start.
If standard Odoo or a setting already does what you need, we'll tell you on the call.
Per module: about 2 weeks · €1,500 to €4,000 · fixed price
22 modules written
For a live Odoo 18 Enterprise operation, by Antonio.
Odoo experts
Community or Enterprise, on Odoo.sh or on-premise.
No licence fees to us
The code is yours, in your repository.
Fixed price, in writing
For finance, operations and IT teams of 15 to 250 people.
What we build
Each piece of work sits in its own module on top of standard Odoo, so the core stays upgradeable. Where we haven't shipped something yet, we say so.
Custom modules
New records, screens, rules and reports for a process standard Odoo doesn't cover: approval steps, pricing rules, work orders, the PDF layout your auditor or gestor asks for.
Shipped
Subscription billing rules, workshop work orders, asset tracking, a KPI engine, a Spanish invoice layout
Scope
One process per module, agreed in the spec
Integrations
Odoo connected to the services around it, with retries, logs and an alert when something fails, so an error never passes silently.
Shipped
Stripe payments and payout reconciliation, WhatsApp, Slack alerts, Google Calendar, GPS tracker data, supplier invoices from email
Scope
Any service with a documented API. We check its limits in the spec
Multi-company and intercompany
Several legal entities in one database: company-aware records and access rules, intercompany sales and invoices, reports per entity and consolidated.
Shipped
Not yet in production: our own operation is a single company
Scope
Mapped against your entities and your Odoo plan in the paid spec, before any build price
Community or Enterprise, on Odoo.sh or on-premise. Whatever version you run, we confirm the fit in the spec, before you commit to a build. Upgrading? We port your custom modules too.
How a module project runs
Three steps. You can stop after any of them, and you know the price before any code is written.
Version, edition, processA fixed price, in writing
1
20 minFree
Step 1: Fit call
Walk us through the process and your setup. We tell you straight whether it needs a module, a setting, or something Odoo already does.
You get
A straight answer: standard Odoo, configuration, or a custom module
You bring
Your Odoo version, edition and hosting, and one example of the process
Standard Odoo does it? Then you don't need us.
2
90 min€350
Step 2: Module spec
We go through the process in a test copy of your database and write the spec: records, screens, access rights, edge cases, tests and what stays manual.
You get
A written spec with a fixed price and a start date, yours to keep
You bring
The person who runs the process, and access to a test copy
Credit
The €350 comes off your build if you book it within 30 days
Build with another Odoo developer? The spec still works.
3
About 2 weeks€1,500 to €4,000
Step 3: Build and hand over
We build in a staging copy, you test it there, and it goes live only with your sign-off. Code, docs and tests land in your repository.
You get
The module, its README, tests and upgrade notes, plus a handover call
You bring
One person to test and sign off
Stop at any milestone. You own everything we build.
Bigger than one module? Intercompany across several entities, for example, is split into modules, each with its own fixed price in writing.
Case study · Clover, e-bike subscriptions
One business, 22 modules: the work, end to end
We don't have client references to show yet, so here is our own. Antonio co-founded a subscription business with a fleet, a workshop and monthly billing, and runs it on Odoo 18 Enterprise with 22 custom modules he wrote. This is what they took off people's desks.
What the 22 modules automate
By business area: jobs that now run on their own, with a person on the exceptions.
We count only the modules Antonio wrote: 22 of the 38 add-on folders in that company's repository. The rest came from earlier developers or the Odoo App Store, or are internal tools.
6Reporting and alerts
Lifecycle emails sent on their own, in branded templates
Slack alerts to the team when something needs a person
A staff dashboard and an investor dashboard, always current
5Operations
Workshop work orders with the parts they use
One active assignment per asset, enforced by the system
GPS tracker data and alerts flowing into Odoo
Booking slots synced with Google Calendar
4Finance and accounting
Stripe payouts reconciled, with the fees booked
Supplier invoices read straight from email
Invoice PDFs in the Spanish format
One KPI engine every report reads from
4Sales and checkout
A headless checkout with plan selection
Give-and-get referrals
ID and compliance checks before payment
3Customer service
Two-way WhatsApp with a menu bot that hands over to a person
Support tickets created from those conversations
A customer portal for self-service
The same jobs exist in most companies of 15 to 250: reconciling payments, reading supplier bills, scheduling work, answering customers, reporting. That's where we start with you.
Ownership, documentation and upgrades
The aim: if we were unavailable tomorrow, another Odoo developer could take over the work.
In your repository, under your licence
We commit to your GitHub, GitLab or Odoo.sh repository, never to ours. You pick the licence: LGPL-3, the same as Odoo Community, or a private one. Odoo's Enterprise licence lets you license modules built on it as you choose, as long as the licence is compatible with Odoo's terms.
Documentation a stranger can follow
Every module ships with a README covering what it does, its settings, the access rights it adds and how to switch it off. Every release gets a dated changelog entry.
Tests on the rules that matter
Automated tests cover the rules that move money, stock or access, and they run before every release.
An upgrade path, written down
Odoo supports each major version for three years, and a database with custom modules can't be upgraded until those modules are ported. So each module ships with notes on what a port will involve, and we quote the port at a fixed price when you're ready to move.
Plain Odoo, no private framework
We use Odoo's own patterns: inherited models and views, record rules, migration scripts. Nothing that only we understand, and nothing you need us to run.
What we need from you
Most of these take minutes. Anything you don't have, we sort out together on the first call.
1
Your Odoo setup
Version, edition (Community or Enterprise) and hosting: Odoo Online, Odoo.sh or on-premise.
2
The modules you already run
A list of the custom and App Store modules installed, so nothing we build collides with them.
3
One real example, end to end
The documents, the screens and the exceptions of the process, as it happens today.
4
A test copy of your database
Or access to a staging branch. We don't build or test in production.
5
Access to your repository
Or we create one in your company's name and hand you the keys.
6
The person who runs the process
For the 90-minute spec session, and to test the module before go-live.
7
One name who signs off
The person who approves the spec and the go-live. Usually finance or operations.
How we handle your data
A short summary for your IT team.
Test copy first
We build and test in a copy of your database or a staging branch. Production only at go-live, with your sign-off.
Named access you control
Any access we get is a named user you can switch off at any time. We don't share logins.
No AI by default
A plain Odoo module sends nothing to an AI model. If AI would help, the spec names the service and the data, and nothing is sent without your written approval.
It stays with you
Code, docs and data live in your repository and your hosting. We delete our working copies when the project closes.
Need a DPA, a vendor questionnaire or anything else for group IT? Tell us on the call what your procurement requires.
When we're not the right fit
Standard Odoo already does it
We'll point you to the app or the setting. A module you don't need is a module you have to maintain.
You're on Odoo Online, Standard plan
Odoo doesn't allow custom modules there. We'll explain what moving to the Custom plan involves before you spend anything with us.
You need a 24/7 helpdesk
We're a two-founder firm. We stand behind what we build against the spec, but we're not a round-the-clock support desk.
Code in your repository
Price fixed before we build
Stop at any milestone
No AI on your data without written approval
Questions Odoo teams ask us.
You're a small firm. What happens if you're unavailable?
That's the risk we design for. The code lives in your repository, not ours. Each module has a README, a changelog and tests, and follows standard Odoo conventions with no private framework underneath, so any experienced Odoo developer can take it over. At handover we walk your team, or your next developer, through every module. You never need us to keep it running.
Who owns the code, and under which licence?
You do. We hand it over under the licence you pick: LGPL-3, the same licence as Odoo Community, or a private licence. Odoo's Enterprise licence allows modules built on it to be licensed as you choose, as long as the licence is compatible with Odoo's terms.
Does a custom module change our Odoo subscription?
It can. Odoo's Standard plan runs on Odoo Online, where custom modules aren't allowed. Custom code needs Odoo's Custom plan on Odoo.sh or on-premise, and Odoo.sh hosting is billed separately. Odoo also lists multi-company under the Custom plan. We check your plan on the first call, before any spec.
Which Odoo versions and editions do you work with?
Community or Enterprise, on Odoo.sh or on-premise, and we port custom modules when you move to a new version. Whatever version you run today, we check your setup during the spec, before you commit to a build.
What happens when we upgrade Odoo?
Odoo supports each major version for three years, and a database with custom modules can't be upgraded until those modules are ported to the new version. Odoo's plans don't include maintaining custom code, so we plan for it: every module ships with upgrade notes, and we quote the port at a fixed price when you're ready.
We're not on Odoo. Can you still help?
Yes. Most of our automation work isn't Odoo-specific: we build around email, WhatsApp, Google Workspace or Microsoft 365, spreadsheets, your CRM and your accounting software. See how we work with any stack.
Have you built intercompany or multi-company flows?
Not in production yet. Our own operation is a single company, so our shipped work is single-company. We build to Odoo's multi-company rules, and we scope intercompany flows in the paid spec, against your entities, before we quote a build.
Do you send our ERP data to AI models?
Not without your written approval. A plain Odoo module calls no AI service. Where AI would help, for example reading supplier invoices, the spec names the service and the data involved, and you decide.
How much does a module cost?
The call is free. The written spec is €350, and it comes off the build if you book within 30 days. A single module is priced at €1,500 to €4,000, fixed in writing in the spec, with a build window of about two weeks. Bigger work is split into modules, each with its own fixed price.
How soon can you start?
We take on one or two builds a month, so the spec gives you a start date and a delivery window before you pay for anything beyond it.
What happens after go-live?
Every build includes a check 30 days after go-live, and we fix anything that doesn't work as the spec says. After that, changes are quoted the same way: scoped, priced and agreed before we start.
Book a free 20-minute call
Bring your Odoo version and one example of the process. You'll leave knowing whether you need a module at all, and roughly what it would take.
Code in your repositoryYou work with the foundersEnglish or Spanish
We use measurement cookies to see what works and improve the site. Only if you accept.