Skip to Content

19,000 BOMs, checked every night: how an AI scanner keeps manufacturing data honest

Seven deterministic checks, one AI-written summary, zero writes to your data
September 15, 2026 by
19,000 BOMs, checked every night: how an AI scanner keeps manufacturing data honest

Bills of materials rot. Not loudly. Quietly.

A component gets archived, but it still sits inside 40 BOMs. A line gets duplicated during a copy-paste session. Someone types 100 where 10 was meant. A sub-assembly ends up containing itself. Nothing crashes. Odoo does not complain. The BOM just waits — until purchasing orders the wrong parts, costing goes wrong, or a production order stops on the factory floor.

With a handful of BOMs you catch this by eye. With thousands, you never will. One of our customers, a lighting manufacturer in Guangdong, runs 41,000+ products and 19,000+ BOMs in Odoo. No human reviews that by hand. So we built a machine that does.

What the scanner does

The AI BOM Anomaly Scanner is part of our Danmai AI Pack. Every night it walks through every active BOM and runs seven deterministic checks: archived components, archived BOM products, zero-quantity lines, duplicate lines, BOM loops, missing packaging compared to the product family, and quantity outliers against family baselines.

Note the word deterministic. The checks are plain SQL. The AI does not decide what is broken — the database does. DeepSeek writes one thing only: the morning summary a human actually wants to read. "Three new loop findings, one outlier on a fixture family, 12 findings auto-resolved." Facts from the scan, nothing else.

Every finding lands in a list with an acknowledge/dismiss workflow. A person looks at it and decides. Dismissed a false positive once? The scanner remembers and will not raise it again. And the module is strictly read-only towards BOM and product data — it never "fixes" anything on its own. That is our standing rule for all AI work: AI drafts, a named human approves, Odoo executes.

What it found

Real numbers from the Guangdong installation. When the customer archived their dead stock, the scanner auto-resolved 256 stale findings in one pass — findings that pointed at products no longer in play. Archived-component findings dropped from 662 to 498 overnight. The remaining 498 are real work: live BOMs that still reference parts nobody can buy anymore. That is a to-do list purchasing and engineering can actually act on, instead of a data swamp nobody dares to open.

All of this was verified on staging before it touched production. Staging first, always.

Why DeepSeek

The scan summaries come out of DeepSeek because it is hosted in China, fast from a Chinese server, and strong in Chinese — useful when your engineers read the summary in Chinese and management reads it in English. The same module runs equally well on Odoo-native Gemini or OpenAI if that is your policy. The checks do not care which model writes the prose.

Does this apply to you?

If you manufacture in China with more than a few hundred BOMs, some of them are wrong right now. You just do not know which ones. A nightly, read-only scan is the cheapest insurance there is: it costs nothing when everything is clean, and it names the exact BOM when something is not.

The scanner is one of 50+ modules we run in production, and one of the building blocks in our AI Pack. If you want to know what your BOM data looks like, ask us for a free assessment via the contact form — we will tell you straight what is worth fixing and what is not.

Practical AI in Odoo: what a foreign-run company in China can use today
AI drafts, a named human approves, Odoo executes - the rule that makes AI safe in production