ERP migration

Migrate from Selly Erp to Dolibarr ERP

Field-level mapping, validation, and rollback between Selly Erp and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.

Selly Erp logo

Selly Erp

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

83%

10 of 12

objects map 1:1 between Selly Erp and Dolibarr ERP.

Complexity

BStandard

Timeline

3-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Selly Erp to Dolibarr is a manual-first migration. Selly Erp publishes no REST or GraphQL API, which means every export requires the customer to perform an in-app CSV or Excel dump before we can begin ingestion. We extract Customers, Contacts, Deals, Pipeline Stages, Invoices, Quotes, Activities, Users, and Custom Fields from those dumps, transform field values to match Dolibarr's schema requirements, and load through Dolibarr's REST API with validation at each stage. Dolibarr's modular architecture means we activate only the modules relevant to the migration scope: ThirdParty, Contact, Commercial Proposals, and Invoices. Workflow automations, quote templates, and reports do not migrate; we deliver written specifications for the customer's admin to rebuild in Dolibarr.

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

Selly Erp logo

Selly Erp

What's pushing teams away

  • Third-party ERP integrations are limited — existing accounting or inventory systems do not integrate smoothly with open platforms, forcing manual data re-entry.
  • Technical studios and businesses with specialist workflow needs report that Selly ERP requires significant customisation workarounds to fit their use case, which some find unsustainable.
  • Customers migrating away report that the platform lacks a well-documented public API, making automated data extraction difficult and dependent on in-app exports.
  • The analytics and reporting module is described as functional but not deep — power users needing custom dashboards or advanced forecasting outgrow the built-in capabilities.

Choosing

Dolibarr ERP logo

Dolibarr ERP

What's pulling them in

  • Free open-source core with no per-user license fee makes it the lowest-cost entry point for small teams needing ERP and CRM in one package.
  • Self-hosted deployment gives full data ownership and eliminates vendor lock-in, especially attractive to businesses with compliance requirements.
  • Modular architecture means teams enable only the features they use, keeping the interface uncluttered and reducing learning curve.
  • Fast installation with no technical knowledge required — one reviewer set up multiple businesses in minutes using their own hosting.
  • Active community forum and marketplace of third-party add-ons provide support and extension options without mandatory subscription costs.

Object mapping

How Selly Erp objects map to Dolibarr ERP

Each row shows how a Selly Erp 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.

Selly Erp

Customer

maps to

Dolibarr ERP

ThirdParty

1:1
Fully supported

Selly Erp Customer records map to Dolibarr ThirdParty (societe) objects with a direct field-to-field mapping for company name, address, postal code, city, country, phone, email, and VAT number. The customer type distinction (customer versus prospect versus supplier) maps to Dolibarr's Client, Prospect, or Fournisseur classification. Company domain from Selly's website field populates the ThirdParty url. Multi-address customer records require one ThirdParty per address in Dolibarr, and we extract all address records during scoping to split them correctly.

Selly Erp

Contact

maps to

Dolibarr ERP

Contact

1:1
Fully supported

Selly Erp Contact records (first name, last name, email, phone, job title) map directly to Dolibarr Contact records. Each Contact is linked to a parent ThirdParty via the srowid (fk_soc) foreign key, which we resolve by matching the ThirdParty name or company email domain during the import phase. The Contact's primary flag from Selly sets the isprimary() status in Dolibarr. Custom fields on Contact map to Dolibarr extrafields in the llx_socpeople_extrafields table.

Selly Erp

Lead

maps to

Dolibarr ERP

ThirdParty (Prospect)

1:1
Fully supported

Selly Erp Leads with unqualified status map to Dolibarr ThirdParty records with the Prospect client type (prospect = 2) rather than the Customer type. We set the prospect status during import so that Dolibarr's CRM pipeline can treat these records as pipeline entries. Lead source and score data from Selly map to custom fields that we pre-create in Dolibarr's extrafields schema before the import runs.

Selly Erp

Deal

maps to

Dolibarr ERP

Commercial Proposal (Propal) + Opportunity status

1:1
Fully supported

Selly Erp Deals map to Dolibarr Commercial Proposals (Propal). The deal name, estimated value, currency, expected close date, and owner all transfer directly. Selly's deal stage (won, lost, open) maps to Dolibarr Proposal status (Draft, Open, Signed, Closed Won, Closed Lost). Closed-Lost and Closed-Won reasons from Selly custom fields become notes on the Dolibarr Proposal record. We flag any multi-currency deal values for currency conversion before import into Dolibarr's euro-default configuration.

