What is Odoo ERP?
Odoo ERP is an ERP program that is used to track stocks, sales, purchases and all the other stuff that is related to business management. ERP systems are the backbone of businesses that either is scaling or scaled already. Spreadsheets only get you so far before you cannot keep track of everything, or you can keep track of it but you just do not know that you are not making the best of the data that you have from all the sales, production plans, purchases and sales. Tons of useful information can be extracted from all of the files that you use to keep track of.
ERP systems provide that, they provide visualibility for the data, they make it easier to track what you sold, what you purchased or manufactured. They are a gold standart for all industries, from manufacturing, to service providing. If you don’t know your operation, you cannot keep track of it. If you cannot keep track and manage, you will not scale. You just will hit a deadline at some point, because your operation is just inefficent and more costly to keep track of.
What is Ideasoft?
Ideasoft is a B2C SaaS e-commerce provider based in Türkiye. They offer ready to use website design, cloud hosting for those websites, even SEO services built in. They integrate payment gateways, offer you a user friendly panel, and help you sell online with a no-code platform. You get the deal I think :)
Why did I build a bridge between Odoo and Ideasoft?
My company is a manufacturer of industrial steel cabinet systems, workbenches and such. We mainly provide B2B service from a different source, but owner was selling at retail too, by another dealer corporation formed by him also. They were selling the same products that they produced, but there was a problem.
Odoo was used to keep track of everything, so information about products like stocks, barcodes, names and such was in Odoo. So they used Ideasoft panel to manually list the products in Ideasoft website. This caused problems:
- Because stock information was in Odoo, first time that they were typing that information, they just used the information from Odoo by manually typing in stocks one by one. When a product is sold from Ideasoft, that products stock information is brought down by the count of that product in the specific order.
- For example, let’s say a Moduline Combo 33 is sold. This means Moduline Combo 33s stock needs to come down by one. Ideasoft automatically does this.
- Stock information is brought down in Ideasoft, but Odoo does not know this. Word goes out to the warehouse manager and he ships the product.
- Warehouse manager needs to log into the Odoo, confirm the sale and shipment is completed. Then stock is brought down in Odoo too.
**This approach can cause many problems.
- Ideasoft operator can forget to send the word out to the warehouse manager to ship the products.
- Warehouse manager can forget to log the shipment to Odoo, thus not bringing the stock down in Odoo.
Once these happen, you are bound to lose money. Shipment runs late, marketplaces write you up for running late, customer cancels the order and bank processes cost you money, without bringing in any profit.
Third and the most important problem is:
---> Even if order process can run healthy without human errors, or little to none errors, there is still incoming shipments to a warehouse.
- Lets say our Q-Brick System Toolbox Set stock is running empty, and we have incoming shipment today. We bought a hundred of them.
- Shipment arrives, warehouse manager logs in the shipment to Odoo.
- Ideasoft does not know. On Ideasoft website, product is closed to sale. You need to manually type in the stock by getting information from the warehouse manager.
- Or lets say our Moduline Combo 16 is in stock, in fact lets say there is 50 in stock
- Then another local customer calls the warehouse manager and buys all 50, thus bringing the stock to zero.
- Still, Ideasoft has no idea what is going on. Product is still open to sale at the website, even tho we got no stock in hand.
- If an order arrives, you have to cancel it, explain it to the customer and hope that he does not leave negative reviews.
---> I think you can already see how this process is hard for even one product. Think of doing this everyday, when every shipment or order arrives at warehouse, with all your product line. It is impossible.
--->This is where the integration comes in.
How does it work?
The integration uses APIs of both the Ideasoft and the Odoo.
What is an API?: APIs are computer programs that ables the one or more programs to communicate via Internet. They open parts of program data or functions to outside access, with authentication systems if needed.
APIs of both programs are very detailed and intricate, ables us to manipulate any data if needed. Meaning that if you can manipulate it in the panel, you can manipulate it programmaticaly.
Integration itself is fairly simple. With not much lines of code, I have been able to automate the process that we discussed earlier. A program is called a middleware if it connects two systems in any way.
-
Middleware itself does two things:
- If Odoo product stock is manipulated, push the stock changes to Ideasoft.
- If a new Ideasoft order is detected, push the order to Odoo.
-
This logic solves the fundamental problem we discussed earlier. It is very simple.
- If the new Ideasoft order is processed in Odoo, stock information is automotacially brought down. Thus eliminating the need Ideasoft Manager to call Warehouse Manager and all the human errors that comes with it.
- If a new shipment arrives at warehouse, or a sale is directly made without the website, Warehouse Manager creates a sales order, or a incoming shipment, thus bringing the down or up depending on which process is happening. Thus manipulates the stock info.
-
Middleware runs every 5 minutes, which is more than enough for our purposes. This is a fairly mature practice for point to point integrations.
- If you want your order to appear in the Odoo or any other ERP program the second the order hits the Ideasoft, you can do that with webhooks. Webhooks are a kind of a planned task that runs if a specific parameter is met. For our purposes, this is a new order.
- But for webhooks, you need to buy the most premium and the most expensive package in Ideasoft. I did not think that this was necessary for our operation, so we did not implement that to our solution, but it is absolutely doable, if you have a shorter intervals between orders and absolutely want to eliminate backorders.
Like this logic, I can implement any logic between any programs. If they have the right models in API, anything is doable, and you can automate almost anything.
You can reach out to me, if you want to discuss point to point integrations between any programs.
Thanks a lot for reading this so far. Bera Çakıcı