Odoo
Overview
The Odoo blueprint crawls ERP data from Odoo Online including products, bills of materials (BOMs), BOM line entries, engineering change orders (ECOs), vendor pricelist entries (supplier info), and vendor partner records. It enables end-to-end digital thread traceability — linking Odoo product records to AlignI BOM parts via the internal reference code (default_code), through Azure IoT templates to deployed field devices, and now extending into the supply chain with vendor sourcing and lead time data.
Resources Collected
- Products: Product templates (
product.template) with internal reference code, type, category, and description - BOMs: Bills of materials (
mrp.bom) linking a product to its component assembly with reference code and BOM type - BOM Lines: Individual component entries (
mrp.bom.line) within a BOM, including component product and quantity - ECOs: Engineering change orders (
mrp.eco) tracking requested design changes with stage, state, and priority - Supplier Info: Vendor pricelist entries (
product.supplierinfo) linking a product template to a vendor with part number, price, minimum quantity, and lead time in days - Vendors: Vendor partner records (
res.partner) with name, email, and country
Prerequisites
- Odoo Online account (SaaS) with Manufacturing (
mrp) module enabled - An Odoo user with at least read access to
product.template,mrp.bom,mrp.bom.line,mrp.eco,product.supplierinfo, andres.partner - An API key generated in user Preferences
Setup Instructions
1. Generate an API Key
- Log in to your Odoo instance (
https://<your-org>.odoo.com) - Click your user avatar (top-right) → Preferences
- Under the Account Security tab, click New API Key
- Give it a descriptive name (e.g.
kaleidoscope-crawler) and copy the generated key
2. Configure the Crawler
| Field | Description | Required |
|---|---|---|
odooOrg | Odoo Online organization slug only (e.g. acme for acme.odoo.com) — do NOT enter the full URL | Yes |
odooLogin | Login email address for the Odoo account | Yes |
odooAPIKey | API key generated in Preferences > API Keys | Yes |
Data Points
| Data Point | Odoo Model | Fields |
|---|---|---|
| Products | product.template | id, name, default_code (internal ref), type, categ_id |
| BOMs | mrp.bom | id, code, product_tmpl_id, product_qty, type |
| BOM Lines | mrp.bom.line | id, bom_id, product_id, product_qty |
| ECOs | mrp.eco | id, name, product_tmpl_id, stage_id, state, priority |
| Supplier Info | product.supplierinfo | id, product_tmpl_id, partner_id, product_code, price, min_qty, delay |
| Vendors | res.partner | id, name, email, country_id |
Cross-System Correlation
The InternalReference field on odoo.inventory.Product (maps to default_code in Odoo) is the key used to correlate with AlignI:
- AlignI:
odoo.inventory.Product.InternalReference=aligni.design.Part.ManufacturerPn
This extends the full Digital Thread: Odoo ERP → AlignI BOM → Azure IoT Template → Losant Field Device
Joiner Bot Edges Created
| Edge Name | From | To | Description |
|---|---|---|---|
Odoo.ProductToAlignIPart | odoo.inventory.Product | aligni.design.Part | Cross-blueprint link via internal reference |
Odoo.BOMForProduct | odoo.manufacturing.BOM | odoo.inventory.Product | BOM belongs to product |
Odoo.BOMLineInBOM | odoo.manufacturing.BOMLine | odoo.manufacturing.BOM | BOM line belongs to BOM |
Odoo.BOMLineReferencesProduct | odoo.manufacturing.BOMLine | odoo.inventory.Product | BOM line references component product |
Odoo.ECOTargetsProduct | odoo.manufacturing.ECO | odoo.inventory.Product | ECO targets a product |
Odoo.ProductHasSupplierInfo | odoo.inventory.Product | odoo.purchasing.SupplierInfo | Product has a vendor pricelist entry |
Odoo.SupplierInfoForVendor | odoo.purchasing.SupplierInfo | odoo.purchasing.Vendor | Pricelist entry belongs to a vendor |
Supply Chain Analytics
The vendor and supplier info resources enable a new class of supply chain intelligence within the Digital Thread analyzer:
- Sourcing Coverage: Shows what fraction of products are single-sourced vs. multi-sourced
- Products per Vendor: Surfaces vendor concentration — how many components each vendor covers
- BOM Components With No Vendor: Flags components in the manufacturing structure with no procurement path
- Sole-Sourced Long Lead Components: Highlights the highest risk items — one vendor with a lead time over 45 days
These metrics appear in the Product 360 view of the Digital Thread analyzer alongside the existing ECO and BOM widgets. The full graph traversal path is: ECO → Product → SupplierInfo → Vendor.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| Authentication failed | Wrong login or API key | Verify login email and regenerate API key in Preferences |
| Cannot fetch BOMs / ECOs | Manufacturing module not installed | Enable the Manufacturing app in Odoo Settings > Apps |
| Empty products list | No active products | Ensure products are not archived in Odoo |