PS PrestaShop Intermediate

Sellsy PrestaShop Connector – Documentation

Install, connect and sync PrestaShop with Sellsy via the v2 API.

Updated Module version 1.1.0

Overview

The DataFirefly Sellsy connector links your PrestaShop store to Sellsy, the French SaaS CRM, invoicing and management solution. It automatically syncs your customers, products, orders, invoices, payments and credit notes from PrestaShop to Sellsy through the Sellsy API v2. Synchronization is one-way: PrestaShop → Sellsy.

Compatible with PrestaShop 8.0 to 9.x, multistore. Admin interface in French and English.

Installation

  1. In the PrestaShop back office, go to Modules > Module Manager.
  2. Click Upload a module and upload the dfsellsy.zip file.
  3. Once installed, click Configure.

The module creates two tables (dfsellsy_link for the PrestaShop ↔ Sellsy mapping, dfsellsy_log for the log) and a “Sellsy Connector” tab in the Modules menu.

Create the API access in Sellsy

The connector uses OAuth2 authentication (client credentials) of the v2 API.

  1. In Sellsy, open Menu > Settings > Developer portal.
  2. In the API V2 tab, click Create API access.
  3. Choose the collaborator linked to the access (preferably an administrator, to have all rights) and tick the required scopes (customers, documents, catalog, payments).
  4. Save, then copy the Client ID and Client Secret.

The Client Secret is shown only once. Store it safely before leaving the Sellsy page.

Module configuration

On the module configuration page, fill in:

  • Client ID and Client Secret: the OAuth2 credentials created in Sellsy. Leave the secret field empty to keep the value already saved.
  • Synchronize customers: creates/updates a Sellsy third party on customer registration and update.
  • Synchronize orders: turns orders into Sellsy documents.
  • Sellsy document type for orders: invoice or sales order.
  • Order synchronization trigger: on payment confirmation or on order validation.
  • Validate Sellsy documents: automatically validates invoices and credit notes after creation (otherwise they stay as drafts in Sellsy).
  • Record payments: records PrestaShop payments on the Sellsy invoice (invoice type only).
  • Synchronize refunds as credit notes: creates a Sellsy credit note for each PrestaShop credit slip and links it to the original invoice.
  • Synchronize products: pushes the catalog to Sellsy items.

Use the Test API connection button to check your credentials before enabling synchronizations.

Customer synchronization

On customer registration or update, the module creates or updates a Sellsy third party. Customers with a company field become Sellsy companies (with SIRET when available), others become individuals. An email lookup avoids duplicates, and the main invoicing address is pushed on creation.

Order synchronization

Depending on the chosen trigger, a validated or paid order becomes a Sellsy document with product lines, shipping and cart discounts (as a negative line). PrestaShop VAT rates are automatically matched to Sellsy taxes. Each order is synced only once (idempotent).

Invoices, validation and payments

When the document type is “invoice”:

  • if the Validate documents option is on, the invoice is validated automatically after creation;
  • if the Record payments option is on, each PrestaShop payment is recorded on the invoice, without duplicates, including partial or multiple payments;
  • if the order was created at validation and the payment arrives later, the module records only the new payments on the existing invoice.

Credit notes on refund

When a PrestaShop credit slip is generated, the module creates a Sellsy credit note from the refunded lines (products and shipping), validates it if the option is on, then links it to the original invoice when it exists on the Sellsy side.

Product synchronization

Product synchronization is optional. Once enabled, products are pushed to the Sellsy catalog on creation and update. You can also run a bulk sync from the “Sellsy Connector” page (batches of 20).

Scheduled tasks (cron)

A built-in cron lets you catch anything the real-time hooks missed. Schedule the URLs shown on the configuration page:

  • .../module/dfsellsy/cron?token=YOUR_TOKEN&job=orders
  • ...&job=customers
  • ...&job=products
  • ...&job=retry (retries failed entities not yet linked)

The limit parameter (default 20, max 100) controls the batch size per run.

Synchronization log

The “Sellsy Connector” page shows a filterable log (by entity and status) of every operation, with the message returned by Sellsy on error. A Retry errors button replays failures in one click.

Troubleshooting

  • “Connection failed”: check the Client ID / Client Secret and that the required scopes are ticked in Sellsy.
  • An error on a document field (HTTP 422): some Sellsy accounts have specific requirements (e-invoicing mentions, mandatory fields). Check the log message to identify the field.
  • Duplicate third parties: the module searches by email before creation; make sure the customer email is filled in.
  • Nothing syncs: check that the relevant options are enabled and test the API connection.
Was this page helpful?

Still stuck? Contact support