ERP migration
Field-level mapping, validation, and rollback between Encompass Production Cloud and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Encompass Production Cloud
Source
Odoo ERP
Destination
Compatibility
12 of 12
objects map 1:1 between Encompass Production Cloud and Odoo ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Encompass Production Cloud to Odoo ERP is a production-to-manufacturing data migration with non-trivial schema translation. Encompass Production Cloud is purpose-built for craft beverage producers with native batch traceability, TTB compliance tooling, and production variance tracking, but it lacks a publicly documented bulk-export API, which means we rely on in-app report exports that may not capture full relational data without negotiated professional-services scope. Odoo ERP provides MRP, inventory, purchasing, sales, and accounting modules from a single modular platform at a lower per-user starting price ($24.90/user/month Standard), but its production module is generalised manufacturing rather than beverage-specific, so we handle the BOM versioning strategy and lot genealogy as explicit migration decisions with the customer before any data moves. Workflows, automations, and report configurations do not migrate; we deliver a written inventory of these for the customer's team to rebuild in Odoo Studio or via the developer API.
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 Encompass Production Cloud 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.
Encompass Production Cloud
Batch
Odoo ERP
mrp.production
1:1Encompass Production Cloud Batch records (batch_id, batch_number, production_date, status, quantity_produced, quantity_unit, linked BOM, production_schedule) map to Odoo mrp.production. We resolve the mrp_bom_id by matching the Encompass BOM identifier to Odoo's mrp.bom records pre-loaded during the BOM migration phase. Production order state (draft/production/done/cancel) maps to Odoo's state field using the Encompass batch_status enum. Batch Backtrace genealogy is preserved as Odoo stock.move.line traceability records with lot_link references to the finished-goods lot.
Encompass Production Cloud
Bill of Materials
Odoo ERP
mrp.bom + mrp.bom.line
1:1Encompass BOMs (bom_id, recipe_name, version, ingredient lines with quantity, unit_of_measure, cost_allocation, step_sequence) map to Odoo mrp.bom as the recipe header and mrp.bom.line records as ingredient rows. BOM versioning requires a customer decision during scoping: we extract all active and historical BOM versions and present them for selection (active-only vs. all versions for audit traceability). Each selected BOM version is inserted as a separate mrp.bom with the Encompass version field stored in Odoo's active boolean or a custom revision_date field. Ingredient cost_allocation from Encompass maps to Odoo's product_qty and unit_cost where product_id cost is set via Odoo's standard cost on the product form.
Encompass Production Cloud
Production Schedule
Odoo ERP
mrp.workorder + mrp.workcenter
1:1Encompass Production Schedules (planned_quantity, start_date, end_date, assigned_workstation, assigned_staff, resource_type) map partially to Odoo mrp.workorder and mrp.workcenter. Odoo's workorder model supports workcenter assignment, planned/actual start and end times, and duration tracking. The mapping is partial because Encompass scheduling granularity and resource-linkage modelling may differ from Odoo's default workorder structure; we flag gaps during data audit and present configuration options to the customer (Odoo Workcenter groups, workorder dependencies via mrp.routing.workcenter). Resource capacity modelling is scoped as a configuration task rather than a direct data migration.
Encompass Production Cloud
Inventory Lot
Odoo ERP
stock.quant + stock.lot
1:1Encompass Inventory Lot records (lot_number, product_id, quantity_on_hand, location_id, cost_per_unit, TTB_attributes, received_date, expiration_date) map to Odoo stock.lot (lot_number, product_id, product_qty from linked stock.quant) and stock.quant (lot_id, product_id, location_id, quantity, inventory_date, value). Lot genealogy chains from Encompass Batch Backtrace migrate to Odoo stock.move.line traceability links. TTB-relevant attributes (TTB status, compliance batch notes) migrate to Odoo's lot.name or a custom stock.lot field depending on whether the customer licenses the Odoo Quality module. We validate that ingredient lots and finished-goods lots form closed backtrace circles before confirming completeness.
Encompass Production Cloud
Production Variance
Odoo ERP
mrp.workorder (cost fields)
1:1Encompass Production Variance records (batch_id, planned_material_cost, actual_material_cost, planned_labour_minutes, actual_labour_minutes, yield_variance, cost_variance) map to Odoo workorder cost-tracking fields and a custom mrp.workorder variance record if the customer requires full variance history. Odoo's standard MRP does not have a native variance object, so we either store variance deltas as Odoo stock.move.line value differences or in a custom mrp.variance model depending on reporting needs agreed during scoping. Variance records keyed to batch_id are resolved after the batch-to-mrp.production mapping is confirmed.
Encompass Production Cloud
Quality Control Record
Odoo ERP
quality.check
1:1Encompass QC records (batch_id, checkpoint_name, result_status, inspector_id, corrective_action, timestamp) map to Odoo quality.check when the customer licenses the Odoo Quality module. QC checkpoint types map to quality.point records pre-created in Odoo. Pass/fail result_status maps to quality.check status (pass/fail). Corrective_action text migrates to quality.check note. QC schema variation across Encompass tiers and add-on configurations is flagged during data audit; we assess field coverage and present quality module configuration options before migration.
Encompass Production Cloud
Sales Order
Odoo ERP
sale.order + sale.order.line
1:1Encompass Sales Order records (order_number, customer_id, order_date, line_items with product_id/qty/price, fulfilment_status, shipping_date) map to Odoo sale.order and sale.order.line. Customer_id resolves to Odoo res.partner via name/email matching. Partial fulfilment status (partially_shipped, pending) requires careful state mapping: Odoo's sale.order state (draft/sent/sale_done/cancel) must align with Encompass fulfilment status so that partially-fulfilled orders land in the correct Odoo state. Product_id resolves to Odoo product.product; pricing migrates as order-level UnitPrice.
Encompass Production Cloud
Purchase Order
Odoo ERP
purchase.order + purchase.order.line
1:1Encompass Purchase Order records (po_number, vendor_id, order_date, line_items, expected_delivery, received_qty, po_status) map to Odoo purchase.order and purchase.order.line. Vendor_id resolves to Odoo res.partner (supplier type). Open POs migrate with their current line-item received quantities; closed POs migrate as PO history. Any PO-to-receiving linkage (partial receipts against open POs) requires mapping Encompass receiving records to Odoo stock.picking incoming moves with po_id resolved at migration time.
Encompass Production Cloud
Chart of Accounts
Odoo ERP
account.account
1:1Encompass Finance Chart of Accounts (account_number, account_name, account_type, cost_centre, segment_structure) maps to Odoo account.account records. Account type (asset, liability, equity, revenue, expense) maps to Odoo's accountType field. COGS, labour, overhead, and revenue recognition accounts are identified during mapping and must be confirmed against Odoo's default chart of accounts structure. We require a customer-reviewed account mapping spreadsheet because company-specific account numbering and segment structures vary; mismatched account IDs break cost-of-goods postings after migration.
Encompass Production Cloud
Open AP/AR
Odoo ERP
account.move (invoices and bills)
1:1Open payables and receivables from Encompass (vendor_id, customer_id, invoice_number, amount_due, due_date, payment_terms, invoice_status) map to Odoo account.move records of type out_invoice (AR) or in_invoice (AP). Customer/vendor IDs reconcile against res.partner records migrated from Encompass Purchase Orders and Sales Orders. Due_date and payment_terms map to Odoo's invoice_date and invoice_payment_term_id. Open invoice amounts must match after partner and account reconciliation; we flag any unreconciled open balance for customer review before final import.
Encompass Production Cloud
Production User
Odoo ERP
res.users
1:1Encompass Production User accounts (user_id, display_name, email, role_name, module_permissions, floor_staff_flag) map to Odoo res.users. Role schemas differ between Encompass tiers, so we extract user assignments and map them to Odoo's access groups (stock.group_stock_user, mrp.group_mrp_user, quality.group_quality_user, account.group_account_invoice). Users with a floor_staff_flag that may have been entered under a shared account are flagged for attribution review before migration because shared-account entries may lack individual owner attribution.
Encompass Production Cloud
Historical GL Transactions
Odoo ERP
account.move (journal entries)
1:1Closed GL entries, COGS postings, and inventory adjustment transactions are migrated as Odoo account.move records of type entry (manual journal entries). Migration scope for historical transactions is negotiated with the customer during scoping because historical transaction volume, account reconciliation completeness, and audit requirements vary by producer. Encompass does not publish a bulk-export endpoint for GL history, so transaction extraction relies on in-app report output that must be assessed for completeness during discovery before this object enters migration scope.
| Encompass Production Cloud | Odoo ERP | Compatibility | |
|---|---|---|---|
| Batch | mrp.production1:1 | Fully supported | |
| Bill of Materials | mrp.bom + mrp.bom.line1:1 | Fully supported | |
| Production Schedule | mrp.workorder + mrp.workcenter1:1 | Fully supported | |
| Inventory Lot | stock.quant + stock.lot1:1 | Fully supported | |
| Production Variance | mrp.workorder (cost fields)1:1 | Fully supported | |
| Quality Control Record | quality.check1:1 | Fully supported | |
| Sales Order | sale.order + sale.order.line1:1 | Fully supported | |
| Purchase Order | purchase.order + purchase.order.line1:1 | Fully supported | |
| Chart of Accounts | account.account1:1 | Mapping required | |
| Open AP/AR | account.move (invoices and bills)1:1 | Mapping required | |
| Production User | res.users1:1 | Fully supported | |
| Historical GL Transactions | account.move (journal entries)1: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.
Encompass Production Cloud gotchas
Encompass Production Cloud and ICE Mortgage Encompass are unrelated products
No documented public REST API for Production Cloud data export
Per-user pricing model limits floor-staff access to production data
Bills of Materials versioning requires customer selection decision
Batch Backtrace genealogy chains are non-obvious export targets
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 export assessment
We conduct a discovery session with the customer to confirm the product (Encompass Production Cloud from Encompass Technologies, Fort Collins; not the ICE Mortgage Encompass LOS product), enumerate all source data objects (batches, BOMs, production schedules, lots, QC records, sales orders, purchase orders, chart of accounts, open AP/AR), and assess the in-app export completeness for each. We identify any BOM version history, lot genealogy chains, and QC corrective-action records that require professional-services extraction from Encompass. We document the Odoo deployment target (Odoo Online Standard $24.90/user, Odoo.sh for self-hosted with staging, or Odoo Community on-premise) and confirm the Odoo edition required for the customer's module scope.
BOM versioning decision and schema design
We extract all BOM versions from Encompass Production Cloud and present them to the customer with a versioning strategy recommendation (active-only, active plus one prior, or full history). Once the customer confirms scope, we design the Odoo mrp.bom schema: one mrp.bom per BOM version, with ingredient lines (mrp.bom.line), routing assignments, and version metadata stored in Odoo fields. We configure Odoo's Traceability module (stock.lot, stock.move.line) to support lot genealogy and prepare the quality.check schema (via quality.point and quality.check) if the customer licenses the Quality module. The schema design is deployed into a staging Odoo database for validation before production migration begins.
Staging migration and reconciliation
We run a full migration into the staging Odoo environment using production-like data volume (or a representative sample if full volume is not available during staging). The customer reconciles record counts and spot-checks 25-50 batch records, BOM recipes, lot quantities, and financial account balances against the Encompass source. Any mapping corrections, BOM version selection changes, or lot genealogy gaps identified during staging are documented and resolved before the production migration begins. We do not proceed to production migration without a signed staging reconciliation sign-off.
Partner and account reconciliation
We extract all distinct customers and vendors from Encompass Sales Orders and Purchase Orders and match them to Odoo res.partner records by name and email. Any partners without a match go to a reconciliation queue for the customer's admin to review and either merge with an existing Odoo partner or confirm as a new record. Simultaneously, we reconcile the Encompass chart of accounts against the Odoo account.account chart, flagging any unmapped accounts for the customer's finance team to confirm. Account reconciliation must be complete before any AP/AR or GL migration phase begins because cost postings depend on correct account IDs.
Production migration in dependency order
We run production migration in record-dependency order: BOMs (mrp.bom + mrp.bom.line) first because mrp.production references them; then inventory lots (stock.lot + stock.quant) with genealogy traceability links; then batches (mrp.production) linked to BOMs and lots; then production variance records linked to batches; then QC records (quality.check) linked to production orders; then purchase orders and sales orders (with partner_id resolved); then open AP/AR (account.move) with invoice_date, payment_terms, and partner reconciliation confirmed; then historical GL entries (if scope agreed); then production users (res.users) with Odoo access group assignments. Each phase emits a row-count reconciliation report before the next phase begins. We use Odoo's XML-RPC API with batch chunking for all inserts.
Cutover, validation, and workflow rebuild handoff
We freeze Encompass Production Cloud to read-only during cutover, run a final delta migration of any records modified during the migration window, then enable Odoo as the system of record. We deliver a written inventory of Encompass production workflows, scheduling rules, QC automation, and report configurations requiring rebuild in Odoo Studio or via the Odoo developer API. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's operations or finance team. We do not rebuild Encompass automations, scheduling rules, or TTB compliance workflows inside the migration scope; these are documented for the customer's Odoo admin or a qualified Odoo implementation partner.
Platform deep dives
Encompass Production Cloud
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 Encompass Production Cloud 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
Encompass Production Cloud: Not publicly documented.
Data volume sensitivity
Encompass Production Cloud 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 Encompass Production Cloud to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Encompass Production Cloud 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 Encompass Production Cloud
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.