ERP migration
Field-level mapping, validation, and rollback between Infor LN and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Infor LN
Source
Odoo ERP
Destination
Compatibility
9 of 12
objects map 1:1 between Infor LN and Odoo ERP.
Complexity
BStandard
Timeline
8-14 weeks
Overview
Moving from Infor LN to Odoo ERP is a re-implementation rather than a record copy, driven by the structural difference between a Baan-derived discrete manufacturing ERP with deep BOM, ETO, and MRO capabilities and a modular open-source platform built for incremental adoption. Infor LN stores text in a separate LN Tools table, assigns numeric text IDs to transactional tables, and supports multiple financial companies with automated intercompany settlements that must be captured in migration scope. Odoo ERP uses a single unified database with separate application modules; multi-company is handled via the Multi-Company module or per-instance deployment. We sequence the export to capture Financial Companies and Business Partners before any transactional data, use a two-pass extract to join text IDs back to readable content, and flag any intercompany settlement lacking a matched debit or credit in the same export scope. Custom fields require Domain property validation before mapping to Odoo field types. LN price matrix priority rules export as metadata alongside price records so the target system can reconstruct the same resolution chain. Workflows, automations, and ECOs do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Odoo Workflow or Studio.
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 Infor LN 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.
Infor LN
Business Partners (Customers and Suppliers)
Odoo ERP
Contact + Partner
1:1Infor LN maintains Business Partners as a single entity type with a Role field distinguishing customers from suppliers; address, contact, and financial limits are child records. We map LN Business Partner records to Odoo Contact with a type flag (customer, supplier, or both) and address data mapped to Odoo's contact address model. Multi-address Business Partners with distinct delivery and invoicing addresses in LN become separate Odoo Contact addresses linked to the same partner record.
Infor LN
Financial Companies
Odoo ERP
Company (res.partner)
1:manyInfor LN supports multiple financial companies within a single logical instance, each with its own chart of accounts, fiscal calendar, and tax configuration. Odoo ERP's multi-company module (Custom plan) or separate instances per entity handles this. We extract all financial company definitions, map each to an Odoo Company record, and flag intercompany journal entries that reference multiple financial companies so that the customer can reconstruct them as cross-company moves in Odoo or resolve them manually before closing each period.
Infor LN
Items (Products and Materials)
Odoo ERP
Product Template + Product Variant
1:1LN Items carry rich attribute data including BOM structures, routing steps, costing information, and unit of measure conversions. We map Item Master records to Odoo Product Template with variant support enabled for items carrying size, color, or dimension attributes. Unit of measure and UoM category mapping requires a conversion table since LN's UoM library and Odoo's UoM model use different internal naming conventions. Stock valuation method (standard, average, FIFO) from LN transfers to Odoo's product category costing configuration.
Infor LN
Warehouses and Sites
Odoo ERP
Warehouse + Location
1:1LN Sites represent physical or logical locations with their own inventory policies, location definitions, and receiving rules. Multisite Control data governs cross-site stock transfers. We map LN Sites to Odoo Warehouse records with the location hierarchy preserved as Odoo Stock Locations. Cross-site transfer orders in LN become internal transfer orders in Odoo. Receiving rules and ASN expectations from LN site configuration map to Odoo warehouse incoming route configurations.
Infor LN
Bills of Materials
Odoo ERP
Bill of Materials (mrp.bom)
1:1LN BOMs support multiple levels of nesting, phantom assemblies, option classes, lead-time offsets, and ECO revision overlays. We flatten multi-level BOMs into Odoo's BOM structure, preserving the component hierarchy and routing references. Phantom assemblies in LN map to Odoo phantom BOM type. ECO revision-controlled BOM overlays become separate Odoo BOM versions (one per active revision). Lead-time offsets and routings transfer to Odoo Work Centers and operations.
Infor LN
Purchase Orders and Purchase Contracts
Odoo ERP
Purchase Order + Request for Quotation
1:1LN separates purchase order headers from lines and schedule dates; purchase contracts (blanket orders) link to release schedules that decrement funded quantities. We map PO headers and lines to Odoo Purchase Order, preserving header-level terms, payment conditions, and line-level scheduled delivery dates. Blanket order release schedules become Odoo Blanket Orders linked to corresponding Purchase Orders. PO approval workflows in LN (which may be multi-tier approval chains) are documented separately as an automation inventory item since they do not migrate as code.
Infor LN
Sales Orders and Sales Contracts
Odoo ERP
Sale Order
1:1Sales order pricing in LN can resolve through price books and matrix definitions; multicompany sales invoicing can combine lines from Sales, Project, and Service logistic packages onto a single invoice. We map SO headers and lines to Odoo Sale Order, preserving pricing, scheduled dates, and line discounts. Price resolution logic that relied on LN matrix priority chains is replaced with Odoo Price List rules, and the LN priority chain is preserved as a metadata field on the product for admin reference. Multicompany SO lines that span entities are flagged for manual reconciliation in Odoo.
Infor LN
Projects
Odoo ERP
Project
1:1LN Projects support ETO and MTO lifecycles with phase structures, work breakdown hierarchies, and billing milestones. We map project phases to Odoo Project tasks with a hierarchical task structure preserving phase-to-task relationships. Milestone-based billing milestones map to Odoo Milestones linked to project tasks, and the billing rule type (time-and-materials, fixed price, milestone) is preserved as a project tag. Note that Odoo Project does not natively support the full ETO planning depth of LN Project; complex ETO project plans may require custom development or an Odoo add-on module.
Infor LN
Service Contracts and Field Service Records
Odoo ERP
Maintenance Contract / Field Service (if Odoo Field Service installed)
1:1LN Service Contracts track entitlement, coverage periods, and SLA terms; field service records include technician assignments, mobile dispatch data, and parts consumed. We map service contract terms to Odoo Maintenance Contract (or Field Service app if licensed) with coverage period and SLA terms preserved as contract line items and tags. Technician assignments and parts consumed from LN field service records transfer to Odoo Task records within the Field Service project. Odoo Field Service is a separate licensed application; if it is not in scope, service contracts migrate as maintenance records only.
Infor LN
Custom Fields (LN Extensions)
Odoo ERP
Custom Fields (ir.model.fields)
lossyLN custom fields are defined in the Extensions package with a Domain property specifying data type, and values are stored in dedicated extension tables joined to base object tables. We read the Domain definition from the Extensions package before mapping to Odoo field types, rejecting any column where the domain type cannot be coerced to the Odoo field type. Two custom fields with the same logical name but incompatible domains are treated as separate fields. The customer must confirm which LN custom fields are still active and relevant before migration, as legacy or obsolete extension fields should be archived rather than migrated.
Infor LN
Item Surcharges and Price Matrices
Odoo ERP
Product Price List + Pricelist Rule
lossyPrice matrices in LN use priority-based search rules across purchase, sales, and transfer price types with matrix attributes as dimensions; item surcharges function as cost adders in valuation price calculations. We export the full Matrix Definition (tdpcg0610m000) metadata alongside each price book and preserve the priority chain as a custom JSON field on the product template. Pricelist rules in Odoo do not support the same priority chain resolution model; the customer's admin rebuilds the priority logic as individual Odoo pricelist rules or accepts a simplified first-match resolution in Odoo. Surcharges transfer as additional pricelist rule lines with a surcharge product.
Infor LN
Attachments and Document Management
Odoo ERP
Attachments (ir.attachment)
1:1LN stores document references (pointers to file storage) rather than binary content in most transactional tables. We extract the document metadata and URL paths from LN's document management references and map them to Odoo ir.attachment records. Large binary file migration (drawings, PDFs, images) is out of migration scope; we deliver a manifest of file references with storage paths for the customer's IT team to relocate into Odoo's document storage or an integrated DMS. Document version history from LN (if present) transfers as a comment on the Odoo attachment record.
| Infor LN | Odoo ERP | Compatibility | |
|---|---|---|---|
| Business Partners (Customers and Suppliers) | Contact + Partner1:1 | Fully supported | |
| Financial Companies | Company (res.partner)1:many | Fully supported | |
| Items (Products and Materials) | Product Template + Product Variant1:1 | Fully supported | |
| Warehouses and Sites | Warehouse + Location1:1 | Fully supported | |
| Bills of Materials | Bill of Materials (mrp.bom)1:1 | Fully supported | |
| Purchase Orders and Purchase Contracts | Purchase Order + Request for Quotation1:1 | Fully supported | |
| Sales Orders and Sales Contracts | Sale Order1:1 | Fully supported | |
| Projects | Project1:1 | Fully supported | |
| Service Contracts and Field Service Records | Maintenance Contract / Field Service (if Odoo Field Service installed)1:1 | Fully supported | |
| Custom Fields (LN Extensions) | Custom Fields (ir.model.fields)lossy | Mapping required | |
| Item Surcharges and Price Matrices | Product Price List + Pricelist Rulelossy | Mapping required | |
| Attachments and Document Management | Attachments (ir.attachment)1:1 | Mapping required |
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.
Infor LN gotchas
ION API REST handler timeout is 25 seconds
Text data stored in separate LN Tools table requires join reconstruction
Multicompany invoicing creates intercompany settlements that can orphan during migration
Custom fields require Domain property validation before schema mapping
Price matrix priority rules must be exported as metadata, not just price data
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 LN footprint audit
We audit the source Infor LN environment across installed modules, active Financial Companies, Business Partner volumes, Item counts with BOM depth, open Order backlogs, active Project phases, and Service Contract counts. We also document LN custom fields defined in the Extensions package (with Domain property types), price matrix definitions (tdpcg0610m000 entries), intercompany settlement configuration, and any active ECOs attached to BOMs. The discovery output is a written migration scope document with record counts per entity type, a data quality assessment, and a recommendation on whether ION API or direct database extraction is the appropriate export method.
Schema design and Odoo module selection
We design the destination Odoo configuration based on the LN footprint. This includes creating Odoo Company records (one per LN Financial Company), configuring the multi-company module or separate Odoo instances per entity, mapping LN Business Partner types to Odoo Contact categories, configuring warehouse and location hierarchies from LN Sites, setting up Product Templates with variant attributes derived from LN Item characteristics, and defining the Bill of Materials structure. For LN price matrices, we design Odoo Price List rules and create a custom JSON field on products to hold the LN priority chain metadata. Custom fields from LN Extensions map to Odoo custom fields with type validation against the Domain property.
Data extraction with text-table join and dependency sequencing
We execute the LN extraction in strict dependency order: first Financial Companies and Business Partners, then Warehouses and Sites, then Items and BOMs, then any open Purchase and Sales Orders, then Project phases and Service Contracts. The text-table join runs as a separate pass before each object batch is staged, so that every description, note, and terms field contains readable content rather than numeric text IDs. Intercompany settlement records extract after all Financial Company and Business Partner data is staged. We validate that every settlement record has a matched debit and credit within the same export scope before proceeding.
Sandbox migration and financial reconciliation
We run a full migration into an Odoo test database (or separate test company) using production-equivalent data volumes. The customer's finance team reconciles total Business Partner counts, open Order values, inventory on-hand quantities by warehouse, and project milestone balances against the LN source reports. Spot-checks cover 25-50 randomly selected records per entity type. The customer signs off the reconciliation report before production migration begins. Any mapping corrections, data type coercions, or Domain-related field rejections happen in the test environment, not in production.
Production migration in dependency order
We run production migration in record-dependency order: Companies and Contacts first (satisfying all foreign-key lookups), then Items and BOMs (resolving UoM and product variants), then Warehouses and Locations, then Purchase and Sales Orders (with price list resolution against the migrated product data), then Project phases and Service Contracts. Each phase emits a row-count reconciliation report before the next phase begins. For multicompany migrations, we run one company at a time with intercompany settlement reconciliation across all entities before closing each company's migration scope. LN ION API timeouts are managed through batch chunking; direct database extraction is preferred where read-only access is available.
Cutover, validation, and automation handoff
We freeze LN writes during the cutover window, run a final delta migration of any records modified during the migration, then enable Odoo as the system of record. We deliver a written inventory of LN Workflows, automations, ECO revision workflows, and intercompany settlement rules that do not migrate to Odoo as code. The document includes the trigger, conditions, and actions of each automation with a recommended Odoo Workflow Studio equivalent. We do not rebuild LN Workflows or automations inside the migration scope; that work is a separate engagement or an internal admin task. We support a one-week post-cutover reconciliation window to address any record-count discrepancies raised by the customer's team.
Platform deep dives
Infor LN
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 Infor LN 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
Infor LN: PRD tenant: max 250 concurrent REST executions; other tenant suffixes: max 125. REST handler timeout: 25 seconds..
Data volume sensitivity
Infor LN 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 Infor LN to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Infor LN 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 Infor LN
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.