ERP migration
Field-level mapping, validation, and rollback between Icicle ERP and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Icicle ERP
Source
Odoo ERP
Destination
Compatibility
10 of 12
objects map 1:1 between Icicle ERP and Odoo ERP.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Icicle ERP to Odoo ERP means leaving a purpose-built food-and-beverage manufacturing system for a modular open-source ERP with a broader feature set but less domain depth in food safety. The primary migration challenge is Icicle's lack of a documented public API: every outbound migration requires direct coordination with Icicle support to produce a structured data package, which we document in the migration scope before extraction begins. The second challenge is preserving Icicle's first-class lot traceability graph, which links raw-material lots to in-process lots to finished-goods lots; Odoo models traceability through lots and serial numbers rather than a native genealogy graph, so we configure Odoo's lot tracking to represent the same relationships during setup. We migrate Products (with formulation BOMs, allergen declarations, and nutritional data), Production Orders, lot records, inventory, QC inspections, supplier and customer records, open AP and AR, the chart of accounts, and document attachments. We do not migrate workflows, automations, co-packer contract logic, or custom food-safety configurations as code; we deliver written inventories of these for the customer's Odoo administrator to rebuild post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Icicle ERP object lands in Odoo ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Icicle ERP
Products / Formulations
Odoo ERP
Product (with Bill of Materials)
1:1Icicle Products store full formulation hierarchies (ingredients, packaging BOMs, allergen declarations, nutritional data) as a native concept. We map these 1:1 to Odoo Product records, with the formulation stored as a multi-level Odoo BoM (Bill of Materials) using the appropriate BoM type (kit for components, manufacture for production recipes). Allergen fields and nutritional data migrate as custom fields on the Product record. Unit-of-measure conventions (weight, volume, case-pack configurations) migrate to Odoo's UoM model with the customer's existing UoM category structure preserved.
Icicle ERP
Production Orders / Work Orders
Odoo ERP
Manufacturing Order
1:1Icicle Production Orders link to Formulations, scheduled batches, and resource allocations. We migrate production order history, quantities run, and the resulting finished-goods lot numbers to Odoo Manufacturing Orders. The Odoo MRP module must be installed and configured before migration; we create Work Centers and Routing definitions that mirror the resource allocation structure from Icicle so that production scheduling continuity is preserved.
Icicle ERP
Lot / Batch Records (Traceability)
Odoo ERP
Lot / Serial Number
lossyLot traceability in Icicle is a first-class linked graph connecting raw-material lots to in-process lots to finished-goods lots. Odoo tracks lots at the inventory level with stock moves but does not have a native genealogy graph. We map the full lot graph during scoping and configure Odoo's lot tracking to represent the same traceability relationships using lot numbers, linked stock moves, and a traceability report extension. Forward and backward traceability must be verified in a test migration before production cutover because broken lot links represent a food-safety compliance gap.
Icicle ERP
Inventory Lots / Stock Items
Odoo ERP
Stock Quant
1:1Icicle tracks inventory at the lot level with locations, expiry dates, and QC hold statuses. We map these to Odoo Stock Quant records, preserving the lot reference, location (Warehouse/Location), on-hand quantity, and expiry date. QC hold statuses from Icicle migrate as a custom field and a quality alert flag so that lots under active quality holds do not enter the production or sales pipeline without explicit release.
Icicle ERP
QC Inspections / Quality Checks
Odoo ERP
Quality Check (with Quality Alert)
1:1Quality checks in Icicle are tied to specific lots and production orders with pass/fail criteria and inspector assignments. Odoo models QC as Quality Check records attached to manufacturing or picking operations, with Quality Alerts for non-conformance. We map Icicle inspection records to a combined Odoo Quality Check and Quality Alert structure, preserving the lot reference, inspection date, inspector, and pass/fail result. The customer must install the Quality Control app in Odoo before migration.
Icicle ERP
Suppliers / Vendor Records
Odoo ERP
Contact (with supplier flag)
1:1Icicle Supplier records include food-safety rating fields, certifications (organic, kosher, halal), and approval statuses. We migrate all supplier fields to Odoo Contact records with the supplier flag enabled, and certifications migrate as custom fields or tags. The supplier approval workflow state at migration cutover is preserved so that any vendors currently on hold are not reactivated without explicit review in Odoo.
Icicle ERP
Customers / Accounts
Odoo ERP
Contact (with company) / Company
1:1Customer records in Icicle include standard billing and shipping fields and customer-specific pricing tiers. We map these to Odoo Company records (for B2B customers) or direct Contact records (for B2C), with the customer-specific pricing tier stored as a custom field or pricing list reference on the Contact or Quotation. Customer-specific pricing rules in Icicle may require Odoo pricelist configuration post-migration.
Icicle ERP
Sales Orders / Sales Contracts
Odoo ERP
Sale Order
1:1Sales Orders in Icicle reference Products, Customers, and Delivery schedules. We map open sales orders to Odoo Sale Orders by status. Orders tied to specific lots (for lot-reserved deliveries) are flagged during migration so that the lot reservation logic in Odoo is configured correctly. Completed or cancelled historical orders are migrated as closed records for audit purposes but are not activated in the Odoo sales pipeline.
Icicle ERP
Open AP / Vendor Invoices
Odoo ERP
Vendor Bill
1:1Accounts payable records in Icicle must be extracted and matched to vendor records. Open invoice amounts, due dates, and payment terms map to Odoo Vendor Bills. We preserve the invoice status (open, partially paid, paid) and ageing buckets at cutover. Closed historical invoices are archived rather than loaded into Odoo to avoid cluttering the accounting module. The Odoo Accounting app must be installed and the fiscal year configured before AP migration.
Icicle ERP
Open AR / Customer Invoices
Odoo ERP
Customer Invoice
1:1AR records in Icicle reference customer accounts and open sales orders. Outstanding invoice balances, due dates, and payment terms are remapped to Odoo Customer Invoices with the ageing buckets preserved. We flag any invoices linked to lots currently under QC hold so that the finance team does not recognize revenue on holds. Odoo's account receivable reconciliation process begins after AR migration to match payments against the imported invoices.
Icicle ERP
Chart of Accounts / General Ledger
Odoo ERP
Account (Chart of Accounts)
1:1Icicle's GL structure includes food-industry-specific accounts (cost of goods sold by product category, COGS splits by facility). We map these to Odoo's chart of accounts and flag accounts that require creation as new in Odoo. Multi-facility Icicle deployments may have per-facility cost center structures that require Odoo's analytic accounting configuration to represent the same cost allocation. The Odoo Accounting app must be fully configured with the chart of accounts before any transactional data (AP/AR) migrates.
Icicle ERP
Co-packer Contract Records
Odoo ERP
Custom Fields on Product / Contact
lossyIcicle's co-packer mode adds customer-specific contract fields (formula versioning, NDA flags, customer-specific spec documents) that do not map directly to a standard Odoo object. We identify these co-packer extensions during the data audit phase and map them as custom fields on the Odoo Product (for formula versioning and spec documents) and Contact (for NDA flags and contract metadata). File attachments associated with co-packer records migrate as Odoo attachments linked to the parent record. The customer must configure NDA tracking and contract workflow logic post-migration using Odoo's standard tools.
| Icicle ERP | Odoo ERP | Compatibility | |
|---|---|---|---|
| Products / Formulations | Product (with Bill of Materials)1:1 | Fully supported | |
| Production Orders / Work Orders | Manufacturing Order1:1 | Fully supported | |
| Lot / Batch Records (Traceability) | Lot / Serial Numberlossy | Fully supported | |
| Inventory Lots / Stock Items | Stock Quant1:1 | Fully supported | |
| QC Inspections / Quality Checks | Quality Check (with Quality Alert)1:1 | Mapping required | |
| Suppliers / Vendor Records | Contact (with supplier flag)1:1 | Fully supported | |
| Customers / Accounts | Contact (with company) / Company1:1 | Fully supported | |
| Sales Orders / Sales Contracts | Sale Order1:1 | Mapping required | |
| Open AP / Vendor Invoices | Vendor Bill1:1 | Mapping required | |
| Open AR / Customer Invoices | Customer Invoice1:1 | Mapping required | |
| Chart of Accounts / General Ledger | Account (Chart of Accounts)1:1 | Mapping required | |
| Co-packer Contract Records | Custom Fields on Product / Contactlossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Icicle ERP gotchas
No publicly documented API for self-serve data export
Pricing is opaque — no published tiers or per-user rates
Lot traceability links are schema-critical and must survive migration
Co-packer contract records use non-standard field structures
Odoo ERP gotchas
No rollback for CSV imports
External ID conflicts on re-import
Many2many field encoding in CSV imports
Large export timeouts require batching
Version schema drift between Odoo releases
Pair-specific challenges
Migration approach
Discovery and Icicle export coordination
We audit the Icicle system across all modules in scope (Products/Formulations, Production Orders, Lots, Inventory, QC Inspections, Suppliers, Customers, Sales Orders, AP/AR, and GL). We map the full lot genealogy graph to confirm Odoo's lot tracking can represent the same traceability relationships. We then engage Icicle support directly to agree on the structured data export format, schema documentation, and delivery timeline. Without a public API, this coordination step is mandatory and can add two to four weeks to the discovery phase if Icicle support responsiveness is slow. The discovery output is a written migration scope with object inventory, lot graph assessment, and Icicle export plan.
Odoo environment provisioning and app installation
We work with the customer to provision the Odoo environment: Odoo Community (free, self-hosted with PostgreSQL) or Odoo Online/Odoo Enterprise (paid, cloud-hosted). We install the required Odoo apps before any schema work begins: Manufacturing (MRP), Quality Control, Inventory, and Accounting are the core apps for a food manufacturing migration. We verify the BoM, lot tracking, and quality check objects are present in the schema before proceeding. We also configure the Odoo UoM categories to match the weight, volume, and case-pack conventions from Icicle so that product formulations migrate with correct units.
Schema design and lot traceability configuration
We design the destination schema in Odoo. This includes creating custom fields on Product for allergen declarations, nutritional data, and co-packer contract metadata; configuring the BoM structure to mirror Icicle's formulation hierarchies; enabling lot tracking with expiry dates on the product form; installing and configuring the Quality Control app with quality point triggers aligned to the Icicle QC inspection criteria; and setting up the chart of accounts mapped from Icicle's GL with food-industry-specific accounts and analytic account structures for multi-facility cost allocation. Schema is validated in an Odoo test database before production deployment.
Data cleanup and mapping specification
We review Icicle data for quality issues: duplicate vendor listings, customer records without contact details, products with missing SKUs or outdated pricing, and inactive accounts with open invoice balances. We document the cleanup actions required and execute data remediation in coordination with the customer's Icicle administrator. We produce a formal mapping specification document that maps every Icicle field to an Odoo field with transformation rules, default values for missing data, and handling for Icicle-specific field types that have no Odoo equivalent (co-packer contract fields, food-safety rating scales). The mapping spec is reviewed and signed off before migration scripts are written.
Pilot migration and reconciliation
We run a pilot migration using a representative subset of Icicle data into a staging Odoo environment. The pilot validates the lot traceability configuration (forward and backward lot links are preserved), the BoM structure renders correctly in Odoo Manufacturing, QC inspection records link to the correct lots, and AP/AR ageing buckets reconcile with the Icicle source. The customer's operations and finance leads spot-check 25-50 records against the Icicle source and sign off the pilot results. Any mapping corrections are documented and applied to the production migration scripts before the final migration run begins.
Production migration and cutover
We run production migration in dependency order: UoM categories and BoM structures first, then Products, then lots and inventory, then QC inspections, then production orders, then suppliers and customers, then sales orders, then AP/AR, then GL. Each phase emits a row-count reconciliation report before the next phase begins. We freeze Icicle writes during the cutover window, run a final delta migration of any records modified during the migration window, then switch the system of record to Odoo. We deliver the co-packer contract field inventory, workflow configuration plan, and automation rebuild guide to the customer's Odoo administrator for post-migration rebuild. We do not rebuild Icicle automations, food-safety workflow rules, or co-packer contract logic as part of the standard migration scope.
Platform deep dives
Icicle ERP
Source
Strengths
Weaknesses
Odoo ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Icicle ERP and Odoo ERP.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Icicle ERP: Not publicly documented.
Data volume sensitivity
Icicle ERP doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Icicle ERP to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Icicle ERP to Odoo ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Icicle ERP
Other ways to arrive at Odoo ERP
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.