Skip to content

Odoo services · Odoo Customization Services

Customise Odoo where it pays. Configure it everywhere else.

Every hour of custom code is an hour you pay for again at every upgrade. So we treat customization as a last resort, not a first offer — and we will show you the configuration route before quoting the code one.

Odoo Official PartnerEnglish & Thai deliveryFixed scope per phase

—— Where it hurts

The problems this work actually solves.

Standard Odoo covers most of a business well. This service exists for the rest: the approval flow it does not model, the document your customer rejects, the pricing rule still living in a spreadsheet — closed at the lowest maintenance cost that will hold.

The last mile

Standard Odoo carries an order from quote to invoice, but the steps that make your business different — a two-step credit approval, a customer-specific price ladder, a delivery document your industry requires — are the ones it does not know. Staff bridge those steps by hand, every day, and the gap never closes on its own.

How we handle itWe close each gap with configuration where possible and a small isolated module where it is not — and we show you which route we chose and why.

Spreadsheets around the system

Odoo runs the official process, but the real one happens in exported Excel files — commission calculations, production planning, price updates. Every export is a snapshot that goes stale, and every re-import is a chance to corrupt data.

How we handle itWe trace each spreadsheet back to the Odoo feature it is compensating for, then fix that feature so the spreadsheet can retire.

Documents customers reject

The default invoice, quotation and delivery slip rarely match what your market expects. A Thai tax invoice has required fields the standard template ignores, and large customers dictate their own document layouts. Accounting staff end up retyping documents in Word.

How we handle itWe rebuild the document templates to your legal and customer requirements once, so every document prints correctly from Odoo itself.

Studio sprawl

Years of quick fixes in Studio leave fields nobody uses, automations nobody remembers and logic nobody dares touch. The system still works, but no one can say why — and each new change takes longer than the last.

How we handle itWe inventory every Studio change, retire the dead ones, and move real business logic into documented modules your team can read.

Changes tested in production

There is no staging copy, so every tweak goes straight to the live database. One bad change stops invoicing for an afternoon, and after a scare or two the business stops asking for improvements at all.

How we handle itWe set up a staging environment and a release routine, so changes are rehearsed before your users ever see them.

—— Learn from other projects

Mistakes we see, and how to avoid them.

Rebuilding the old system inside Odoo

Teams often ask Odoo to behave exactly like the software it replaces, which turns a standard product into a museum of old habits. Most of those requests disappear after a month of live use. We run standard Odoo first and customise from evidence, not from memory of the old screens.

Letting every department order its own changes

When sales, accounting and the warehouse each request tweaks separately, contradictory logic accumulates — one department's automation silently breaks another's report, and nobody holds the full picture. With us, one consultant owns a single change backlog across departments, so every request is checked against the whole system before it is built.

Buying customisation by the hour

An hourly contract pays the vendor more for writing more code, which is the opposite of what you want. The bill grows and nobody can say when it ends. We quote fixed prices against a written specification, so writing less code is in our interest too.

Skipping the staging step

Under deadline pressure, changes get applied straight to the live database "just this once" — and the once becomes the habit that eventually corrupts real orders. Recovering trust after that costs more than any server. Every change we make passes through a staging copy and a checklist before it touches production.

Forgetting the upgrade bill

Custom code is priced as a one-time purchase, but it behaves like a subscription: every Odoo version bump means retesting it and sometimes reworking it. Buyers who forget this meet upgrade quotes that dwarf the original build. Our quotes state the expected upgrade impact of each module, and our upgrade rehearsal keeps that cost measured rather than discovered.

—— Ways to engage

Three ways to start with us.

Option · 01

Customization audit

A fixed-scope review of the customisations you already have — from us, another partner, or an in-house developer. You get a written verdict on what is safe, what blocks your next upgrade, and what should be retired.

  • Inventory of every custom module, Studio change and automation
  • Upgrade-readiness verdict against your target Odoo version
  • Repair-or-replace recommendation with costed options
Option · 02

Scoped customization project

A defined set of changes delivered against a fixed written scope and price. Best when you know what the business needs and want a clear end date.

  • Written specification agreed before any code
  • Configuration attempted first, code only where it is not enough
  • Delivered to your repository with tests and a README
Option · 03

Continuous improvement retainer

