Promotions

New products

  • Doli-Secure (Check for vulnerabilities in Dolibarr)

    Automatically check that your installed Dolibarr version is not affected by any known vulnerability (CVE), using the public NVD (NIST) database. A home page indicator and an automatic email alert keep your administrators informed. Technical support: dolibarr@joliciel.fr Module offered for free to the Dolibarr community.

    FREE
  • Notary Office Management – Complete Notarial Practice Platform for Dolibarr

    Turn Dolibarr into a complete notary office platform: dashboard, notarial cases with a Kanban pipeline, parties, deeds, signatures, real estate, sales and acquisitions, mortgages, estates and heirs, donations, companies, powers of attorney, formalities, deadlines, appointments and agenda, fees, disbursements, document management, archives, automation engine and eighteen exportable reports.

    299.00 €

Doli2Shop - ERP Integration

mp21640d20250417205854

Shopify ↔ Dolibarr synchronization: products both ways, import orders/customers from Shopify. License provided upon purchase. Also available on the Shopify App Store. 5 languages.

250.00 €
Excl. tax

  • Author Association P'tite Tête
  • Module version 2.5.2
  • Release date 04/17/2025
  • Access to download and updates 1 year
  • How to contact support doli2shop@ptitetete.org (Temps de réponse : 5 jours ouvrés)
  • Compatibility Dolibarr V18+   -   PHP7.2.5 - 8.5
  • Last update 08/31/2026 10:43 AM

More info...

Doli2Shop - ERP Integration

Professional synchronization module between your Shopify store and your Dolibarr ERP.

Features

• Real-time webhooks: orders, products, stock, shipments synchronized instantly
• Automatic export of products, variants, images and stock from Dolibarr to Shopify
• Import of products from Shopify to Dolibarr
• Automatic import of orders with customers, addresses and discounts from Shopify
• Automatic invoice and payment creation from Shopify orders
• Catch-up CRON: no order lost even if a webhook fails
• 6-step configuration wizard for quick setup
• Multi-price and Shopify variant management
• Complete administration interface with logs, diagnostics and webhook viewer
• Compatible Dolibarr 18 to 23, Docker, Cloudron

License and activation

When purchasing on the DoliStore, you will receive a serial number by email within 24 business hours to activate your module. Enter it in Doli2Shop > License in your Dolibarr.

