ERP migration

Migrate from Herbst Insight ERP to Odoo ERP

Field-level mapping, validation, and rollback between Herbst Insight ERP and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.

Herbst Insight ERP logo

Herbst Insight ERP

Source

Odoo ERP

Destination

Odoo ERP logo

Compatibility

83%

10 of 12

objects map 1:1 between Herbst Insight ERP and Odoo ERP.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Herbst Insight ERP to Odoo ERP is a platform exit and a schema redesign. Herbst Insight ERP runs on vendor-managed SaaS infrastructure with no public API and module-scoped Web Portal exports that do not preserve relational links between records. Odoo is a modular open-source platform where the customer chooses which apps are active and configures the chart of accounts, warehouse structure, and multi-company setup before data loads. We establish data extraction access (direct SQL, partner tooling, or staged CSV per module) during scoping, reconstruct the relational graph using foreign key fields present in Herbst exports, and sequence master data before transactional records so that account codes, customer IDs, and supplier IDs are available as foreign keys at load time. We do not migrate Workflows, automations, or custom Odoo modules as code. Payroll migration is scoped to summarised effective-dated compensation records due to Irish jurisdiction compliance, and binary document storage is not migrated. The Odoo Community edition is free; Odoo Enterprise pricing starts at $24.90 per user per month for the SaaS plan or a one-time perpetual license plus annual support fee for on-premise deployments.

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

Herbst Insight ERP logo

Herbst Insight ERP

What's pushing teams away

  • No public pricing — quotes are sales-led through Herbst Software or its reseller network.
  • Ireland-centric — multinational SMEs operating outside Ireland may find international support and localisation thinner than NetSuite or Sage Intacct.
  • Limited public API documentation — extraction requires reseller or vendor engagement.
  • Smaller third-party developer/integrator ecosystem compared to mainstream cloud ERPs.
  • Companies scaling beyond mid-market complexity (multi-entity consolidation, IFRS reporting at scale) typically migrate to NetSuite, Microsoft Dynamics 365, or SAP.

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 Herbst Insight ERP objects map to Odoo ERP

Each row shows how a Herbst Insight 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.

Herbst Insight ERP

Customer

maps to

Odoo ERP

Res Partner (Customer type)

1:1
Fully supported

Herbst Customers export as a single master record containing billing address, shipping address, and contact details. We map directly to Odoo res.partner records where partner_id.partner_type = 'customer'. Credit limits from Herbst become custom fields on res.partner; payment terms map to Odoo's account_payment_term lookup. Any customer with a Herbst default_price_list_id becomes an Odoo pricelist record linked to the partner before import.

Herbst Insight ERP

Supplier (Vendor)

maps to

Odoo ERP

Res Partner (Vendor type)

1:1
Fully supported

Herbst Suppliers export with address, banking details, and purchasing terms. We map to Odoo res.partner records where partner_id.partner_type = 'supplier'. Herbst vendor hierarchy (parent vendor, sub-vendor) maps to Odoo's parent_id on res.partner. Open Purchase Orders linked to the supplier are reconciled separately using the Purchase Order mapping. Supplier banking details migrate to Odoo's res.partner.bank_ids with appropriate account type flags.

Herbst Insight ERP

Item (Product)

maps to

Odoo ERP

Product Template + Product Variant

1:1
Fully supported

Herbst Items carry pricing, cost, stock-control flags, and BOM data for manufacturing variants. We map primary SKU to Odoo product_product.default_code as the dedupe key. Herbst item type (stockable, consumable, service) maps to Odoo product_product.type. Variant attributes from Herbst BOMs map to Odoo product_template.attribute_line_ids with corresponding product_product variants created at import time. Cost price from Herbst becomes product_product.standard_price.

Herbst Insight ERP

Chart of Accounts

maps to

Odoo ERP

Account Account

1:1
Fully supported

