ERP migration
Field-level mapping, validation, and rollback between Fraction ERP and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Fraction ERP
Source
Odoo ERP
Destination
Compatibility
12 of 12
objects map 1:1 between Fraction ERP and Odoo ERP.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Fraction ERP to Odoo ERP is a manufacturing-focused migration that requires careful sequencing because Works Orders in Fraction derive their operation routing from Bills of Materials. If BOMs migrate out of order or with modified structure, existing Works Order history can reference non-existent operations. We enforce BOM-first sequencing in our pipeline and validate operation references before closing the Works Order phase. Fraction ERP does not publish a public REST API with bulk export endpoints, so all data extraction requires a coordinated data package from Fraction's implementation team before migration begins. We do not migrate Workflows, automations, or reporting configurations; we deliver a written inventory of these for the customer's admin to rebuild in Odoo Studio or through custom Python modules.
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 Fraction 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.
Fraction ERP
Customer
Odoo ERP
Partner (res.partner)
1:1Fraction ERP Customers map to Odoo Partner records with partner_type set to contact for billing/shipping contacts and company for the account-level record. Fraction's company name, address fields, and contact details map to Odoo's standard address fields (street, city, country, phone, email). We create the parent company Partner first, then child contact Partners linked via type, so that Quotations and Sales Orders inherit the correct commercial partner.
Fraction ERP
Quotation
Odoo ERP
Sale Order (sale.order)
1:1Fraction ERP Quotations map to Odoo Sale Orders in draft state. Quote validity dates migrate to Odoo's validity_date field. Line items (Parts with quantity and unit price) map to sale.order.line records with the Product resolved to the Odoo product.product ID created during Parts migration. Quote status (open, accepted, rejected) maps to Odoo state with a written note in the order chatter for admin review.
Fraction ERP
Sales Order
Odoo ERP
Sale Order (sale.order)
1:1Fraction ERP Sales Orders map to Odoo Sale Orders with state set to sale. The linked Customer (commercial partner) is resolved via Partner ID lookup. Sales Order line items map to sale.order.line with product_id resolved from the Parts migration. Delivery status and invoicing status are reconstructed from Fraction's order history records.
Fraction ERP
Part
Odoo ERP
Product (product.product)
1:1Fraction ERP Parts map to Odoo Product records with type set to product (stockable item). Part number becomes product.default_code; description maps to name; unit of measure maps to uom_id with UoM category matching; cost data maps to standard_price. We preserve the original Fraction part_id in a custom field fraction_part_id__c for cross-reference during reconciliation.
Fraction ERP
Bill of Materials
Odoo ERP
BoM (mrp.bom)
1:1Fraction ERP Bills of Materials map to Odoo Manufacturing BoM records. Multi-level component structures map to mrp.bom.line records with product_id, product_qty, and bom_id pointing to the parent BoM. Routing operations (work centres, cycle times) map to Odoo's mrp.routing.workcenter records linked to the BoM. BOM drawings stored as attachments in Fraction ERP require a separate file extraction pass through the platform's document export feature; we map each drawing file to the corresponding Part as an ir.attachment linked to the BoM record.
Fraction ERP
Works Order
Odoo ERP
Manufacturing Order (mrp.production)
1:1Fraction ERP Works Orders map to Odoo Manufacturing Orders. The linked Sales Order and BOM are resolved via the sales_order_id and bom_id lookups after those objects have migrated. Operation sequencing (routing steps, work centres, scheduled dates) migrates to mrp.workorder records attached to the parent mrp.production. We enforce BOM-first sequencing in our pipeline: all BoMs must complete migration and validation before any Works Order records enter the queue, because Works Order operations reference BOM operations by ID.
Fraction ERP
Inventory
Odoo ERP
Quant (stock.quant)
1:1Fraction ERP Inventory stock levels, locations, and current quantities map to Odoo stock.quant records. Each quant is scoped to a product_id, location_id (warehouse zone), and quantity value. Fraction's valuation method (FIFO, standard cost, average cost) maps to Odoo's product category valuation setting; if the methods differ, we flag the discrepancy for the customer's finance team to reconcile before go-live because inventory valuation impacts COGS and financial reporting.
Fraction ERP
Purchase Order
Odoo ERP
Purchase Order (purchase.order)
1:1Fraction ERP Purchase Orders map to Odoo Purchase Orders in state purchase or done. Vendor contact details map via Partner resolution. Line items (Parts with quantity, price, and expected date) map to purchase.order.line records with product_id resolved from the Parts migration. We migrate open Purchase Orders in full; historical Purchase Orders migrate as done records with a written note in the chatter indicating their closed status in the source system.
Fraction ERP
Non-Conformance Report
Odoo ERP
Quality Alert (quality.alert)
1:1Fraction ERP NCRs map to Odoo Quality Alerts with type set to issue. The linked Part or Works Order becomes the quality.alert.product_id or quality.alert.mrp_production_id respectively. NCR description, reported date, and severity map to alert_text, create_date, and priority fields. Custom quality workflows (cause codes, corrective action flags) in Fraction ERP do not transfer; we document the existing NCR structure in the migration inventory for the customer's admin to reconfigure in Odoo Quality.
Fraction ERP
User
Odoo ERP
User (res.users)
1:1Fraction ERP User accounts (name, email, role, permissions) map to Odoo res.users records. We create users with the matching email address and map Fraction role names to Odoo's access rights groups (Manufacturing / Inventory / Purchase / Sales). Individual password credentials cannot be transferred; users receive an Odoo onboarding email to set passwords at first login. Fraction's Advanced tier users with enhanced capacity planning roles map to Odoo Manufacturing User groups, though the Advanced features themselves require Odoo Enterprise activation.
Fraction ERP
Vendor
Odoo ERP
Vendor Partner (res.partner)
1:1Fraction ERP Vendors referenced on Purchase Orders map to Odoo Partner records with supplier_rank set to 1 and customer_rank set to 0. Vendor address and contact details migrate as standard Partner fields. Vendor-specific Part pricing stored in Fraction ERP's vendor catalogue migrates to Odoo's Supplier Info (product.supplierinfo) records linked to the relevant Product and Vendor Partner.
Fraction ERP
Shop Floor Data Capture Log
Odoo ERP
Workcenter Step (mrp.workorder) + Done Operations
1:1Fraction ERP's shop floor data capture logs store time-series operation completions against Works Orders. Each log entry maps to a mrp.workorder record with production_date, duration, and user_id matching the Odoo User created from the Fraction User. We preserve operation start and end timestamps from the Fraction capture log as Odoo duration fields, enabling the customer's production team to reconstruct the shop floor timeline in Odoo's Manufacturing app.
| Fraction ERP | Odoo ERP | Compatibility | |
|---|---|---|---|
| Customer | Partner (res.partner)1:1 | Fully supported | |
| Quotation | Sale Order (sale.order)1:1 | Fully supported | |
| Sales Order | Sale Order (sale.order)1:1 | Fully supported | |
| Part | Product (product.product)1:1 | Fully supported | |
| Bill of Materials | BoM (mrp.bom)1:1 | Fully supported | |
| Works Order | Manufacturing Order (mrp.production)1:1 | Fully supported | |
| Inventory | Quant (stock.quant)1:1 | Mapping required | |
| Purchase Order | Purchase Order (purchase.order)1:1 | Fully supported | |
| Non-Conformance Report | Quality Alert (quality.alert)1:1 | Fully supported | |
| User | User (res.users)1:1 | Fully supported | |
| Vendor | Vendor Partner (res.partner)1:1 | Fully supported | |
| Shop Floor Data Capture Log | Workcenter Step (mrp.workorder) + Done Operations1:1 | 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.
Fraction ERP gotchas
No publicly documented API for bulk exports
BOM drawings stored as attachments require separate file transfer
Works Order operation sequencing is BOM-dependent
Tier-gated features affect module availability
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
Data export coordination and scoping
We contact Fraction ERP's implementation team to request a structured data export package covering Customers, Quotations, Sales Orders, Parts, Bills of Materials, Works Orders, Inventory, Purchase Orders, NCRs, and Users. We simultaneously request BOM drawing files through the platform's document export feature. While awaiting the export package, we scope the migration by estimating record counts per object, identifying tier-gated features in use, and confirming whether the customer is on Fraction ERP Basic or Advanced. The scoping output is a written migration plan with object-level sequencing, dependency graph, and a flag for any Fraction Advanced features requiring Odoo Enterprise equivalents.
Odoo instance provisioning and app activation
We provision a new Odoo instance (Community or Enterprise per the customer's licensing decision) and activate the required apps: Sales, Purchase, Manufacturing, Inventory, and Quality. We configure the Odoo company record with the correct fiscal localisation, fiscal year dates, and warehouse structure matching the customer's physical site layout. Chart of accounts is set up using Odoo's generic manufacturing chart of accounts template, mapped to Fraction ERP's cost centres and nominal codes if financial history is being preserved.
Data quality assessment and cleanup
We run a pre-migration data quality assessment on the Fraction ERP export package. This identifies duplicate Parts (same part number with multiple records), orphaned Customer references (inactive Customers on open orders), Parts without unit-of-measure assignments, BOMs with circular component references, and Works Orders with invalid BOM links. We deliver a deduplication and cleanup spreadsheet to the customer's admin for resolution before migration begins. No data is inserted into Odoo until the cleanup spreadsheet is signed off because BOM dependency chains amplify even small data errors across multiple object layers.
Master data migration in dependency order
We migrate master data in strict dependency order: first Vendor Partners and Customer Partners (no dependencies), then Products (Parts) with vendor-specific supplier info, then Bills of Materials with multi-level component resolution and drawing attachments linked as ir.attachment records. BOM drawings are extracted in the parallel file pass and mapped by Fraction BOM identifier. We validate operation reference integrity after each BOM batch and flag any BOMs with unresolved component references before proceeding. This phase produces a BOM-validated, Parts-resolved master data set ready for transactional migration.
Transactional data migration and Works Order sequencing
We migrate transactional records after master data is validated: Quotations and Sales Orders with resolved Partner IDs, Purchase Orders with resolved Vendor and Product IDs, Manufacturing Orders (from Works Orders) with BOM ID and sales order references resolved, and Inventory quants with product and location references resolved. We enforce Works Order-to-BOM sequencing: mrp.workorder records insert only after their parent mrp.production and its linked mrp.bom are confirmed in Odoo. NCRs migrate as Quality Alerts linked to their corresponding Products and Manufacturing Orders. Each phase emits a row-count reconciliation report and a field-level sample check against the Fraction source.
Cutover, validation, and automation rebuild handoff
We freeze Fraction ERP writes during cutover and run a final delta migration of any records created or modified during the migration window. We deliver a written automation inventory documenting every Fraction ERP workflow, rule, and reporting configuration that requires rebuild in Odoo Studio or as custom Python modules. Workflows, automations, and reporting configurations do not migrate as code; the customer's Odoo admin or implementation partner rebuilds them post-migration. We support a one-week hypercare window for reconciliation issues raised during the customer's first production week in Odoo.
Platform deep dives
Fraction ERP
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 Fraction ERP 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
Fraction ERP: Not publicly documented.
Data volume sensitivity
Fraction 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 Fraction ERP to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Fraction 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 Fraction 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.