A monthly block of customization work for systems that are live and evolving. One backlog, one consultant, changes released on a steady rhythm instead of piling up.

  • Single prioritised backlog across all departments
  • Scheduled releases through staging, never straight to production
  • A written monthly summary of every change and its reason

Your implementation partner

A partner, not a licence reseller.

We are not chasing licence volume — we design, build and stay accountable for systems that companies run their operations on. The consultant who scopes your project stays through go-live and the support that follows, and everything we commit to is written into a fixed scope per phase.

3Offices — Thailand, USA, India
2Delivery languages, natively staffed
9Odoo services, scoping to support
0Hand-offs between sales and delivery

—— What done looks like

Outcomes you can verify yourself.

A customisation register

Every change to your system is listed in one document: what it does, why it exists, and the configuration alternative that was considered. When someone asks why the system behaves a certain way, there is an answer on file.

Upgrades stay routine

Your customisations are rehearsed against the next Odoo version before you commit to it, with a written report of what needs work. Version upgrades stay a scheduled maintenance task, not a re-implementation project.

Everything in your repository

Source code, tests and documentation sit in a repository under your account from the first delivery. You can verify this yourself on day one — open the repository and read it.

Less code than you asked for

A portion of your requests will be closed by configuration, with the decision recorded — and that is the point. The less custom code you carry, the cheaper every future upgrade and every future partner becomes.

—— How we work

What the engagement looks like.

  1. Configuration first

    We attempt your requirement with standard fields, automated actions and studio rules before proposing any development.

  2. Isolated modules

    Anything custom ships as its own module that extends core rather than editing it, so an upgrade never overwrites your logic.

  3. Upgrade rehearsal

    Before you commit, we run your customisations against the next Odoo version on a copy and report what breaks.

—— Why us

What you get that you would not elsewhere.

Why us · 01

You stay upgradeable

Custom code lives outside core. Version upgrades stay a scheduled task rather than a rebuild.

Why us · 02

We argue you out of it

If a request is a process problem wearing a feature request costume, we will say so before invoicing for it.

Why us · 03

Code you own

Source is delivered to your repository. No encrypted modules, no licence that expires with the relationship.

Not sure where to start? A short call sorts it.

Talk to an Odoo specialist

—— Why us

What working with us is actually like.

Configuration first, in writing

Before we quote custom code, we show you the configuration route and why it does or does not work. That comparison is written into the proposal, so the decision to write code is one you made with evidence in front of you.

One consultant, first call to go-live

The person who scopes your customisation is the person who sees it delivered. Nothing is lost in a handover between a salesperson, an analyst and a developer who never met your team.

An Official Odoo Partner

We are an Official Odoo Partner under the India programme. That gives us partner access to Enterprise source and a direct channel into Odoo when the problem turns out to be in core, not in your customisation.

Fixed scope, fixed price, per phase

Each phase of work has a written scope and a price agreed before it starts. If we underestimated, that is our cost, not a surprise line on your invoice.

Thai and English, natively

Specifications, training and support run in the language your team actually works in. A warehouse supervisor in Samut Prakan and a CFO in New York read the same change, each in their own words.

Three offices, overlapping hours

Bangkok, New York and Delhi NCR give us working hours that overlap yours, wherever you run. Urgent fixes do not wait for another continent to wake up.

No margin on licences

Community is free and we say so; Enterprise is billed to you by Odoo directly and we never mark it up. Our only revenue is the work itself, so we have no reason to steer you toward a bigger licence than you need.

Built to be left

Every engagement ends with your repository, your documentation and your team able to maintain the work. If you never call us again, everything still runs — that standard keeps us honest.

—— Partner tiers, explained

What an Odoo partner tier does and does not tell you.

Odoo ranks partners by certifications held and licence volume sold. A tier signals commitment to the programme — it does not tell you who will actually staff your project. Ask that question of any partner, including us.

Learning Partner

New to the programme, building their first certified consultants and reference projects. Not a red flag — everyone starts here — but ask for hands-on proof.

Where we are

Official Partner

Certified consultants and active delivery. This is where we sit, enrolled through the India programme, delivering from Thailand, the USA and India.

Silver & Gold

Higher tiers earned mainly through licence sales volume and headcount of certified staff. A strong signal of scale — not automatically of fit for your project.