Herbst COA exports with account codes, account names, and posting-level flags. We preserve the full account code structure (numeric, alphanumeric) from Herbst as Odoo account_account.code, because code is the Odoo account lookup key used on journal entries. Tax codes from Herbst become Odoo account_tax records linked to the appropriate sales or purchase account. This entity loads first before any journal entries or AP/AR balances can be posted.

Herbst Insight ERP

Open AP (Accounts Payable)

maps to

Odoo ERP

Account Move (Vendor Bill)

1:1
Fully supported

Open payables migrate as Odoo account_move records with move_type = 'in_invoice' and state = 'draft' (or 'posted' if the balance has been cleared in Herbst). Herbst's AP header carries the supplier reference, invoice date, due date, and total amount; line items carry account code, description, and debit amount. We resolve each Herbst supplier_id to a res.partner vendor record and each Herbst account code to an Odoo account_account.code before loading. Unmatched AP lines are flagged to a reconciliation queue.

Herbst Insight ERP

Open AR (Accounts Receivable)

maps to

Odoo ERP

Account Move (Customer Invoice)

1:1
Fully supported

Open receivables migrate as Odoo account_move records with move_type = 'out_invoice' and state = 'draft' or 'posted' depending on Herbst payment status. Herbst's AR header carries the customer reference, invoice date, due date, and open balance. We resolve Herbst customer_id to res.partner.customer_rank = 1 and Herbst account codes to Odoo account_account records. Orphaned lines (no matching partner or account) are escalated before load.

Herbst Insight ERP

Sales Order

maps to

Odoo ERP

Sale Order

1:1
Fully supported

Herbst Sales Orders export with header status, line items, and fulfillment links. Status values from Herbst (Quoted, Confirmed, Despatched, Invoiced, Void) map to Odoo sale_order.state values. Line items carry product_id, quantity, and unit_price referencing the product mapping. Fulfillment references from Herbst become Odoo stock_picking records linked to the sale_order. Voided or partially voided orders are imported as draft records with a status flag for customer review.

Herbst Insight ERP

Purchase Order

maps to

Odoo ERP

Purchase Order

1:1
Fully supported

Herbst Purchase Orders migrate to Odoo purchase_order with header status mapped to state values. Line items carry product_id, quantity, and purchase_price referencing the Items mapping. Herbst vendor_id resolves to res.partner.supplier_rank = 1. Open PO references attached to a supplier account are preserved as Odoo purchase_order.name for reconciliation against received goods and vendor invoices.

Herbst Insight ERP

Inventory (Stock)

maps to

Odoo ERP

Stock Quant + Stock Location

lossy
Mapping required

Herbst stock records include warehouse location, batch, and serial number fields that vary by warehouse configuration. We create Odoo stock_location records per Herbst warehouse site, then map Herbst stock_on_hand quantities to Odoo stock_quant records with the resolved location_id and product_id. Multi-warehouse setups in Herbst generate multiple Odoo stock_location parent records. Bin-level data migrates to stock_quant with dedicated lot_id or lot_name references. Validation against Odoo's stock valuation method occurs before final load.

Herbst Insight ERP

Time and Attendance

maps to

Odoo ERP

Hr Attendance + Project Timesheet

1:1
Mapping required

Herbst time entries and attendance logs export as dated records with employee_id, clock_in, clock_out, and attendance_type fields. We map to Odoo hr_attendance records for clock-in/out events and to hr_timesheet_sheet.sheet_line records for timesheet data linked to project tasks. Integration dependencies on the Herbst Time and Attendance module are flagged; Odoo's native Attendance app may require configuration to match the Herbst rule set.

Herbst Insight ERP

Production / BOM

maps to

Odoo ERP

Mrp Production + Mrp Bom

1:1
Fully supported

Herbst manufacturing data (production orders, Bills of Materials, routing information) maps to Odoo mrp_production and mrp_bom records where the Odoo Manufacturing app is activated. Herbst BOM components map to mrp_bom_line records with component product_id and quantity_bom resolved against the Items mapping. Custom production workflows from Herbst are catalogued as configuration notes for Odoo manufacturing route setup.

