ERP migration
Field-level mapping, validation, and rollback between Copyl and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Copyl
Source
Dolibarr ERP
Destination
Compatibility
10 of 14
objects map 1:1 between Copyl and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Copyl to Dolibarr is a structural migration from an undefined schema to a modular one. Copyl has no fixed data model—every object, field, and relationship is user-defined, meaning scoping must enumerate every custom entity before mapping begins. Dolibarr takes the opposite approach: a defined module set (CRM, Projects, Invoicing, Products, HR) with an ExtraFields system for custom additions. We extract the customer's full Copyl workspace schema, export record data in CSV or JSON from within the UI, then map each entity to a Dolibarr module or custom object. Status values that Copyl lets users define arbitrarily must be mapped explicitly to Dolibarr picklists, which enforce predefined options. Custom fields on objects migrate as ExtraFields using Dolibarr's built-in field definition system. We do not migrate Copyl workflows, automations, or custom application logic as code; we deliver a written inventory of every custom object and relationship the customer's admin must review and reconfigure in Dolibarr.
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 Copyl 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.
Copyl
Custom Object (all user-defined entities)
Dolibarr ERP
Custom Object (Dolibarr ExtraFields + custom tables)
lossyCopyl has no fixed schema, so every customer workspace contains unique custom objects built over time. We enumerate all custom entity definitions during scoping, then map each to either a Dolibarr standard object with ExtraFields (if the entity resembles a ThirdParty, Product, or Project) or a custom database table if no standard object fits. All custom fields on the entity are recreated in Dolibarr's ExtraFields system with matching field types. This phase determines the bulk of migration timeline because every entity must be classified before transformation begins.
Copyl
Task
Dolibarr ERP
Project (Task sub-object)
1:1Copyl Tasks map to Dolibarr Projects with task sub-elements. We preserve task titles, descriptions, status, assignees, due dates, and any custom fields. In Copyl, status values are user-defined arbitrary strings; we map each to a corresponding Dolibarr ProjectStatus value explicitly during the status mapping phase. If Copyl uses hierarchical task groups, these map to Dolibarr's Project sub-tasks. Dependencies between tasks are noted for admin review in Dolibarr rather than migrated as automation rules.
Copyl
Resource
Dolibarr ERP
User or Contact
1:manyCopyl Resources represent people, equipment, or budgets allocated to tasks. We split by type: people with user accounts map to Dolibarr User records; people who are contact-only (external resources, contractors) map to Dolibarr Contact records attached to the relevant ThirdParty. Equipment and budget resources map to Dolibarr Product records or custom ExtraFields on Project depending on how the customer intends to track them. Resource allocation mappings are exported and documented for manual reconfiguration in Dolibarr.
Copyl
Project
Dolibarr ERP
Project
1:1Copyl Projects group tasks and resources and map directly to Dolibarr Projects. Project hierarchies and task associations are preserved. Project-level custom fields migrate as ExtraFields on the Project object. Budget and timeline fields map to Dolibarr's date range and budget tracking fields if the Project module is configured with those options.
Copyl
User
Dolibarr ERP
User
1:1Copyl workspace user accounts with roles and permissions map to Dolibarr Users. We export user identities, email addresses, role assignments, and permission levels. Role mapping requires a manual decision: Copyl's custom role definitions must be mapped to Dolibarr's permission set model (Standard User, Restricted User, Admin). User status (active/inactive) is preserved. Dolibarr requires at least one admin user for initial configuration.
Copyl
Comment
Dolibarr ERP
Note
1:1Comments attached to Copyl tasks and projects migrate to Dolibarr Note records. We preserve comment text, author (linked to the mapped User or Contact), timestamp, and parent object reference. Thread ordering is maintained by sorting on the original timestamp during import. Rich text in Copyl comments is converted to HTML-safe plain text in Dolibarr Notes.
Copyl
Attachment
Dolibarr ERP
Document
1:1Files attached to Copyl tasks and projects are exported from the file system and re-uploaded to Dolibarr's document management system under the corresponding Project or other parent object. File metadata (name, size, type, upload date) is preserved. Dolibarr stores documents in the /documents/ directory with database references; we maintain the directory structure and linking during re-upload. If the attachment count exceeds 10,000 files, we chunk the upload to avoid server timeout.
Copyl
Custom Field
Dolibarr ERP
ExtraField
lossyEvery Copyl workspace has custom fields defined on objects. We export the full field definition set including field type (text, number, date, picklist, checkbox), required flag, and picklist options. Each custom field is recreated in Dolibarr's ExtraFields system on the matching destination object. Field type mapping: Copyl text fields map to Dolibarr varchar or text depending on length; Copyl date fields map to Dolibarr date; Copyl picklist fields map to Dolibarr select with explicit option mapping; Copyl checkbox fields map to Dolibarr boolean. Custom field order and grouping are documented for admin review.
Copyl
ThirdParty-like Custom Object
Dolibarr ERP
ThirdParty (Societe)
1:1If the Copyl workspace contains custom objects that represent companies, clients, or organizations (common in business-management Copyl builds), these map to Dolibarr ThirdParty (also called Societe). Address, phone, email, and commercial fields migrate to the corresponding Dolibarr fields. Dolibarr's ThirdParty object supports both customer and supplier types; we determine the type from a Copyl custom field or default to Customer.
Copyl
Contact-like Custom Object
Dolibarr ERP
Contact
1:1Custom objects in Copyl representing individual people (contacts, employees, decision-makers) map to Dolibarr Contact records. Contacts are linked to a parent ThirdParty if one exists. First name, last name, email, phone, job title, and address fields migrate directly. Role or department information from Copyl maps to a Dolibarr ExtraField on Contact since Dolibarr's standard Contact does not have a dedicated role field.
Copyl
Product-like Custom Object
Dolibarr ERP
Product or Service
1:1Custom objects representing products, inventory items, or services in Copyl map to Dolibarr Product records. We split by type: physical goods map to Product with stock management enabled; services and non-inventory items map to Service. Fields including name, description, SKU, price, and unit of measure migrate to Dolibarr's product fields. Stock levels migrate if the Product module's stock tracking is enabled in the destination.
Copyl
Invoice-like Custom Object
Dolibarr ERP
Invoice (Facture)
1:1Custom objects in Copyl representing invoices, bills, or payment records map to Dolibarr Invoice records. We migrate invoice number, date, due date, line items (mapped to FactureDet), total amount, tax amount, and payment status. Copyl's custom invoice status values (which are arbitrary strings) map explicitly to Dolibarr's predefined invoice status set (Draft, Validated, Paid, Cancelled, Abandoned). Historical invoices are imported as Closed/Paid based on the Copyl payment status.
Copyl
Custom Status Values
Dolibarr ERP
Picklist Options (configuration)
lossyCopyl allows users to define arbitrary status strings on any object, with no enforced picklist. Dolibarr enforces predefined picklist values per field. We enumerate every unique status value found across all Copyl objects during the schema audit, then map each to the nearest Dolibarr standard status or create a new picklist option if the destination field allows custom options. Unmapped statuses that have no Dolibarr equivalent are preserved in a custom ExtraField to maintain the original value for audit purposes.
Copyl
Timestamp and Historical Dates
Dolibarr ERP
Date Fields
1:1Copyl records carry creation dates, modification timestamps, and historical dates that reflect when records were originally entered or when events occurred. We preserve all date fields as-is during migration, setting the equivalent date fields in Dolibarr records. This is important for audit trails, reporting on historical periods, and maintaining the operational continuity that the Copyl workspace provided.
| Copyl | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Custom Object (all user-defined entities) | Custom Object (Dolibarr ExtraFields + custom tables)lossy | Fully supported | |
| Task | Project (Task sub-object)1:1 | Fully supported | |
| Resource | User or Contact1:many | Fully supported | |
| Project | Project1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Comment | Note1:1 | Fully supported | |
| Attachment | Document1:1 | Fully supported | |
| Custom Field | ExtraFieldlossy | Fully supported | |
| ThirdParty-like Custom Object | ThirdParty (Societe)1:1 | Fully supported | |
| Contact-like Custom Object | Contact1:1 | Fully supported | |
| Product-like Custom Object | Product or Service1:1 | Fully supported | |
| Invoice-like Custom Object | Invoice (Facture)1:1 | Fully supported | |
| Custom Status Values | Picklist Options (configuration)lossy | Fully supported | |
| Timestamp and Historical Dates | Date Fields1: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.
Copyl gotchas
Custom schema variability across Copyl workspaces
No documented public API with bulk export capability
Custom status values require explicit mapping
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 schema enumeration
We audit the source Copyl workspace across all custom objects, fields, relationships, and status values. Since Copyl has no fixed data model, every entity must be enumerated manually by reviewing the customer's workspace, discussing their business processes, and cataloging each distinct object type they have built. We also identify the record volume per object and any export files the customer has already produced. The discovery output is a complete entity inventory and a written migration scope defining what maps to which Dolibarr module.
Status value mapping design
We enumerate every unique status value found across all Copyl objects and design an explicit mapping to Dolibarr picklist options for each. This is a manual decision-making step because Copyl's arbitrary status strings must be classified against Dolibarr's structured options. We present the customer with a mapping table and ask for confirmation before any transformation begins. Status values with no Dolibarr equivalent are flagged for ExtraField fallback.
Dolibarr environment preparation
We install Dolibarr on the target environment (self-hosted server or DoliCloud) and activate only the modules required for the migration scope (ThirdParty, Contact, Project, Product, Facture, and any other modules identified during discovery). We configure ExtraFields to match the Copyl custom field definitions, set up user accounts mapped from Copyl users, and verify the PHP and database stack meets Dolibarr requirements. The environment is validated with a test record before migration data is loaded.
Data export and transformation
We work with the customer to extract all Copyl data in CSV or JSON format from within the Copyl UI. For workspaces with export limitations, we guide the customer through manual export steps or review any existing data backups. We transform the exported data per the mapping design: custom entities become Dolibarr objects or ExtraFields, status values are converted to mapped picklist options, and all records are typed for insertion order. Parent-child relationships are resolved so that records are ready for insertion in dependency order.
Sandbox migration and reconciliation
We run a full migration into a Dolibarr test environment using production-like data volume. The customer's team reconciles record counts against the Copyl source, spot-checks 25-50 records per object type for accuracy, and verifies that custom fields and status values rendered correctly. Any mapping corrections are documented and applied to the transformation scripts before the production migration begins.
Production migration and cutover
We run the production migration in record dependency order: users and contacts first, then third parties, products, projects, tasks, and any custom objects. Attachments are uploaded after their parent records are in place. We freeze Copyl writes during the cutover window and run a final delta import of any records modified during migration. We deliver a written inventory of every Copyl custom object and relationship that requires admin review or rebuild in Dolibarr. We support a five-day hypercare window for reconciliation issues and do not rebuild workflows or automations as part of the standard scope.
Platform deep dives
Copyl
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Copyl and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Copyl and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Copyl 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
Copyl: Not publicly documented..
Data volume sensitivity
Copyl 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 Copyl to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Copyl 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 Copyl
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.