—— Who this is for

Built for your size, not resized for it.

Growing companies (5–100 people)

For companies of 5-100 people, customization is usually about removing the manual work that one or two key people absorb every day.

  • You need documents and approval steps that match how you already sell, not a process redesign.
  • One or two targeted changes would remove hours of daily copy-paste work.
  • You run Odoo Community and want changes that keep the licence cost at zero.
  • You want a fixed price and one contact person, not a project team you have to manage.

Mid-market (100–500 people)

For companies of 100-500 people, the question shifts from single fixes to governing change: many departments, one system, and an upgrade every year.

  • Multiple departments request changes and you need one owner keeping them consistent.
  • You carry customisations from past partners and need to know which ones block your next upgrade.
  • Changes must pass staging, testing and sign-off before reaching hundreds of users.
  • You run multi-company or multi-country entities, and every change has to respect both.

—— Risks

What usually goes wrong — and how we prevent it.

Risks · 01

Upgrades that become rewrites

Changes to Odoo core make every version upgrade a rebuild. We customise in separate modules with tests, so upgrades stay routine.

Risks · 02

Code where a setting would do

Custom code you did not need is debt you maintain forever. Every request gets a configuration attempt first; code is the documented last resort.

Risks · 03

Customisations that die with the developer

Undocumented work is hostage to whoever wrote it. Everything ships to your repository with a written specification.

—— Pricing

What this costs.

Quoted per module against a written specification. We do not bill hourly for custom work — that misaligns our incentives with yours.

—— Editions & hosting

Community, Enterprise, and where it runs.

The licence and the hosting are separate decisions, and both are yours — we implement either edition and hand over whichever infrastructure you choose.

$0 licence

Odoo Community

Open source and free to license. Covers sales, purchasing, inventory, invoicing, manufacturing and more. You pay for implementation, not rent.

Per user, billed by Odoo

Odoo Enterprise

Adds studio, advanced accounting and localisations, mobile apps and official support. Billed by Odoo directly — never marked up by us.

Odoo.sh · VPS · on-premise

Your server or the cloud

Odoo.sh, a VPS we manage, or your own hardware. We recommend based on your compliance and budget, then document the choice so it stays portable.

—— The toolkit

What this service usually touches.

StudioSalesCRMInventoryAccountingManufacturing (MRP)PurchaseQWeb Reports

—— FAQ

Questions teams ask about this service.

Will customisation break our upgrades?

Not if it is built as a separate module extending core, which is how we build. What breaks upgrades is editing core files directly — common, fast, and a debt you pay every year.

Can you fix customisations another partner wrote?

Usually. We audit first and tell you honestly whether repairing or replacing is cheaper — sometimes the honest answer is that a rewrite costs less than the maintenance.

When is Studio enough, and when do we need real code?

Studio handles extra fields, simple approvals and layout changes well, and we use it for exactly that. Once logic spans several models, needs automated tests, or must survive heavy data volumes, a proper module is safer and cheaper over its life. We tell you which side of that line your request sits on before quoting.

Do you customise Odoo Community, or only Enterprise?

Both. Community's licence is $0 and covers more businesses than most partners admit, and the customization techniques are the same. Where a request genuinely needs an Enterprise feature, we say so — and Odoo bills that licence to you directly, without our markup.

What happens if the scope changes mid-project?

The written scope is re-opened, not silently stretched. Small clarifications are absorbed; a genuine change gets a written amendment with its own price before we build it. You will never discover a scope change on the invoice.

Can our in-house developer work alongside you?

Yes, and we encourage it. The work lives in your repository, follows standard Odoo conventions and ships with tests, so your developer can review every change and take over modules whenever you choose. We would rather transfer knowledge than defend a monopoly on your system.

How small a change will you take on?

Small is fine — a report fix or one automated action is a normal week for us. For a stream of small requests, the monthly retainer is usually cheaper than quoting each one separately. What we decline is a small change that quietly requires a big one underneath; we will tell you when that is the case.

Ready?

Let's find out whether Odoo actually fits your business.

A short call, an honest answer. If it isn't the right system for you, we'll say so.

LINE myprofitbook · WhatsApp · Bangkok · New York · Delhi NCR
Odoo Customization Services | OdooReply