Selly Erp

Pipeline Stage

maps to

Dolibarr ERP

Dictionary Entry (dict)

lossy
Fully supported

Selly Erp pipeline stage names are stored as a configurable list per account and map to Dolibarr's dictionary table (llx_c_departements_planning or llx_c_stde) or the Proposal status dictionary. We extract the complete stage list during scoping, create matching entries in Dolibarr's dictionary administration panel, and assign numeric codes that the Proposal import references by rowid. Stage ordering and probability percentages carry over as dictionary labels and the probabilite field on Proposals.

Selly Erp

Invoice

maps to

Dolibarr ERP

Invoice (Facture)

1:1
Fully supported

Selly Erp invoice records map to Dolibarr Invoice (Facture) objects. We extract invoice number, date, due date, customer reference (ThirdParty), line items (description, quantity, unit price, VAT rate), totals, and payment status. Currency and date formats require pre-import transformation because Dolibarr's date field regex enforces strict YYYY-MM-DD HH:MM:SS formatting. The original invoice PDF is archived separately and linked to the Dolibarr Invoice record as a document attachment for reference; the structured line-item records carry the accounting value.

Selly Erp

Quote

maps to

Dolibarr ERP

Commercial Proposal (Propal)

1:1
Fully supported

Selly Erp Quotes map to Dolibarr Commercial Proposals with identical field coverage: line items, totals, validity date, and reference to the parent ThirdParty. Quote status from Selly (draft, sent, accepted, expired) maps directly to Dolibarr Proposal status codes. Custom quote templates and branded layouts from Selly do not transfer and must be rebuilt in Dolibarr's document template editor after migration. We deliver a written template specification noting fonts, colors, and layout from the source export.

Selly Erp

Activities (calls, emails, meetings, notes)

maps to

Dolibarr ERP

Event

1:1
Fully supported

Selly Erp Activity history (calls, emails, meetings, tasks, notes) maps to Dolibarr Event records linked to the parent Contact or ThirdParty via the fk_soc and fk_contact foreign keys. We set the event type (call, meeting, email, task) using the fk_element_type code and preserve the original timestamp in the datep and datep2 fields. Note body content transfers as an Event with type NOTE, linked to the appropriate record. Activity metadata such as call duration or email subject line migrates to Event's description field or to custom extrafields we pre-create before import.

Selly Erp

User and Owner

maps to

Dolibarr ERP

User

1:1
Fully supported

Selly Erp user accounts map to Dolibarr User records by email address match. We extract all distinct owner identifiers on Deals, Invoices, and Activities and reconcile them against Dolibarr's llx_user table before the main import begins. Inactive or archived Selly users receive the Dolibarr status that matches their source account status. Owner assignment on Deals and Invoices resolves to the matching Dolibarr User rowid at migration time. Any Selly owner without a Dolibarr user match enters a reconciliation queue for the customer's admin to provision.

Selly Erp

Custom Fields

maps to

Dolibarr ERP

Extrafields

lossy
Mapping required

Selly Erp custom fields on any object map to Dolibarr extrafields in the llx_<table>_extrafields tables. We extract the full list of custom field names, data types, and values during scoping, then pre-create the matching Dolibarr extrafield definitions (type, label, param options for dropdowns) via the Dolibarr setup interface or direct database insert before any data loads. Dropdown values from Selly's custom field options map to Dolibarr's param options structure so that enumerated values render correctly in Dolibarr forms.

Selly Erp

Attachments

maps to

Dolibarr ERP

Document (linked via ContentDocument equivalent)

1:1
Mapping required

File attachments linked to Selly Erp records (Customer, Contact, Deal, Invoice) are extracted from the export dump and stored in a secure archive. We do not load them through Dolibarr's bulk import because attachments frequently fail or corrupt during batch processes. After the main migration completes and records have Dolibarr rowids, we provide a file-to-record mapping spreadsheet and instructions for the customer's admin to re-upload documents using Dolibarr's native file attachment interface. The original file names and record associations are preserved in the archive.

Selly Erp

Quotes and Deals relationship

maps to

Dolibarr ERP

Proposal linked to ThirdParty

1:1
Fully supported

