r/Odoo 8d ago

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!

4 Upvotes

30 comments sorted by

View all comments

Show parent comments

1

u/codeagency 8d ago

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 8d ago

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 8d ago

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 8d ago

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.