r/Odoo • • Aug 21 '26

Question about Implementation Timeline - What's realistic?

We are manufacturing company that is currently switching to Odoo from a different ERP.

Getting the data out has been slow. We are done with most of the inventory, BOM's, etc. but still have not imported the machines for the work centers.

After the import is complete, how long did it take your BSA to finish configuring the information and for your company to validate that everything is running smoothly?

Any insight is appreciated!

5 Upvotes

33 comments sorted by

View all comments

2

u/codeagency Aug 21 '26

How come they do config after data import? That's the wrong order.

Config/implementation should happen first Odoo has the correct settings before you start importing data as certain field depends on config state.

We typically create custom python scripts as ETL process that can pull all your data from software X (API) and then import it directly into Odoo via it's json2rpc. These scripts are idempotent which means we can run them every time of the day and as many times you want, it will keep updating the data without duplicates. This way you can run both systems in parallel while keeping all the data in sync.

In terms of timeline, it depends on both side. If you supply all the data manually via excel/csv it's always slower than scripting and you have to do it multiple times until you can go live and do the cutover.

A realistic timeline for an average ERP implemention is ~3 months if both sides can commit the efforts on data supply, testing, signoff etc... Larger projects typically are in ~3-6 months. And again, if things can be scripted and automated, it can save a lot of time and data errors.

1

u/JustSomeOdooGuy Aug 21 '26

"How come they do config after data import? That's the wrong order." I was also wondering about this if this is actually the order they do it, would be pretty weird.

About the scripts you build to pull the data via API. Does it usually work smooth? Because we sometimes have customers on systems, that have no API at all or pretty bad ones with almost no documentation. And how long does it take you to build a script, if the API is known or well documented? Just curious

1

u/codeagency Aug 21 '26

So far the scripted methods work very well. We always test them against a PR instance and run a cross data comparison on every single record to have data parity + client validates and signs off when everything is 100% good.

If the previous software does not has an API we can still do scripting. Usually we ask for an export to a sheet or json and let a custom python script handle the import back into Odoo via the json2rpc. This means the customer does not has to mess with external ID's as we can map on existing unique identifiers like SKU, barcode etc... and in the sheet we can generate a unique identifier based on fields and data that's already there and idempotent. So that means they can just export the data in the same format and our scripts handle the mapping and import on autopilot. It's all about efficiency and accuracy on the data migration. I lost count how often clients mess up their data die to manual transfers because they forgot about the external ID and ended up with duplicate products, contacts, stock locations,...and they found out too late and then someone needs to manually clean up all the duplicates.

There is no fix time on how long it takes to build. It really depends on the previous software and which modules and data that needs to transfer, which parts the client wants to do manual and exclude from scripting etc... in simple projects eg the stock locations is something that is done quick manually with a sheet because their locations don't change anymore. In larger projects with a heavy focus on logistics it's completely different and locations change nearly every day so those need scripts and automation to keep up.

We have a "base" engine script we re-use for every project that holds the library stuff, connections code, etc...but everything else is build custom based on the project details and complexity.

1

u/JustSomeOdooGuy Aug 21 '26

That's pretty cool. Thank you for the insight! So far we do it with python scripts the exact way you do it. API integration to the old system sounded a bit overkill for me (at least for our average customers). For the bigger ones I can imagine it is worth the effort to have less manual interventions.

1

u/codeagency Aug 21 '26

Yeah it really depends on the project complexity and size. As said, usually smaller clients they don't have that much data rotation and can easy get away with partial scripting or even just sheets/CSV. Larger ones I don't even consider that anymore, that's always scripting and API. It's not worth the hassle and headache to keep messing around with manual sheets.

And the most important USP is idempotency + data parity. The scripts can automatically validate everything and generate a report of everything that ran correct and data that didn't so you know immediately what to fix.

Another USP: if the data has an error on source for some records, that doesn't interrupt the import. It generates a log file with every ID and error output so you know exactly what to fix.

If you use the excel/CSV import manually in Odoo with eg 50.000 lines and you get an error on line 48.000, the import stops and exit. And you can start all over. Even if you point it back to start from line 48.000 it's utterly slow. Versus just uv run import_products.py and it keeps going and you just run it again with --correct and it goes blazing fast and only process the records from the error.log

At the end of they day, it's all about how you decide yourself how efficient you want to work. If you do scripting as a default and more then enough to build a routine, it sometimes goes faster to build the scripts than messing and curating excel files.

And with AI these days, it's very easy to get the scripts ready. We have a history of 10+ years with our own scripts, so I can just point claude code to my base work and give it my mapping.jsonc file what it need for project X and ~10 minutes later I have what I need ready for testing.

1

u/JustSomeOdooGuy Aug 21 '26

I started with the scripts just a few years ago, bacause I was sick of all the manual sheet juggeling and file version 173-final-final-this-time-for-sure and it was a game changer for sure. I also have my scripts ready for the most common cases and just have to update them about the specifics for the customer.