Herbst Insight ERP

Documents and Attachments

maps to

Odoo ERP

Ir Attachment (metadata only)

lossy
Not supported

Binary document storage (invoice PDFs, images, uploaded files) is not accessible via Herbst's standard export tools and is marked as not migratable. We export document metadata (filename, file type, linked module, record reference) into an Odoo ir_attachment inventory, and the file transfer is handled separately by the customer via the Herbst Web Portal download or direct server access. Note attachments that are text-based may be extracted as Odoo mail.message records.

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.

Herbst Insight ERP logo

Herbst Insight ERP gotchas

High

Herbst does not publish public API documentation or rate limits

Medium

Herbst Web Portal exports are module-scoped, not transactional graphs

Medium

SaaS hosting means migration windows depend on vendor co-operation

Low

Payroll module migration requires jurisdiction-specific sign-off

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

  • No public Herbst API; extraction method determines feasibility

    Herbst Insight ERP does not publish REST or bulk API documentation. Export-based migrations must rely on direct SQL access to the hosted database, Herbst partner export tools, or module-scoped CSV reports from the Web Portal. We establish the extraction method during scoping, and where direct DB access is unavailable we use staged CSV exports per module. This is the highest-severity issue on this pair because the extraction method directly controls the migration timeline, record completeness, and whether relational foreign keys can be preserved. Customers should confirm their contract entitlements for data extraction and coordinate with their Herbst account manager before migration kickoff.

  • Herbst module-scoped exports do not preserve relational graphs

    The Herbst Web Portal exports records per module (Customers, Suppliers, Orders, Stock) as separate flat files without foreign key references embedded in the export. This means Customer records export separately from their linked Sales Orders, and Order lines export separately from Payments. We reconstruct the relational links during transformation using foreign key fields present in the export (such as customer_code on the order header or supplier_code on the purchase line). Any records missing linking fields are flagged as orphaned and escalated before load. Odoo's foreign-key model requires these references to be correct at import time or records will reject at the constraint level.

  • SaaS extraction window depends on Herbst vendor cooperation

    Because Herbst Insight ERP runs on Herbst's own hosted infrastructure, any temporary database access grants, extended export sessions, or data extraction windows require coordination with Herbst's professional services or development team. We engage Herbst directly during scoping to agree on extraction windows, and the customer must confirm their current contract status and any data portability entitlements before we commit to a migration schedule. Any delay in vendor access directly affects the project timeline.

  • Odoo app activation must precede data migration

    Odoo's modular architecture means data cannot be loaded into an unconfigured Odoo instance. We activate and configure the relevant Odoo apps (Accounting, Inventory, Purchase, Sales, Manufacturing, HR, Project) before any data migration begins. The sequence of app activation matters because activating Inventory before Accounting changes how Odoo handles product valuation and COGS accounts. We produce an Odoo app activation plan during scoping as part of the destination configuration step.

  • Legacy data quality issues surface in Odoo not in Herbst

    Duplicate supplier listings, customer records without contact details, items with missing SKUs, and stale open balances from years ago exist in Herbst but may not have caused visible problems. Odoo's strict field typing, required foreign keys, and inventory valuation engine expose these issues immediately on import. We perform data profiling during scoping and require the customer to make deduplication and cleanup decisions before production load. Budget additional time for data cleansing on migrations from systems that have been in use for more than five years.

Migration approach

