ERP migration
Field-level mapping, validation, and rollback between Info.Net and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Info.Net
Source
Odoo ERP
Destination
Compatibility
8 of 10
objects map 1:1 between Info.Net and Odoo ERP.
Complexity
BStandard
Timeline
8-12 weeks
Overview
Info.Net and Odoo ERP serve overlapping manufacturing ERP territory but diverge sharply on API availability, customization model, and pricing structure. Info.Net, built by LAMAR Software, has no publicly documented REST API, GraphQL endpoint, or bulk export mechanism in available research. Migration paths from Info.Net therefore depend on direct database export (if the customer has database credentials) or multi-step CSV extraction from the UI. We handle that extraction phase in-house using field-profiled export scripts. On the Odoo side, the manufacturing module covers Production Orders, Work Orders, and multi-level BOMs natively; Odoo's REST API (available on both Community and Enterprise) handles import via xmlrpc or the external API endpoint. We map Info.Net Items to Odoo product.product with unit-of-measure preservation, Info.Net Work Orders to Odoo mrp.workorder with labor tracking carried forward, and Info.Net BOMs to Odoo mrp.bom with component lines and routing steps resolved at each level. Custom workflows, alerts, and automated triggers do not migrate; we deliver a written workflow inventory for the customer's Odoo administrator to rebuild using Odoo Studio or Python modules post-migration. Implementation partners and Reddit threads confirm that Odoo manufacturing deployments require six to twelve weeks for mid-size shops, with data migration representing the most technically demanding phase.
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 Info.Net 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.
Info.Net
Items
Odoo ERP
product.product + product.template
1:1Info.Net Items (finished goods, raw materials, components) map to Odoo product.product records with product.template as the shared name/description layer. We preserve SKU, description, unit of measure, standard cost, and any custom fields. Where Info.Net uses a specific uom_code not native to Odoo we create the corresponding uom.uom record during schema setup. Multi-unit Items (each with its own SKU) create separate product.product records sharing the same product.template.
Info.Net
Bill of Materials
Odoo ERP
mrp.bom
1:1Info.Net BOMs with component lines and revision versions map to Odoo mrp.bom records. Odoo distinguishes bom_type: 'kit' (phantom BOM that explodes components on a manufacturing order) versus 'normal' (standard build). We determine the correct type from Info.Net's BOM structure. Multi-level BOMs (sub-assemblies referencing their own BOMs) are resolved in dependency order: sub-assembly BOMs are imported first so parent BOMs can reference them via mrp.bom.line product_id resolution. Routing steps from Info.Net's production process map to mrp.routing.workcenter lines on the Odoo BOM.
Info.Net
Production Orders
Odoo ERP
mrp.production
1:1Info.Net Production Orders track manufacturing jobs with status, quantity, scheduled dates, work center assignment, and completion metadata. We map them to Odoo mrp.production records preserving the original scheduled date, finished date, and scrap quantity. Production Order status (Draft, Confirmed, In Progress, Done, Cancelled) maps to Odoo's state field with the corresponding state machine transitions enforced at import time. Parent Work Orders reference the parent mrp.production record via the production_id foreign key.
Info.Net
Work Orders
Odoo ERP
mrp.workorder
1:1Info.Net Work Orders assign production tasks to employees or work centers with start/end dates and labor estimates. We map them to Odoo mrp.workorder records linked to their parent mrp.production via production_id, and to the corresponding mrp.routing.workcenter via workcenter_id. We preserve the full work order lifecycle including status transitions, actual labor consumed, and any work center-specific notes. Work order timestamps carry forward as Odoo's date_start and date_finished fields.
Info.Net
Quality Control Records
Odoo ERP
stock.production_lot + custom.qc_result
lossyInfo.Net QC logs hold inspection results, pass/fail flags, and measurement data linked to production lots. Odoo does not have a native QC inspection object in standard Manufacturing, so we map QC records to a custom stock.production_lot record (tracking the lot or serial number) with measurement values stored in custom fields on the lot or a linked qc.measurement model. Pass/fail flags become lot stock_state or custom lot_quality_status fields. Field naming conventions differ between ERPs; we run a field-level audit during discovery to match each Info.Net measurement field to an Odoo target.
Info.Net
Customers
Odoo ERP
res.partner
1:1Info.Net Customer records include billing addresses, shipping addresses, and credit limits. In Odoo, customers live in res.partner with type='contact' for addresses. Multi-address accounts (ship-to and bill-to) use separate res.partner records with parent_id pointing to the main customer record. We map Info.Net address fields to Odoo's street, city, state_id, country_id, zip, and phone fields. Credit limits migrate as custom fields or to account.move.line-based credit management if Odoo Accounting is deployed.
Info.Net
Vendors
Odoo ERP
res.partner
1:1Vendor master records from Info.Net (contact details, payment terms, lead times) map to Odoo res.partner records with supplier_rank > 0 to flag them as vendors. Payment terms from Info.Net's terms_code map to Odoo account.payment.term records created during schema setup. Multi-contact handling creates separate res.partner contact records under the vendor parent. Lead time data migrates as a custom field on the vendor partner record or to the product.supplierinfo table if lead times vary per product-vendor combination.
Info.Net
Inventory Transactions
Odoo ERP
stock.move + stock.quant
1:1Info.Net inventory movements (receipts, issues, adjustments, transfers) carry timestamps, quantities, locations, and cost values. We map these to Odoo stock.move records (the movement log) and stock.quant records (on-hand quantity state). Post dates are preserved as stock.move.date. Location pairs (from_location_id, to_location_id) map to Odoo's stock.location records which we pre-create or reference by name match during import. Cost values attach to stock.move.valuation or stock.quant unit_cost depending on Odoo inventory valuation method configured.
Info.Net
Custom Fields
Odoo ERP
ir.model.fields + custom field data
lossyInfo.Net supports custom fields on Items, Customers, and Vendors. We extract the full custom field definition set (field name, data type, required flag) during discovery. For each Info.Net custom field we create the corresponding Odoo ir.model.fields record, using x_ prefix for custom fields in Odoo standard. Custom field values are appended as extra columns during the respective object import (Items, Customers, Vendors). Any Info.Net custom fields with no matching Odoo target are flagged in the discovery report for the customer's admin to decide on disposition.
Info.Net
User Accounts
Odoo ERP
res.users
1:1Info.Net User accounts carry role assignments and permission sets tied to manufacturing workflows. We map roles to Odoo's access groups (res.groups) during schema setup. Password hashes cannot migrate between systems; we flag all users for password reset on first Odoo login. Active/inactive status from Info.Net maps directly to Odoo's active flag. Users without an email in Info.Net are held in a reconciliation queue since Odoo requires an email for res.users login.
| Info.Net | Odoo ERP | Compatibility | |
|---|---|---|---|
| Items | product.product + product.template1:1 | Fully supported | |
| Bill of Materials | mrp.bom1:1 | Fully supported | |
| Production Orders | mrp.production1:1 | Fully supported | |
| Work Orders | mrp.workorder1:1 | Fully supported | |
| Quality Control Records | stock.production_lot + custom.qc_resultlossy | Mapping required | |
| Customers | res.partner1:1 | Mapping required | |
| Vendors | res.partner1:1 | Mapping required | |
| Inventory Transactions | stock.move + stock.quant1:1 | Fully supported | |
| Custom Fields | ir.model.fields + custom field datalossy | Mapping required | |
| User Accounts | res.users1: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.
Info.Net gotchas
Initial setup and legacy migration require IT resources
Ongoing subscription and support costs are significant for very small manufacturers
Customization beyond base workflows is limited
No publicly documented API in available research
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
Extraction method confirmation and discovery
We begin by confirming whether direct database export (via LAMAR Software credentials) or CSV extraction from the Info.Net UI is available. We audit all source objects: Items, Work Orders, Production Orders, BOMs, Quality Control records, Customers, Vendors, Inventory Transactions, Custom Fields, and User Accounts. We profile each table or export for field count, row count, data quality (null rates, duplicate keys), and dependency relationships. The discovery output is a written extraction plan specifying the method, object order, and any pre-extraction data cleansing tasks. If BOM nesting exists, we build the dependency graph during this phase.
Odoo schema provisioning and BOM dependency resolution
We provision the destination Odoo manufacturing schema. This includes installing the mrp module, creating the product categories and product templates for all Info.Net Items, creating the uom.uom records required for unit-of-measure preservation, building the mrp.bom records in dependency order (sub-assembly BOMs first), creating the mrp.routing.workcenter records from Info.Net work-center data, and provisioning any custom fields on stock.production_lot for Quality Control data. All schema work happens in an Odoo Sandbox or staging environment first, validated against the customer's Odoo administrator before production migration begins.
Sandbox migration and reconciliation
We run a full migration into the Odoo staging environment using production-like data volume. The customer's operations lead and Odoo administrator review record counts (Items in, Work Orders in, BOMs in, Customers/Vendors in, QC records in, inventory transactions in), spot-check a random sample of 30-50 records against the Info.Net source for field-level accuracy, and validate BOM nesting by checking that manufactured items in Odoo show the correct component explosion on a test MO. We resolve mapping corrections before any production migration begins.
Customer, Vendor, and Item master import
We run production migration in dependency order. The first phase loads Customers and Vendors into res.partner (supplier_rank and customer_rank set appropriately), then Items into product.product and product.template. Address structures are resolved: Info.Net multi-address accounts become separate res.partner contact records with parent_id linkage. Custom field values append as extra columns. Inventory transactions are held at this stage because they depend on location records that are created after Items are loaded.
Production Orders, Work Orders, and BOM import
We import BOMs first (in resolved dependency order), then Production Orders (mrp.production), then Work Orders (mrp.workorder) linked to their parent productions and work centers. Quality Control records import as stock.production_lot entries with custom measurement fields. Historical production data with post dates is preserved in Odoo's date fields. Inventory transactions (stock.move and stock.quant) import last, after all location and product records are confirmed. We use Odoo's batch create via xmlrpc with exponential backoff on rate-limit responses.
Cutover, validation, and workflow handoff
We freeze Info.Net writes during the cutover window, run a final delta migration of any records modified during the migration phase, then switch the system of record to Odoo. We perform a post-migration reconciliation comparing total record counts per object between Info.Net and Odoo, and spot-check transaction totals (inventory value, production output counts) against the Info.Net ledger. We deliver the workflow and automation inventory document to the customer's Odoo administrator. We support a one-week hypercare window for reconciliation issues. We do not rebuild Info.Net workflows as Odoo automated actions inside the migration scope; that work is handled separately by the customer's admin team or Odoo implementation partner.
Platform deep dives
Info.Net
Source
Strengths
Weaknesses
Odoo ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 3 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 Info.Net and Odoo ERP.
Object compatibility
3 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
Info.Net: Not publicly documented..
Data volume sensitivity
Info.Net 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 Info.Net to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Info.Net 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 Info.Net
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.