ERP migration

Migrate from Infor LN to Odoo ERP

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 logo

Infor LN

Source

Odoo ERP

Destination

Odoo ERP logo

Compatibility

75%

9 of 12

objects map 1:1 between Infor LN and Odoo ERP.

Complexity

BStandard

Timeline

8-14 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Infor LN logo

Infor LN

What's pushing teams away

  • Licensing cost and minimum user requirements (20 users) make it economically impractical for smaller manufacturers or organizations with seasonal headcount.
  • Steep learning curve and specialized consultant dependency for day-to-day administration create ongoing operational overhead after go-live.
  • Vendor audit requests and contract enforcement practices cause friction and distrust, with some organizations reporting extended pressure campaigns for access and documentation.
  • Modern, lighter-weight ERPs like NetSuite or Acumatica offer faster time-to-value for manufacturers without the depth of discrete engineering complexity that LN addresses.
  • Support quality is perceived as inconsistent across implementation partners, leading to variable post-go-live experiences.

Choosing

Odoo ERP logo

Odoo ERP

What's pulling them in

  • Modular pay-as-you-grow model with 80+ apps under one database — teams start with CRM and add Accounting, Inventory, or Manufacturing without switching platforms.
  • Free Community edition lets businesses validate Odoo fit before committing to Enterprise licensing costs that scale with user count.
  • Lowest per-user pricing among mid-market ERPs, with a published free tier for one app and Standard plans starting around $24.90 per user per month.
  • Native integration between modules — a confirmed Sales Order automatically updates inventory, invoicing, and accounting without manual re-entry.
  • Strong Odoo Gold Partner ecosystem provides local implementation support, reducing risk for companies without in-house developers.

Object mapping

How Infor LN objects map to Odoo ERP

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)

maps to

Odoo ERP

Contact + Partner

1:1
Fully supported

Infor 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

maps to

Odoo ERP

Company (res.partner)

1:many
Fully supported

Infor 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)

maps to

Odoo ERP

Product Template + Product Variant

1:1
Fully supported

LN 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

maps to

Odoo ERP

Warehouse + Location

1:1
Fully supported

LN 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

maps to

Odoo ERP

Bill of Materials (mrp.bom)

1:1
Fully supported

LN 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

maps to

Odoo ERP

Purchase Order + Request for Quotation

1:1
Fully supported

LN 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

maps to

Odoo ERP

Sale Order

1:1
Fully supported

Sales 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

maps to

Odoo ERP

Project

1:1
Fully supported

LN 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

maps to

Odoo ERP

Maintenance Contract / Field Service (if Odoo Field Service installed)

1:1
Fully supported

LN 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)

maps to

Odoo ERP

Custom Fields (ir.model.fields)

lossy
Mapping required

LN 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

maps to

Odoo ERP

Product Price List + Pricelist Rule

lossy
Mapping required

Price 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

maps to

Odoo ERP

Attachments (ir.attachment)

1:1
Mapping required

LN 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.

Gotchas + challenges

What specifically takes care here

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 logo

Infor LN gotchas

High

ION API REST handler timeout is 25 seconds

High

Text data stored in separate LN Tools table requires join reconstruction

High

Multicompany invoicing creates intercompany settlements that can orphan during migration

Medium

Custom fields require Domain property validation before schema mapping

Medium

Price matrix priority rules must be exported as metadata, not just price data

Odoo ERP logo

Odoo ERP gotchas

High

No rollback for CSV imports

High

External ID conflicts on re-import

Medium

Many2many field encoding in CSV imports

Medium

Large export timeouts require batching

Medium

Version schema drift between Odoo releases