Doli2Shop is also available on the Shopify App Store (https://apps.shopify.com/doli2shop) with instant automatic license activation via Shopify Billing, no email required.

What's new in v2.5.2

• Critical fix: on some installations the Shopify connection had to be re-established by hand every day. The default store kept two copies of its credentials and the automatic renewal updated only one of them; because a Shopify token is single-use, the forgotten copy expired. Both copies are now kept in sync
• Fix: the label of every variant was replaced by the parent product's title on every update coming from Shopify, including a simple price or stock change. Labels are now recomputed as they are at creation time, and the repair tool finds them even when they have already been linked once
• Fix: on the webhooks screen, the save button had no effect — the list of tracked events could not be changed. A page structure defect prevented the form from being submitted
• Fix: the product synchronization screen and the scheduled task did not look at the same scope. A product filed under a sub-category was synchronized without ever appearing on screen, which announced "no product". Both now share the same definition, and a new go-live date lets you exclude orders predating your move to Shopify
• Fix: on multi-store installations, the counters on the synchronization screen counted each product once per store it belonged to. Displayed totals will therefore go down: they are now correct
• Fix: the historical order import never reported where it stood — "completed" always stayed no, statistics stayed empty, and changing the start date midway had no effect. The import now reports its progress, and can no longer declare itself finished when it has failed

What's new in v2.5.0

• Configurable directional flows: for each type of data (products, stock, prices, orders, payments, shipments) you choose the direction of synchronization — Dolibarr to Shopify, Shopify to Dolibarr, or both. Stock in particular is bidirectional by default: set it explicitly if you drive your catalogue from Dolibarr
• Control API: the module's main operations are available through an API, to automate from your own tools
• Internationalization: the module is available in French, English, German, Spanish and Italian
• Images: more reliable transfer of product visuals to Shopify, with deduplication of identical images

What's new in v2.4.6 (cumulative, covers 2.4.3 to 2.4.6)

• Critical fix: on hardened installations (anti-CSRF token renewed on every page), every admin action of the module was silently rejected — including the setup wizard. Clicking "Save" produced neither effect nor message. Token checking now matches Dolibarr core, and any rejection is reported on screen
• Fix: with several stores connected, the Webhooks page displayed the selected store but saved against another one — webhooks could not be disabled. Error messages on that page, previously empty, are now shown in full
• Critical fix: on Dolibarr 18 to 22, connecting a store returned an HTTP 500 error on the way back from Shopify and the store was lost. On strict SQL mode hosting, webhooks were never registered (Shopify timestamps rejected by the database)
• Performance: stock push to Shopify is now asynchronous — validating an invoice returns immediately, even when Shopify is slow or unreachable. A scheduled task pushes stock every 5 minutes, merging movements and retrying automatically after a failure
• Real Dolibarr variants on import: variant products imported from Shopify now create a genuine Dolibarr variant (visible in the interface), with a label distinct from the parent product. New "Repair variants" button to retroactively link catalogues already imported, with no re-import and no duplicates
• New "Discount repair" tool: repairs orders imported before 2.2.9 whose percentage discount was under-valued — preview before applying, drafts only, audit trail preserved
• More robust import: full error message when a variant cannot be created, reuse of the existing product when the reference (SKU) already exists, and order lines coming from pack/bundle apps finally imported when they are billable

What's new in v2.4.2

• Critical fix: Dolibarr stock was never pushed to Shopify (restocking, in-house production, manual corrections) — Shopify stock drifted with each sale, down to false negative values. Every Dolibarr stock movement is now synchronized to Shopify in real time (absolute value, never negative)
• New "Realign stock to Shopify" button: pushes the Dolibarr stock of all mapped products at once — immediately repairs Shopify values skewed in the past
• Multi-store: stock is pushed to every store where the product is mapped, using each store's own credentials
• Observability: every stock push is traced in the action log, and the "last realignment" state (date, products, errors) is shown in the admin

What's new in v2.4.1

• Shopify 2026 compliance: native support for expiring OAuth tokens (60-minute access token + refresh token), required by Shopify by January 1, 2027. Transparent automatic refresh; already-connected stores migrate in one click via the "Reconnect" button
• New Shopify Collections API 2026-07: collections created with the new model (Shopify rollout from July 1, 2026) are now visible and synchronized, no more silent disappearance
• Critical fix: more reliable product/stock sync — a disabled variant sometimes remained visible on Shopify, and diverging stock levels (sometimes negative) were no longer silently corrected; errors are now logged and surfaced
• Instant diagnostics: per-store connection and health tests now run in the background, without slowing down the page
• More reliable telemetry: the module now reports its real domain and Dolibarr version on every channel, eliminating false pending installations

What's new in v2.4.0

• Multi-store: connect several Shopify stores to a single Dolibarr installation, with unified accounting. Store selector and context bar to switch between stores, full per-store configuration (settings, orders, products, shipping, tags automatically renamed after the store)
• Per-store license: activate your DoliStore serial number directly from each secondary store's page
• Per-store Health diagnostic: connection, webhooks, license and local data checked at a glance for each store
• More reliable shipment synchronization: reinforced automatic catch-up, no more orphaned shipments after a temporary failure
• Display fixes (accented characters) and About page update
• Single-store installations remain strictly unchanged: no reconfiguration needed when updating

What's new in v2.3.1 (hotfix)

• Fix: blank page on module activation for multi-store installations (the Categorie class was not loaded before using its constants). Activation and per-store category creation work again. Single-store installations were not affected

What's new in v2.3.0

• Multi-store: manage several Shopify stores from a single Dolibarr installation with unified accounting. Per-store connection and configuration, isolation of products, orders and invoices via categories and tags, per-store license check. Single-store installs work exactly as before
• Hardened Shopify connection security: the OAuth return is now signed with an asymmetric cryptographic signature (public/private key), removing any shared secret on the module side; transparent server-side rotation
• Support tools: one-click export of the raw JSON of a Shopify order or product, and ZIP export of several orders at once, to send to support without any technical handling
• Order view: shipping and billing addresses, plus pickup point, shown directly without opening the Contacts tab
• Post-installation verification wizard: at-a-glance check of connection, configuration, CRON, webhooks and migrations, with corrective actions
• Automatic order closing after delivery and payment, email alerts on critical errors, module action log
• Enriched order data (financial summary, statuses, context); SQL compatibility with MySQL 8.x and MariaDB validated in continuous integration

What's new in v2.2.9 (hotfix)

• Fix: percentage discounts undervalued — the discount was computed on the tax-excluded base then divided a second time by (1 + VAT) as if it were a tax-included amount. Orders with a percentage promo code now match the exact amount shown by Shopify (e.g. 5% = -151.20 EUR incl. tax, not -126 EUR)
• Fixed-amount discounts (sent tax-included by Shopify) keep their tax conversion
• Documentation: table of the 4 Dolibarr stock decrease rules and recommendation for mixed TakePOS counter + Shopify shops

What's new in v2.2.8 (hotfix)

• Critical fix: stock not decremented when importing Shopify orders — the warehouse was not passed at invoice validation. All 4 Dolibarr stock decrease rules (order, invoice, shipment, shipment closing) are now covered
• Fix: the v2.2.4 permissions migration (module ID change) now runs automatically on activation — user rights preserved when upgrading from a version older than 2.2.4
• Webhooks fix: wrong callback URL (missing /custom/ path) when no explicit configuration was set, and the events retention days setting is now honored by the purge
• Robustness: explicit log warnings when no warehouse can be resolved, and safeguards against fatal errors

What's new in v2.2.7 (hotfix)

• Critical fix: documents API calls returning 404 on Dolibarr installations in a subdirectory — a leading slash was overriding the subfolder (issue #288). All documents endpoints (product and category images) now honor the installation subfolder

What's new in v2.2.6 (hotfix)

• Critical fix: resilient product image sync — automatic SQL fallback (llx_ecm_files) when the Dolibarr REST API /documents endpoint is unreachable (Apache 404, timeout, HTML in body). No more missing images in Shopify even on restrictive hosting environments (issue #286, Philazerty / Click & Play support ticket)
• Critical fix: multi-tenant entity filter added to the image SQL query — prevents exposing images from other Dolibarr entities in multi-company installations
• Fix: image sort key mismatch (filename vs relativename) — sort by position now actually works
• Enhancement: image instance cache reduces 3 redundant SQL+API calls per product to 1 during sync

What's new in v2.2.5 (hotfix)

• Critical fix: verifToken() function not loaded on some PHP-FPM stacks (notably ISPConfig with strict open_basedir) blocking Shopify OAuth — 4 module files now explicitly include the compatibility.lib.php polyfill

What's new in v2.2.4 (patch)

• Critical fix: Dolibarr module ID migration (436950 → 351003, official range allocated to Association P'tite Tete) — automatic SQL migration preserves existing user permissions, no manual action required

What's new in v2.2.3 (hotfix)

• Critical fix: 3 admin pages (setup, configuration wizard, product sync) referenced a non-existent CSS file — style loading and display now correct

What's new in v2.2.2

• Critical fix: variant stock sync now runs every hour instead of 24h
• Critical fix: no more duplicate products created on Shopify after purging a product with variants
• Improved anti-loop: inter-process sync/webhook protection against deadlocks
• Enhanced diagnostic: old image path detection + server loopback test
• Dynamic versions everywhere (no more hardcoded versions in UI)
• Modernized setup guide page with recommended wizard
• Fixed webhook products/delete (SQL error corrected)
• Smart version.php fallback for partial FTP deployments
• Fixed admin pages (maintenance, version_check) for non-standard installations

Video tutorial

Complete installation and update tutorial:
https://youtu.be/NaTBQp4_aq8

5 languages

Francais, English, Deutsch, Espanol, Italiano

Information

Website: https://doli2shop.ptitetete.org
Email: doli2shop@ptitetete.org
Complete documentation included in the module




If you think this module is a fork of another one (published after the first one) or violates some terms or conditions of use (for users or vendors), you can make a report at dolistore@dolibarr.org