(ERP: SAP, Dynamics 365, Odoo)
An ERP that matches how you actually trade
ERP development across SAP, Microsoft Dynamics 365 and Odoo: implementation, custom modules, integrations and the data migration nobody volunteers for. Where no package fits the business, we build the system instead.
(Package or build)
An ERP rollout is a business change project with software attached. The configuration is rarely what sinks it — the master data is, or a branch that prices differently and never said so. Getting those into the open early is most of the job, and it happens long before anyone opens a development environment.
Odoo suits a mid-sized manufacturer who wants to own the source. Dynamics 365 suits an organisation already living in Microsoft 365. SAP suits scale and complex supply chains. The fit-gap decides, not a preference of ours.
(What we deliver)
What ERP implementation and development involves
Whole rollouts, single modules, or repair work on an implementation that stalled before it reached the finish.
-
Fit-gap workshops by function, then configuration: chart of accounts, company structure, tax and e-invoicing rules, approval limits, warehouse and costing. Most requirements are settled here with configuration, and the ones that are not become a costed change with a named owner.
-
ABAP and Fiori apps on SAP, AL extensions on Business Central, X++ on Finance and Operations, Python modules on Odoo. Written against extension points rather than modified core objects, so the next platform update does not become a rescue project.
-
IDoc, BAPI, OData and REST into the systems around the ERP: CRM, e-commerce, banks, the 3PL, the shop-floor MES, GST and e-invoicing portals. Failures are visible and replayable, which matters when a missing order confirmation means a lorry waits.
-
Extract, cleanse, map and load — rehearsed at least three times on full-volume copies. Duplicate customers, part numbers with trailing spaces and twelve years of open purchase orders all surface here. Each load is reconciled against the source and signed off by finance.
-
Pilot with one site or one legal entity, learn from it, then extend. Super users trained first so support has a local face, role-based guides written from your configured system, and floorwalking during the first month-end.
-
For businesses whose core process no package models — unusual costing, a regulated production record, a trading model a vendor would call an edge case. Built module by module around the same ledger, and worth doing only once the package route has been properly tested.
(Platforms and tools)
- 01SAP S/4HANA and ECC
- 02ABAP, CDS views and SAP Fiori
- 03Dynamics 365 Finance & Operations
- 04Business Central and AL
- 05X++ and Power Platform extensions
- 06Odoo with Python and OWL
- 07SQL Server and PostgreSQL
- 08OData, IDoc and REST integrations
- 09Azure Data Factory for migration
(How we work)
How an ERP rollout runs
Longer and more structured than our usual phases, because the risk sits in data and adoption rather than in code. Each phase ends with a decision you make, not one we make for you.
-
01
Fit-gap analysis
Function by function, your process against the standard package. Everything lands in one of three buckets: works as standard, changes to fit standard, or genuinely needs an extension. The third bucket is priced individually and kept as small as it honestly can be.
-
02
Solution design
Company structure, master data model, integration inventory, security roles and the reporting people will ask for on day two. Written down and signed off, because this document is what stops the scope drifting in month four.
-
03
Configure and extend
The package is configured in a sandbox and demonstrated to your team in short cycles rather than one grand reveal. Extensions are built alongside, against supported extension points only.
-
04
Data migration
Cleansing runs in parallel from the first week. Dry runs on full data volumes, reconciliation reports against the legacy system, and clear ownership of which records move, which are archived and which die with the old system.
-
05
UAT and training
Your staff run real scenarios end to end in a system holding migrated data: raise the order, receive the stock, invoice it, close the period. Defects are triaged with you. Training material comes out of the same environment.
-
06
Cutover and hypercare
A rehearsed cutover plan with times, owners and a rollback point. Then several weeks of hypercare covering the first full month-end, which is when the real questions arrive.
(Why Team of Keys)
How we keep an ERP project from eating a year
ERP failures follow a pattern: too much customisation, too little data work, and a go-live announced before the business was ready. These are the counterweights.
-
01
Configuration before code
Every gap is challenged once before it becomes development. Often the process changes and the package stays standard, which is cheaper to build, cheaper to upgrade and easier for a new employee to recognise.
-
02
Upgrade-safe extensions
Nothing is modified in the vendor core. Extensions use documented extension points, so a platform update is a regression test rather than a rewrite. This is the single biggest cost you avoid over five years.
-
03
Migration rehearsed, not attempted
Multiple dry runs at full data volume, each with a reconciliation report finance signs. On cutover weekend nobody is discovering for the first time that the load takes fourteen hours and fails at record eight thousand.
-
04
Finance in the room early
The chart of accounts, tax treatment and month-end close are agreed with the people who sign the statutory accounts, not inferred from the old system. Fixing those after go-live is painful and public.
-
05
A straight answer on fit
If your process genuinely does not fit any package, we will say so rather than sell an implementation followed by two years of customisation. Occasionally the right answer is a custom build, and occasionally it is to keep what you have.
(Related)
More in automation
(FAQ)
Questions, answered
It scales with entities, users, modules and how much data has to move. A single-entity Odoo rollout covering finance, sales and inventory is a different order of cost from a multi-country Dynamics 365 or SAP programme. Licensing is separate from implementation and quoted by the vendor. You get a phase-by-phase price after fit-gap, so the large number is never a surprise.
For a mid-sized single-entity business, fit-gap through hypercare usually runs four to eight months. Multiple entities, several languages or heavy manufacturing extend it. Data quality is the usual reason a timeline slips, which is why cleansing starts in week one rather than the month before cutover.
Odoo fits mid-sized companies wanting low licence cost and source-level control, with more build effort for complex needs. Dynamics 365 suits organisations already standardised on Microsoft, with Business Central for mid-market and Finance and Operations for larger groups. SAP suits scale, complex supply chains and demanding statutory reporting. Fit-gap answers it properly in about three weeks.
Yes, and most clients keep several. Typical integrations cover the CRM, an e-commerce platform, warehouse or 3PL systems, banks, payroll and government e-invoicing portals. These are built on supported interfaces with monitoring and replay, so a failed message is spotted and re-sent rather than discovered at month-end.
Open transactions and master data migrate; closed history usually does not. Keeping ten years of closed documents in a read-only archive or a reporting database is cheaper and faster than migrating them, and satisfies most audit requirements. What moves and what is archived is agreed in solution design and signed off by finance.
(Global presence)
Nine countries, one studio behind them.
Every project is designed, built and shipped from one studio.
Turn the globe, or pick a country to see what we deliver there.
NoidaDrag to turn
Studio · Noida, India · --:--
(Next step)
Tell us where your current system stops
Describe the entities, the modules and what your team currently does in spreadsheets. You get a fit-gap plan and a price per phase.
START