Odoo ERP Integration and Custom Development
Where Customisation Meets Financial Intelligence.
Your business is unique. While Odoo is incredibly powerful out-of-the-box, its true potential is unlocked when it is perfectly tailored to your specific workflows and integrated with the other critical applications you rely on
Our team of accountants, developers, and solutions architects works in unison to build a seamless, unified technology ecosystem. We ensure that every customisation and integration is not only technically sound but also financially robust, maintaining the integrity of your data across all systems.
Your Vision, Engineered with
Financial Precision
From simple connections to complex custom applications, we provide a full suite of development and integration services:
Custom API Integration
We build powerful, stable connections between Odoo and your other business-critical software, ensuring a seamless flow of data and eliminating information silos.
Automated Payroll & HR
We are experts in connecting Odoo to leading Australian payroll platforms like Employment Hero (KeyPay), automating journal entries and ensuring compliance with Single Touch Payroll (STP).
Supply Chain Automation
We streamline your supply chain by building robust integrations with your EDI partners and Third-Party Logistics (3PL) providers, automating order processing, and improving fulfillment efficiency.
Custom Odoo App Development
When a specific need can't be met by an off-the-shelf solution, our in-house development team can build custom Odoo Apps and features tailored precisely to your unique business processes.
The job to be done
What an ERP integration actually has to do
Connecting two systems is the easy part. Keeping them agreeing with each other for the next five years is the part that decides whether the integration was worth building.
One system owns each piece of data
The single most common cause of a failed integration is letting both sides edit the same field. A customer address changed in the storefront and in the ERP on the same afternoon leaves you with two versions and no way to know which is right. Every integration we build starts by deciding, field by field, which system is the master — and that is a business decision, not a technical one.
It has to survive being wrong
Networks drop, APIs rate-limit, a supplier sends a malformed file. An integration that assumes the happy path silently stops, and nobody notices until a month-end that does not reconcile. Retry logic, dead-letter handling and an alert to a human who can act are not optional extras — they are the difference between an integration and a liability.
The accounting has to land correctly
This is where most integrations quietly fail. A marketplace order arriving as a sales order is easy; the commission, the shipping subsidy, the partial refund and the settlement timing are where the margin actually lives. If those post to the wrong accounts, or not at all, you have automated the data entry and broken the reporting.
Somebody has to be able to maintain it
An integration built as an undocumented script by one person is a risk carried on your balance sheet. We build with Odoo-native patterns wherever they exist, document what we build, and hand over something your next partner can read.
The connections
The integrations we build most often
Each of these exists because Odoo does not do that job well enough alone, or because the system on the other side is not going anywhere. Where we have a dedicated page, it is linked.
EDI with the major retailers
Automated purchase orders, advance shipping notices and invoices with the large Australian retail groups. If you supply a major grocery or hardware chain this is a condition of trade, not an optimisation.
See how it worksThird-party logistics (3PL)
Stock levels, dispatch instructions and confirmations flowing both ways, so Odoo stays the source of truth rather than a lagging copy of your 3PL's view.
See how it worksCustom API integration
Where no connector exists, a documented, monitored two-way interface built on Odoo's own API rather than a screen-scraping workaround.
See how it worksPayment terminals
Our own Linkly connector, which is the integration layer most Australian EFTPOS terminals sit behind. The sale amount is pushed to the terminal rather than keyed in.
See how it worksEmployment Hero
Payroll and people data flowing between Employment Hero and Odoo, so the payroll journal lands in the ledger without a monthly re-key.
See how it worksInventory Planner
Forecasting and replenishment recommendations feeding back into Odoo, for businesses where reordering rules are too blunt.
See how it worksStorefronts and marketplaces
Shopify, WooCommerce and Amazon. Orders, customers, fulfilments and refunds in; stock and pricing out. The care goes into variant mapping, discount allocation and how partial refunds land in the ledger.
Freight and carriers
Rate shopping, label generation and tracking, so dispatch is a scan rather than a re-key into a carrier portal.
Banking and payments
Bank feeds, ABA file generation and payment gateway settlement, reconciled against the ledger rather than by hand from a statement.
CRM and marketing
Where a business keeps a specialist CRM or marketing platform, contacts and activity sync rather than being maintained twice.
Building what is not there
Custom development, and when not to do it
The most valuable thing an Odoo partner can tell you is that you do not need the thing you asked for. Custom code is a permanent maintenance obligation, and every upgrade has to carry it.
Configuration first, always
A large share of what businesses ask us to build already exists in Odoo, in a module they have not switched on or a setting nobody found. Before anything is quoted as development we check whether configuration, an automation rule, a server action or Odoo Studio gets there. That conversation costs an hour and routinely saves five figures.
Studio versus code
Odoo Studio handles custom fields, views, simple automations and report layouts without a developer, and it survives upgrades cleanly. It runs out at complex business logic, external interfaces and anything performance-sensitive. Knowing precisely where that line sits for your requirement is most of the skill.
When custom code is the right answer
A process that is genuinely your competitive advantage. An interface to a system nobody else uses. A calculation your industry requires that Odoo does not model. Catch weight for a meat wholesaler. A pricing rule that is the reason customers buy from you. In those cases custom is correct, and we build it as a proper module rather than a patch.
What we hand over
Source in a repository you own, in a properly structured module rather than edits to core, with documentation of what it does and why. Nothing we build should make you dependent on us. If you leave, another competent Odoo partner should be able to pick it up.
Not sure whether you need an integration or a better report?
Talk it through with someone who will tell you when the answer is configuration rather than code. Thirty minutes, no obligation.
Getting the numbers out
Reporting, dashboards and data warehousing
Most requests that arrive as "we need an integration" are really "we cannot get the numbers out". Often the cheaper answer is reporting, not plumbing.
Custom reports
Reports built to the format your business actually reviews, rather than an export somebody reshapes in a spreadsheet every month.
See how it worksDashboards
Live operational and financial dashboards inside Odoo, so the numbers are looked at rather than requested.
See how it worksPDF report packs
Board packs and month-end packs generated as formatted PDFs on a schedule, rather than assembled by hand.
See how it worksScheduled reports
Reports delivered to the people who need them on a timetable, without anyone remembering to run them.
See how it worksOdoo apps
Packaged apps we have built and maintain, where a need turned out to be common enough to solve once properly.
See how it worksCommercials
How integration work is scoped and priced
Integration is the part of an ERP project most likely to be underestimated, by us and by everyone else. Here is how we try not to.
Scoped before it is quoted
Every engagement starts with an Odoo Success Blueprint — a fixed-price exercise where a solution architect works through the actual data, the actual volumes and the actual edge cases, and demonstrates the intended solution back to you. An integration estimate written without seeing the data on both sides is a guess.
Built on time, not fixed price
The implementation itself is billed on time. Integration scope moves the moment real data arrives — the field that was supposed to be mandatory and is empty in nine hundred records, the API that rate-limits differently in production. Pretending otherwise produces either a padded quote or an argument later.
The questions that decide the cost
How many records, moving how often, in which directions. How many edge cases the business will actually accept being handled manually. Whether the other system has a documented API or a CSV export and hope. Whether anyone still working there understands the data. That last one moves estimates more than any technical factor.
What it costs to run
Every integration has an ongoing cost — monitoring, the occasional failure that needs a human, and re-testing at each Odoo upgrade. We say what that is up front, because an integration nobody budgeted to maintain is one that quietly stops working.
Being straight with you
Where integration projects go wrong
Five failure modes we have seen enough times to name. Most of them are commercial or organisational rather than technical.
The other system has no real API
A documented, supported API is a different proposition from a CSV export on a schedule, and both are different from screen automation. If the far side offers nothing usable, the honest answer may be that the integration is not worth building — not that we will find a way.
Nobody owns the data
Integrations expose data quality. Duplicate customers, products with three spellings, addresses that were never validated. The build stalls not on code but on somebody having to decide which record is right, and that person usually has a day job.
Both sides get to be the master
Letting two systems edit the same field always ends the same way. If a business genuinely cannot decide which system owns customer records, the integration will not fix that — it will make the disagreement faster.
The edge cases were never priced
Ninety per cent of orders are straightforward. The cost is in the returns, the partial shipments, the backorders, the price overrides and the credits. An estimate that only covers the happy path is not an estimate.
It was built and then forgotten
APIs change, tokens expire, volumes grow past what the design assumed. An integration with no monitoring and no owner degrades silently. We would rather build fewer integrations that are maintained than more that are not.
How we work
How an integration project runs
01
Data and interface discovery
What exists on both sides, in what volume, with what quality, and what the far system will actually let us do. We look at real records, not a schema diagram.
02
Ownership and mapping design
Field by field, which system is the master and what happens on conflict. Signed off before anything is built, because it is a business decision.
03
Accounting design
Where every value lands in the ledger — including commissions, fees, refunds and settlement timing. Done with your accountant, because this is where integrations usually break quietly.
04
Build and instrument
The interface, plus retry handling, error queues, logging and an alert that reaches a human who can act on it.
05
Parallel run
Both systems running together on real volume until the numbers agree, rather than a test file and a hopeful cutover.
06
Handover
Source in your repository, documentation of what it does, and a stated ongoing maintenance cost so it is budgeted rather than discovered.
How long it takes
A single well-documented integration typically runs two to six weeks. A programme of several, or one involving a system with no usable API, runs considerably longer and should be scoped in its own right rather than tacked onto an implementation estimate. Where integration is part of a wider build, the bands are the same as any Odoo project: thirty to sixty thousand dollars runs eight to ten weeks, seventy to one hundred and twenty thousand runs five to seven months, and larger programmes nine to twelve months. Client-side data preparation is the largest single source of delay.
Integration and custom work we have delivered
Kelton Group
A privately owned investment group with a 52-year history and operations spanning rental property, affordable housing, tourism, commercial agriculture and aquaculture across the South Pacific, Asia and North America. Consolidated onto one Odoo platform so a portfolio of very different businesses reports into a single structure.
Read the full case studyAlpha Six Three
A wholesale distributor with no centralised system for inventory, ordering or customer management. We built a custom B2B eCommerce portal on Odoo so their retail customers order directly against their own pricing.
Read the full case study
“ Now that is what I call a success - exactly what I have been waiting two months for! Amazing work. ”
Not just clients, but partners — working side by side to achieve mutual growth, year after year.
What this makes possible
Integrations are also how AI gets safe access to your systems. The same discipline applies: defined connections, documented behaviour, and a person approving anything that writes. If you are wondering what it would take to put AI over the top of your Odoo, the honest answer starts with the integration layer rather than with the AI — here is how we think about it.
Integration and custom development questions we get asked
Can Odoo integrate with the system we already use?
Should we customise Odoo or change how we work?
What is the difference between Odoo Studio and custom development?
Who owns the code you write for us?
Will custom code break when Odoo upgrades?
Can you connect Odoo to Shopify, WooCommerce or Amazon?
How much does an Odoo integration cost?
What happens to the integration after it is built?
Is Odoo the right fit for your business?
Seven questions, about two minutes. You will hear back from a solution architect who has delivered Odoo in Australia, not a call centre.
Where should we send it?
We will come back to you with an honest view, including if we think you should stay where you are.
Download: The CFO's Guide to De-risking Your ERP Implementation
Before you invest in any ERP, learn the 5 critical financial mistakes that lead to budget overruns and failed projects. This free guide provides a practical framework for ensuring your next systems project delivers a clear and measurable ROI.
Not ready to talk to us yet? Take the free 5‑minute ERP Readiness Scorecard and see exactly where you stand.









