← All posts

5 signs your Odoo is hiding customers from you

30 September 2026

Odoo records every quote, every order, every invoice and every note. It forgets nothing. But it only shows what you ask for, and nobody thinks to ask "which customer is leaving". Here are five situations we see at every distributor, with figures from a real Odoo: a security equipment distributor with about 1,800 buying accounts.

1. A big customer whose last twelve months collapsed

Odoo shows a customer's order list. It does not show that the last twelve months are half of the twelve before. An account worth 80,000 € a year dropping to 30,000 € triggers nothing: each order, taken alone, looks normal.

What to look for: the last 12 months of revenue against the 12 before, on the accounts that matter (over 50,000 € lifetime). Add the last order date, the objection from the last call if you keep those, and the overdue balance. A rep told us "il faudrait avoir une explication du churn", we need an explanation of the churn. A score would not have convinced him. Those four lines did.

2. A sent quote nobody follows up

A quote goes to "sent" and stays there. Without a note, a call or a planned activity, it surfaces nowhere. After 60 days of silence it is almost always lost, but it sits in the pipeline in its cheerful colour.

What to look for: quotes over 1,000 € sent more than 60 days ago, with no activity on the partner since. That is not a list of quotes to chase, it is a list of calls to make this week.

3. An account buying a single brand

At this distributor, customers buying seven brands or more carry most of the revenue. Brand count mostly follows account size, which makes sense. The anomaly is the account at 90,000 € over two years buying one brand, when customers its size buy five in median.

What to look for: for each active customer, the number of brands bought, compared with customers of the same size. And the brands those customers buy most that this one does not. 87% of accounts its size buy brand X: that is an argument, not a hunch.

4. A regular customer late for their second order

On this same Odoo, only 63% of customers ever place a second order. Once at three orders, 83% place a fourth. So the loss happens between the first and the second, and Odoo will never tell you that the customer from 70 days ago should have been back three weeks ago.

What to look for: the usual gap between first and second order, learned from your own customers (51 days in median here), and the one-order customers past it who are not lost yet. We wrote a whole post on it.

5. Years-old quotes inflating the pipeline

Nothing marks a quote as lost except a person cancelling it. So they pile up. At this distributor: 4,317 quotes open for more than a year, 19.8 million euros before tax, across 1,230 accounts. The oldest had been waiting for 2,094 days. That is 65% of the "open" pipeline Odoo displays.

What to look for: the share of the pipeline created more than a year ago. While it is there, every figure on sales load, conversion rate and forecast is wrong. The details, and how to clean up without breaking anything.

What these five have in common

None of them needs data you do not have. It is all in Odoo already: orders, dates, amounts, product categories. What is missing is someone who runs the comparison every night and sends you, in the morning, the three accounts worth a call, with the working in plain sight.

That is exactly what ERP-BI does: it reads your Odoo through its API, changes nothing, and sends a short email at 9:00 every morning with the day's accounts and the reason for each.