Pair-specific challenges

  • LN text table join must run before any staging or write-back

    Infor LN stores long-form text content (descriptions, notes, terms, comments) in dedicated LN Tools tables and assigns a numeric text ID to each text field in transactional tables. Direct table extraction produces numeric IDs rather than readable text unless we explicitly join to the text tables. We always execute a two-pass extract: first the text table contents keyed by ID, then the transactional tables, joining them in our staging layer before writing to Odoo. Skipping this step produces records where every description, note, and terms field contains a numeric string instead of human-readable content.

  • Multicompany settlement records can orphan without coordinated extraction

    Infor LN's multicompany invoicing generates internal financial settlements between entities using self-billing. These settlement records create intercompany journal entries that must be reconciled across all financial companies in the same export scope. If we extract invoice headers without also extracting the linked settlement records and their counterpart journal entries, Odoo will have unbalanced intercompany positions after migration. We sequence the export to capture all Financial Company and Business Partner data before any invoice or settlement records, and we flag any settlement that lacks a matched debit or credit in the same export scope.

  • Price matrix priority rules have no direct Odoo equivalent

    Infor LN resolves item prices through a priority search chain across multiple price books and matrix definitions; the highest-priority matrix wins. Odoo Price Lists operate on a first-match model without native support for competing price book priority chains. If we export only the resulting price records without the matrix definition and priority order, Odoo resolves prices differently. We export the full Matrix Definition metadata alongside each price book and preserve the priority chain as a custom field on the product. The customer's admin rebuilds the priority logic as Odoo pricelist rules or accepts a simplified first-match behavior.

  • LN BOM and ETO complexity exceeds Odoo Manufacturing app coverage

    Infor LN natively supports multi-level phantom BOMs, option classes, lead-time offsets, engineering change orders, and ETO phase tracking. Odoo's Manufacturing app covers standard BOM-driven and MTO production but does not natively replicate the depth of LN's ECO revision overlays or field-service dispatch scheduling. Complex ETO project plans and depot-level MRO records may require a third-party Odoo add-on or post-migration custom development. We flag these gaps in the written handoff document and do not attempt to force-fit LN ETO complexity into Odoo standard structures.

  • LN ION API REST handler timeout and queued response window

    Infor ION API REST handlers enforce a hard 25-second timeout on individual request/response cycles, and queued response handlers have a 10-minute window. When migrating large record sets through ION, we chunk exports into page sizes that return within the 25-second window and implement retry logic with exponential backoff on queued response handlers. Without chunking, the migration job stalls and the ION Gateway marks the service as unavailable. For large LN deployments, we prefer direct database table extraction (bypassing ION) when the customer grants read-only database access, which avoids the timeout constraints entirely.

Migration approach

Six steps for a successful Infor LN to Odoo ERP data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Infor LN logo

Infor LN

Source

Strengths

  • Handles multi-level BOMs, phantom assemblies, and engineering change orders without requiring application-layer workarounds.
  • Multicompany architecture natively supports organizations with multiple financial entities and intercompany trading.
  • MRO and field service modules provide depot-level and shop-floor tracking capabilities purpose-built for A&D environments.
  • Cloud deployment on AWS delivers elastic scaling and automated availability-zone failover at a lower TCO than statically-sized on-premises.
  • Comprehensive discrete manufacturing coverage across ETO, MTO, and standard BOM-driven production modes.

Weaknesses

  • Minimum 20-user licensing requirement and $200/user/month floor exclude smaller manufacturers from cost-effective adoption.
  • Specialized consultant dependency for administration creates ongoing operational overhead beyond typical ERP platforms.
  • Steep learning curve and dated UI conventions compared to modern SaaS ERP alternatives.
  • Unicode and VRC-based update management requires careful planning and downtime windows for on-premises deployments.
Odoo ERP logo

Odoo ERP

Destination

Strengths

  • Modular architecture with 80+ apps sharing one database — add Sales, Accounting, Inventory, and Manufacturing incrementally.
  • Free Community edition for self-hosting with no per-user license cost, backed by an active open-source community.
  • Per-user pricing starting around $24.90/month on Standard, significantly lower than comparable ERPs like NetSuite or SAP.
  • Automatic workflow propagation across modules — a confirmed sales order updates inventory, triggers invoicing, and posts accounting entries without manual steps.
  • Odoo.sh provides a managed cloud hosting environment with CI/CD for custom module deployment and staging databases.

Weaknesses

  • Performance suffers under heavy customization — large implementations with many active modules require dedicated optimization.
  • No single-click migration between Odoo major versions; each release introduces ORM changes, deprecated API calls, and schema revisions requiring manual adaptation.
  • Per-user and per-module licensing costs can escalate unpredictably for growing teams adding multiple apps.
  • Steep learning curve with hundreds of configuration options across dozens of modules creates adoption friction and training requirements.
  • Support tiers on Enterprise have inconsistent response times, pushing some customers toward alternatives with more reliable SLAs.

Complexity grading

How hard is this migration?

Standard ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Infor LN and Odoo ERP.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Infor LN: PRD tenant: max 250 concurrent REST executions; other tenant suffixes: max 125. REST handler timeout: 25 seconds..

  • Data volume sensitivity

    B

    Infor LN doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Infor LN to Odoo ERP migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Infor LN to Odoo ERP data migrations

Answers to the questions buyers ask most during Infor LN to Odoo ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most Infor LN to Odoo ERP migrations land between eight and fourteen weeks for organizations with a focused scope (master data, open orders, and active projects under 50,000 records). Migrations with multi-company configurations, complex BOM hierarchies, active intercompany settlements, large historical project phases, or MRO field service records extend to sixteen to twenty-eight weeks because of the text-table join complexity, BOM flattening, and financial reconciliation work required across entities.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Infor LN.
Land in Odoo ERP, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day