Odoo: Open Source ERP and CRM
20 June, 2022 by
Tanseer Ahmed


ERP? ERP stands for enterprise resource planning, and it is a sort of software that businesses use to handle day-to-day operations like accounting, procurement, project management, risk management, compliance, and supply chain operations.

In a nutshell, this implies bringing all of your business processes together in one spot! Isn't this incredible? Well, we'll learn more about Odoo ERP, open-source software that controls all company solutions in one place.


We'll look at a case study from one of our Odoo ERP projects for a client in this article. We did a lot of customizing, and the project was also quite large, with numerous client requests and adjustments. This is the best Odoo ERP system, and it's working like a magic program right now.


The client's major objectives were to keep track of OFM Magento 2 orders on ERP, track stock movement, and fulfill customer orders on the ERP side.

Learn more


The setup is completed on an Amazon AWS server using the Python programming language and the Postgres database. Ngnix was also utilized as a web server to reverse proxy the URL of the site.

Learn more


We adopted an Agile development technique, in which every feature was delivered to the client on a weekly basis, and everything went so well that we beat the deadline. Each custom-developed extension was code-quality tested by our ERP architects.

Learn more



  • When a customer puts in an order, it is first received in ERP via OFM, which is powered by Magento 2. When an order is received, the system checks the stock to see whether it is available, and if it is, the order is instantly sent to the waiting-to-pack queue.

  • This cross-checking is done to assure stock availability and to notify you if the stock value has dropped. Orders imported to ERP are recorded in logs with only backend access, and products are produced during the order import process in ERP. And the product details given along in the payload are used to generate the product in ERP.

  • After receiving an order, it goes through several stages in ERP, including Waiting to pack, In Progress, Waiting for stock, Completed, and On-Hold.


Once the order is created, it will check for all available products and if any are, it will be transferred to the Waiting for Pack stage.

Odoo project image

The admin can then select the Global pick sheet after manually selecting all of the products he wants to process. The global pick sheet verifies that the product is in stock and generates all of the selected products' data. The Admin can then choose Print or Complete to move the order from the In Progress section.


Odoo Project Demo

The order can be shipped and moved to the completed stage by the administrator. If the admin ships the order, the order shipping label will be printed using the cloud printer, and the order will be marked as completed.

Now the admin has another option: he or she can mark the order as Need Stock, enter the quantity required for the SKU, and move the order to the Waiting for Stock area, where the quantity will be entered in the IOP page as highlighted in the above image.

Odoo project image


When an order is created, the stock availability is checked, and if there is insufficient or no stock available, the order is moved to the waiting for stock section.

Odoo project Image

After that, the admin has the same two options as before: manually shift the order to the complete section or choose the product and click on need stock, and the quantity will be added to the IPO page as previously.


Once the order is completed and printed, it will be moved to the complete stage/section.


This part contains all stock information, including incoming inventory, outgoing inventory, and inventory pages.

  • All of the products that are currently in stock with SKU are included in the incoming inventory.

  • All of the products that have left the stock are included in the outgoing inventory.

The in-stock items or products left in the stock movement are listed on the inventory page.


The Admin can add items with the Product name, image, SKU id, sales price, Product kind, Zone, Warehouse, and Barcodes to the products area, as well as quickly check the box if the product is Drop delivered. Alternatively, instead of filling everything up manually, a CSV file can be imported.

Odoo project image


All client information, such as name and email address, is stored here.


Suppliers are essentially the system's vendors. Admin simply keeps track of the supplier's name and email address for future reference. By default, Odoo has the partner table with the checkboxes enabled.


ERP also allows you to keep track of your suppliers' orders in the system, including stages such as pending logs, incoming orders, and partially completed orders.


The header menu in the supplier Orders will include all of the above-mentioned components. The pending supplier orders that Admin has placed will be created. After a user has created all of the pending logs, he may select the ones he needs and turn them into an incoming order with a unique box id.


Import incoming sections or pending logs are used to build incoming orders Admins can also import incoming, which will transfer all pending logs to incoming depending on the supplied data.


Odoo Incoming demo