Selly Erp Quotes are generated from Deal records and carry the deal reference. During import, we preserve the deal-to-quote relationship by matching the Quote's external reference field to the Deal's external reference, then store the cross-reference in Dolibarr's ref_ext field on both the Proposal and any linked Deal-equivalent records. If the customer is not using Dolibarr's full project or Opportunity tracking, the Proposal record serves as the standalone commercial record and the relationship is informational rather than enforced by a foreign key.

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.

Selly Erp logo

Selly Erp gotchas

High

No public API forces manual data export

Medium

Invoice PDFs are not exported as structured records

Medium

Workflow automations are undocumented and non-transferable

Dolibarr ERP logo

Dolibarr ERP gotchas

High

Foreign key constraint errors on cross-distribution database restore

High

SQL injection vulnerabilities in version 9.0.1

Medium

Custom fields stored as JSON in extraoptions require field-by-field deserialization

Medium

Decimal precision and rounding configuration affects price fields

Low

No native iOS/Android app forces reliance on browser

Pair-specific challenges

  • Dolibarr enforces strict date format during import

    Dolibarr's import module applies a regex validation to date fields that rejects non-compliant formats silently or with a field-specific error message. A GitHub issue in the Dolibarr repository documents failures where dates like 2015-01-01 without a time component cause row rejection with a message such as 'does not match the rule ^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]...'. Selly Erp's CSV exports frequently include dates in localized formats (DD/MM/YYYY or MM/DD/YYYY) or timestamps with inconsistent separators. We pre-process every date field in the extracted CSV to the YYYY-MM-DD HH:MM:SS format Dolibarr expects before any import begins, and we run a validation pass to catch format mismatches before they block the import batch.

  • Selly Erp workflow automations do not transfer

    Selly Erp's workflow automation rules are platform-internal and not accessible as extractable data. We do not migrate them. During discovery, we document every active automation rule the customer has configured, including triggers, conditions, delay actions, and CRM updates, and we produce a written specification that the customer's admin uses to rebuild equivalent rules in Dolibarr. This manual rebuild work falls outside the standard migration scope and should be budgeted separately as a post-migration administration task. We do not provide post-migration admin support, training, or workflow rebuild as part of the migration engagement.

  • Invoice PDFs are not structured records in Selly Erp exports

    Selly Erp's in-app export does not produce structured invoice line-item records that carry full accounting detail (description, quantity, unit price, VAT rate, total per line). The invoice module in Selly Erp generates a rendered PDF but the underlying line items are not reliably available in a structured format in the CSV dump. We extract any structured invoice data present in the export, archive the original PDF separately as a reference document, and create a written reconciliation report listing every exported invoice with its PDF file name so the customer's admin can verify completeness and rebuild missing line items in Dolibarr's invoice module after migration.

  • Dolibarr's modular activation must precede migration

    Dolibarr ships with all modules disabled by default. The ThirdParty, Contact, Commercial Proposal, and Invoice modules must be explicitly activated in Dolibarr's module administration panel before any import can target those objects. If the migration runs before the relevant modules are enabled, records are created but Dolibarr's UI does not display them, which can appear as a silent import failure. We activate the required modules as part of the pre-migration setup phase and verify that each module is enabled and the corresponding menu items appear before the first import batch runs.

Migration approach