Six steps for a successful Herbst Insight ERP to Odoo ERP data migration

  1. Extraction method confirmation and scoping

    We engage Herbst Insight ERP's professional services or development team to confirm the available extraction method: direct SQL read access, Herbst partner export tool, or Web Portal module-scoped CSV reports. We audit the active Herbst modules (accounting, CRM, payroll, inventory, manufacturing, time and attendance), record counts per entity, and any custom field definitions. The scoping output is a written extraction plan, a migration object list, and a confirmed timeline range.

  2. Odoo environment provisioning and app activation

    We provision an Odoo Sandbox or development instance at the customer's target edition (Community or Enterprise) and activate the relevant apps based on the Herbst module audit: Accounting for the Chart of Accounts and AP/AR, Inventory for stock, Purchase for supplier orders, Sales for customer orders, Manufacturing if BOM data exists, and HR if employee records are in scope. We configure the company structure, fiscal year, and chart of accounts template before any data load begins.

  3. Data profiling and cleansing

    We run data profiling on the extracted Herbst data before any transformation. We identify duplicate customer and supplier records, items without SKUs, open AP/AR records with missing supplier or customer references, and inventory records with inactive product IDs. We deliver a data quality report to the customer's finance and operations leads and require explicit decisions on each flagged record before we proceed to transformation. This step prevents the migration from propagating legacy data problems into Odoo.

  4. Schema mapping and sandbox migration

    We build the field-to-field mapping document for each entity: Customers to res.partner, Items to product_template and product_product, Chart of Accounts to account_account, and transactional records to their respective Odoo move and order objects. We run a sandbox migration with production-like data volume, validate record counts and spot-check field accuracy, and require the customer's sign-off before production migration begins.

  5. Production migration in dependency order

    We run production migration in the correct dependency order: Chart of Accounts first (all account codes must exist before journal entries post), then res.partner records for customers and suppliers, then product records, then stock quant and location data, then open AP and AR as draft account_move records, then Sales and Purchase Orders, then time and attendance data, then payroll summaries (effective-dated compensation only, with jurisdiction sign-off), then document metadata inventory. Each phase emits a row-count reconciliation report before the next begins.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Herbst writes during cutover, run a final delta migration of any records created or modified during the migration window, then designate Odoo as the system of record. We validate Odoo trial balance against the Herbst ledger closing balance, spot-check 25-50 records across entities, and resolve any reconciliation exceptions. We deliver a written inventory of Herbst automations, module-level configurations, and custom field definitions that require manual rebuild in Odoo. We do not rebuild automations or custom Odoo modules inside the migration scope.

Platform deep dives

Context on both ends of the pair

Herbst Insight ERP logo

Herbst Insight ERP

Source

Strengths

  • SaaS delivery eliminates on-premise hardware, patching, and IT overhead for SMEs.
  • Modular design lets businesses configure only the modules they need — accounting, CRM, HR, payroll, distribution.
  • Irish-headquartered with direct vendor support and local reseller network.
  • Integrated web portal gives customers self-service access to orders, invoices, and statements.
  • Real-time ROM reports provide immediate visibility into accounts data across modules.

Weaknesses

  • Very limited public API documentation — export relies on direct database access or partner tooling.
  • Small market footprint compared to Tier-1 ERPs means fewer third-party integration templates exist.
  • Pricing tiers and feature gates are not publicly published, requiring direct sales engagement.
  • G2 review volume is extremely low (1 verified review), limiting independent quality signals.
  • Hosting is vendor-managed SaaS, giving customers limited control over infrastructure-level customisation.
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 Herbst Insight ERP 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

    Herbst Insight ERP: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.

  • Data volume sensitivity

    B

    Herbst Insight ERP doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Herbst Insight ERP 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 Herbst Insight ERP to Odoo ERP data migrations

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

Can't find your answer?

Walk through your Herbst Insight ERP to Odoo ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 5,000 customer records, 2,000 supplier records, and no active manufacturing or payroll modules. Migrations with multi-warehouse inventory, Irish payroll summarisation requirements, direct SQL extraction coordination with Herbst, or multi-company Odoo configuration move to seven to twelve weeks. The extraction method confirmation with Herbst is the first critical path item; delays in vendor access extend the timeline directly.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Herbst Insight ERP.
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