ERP migration
Field-level mapping, validation, and rollback between Epicor iScala and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Epicor iScala
Source
Dolibarr ERP
Destination
Compatibility
11 of 15
objects map 1:1 between Epicor iScala and Dolibarr ERP.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from Epicor iScala to Dolibarr is a scope-reduction migration: iScala is a full-stack mid-market ERP with multi-subsidiary, multi-currency, and multi-language capabilities across manufacturing, distribution, and financial modules; Dolibarr is an open-source modular ERP/CRM designed for SMBs and mid-market companies that want a lightweight, customizable alternative. We extract data from iScala's SQL Server schema using direct queries scoped per company code, normalize iScala's two-letter module prefix tables into Dolibarr's module structure, and ingest via Dolibarr's REST API. The migration resolves iScala's multi-company schema (where company-dependent and company-independent data coexist in the same database), preserves multi-currency and multi-language fields using Dolibarr's language packs and extrafields, and flags iScala-specific workflows, Crystal Reports, and SSRS reports for manual rebuild. We do not migrate attachments stored outside the SQL database or custom iScala workflows and automations as code.
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 Epicor iScala object lands in Dolibarr ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Epicor iScala
General Ledger (GL)
Dolibarr ERP
Accounting module + Third Parties
1:1iScala GL module (journal entries, chart of accounts, financial periods) maps to Dolibarr's Accounting module. Multi-company iScala deployments store separate GL records per company code; we query GL company codes upfront and create a separate Dolibarr instance or use Dolibarr's multi-company accounting extensions per legal entity. Exchange rates from iScala GL transactions migrate as Dolibarr currency exchange rate extrafields. iScala's configurable financial reports (CFR) do not migrate; we document the report inventory for admin rebuild using Dolibarr's built-in report builder or third-party BI connectors.
Epicor iScala
Sales Ledger (SL)
Dolibarr ERP
Third Parties (customers) + Invoices
1:1iScala SL customer masters, open invoices, and AR aging records map to Dolibarr Third Parties (type Customer) and the Invoices module. Address and contact fields vary by iScala version (2.2 through 2022.1); we normalize them to Dolibarr's address and contact fields during field mapping. Outstanding AR balances migrate as open invoice records with payment terms preserved. Multi-currency AR transactions preserve the original currency and exchange rate in Dolibarr extrafields.
Epicor iScala
Purchase Ledger (PL)
Dolibarr ERP
Third Parties (suppliers) + Invoices (supplier)
1:1iScala PL vendor masters and AP aging records map to Dolibarr Third Parties (type Supplier) and supplier invoices. Multi-currency purchase transactions require exchange-rate preservation during migration; we store the original transaction currency and rate in Dolibarr extrafields so that AP aging reports reflect actuals. GRNI (goods-received-not-invoiced) entries migrate as draft supplier invoice records pending vendor invoice matching.
Epicor iScala
Sales Orders (OR)
Dolibarr ERP
Orders module
1:1iScala OR order headers and lines with pricing, discounts, and fulfillment status map to Dolibarr Orders (customer orders). We preserve line-level detail, quantity ordered versus quantity delivered, and attachment references. Order status from iScala (Draft, Confirmed, In Progress, Completed, Cancelled) maps to Dolibarr Order status values. Open orders migrate as draft or validated orders depending on fulfillment state; closed orders migrate as closed records for historical reference.
Epicor iScala
Purchase Orders (PC)
Dolibarr ERP
Supplier Orders module
1:1iScala PC purchase order headers, lines, and receipts map to Dolibarr Supplier Orders. GRNI entries require careful sequencing to maintain AP match integrity; we migrate GRNI as draft supplier invoice records with linked receipt references. Purchase order approvals and authorization workflows do not migrate as automation; we document the workflow rules for admin to rebuild in Dolibarr.
Epicor iScala
Stock Control (SC)
Dolibarr ERP
Products + Stock module
1:1iScala SC inventory items, warehouse locations, lot numbers, and serial numbers map to Dolibarr Products (stocked) and the Stock module. Lot and serial tracking flags preserve as product extrafields in Dolibarr. We sequence stock migration to include receipt transaction history so that lot and serial links remain intact; migrating only current balances without transaction history would break traceability. Warehouse locations map to Dolibarr warehouse records with physical location extrafields for multi-site deployments.
Epicor iScala
Material Production Control (MP)
Dolibarr ERP
Products + Projects (or third-party MRP module)
lossyiScala MP work orders, routings, and material allocations represent the most complex module-to-Dolibarr mapping because Dolibarr's core does not include full MRP or production scheduling. We migrate work order headers as Dolibarr Project records with production status tracked via project status fields. Routing sequences and labor standards migrate as project task extrafields. BOM structures migrate as Dolibarr product component relationships where the third-party MRP module is installed; otherwise we flag BOM data for manual rebuild and document the bill of materials for admin to recreate.
Epicor iScala
HR / Payroll (HR, PA)
Dolibarr ERP
HR module or third-party HR extension
lossyiScala HR and PA modules store employee records, compensation history, and payroll runs. Dolibarr's HR module handles employee records and time tracking, but payroll processing rules and tax calculations require manual configuration or a third-party payroll extension. Effective-dated records migrate as-is with date tracking preserved. Compensation history migrates as employee extrafields rather than native payroll records. We scope payroll migrations conservatively: employee masters and historical leave balances migrate; payroll calculation rules and tax configurations do not.
Epicor iScala
Asset Management (AM)
Dolibarr ERP
Assets module
1:1iScala AM asset masters, accumulated depreciation, and depreciation methods map to Dolibarr Assets. Asset locations, cost centers, and depreciation schedules migrate as asset extrafields. Asset associations to departments from iScala map to Dolibarr Projects or Third Parties depending on whether the asset is linked to a project or a location. Depreciation methods (straight-line, declining balance) translate to Dolibarr's depreciation configuration.
Epicor iScala
Project Management (PR)
Dolibarr ERP
Projects module
1:1iScala PR project masters, WBS elements, budgets, and time entries map to Dolibarr Projects. We migrate project headers, current budget balances, and task hierarchies. Detailed time entries migrate as Dolibarr Project time tracking records. Billing records migrate as project invoice links where the project is linked to a customer Third Party. Complex WBS hierarchies with multi-level dependencies may require flattening into Dolibarr's two-level task structure, with deep WBS preserved in project extrafields.
Epicor iScala
Service Order Management (SM)
Dolibarr ERP
Interventions module
1:1iScala SM service order headers, line items, and field-service scheduling map to Dolibarr Interventions (service tickets). Technician assignments migrate as resource assignments or contact links on the intervention record. SLA flags and scheduling windows migrate as intervention extrafields. Open service orders migrate as draft or validated intervention records; completed orders migrate as closed records for historical reference.
Epicor iScala
Contract Management (CM)
Dolibarr ERP
Contracts module
1:1iScala CM contract masters, terms, and billing schedules map to Dolibarr Contracts. Active contracts with billing cycles and associated customer or vendor Third Party records migrate as Dolibarr Contract records with line items representing recurring billing amounts. Contract status, start date, end date, and auto-renewal flags migrate as contract fields. Recurring billing schedules map to Dolibarr's contract frequency and billing period fields.
Epicor iScala
User-Defined Fields (UD)
Dolibarr ERP
Extrafields
lossyiScala UD custom fields on standard objects require schema inventory per iScala version (2.2 through 2022.1) because UD field definitions vary significantly between releases. We inventory all UD fields during discovery, map their types to Dolibarr extrafield types (varchar, int, float, datetime, select, checkbox), and create the corresponding Dolibarr extrafield definitions before any data import. Any UD fields with no matching Dolibarr extrafield type are flagged for manual mapping review. UD field values migrate as extrafield data on the corresponding Dolibarr record.
Epicor iScala
Multi-Company / Multi-Site
Dolibarr ERP
Multiple Dolibarr instances or multi-company extension
lossyiScala supports multiple companies and sites within a single SQL Server database. Dolibarr's standard installation is single-company; multi-company requires either separate Dolibarr instances per legal entity or the third-party multi-company Dolibarr extension. We scope each iScala company code as a separate migration unit, extract company-dependent records filtered by company code, and map site-specific configurations and inter-company transaction references to the customer's chosen multi-company strategy during scoping.
Epicor iScala
Attachments and Documents
Dolibarr ERP
Not migrated; documented for manual transfer
1:1Document attachments stored outside the iScala SQL database (file shares, SharePoint, or Epicor document management) are not migratable via API or SQL query. We document the file location references during discovery and recommend a parallel file transfer process using the customer's existing file share access. For iScala attachments stored as SQL BLOB records, we extract and load them to Dolibarr's documents directory with references updated in the migrated records.
| Epicor iScala | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| General Ledger (GL) | Accounting module + Third Parties1:1 | Mapping required | |
| Sales Ledger (SL) | Third Parties (customers) + Invoices1:1 | Mapping required | |
| Purchase Ledger (PL) | Third Parties (suppliers) + Invoices (supplier)1:1 | Mapping required | |
| Sales Orders (OR) | Orders module1:1 | Mapping required | |
| Purchase Orders (PC) | Supplier Orders module1:1 | Mapping required | |
| Stock Control (SC) | Products + Stock module1:1 | Mapping required | |
| Material Production Control (MP) | Products + Projects (or third-party MRP module)lossy | Mapping required | |
| HR / Payroll (HR, PA) | HR module or third-party HR extensionlossy | Mapping required | |
| Asset Management (AM) | Assets module1:1 | Mapping required | |
| Project Management (PR) | Projects module1:1 | Mapping required | |
| Service Order Management (SM) | Interventions module1:1 | Mapping required | |
| Contract Management (CM) | Contracts module1:1 | Mapping required | |
| User-Defined Fields (UD) | Extrafieldslossy | Mapping required | |
| Multi-Company / Multi-Site | Multiple Dolibarr instances or multi-company extensionlossy | Mapping required | |
| Attachments and Documents | Not migrated; documented for manual transfer1:1 | Not 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.
Epicor iScala gotchas
Web Services license exhaustion degrades API performance
Multi-company schema requires per-company scoping
User-Defined (UD) field schema varies by iScala version
Linux container migration can break file share and report paths
Stock lot and serial records require linked migration
Dolibarr ERP gotchas
Foreign key constraint errors on cross-distribution database restore
SQL injection vulnerabilities in version 9.0.1
Custom fields stored as JSON in extraoptions require field-by-field deserialization
Decimal precision and rounding configuration affects price fields
No native iOS/Android app forces reliance on browser
Pair-specific challenges
Migration approach
Discovery and multi-company scoping
We audit the source iScala environment across active modules (GL, SL, PL, OR, PC, SC, MP, HR, PA, AM, PR, SM, CM, UD), database size, record counts per module, iScala version, and any active customizations or UD field definitions. We query iScala company codes from the system configuration to establish the multi-company extraction scope. The discovery output is a written migration scope document listing every module in scope, record volume per company code, UD field inventory, and a multi-company Dolibarr deployment strategy recommendation.
Dolibarr instance provisioning and schema configuration
We provision the target Dolibarr instance (self-hosted or DoliCloud) and configure the active modules before any data import. Module activation follows the migration scope: Third Parties, Products, Stock, Orders, Supplier Orders, Invoices, Projects, Contracts, Interventions, HR, and Assets are activated as needed. We create extrafield definitions in Dolibarr that mirror the UD field inventory from iScala. For multi-company deployments, we configure separate instances per legal entity or the multi-company extension based on the scoping decision.
SQL extraction with per-company filtering
We extract iScala data via direct SQL queries against the SQL Server database, with company code filters applied to every table pull. For each module (GL, SL, PL, OR, PC, SC, MP, HR, PA, AM, PR, SM, CM), we pull headers first, then line items and transactions, maintaining referential integrity through ordered extraction. Exchange rates, language codes, and currency identifiers are extracted alongside transactional records for multi-currency normalization. SQL extraction avoids Web Services license pool consumption and provides consistent performance regardless of iScala API availability.
Data transformation and field mapping
We transform iScala module-prefix schema rows into Dolibarr API payloads per module. Transformation includes: address and contact normalization across iScala versions; multi-currency field mapping with exchange rates preserved as extrafields; order and invoice status translation to Dolibarr status values; lot and serial number linking for stock traceability; and UD field value mapping to Dolibarr extrafield columns. Each module's transformation rules are validated against a sample of 50-100 records before bulk processing begins.
Sandbox migration and reconciliation
We run a full migration into a staging Dolibarr instance (a separate test environment or a separate DoliCloud trial) using production-like data volume. The customer's team reconciles record counts, spot-checks random records against the iScala source, and validates that multi-company data landed in the correct instance or multi-company scope. Any transformation corrections happen in this phase. We also validate that Dolibarr extrafields are populated correctly for UD field data and that multi-currency records show expected exchange rates.
Production migration in dependency order
We run production migration in record-dependency order: Third Parties (customers and suppliers), Products (with BOM and lot/serial settings), Stock (with transaction history for traceability), Assets, Projects, Orders (customer and supplier), Invoices (customer and supplier), Contracts, Interventions, HR employees, GL opening balances, then historical transactions. Each phase emits a row-count reconciliation report before the next phase begins. We freeze iScala writes during the final delta migration window and ingest the last-changed records before cutover.
Cutover, validation, and workflow handoff
We enable Dolibarr as the system of record after the final delta migration and freeze period. We deliver a written inventory of iScala reports (Crystal Reports, SSRS, iScala Query Designer), workflows, and automation rules that require rebuild in Dolibarr's module configuration or via third-party tools. We do not rebuild iScala workflows or automations as code. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team during the first days of live operation in Dolibarr.
Platform deep dives
Epicor iScala
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Epicor iScala and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Epicor iScala and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Epicor iScala and Dolibarr ERP.
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
Epicor iScala: Not publicly documented for iScala; Web Services license pool governs concurrent API sessions rather than a per-minute rate.
Data volume sensitivity
Epicor iScala 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 Epicor iScala to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Epicor iScala to Dolibarr 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 Epicor iScala
Other ways to arrive at Dolibarr 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.