Six steps for a successful Selly Erp to Dolibarr ERP data migration

  1. Discovery and extraction planning

    We audit Selly Erp across every active module (CRM, Deals, Invoices, Quotes, Activities, Custom Fields) and produce a record count estimate. We identify the customer as the primary export operator because Selly Erp has no REST API, and we provide a written export checklist specifying which modules to dump, what file formats to use, and which fields to include. We schedule a data delivery date and begin transformation design concurrently. The discovery output is a migration scope document, a field mapping sheet, and an extraction guide for the customer to follow inside Selly Erp's in-app export function.

  2. Manual export and data validation

    The customer performs the in-app CSV or Excel export from Selly Erp for each module and delivers the files. We validate each dump for record count, column headers, date format compliance, and presence of required fields. We flag any empty files, malformed rows, or missing modules and coordinate a re-export before transformation begins. We transform all date fields to YYYY-MM-DD HH:MM:SS, normalize currency codes to match Dolibarr's configuration, split multi-address customer records into separate ThirdParty entries, and resolve owner email addresses to Dolibarr User rowids. The validation output is a confirmed-clean dataset ready for Dolibarr import.

  3. Dolibarr schema design and module activation

    We activate the relevant Dolibarr modules (ThirdParty, Contact, Commercial Proposal, Invoice, Event) and configure the schema to receive the migrated data. This includes creating extrafields for any custom fields from Selly Erp, configuring dictionary entries for pipeline stages and status values, setting the correct client/prospect/supplier classification per ThirdParty, and provisioning Dolibarr User accounts for every resolved owner. We run a sandbox migration with a subset of records to validate the field mappings, verify that records appear in Dolibarr's UI under the correct module, and correct any mapping errors before the production import begins.

  4. Production migration in dependency order

    We run production migration in the correct record-dependency order: Dolibarr Users first (to resolve Owner rowids), ThirdParty records second (to resolve the fk_soc foreign key on Contacts), Contacts third, then Commercial Proposals, Invoices, and Activity history. Each phase emits a row-count reconciliation report that we compare against the source export totals. We resolve any missing parent records, orphaned children, or validation errors before proceeding to the next phase. Attachments are archived separately and re-linked by the customer's admin after migration using the file-to-record mapping spreadsheet we provide.

  5. Cutover, validation, and automation rebuild handoff

    We freeze Selly Erp from new writes during the cutover window, run a final delta migration of any records modified during the migration run, and enable Dolibarr as the live system of record. We deliver the automation rebuild specification documenting every Selly Erp workflow rule with its trigger, conditions, and recommended Dolibarr equivalent, plus the owner reconciliation report listing any Selly Erp users without a Dolibarr account. We offer a one-week post-migration hypercare window where we resolve any data issues reported by the customer's team. Workflow rebuild, admin training, and new feature onboarding fall outside standard scope and are separate engagements.

Platform deep dives

Context on both ends of the pair

Selly Erp logo

Selly Erp

Source

Strengths

  • Flat per-user pricing without per-module add-ons keeps costs predictable for SMB teams
  • Covers the full sales cycle from lead capture through invoicing in one subscription
  • Italian-language customer support receives consistently high marks in user reviews
  • Google Workspace integration with Gmail and Google Drive out of the box
  • Suitable for small to mid-sized businesses that do not need enterprise-level customisation depth

Weaknesses

  • No publicly documented API — automated export is not possible without a manual in-app data dump
  • Limited third-party integrations; existing ERP and accounting tools do not connect smoothly
  • Reporting and analytics are functional but lack the depth power users require
  • Customisation for specialist industries requires workarounds rather than native configuration
  • Platform originated in Italy and documentation is primarily in Italian, limiting accessibility for international teams
Dolibarr ERP logo

Dolibarr ERP

Destination

Strengths

  • Free core software with AGPL license and no per-user mandatory fee for self-hosted deployments.
  • Modular architecture lets teams activate only needed features, keeping the interface focused and the database lean.
  • Self-hosted option provides full data sovereignty and avoids recurring SaaS subscription costs.
  • Built-in CSV/Excel import and export wizard with saved profiles simplifies recurring data operations.
  • Low-code Module Builder allows functional extensions without writing PHP code.

Weaknesses

  • No native documented REST API for programmatic bulk operations — all migrations depend on the import/export wizard or direct database access.
  • Reporting and analytics are weak without paid add-ons, and built-in charts are limited compared to modern SaaS platforms.
  • UI design is described as dated by multiple reviewers, with infrequent visual updates to the default theme.
  • Community-only support for self-hosted deployments means no SLA or guaranteed response time for issues.
  • Security vulnerabilities (CVE-2024-5314, CVE-2024-5315) in version 9.0.1 with no immediate patch reported.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between Selly Erp and Dolibarr ERP.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Selly Erp and Dolibarr ERP.

  • Object compatibility

    A

    All 8 core objects map 1:1 between Selly Erp and Dolibarr ERP.

  • 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

    Selly Erp: Not publicly documented.

  • Data volume sensitivity

    B

    Selly Erp doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Selly Erp to Dolibarr 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 Selly Erp to Dolibarr ERP data migrations

Answers to the questions buyers ask most during Selly Erp to Dolibarr ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Selly Erp to Dolibarr ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Straightforward migrations with clean exports, under 5,000 customer records, and no multi-year financial history land between three and six weeks. Migrations involving multi-year historical invoices, data quality issues, complex custom field configurations, or cross-module dependencies extend to eight to fourteen weeks. The first week is typically consumed by manual export preparation and validation. We provide a detailed schedule during discovery that breaks down extraction, transformation, sandbox migration, production migration, and cutover milestones.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Selly Erp.
Land in Dolibarr 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