The import file should have three columns: box id, model id (SKU separated by commas), and quantity (quantity with comma separated)

The user will change the quantity received and then click the top-right Receive Orders button. If all of the quantities are received, the order will be marked as complete; otherwise, it will be marked as partially completed.


In the partial complete state, the admin can select the order and print all the barcodes in the order or solve the order and move it to the complete state.

Admin can also click the get orders button on the product line items to get all the waiting for stock orders with that SKU and reserve the quantity for that order.


In the complete condition, the administrator can choose an order and print all of the SKU's barcodes.

Odoo backend Complete demo
 Admins can also use the get orders button on the product line items to receive a list of all the pending stock orders for that SKU and reserve the quantity for that order.


This section contains all of OFM's drop-ship orders. The dropship flag in order is used to classify dropship orders. There isn't a procedure for placing a drop-ship order.


This page shows all of the orders that have been returned, as well as the order details, return notes, and creation date. The administrator can mark the return as Issued, Approved, or Rejected.

Issued products can be placed on a waiting list until they are approved, accepted products can be exchanged or refunded, and rejected products are rechecked for quality.


The most essential portion of OFM is the IOP page, which covers all stock details as well as a variety of stock details such as

Product name, SKU, Quantity out of stock, Supplier order pending state, Supplier order incoming state, Deficit, Deficit, Deficit, Deficit, Deficit, Deficit, Deficit, Deficit, Deficit, Deficit Outstanding stock is awaiting confirmation. Sales for the last 7, 14, and 30 days, as well as average sales for the last 7 and 14 days.


You can add printer settings, a list of printers for different pdf sizes, and a list of carriers for each pdf size in this section

PRINTNODE is the 3rd party cloud printing application used to print shipping labels.

Odoo backend printer config


Admins can add all of the printers available in the printnode to this list. And there are 4 types of printers available the default one, A4, 4x8, and the Barcode.

Odoo backend printer ID Config


For the same, the administrator must specify the carriers and printer type as shown below

Odoo backend Carrier config
If the carrier is not specified in the options, the shipping label will not be printed when the order is printed. For ease of use, all the previously used carriers are stored in the carrier configurations.


In this part, the administrator can load and rewrite SKUs. When generating a product for the first time, it will check for SKU to determine whether it has to be rewritten depending on the data loaded.

This rewriting SKU is used when importing orders from OFM into ERP.


In this section, the admin will submit the OFM API details as well as the label paths in the ERP server. As this is where the system will look to connect the OFM Magento 2, be sure the path and API credentials are always valid.


This is where the final shipment data are prepared and kept in order to continue forward. Order ID, Ship label, Ship Order ID, Carrier Name, and User ID are just a few of the details available. 


In this part, the administrator will enter the return address, which will be used on the return authorization page.

Odoo backend return address config


The job queue will be the only place where printing will take place. This is evident in this section. This is accomplished through the use of a third-party program.


The users utilizing the ERP system are listed in the settings area, and the admin can grant access to many users based on their roles, and other users can only access the limited parts based on the role that the admin has allocated to them.


Before the website went live, all of the tests stated below were done on a regular basis whenever new features were introduced, as well as globally.

  • Functionality Testing 
  • Interface Testing 
  • Performance Evaluation
  • Performing security checks


We normally use GitLab to push the modifications, pull them on the live server, restart the service, and update the relevant modules. For maintenance, the site will be unavailable for 2-3 minutes.


Odoo claims that 7 million users are using the software to expand their businesses. Odoo is an open-source business software suite that includes CRM, eCommerce, accounting, inventory, point of sale, project management, and more. Odoo's distinct value proposition is that it is both simple to use and completely integrated.

We construct high-end integrated apps with a lot of customizations/client requirements using Odoo, which is the most popular ERP at EWALL. This article describes such a project.

Not only do we use Odoo, but we also experiment with ERPNext, another ERP platform, and a case study on this with one of our projects is on the way. With Odoo ERP systems, you may obtain all of your online business solutions in one place and as many customizations as you desire.

Tanseer Ahmed 20 June, 2022
Share this post