A customer calls and says, “I want 100 units.” You ask yourself: how many are available? At what price? And what is their balance with us? At ToDoOps we see these three questions as the test of any system for a wholesale or distribution company. If the manager, the sales rep and finance can answer them from one source, follow-up gets faster and the next offer to the customer gets clearer.

Odoo connects sales, purchasing, inventory and accounting in one cycle. If you want to know how ToDoOps works with Odoo, start from the home page. The rest of this article explains the cycle with a simple numeric example any manager can follow.

Pricelists in Odoo: How Do You Set Each Customer’s Price?

According to the Odoo 19 documentation, a pricelist takes precedence over the sales price on the product card. Its rules can be tied to a customer, a customer group, a product, a product category, a minimum quantity or a validity period. They work in three ways: a fixed price, a discount, or a formula.

A pricelist suggests the price, and it can be edited on the sales order. So we define with you who has permission to edit, test the case in the sales rep role, and add approval where needed. Any automatic block beyond that, such as a credit limit or commission calculation, we define and test within an agreed scope rather than assume.

What Happens If the Customer Orders 100 Units and 60 Are Delivered?

This example is entirely hypothetical. It is not an actual result and not a quotation. A customer orders 100 units at an agreed SAR 50 per unit before applicable tax. Physical stock in the warehouse before delivery is 100 units, with no other movements. 60 units are delivered and the delivery is validated. We assume the invoicing policy is “based on delivered quantities,” and that the customer paid SAR 1,000, which was recorded and reconciled. We exclude taxes and fees from all figures in the example to keep the arithmetic simple. The actual customer statement depends on the invoice with all its lines.

Step Physical stock Remaining on the order Posted invoice Collected Receivable
Before delivery 100 100 None None None
After delivering 60 40 40 60 × 50 = SAR 3,000 None SAR 3,000
After the payment 40 40 SAR 3,000 SAR 1,000 SAR 2,000

Read the table the way each party reads it. The sales manager sees 40 units remaining on the order and answers the customer with a date. Finance sees SAR 2,000 owed by the customer. The remaining 40 units have not been delivered, so under this assumption they are not part of the invoice, and they are not an extra overdue SAR 2,000 invoice. A receivable becomes overdue only according to its due date.

Do not add the order value of SAR 5,000 to the invoice of SAR 3,000 to reach SAR 8,000 in sales. That is double counting. After the next delivery, an invoice is prepared for the quantities due under the policy. Purchase planning benefits from the same figure: purchasing knows that 40 units are still required. Returns are a separate scope if you need them, and we define the receiving mechanism and credit note with finance.

To see how sales connect to inventory in one flow, try Odoo interactively. It is a guided simulation with hypothetical data for a sales and inventory flow, and it does not cover every function in this article.

How Are Warehouses, Units and Dates Separated?

A trader buys by the carton and sells by the piece. In Odoo you can set the purchase unit as a unit of measure from a category compatible with the sales unit, and the difference then appears at receipt without manual calculation. Inventory distinguishes on-hand, reserved and forecasted quantities, which are three different states. Products with shelf life can be tracked by lot and removal date under the FEFO rule once it is configured.

Likewise, order, delivery, invoice and receipt remain separate stages in the cycle, which is why the team can track a partial order. Delivery routes and specialized field-collection interfaces we define in a separate scope, and we do not treat them as included automatically. The Saudi e-invoice setup is reviewed with finance and tested on your company’s cases.

How Big Is the Wholesale Sector in Saudi Arabia?

Operating revenues of wholesale activities (excluding motor vehicles and motorcycles) reached SAR 305.0 billion in 2024, according to the General Authority for Statistics (GASTAT). The data covers wholesale activity excluding motor vehicles and motorcycles in that year. With this density of transactions, seeing price, stock and receivables together helps you manage the next order and plan for growth.

What Does It Cost and What Is the Practical Step?

Cost is affected by the quality of item data, customer prices and the size of opening balances. For an initial estimate there is the Odoo implementation cost and savings calculator, which is optional and not a prerequisite for contacting us. In Odoo apps and industries you will find what suits your business.

The best start is to choose one customer, one item and one warehouse, then follow one order from price to collection. After that we expand.

FAQ

Is one pricelist enough for several customers? Price rules can be tied to a customer, a customer group or a product category. We define with you the structure that fits your number of customers and your pricing method.

Does Odoo work with more than one warehouse? Yes, Odoo supports multiple locations and warehouses. We test movement between them and the balance at each location before go-live.

Does finance continue on its current tool? Finance can stay on its tool during a planned transition period. We define with you the handover date and what is migrated and what is connected, so there are not two conflicting sources for balances.

References

  • Odoo 19 documentation, pricelists, sales, inventory, units of measure, lots and removal dates. The vendor’s functional reference, showing what the system supports through configuration.

Your Next Step

If you have an order, delivery, invoice and statement of account for a single customer, that is enough material to build a clear test with you. ToDoOps handles setup, agreed development, data migration, training and support, within a scope drawn from your documents. Learn about ToDoOps or contact us to discuss a sales cycle that represents your business and set the starting point. Approved channels are used afterward to share any documents needed for analysis. For an initial budget estimate, the calculator is available to you as an option.