Get in touch
  • OpenCart
  • CRM and integrations
  • v1.1.1

SalesDrive Sync — CRM for OpenCart 2.3, 3.x and 4.x

Free OpenCart integration module for SalesDrive CRM: every order becomes a lead with items, shipping and comment. No licence keys or limits.

Compatibility
OpenCart 2.3.0.0 – 2.3.0.2 · 3.0.2 – 3.0.5 · 4.0.2 – 4.1.x
Version
v1.1.1 (OpenCart 4)
v1.1.1 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Updated
August 2026

What the module does

Feature Free
Every OpenCart order automatically becomes a lead in SalesDrive ✔
The buyer, items, shipping, payment and comment are sent ✔
Choice of trigger statuses ✔
Lead deduplication ✔
Retry queue on failures ✔
Exchange log in the admin panel ✔
Separate builds for OpenCart 2.3, 3.x and 4.x ✔
Free ✔

What it looks like

SalesDrive Sync settings page in the OpenCart admin
Connection: your SalesDrive account domain and API key (stored encrypted, never shown in the field). The “Test connection” button instantly tells you whether the module can see your CRM.
SalesDrive Sync general settings: send moment, retry limit, cron token
The send moment — on placement or on reaching a chosen status, skipping zero-price lines, the shipping cost, a retry limit and an optional cron token to protect the public retry URL.
SalesDrive Sync log in the OpenCart admin
The sync log: order number, status, the lead ID in SalesDrive, number of attempts and the last error — you can instantly see what made it through and what didn’t.

Technical requirements

  • OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5 or 2.3.0.0 – 2.3.0.2 — a separate build for each branch
  • PHP 7.4 or newer for the OC4 and OC3 builds; the OpenCart 2.3 build works from PHP 5.6
  • A SalesDrive account: a domain like yourshop.salesdrive.me and a leads-database API key with “Leads: add” permission
  • OpenCart cron enabled — for automatic retries on failures (the send itself works without it too)

Version history

v1.1.1 Current August 2026

Lead and line totals are now sent in the order’s currency at its historical rate.

v1.0.0 OC 2.3 August 2026

A separate build for OpenCart 2.3.0.0–2.3.0.2 and PHP 5.6–7.x.

v1.1.0 August 2026

Fixed sending line items: SalesDrive was silently dropping items without an id field, and the lead arrived with an empty list and a zero total.

All versions (5)
v1.0.1 July 2026

Minor fixes to event registration and line-item mapping.

v1.0.0 July 2026

First public release: sends orders to SalesDrive on placement or by status trigger, an idempotent sync log (UNIQUE on order_id), a retry queue via hourly cron, mapping of…

Full module description

SalesDrive Sync for OpenCart is a module that connects a shop on OpenCart 2.3, 3.x or 4.x to SalesDrive CRM. Every order, on placement (or on moving to a chosen status), automatically becomes a lead in SalesDrive — with the buyer, items, shipping cost and comment. The manager gets the lead in the CRM within seconds of the purchase, with no manual copying of data from the OpenCart admin.

The module is completely free. Download: cc_salesdrive.ocmod.zip for OpenCart 4.x, cc_salesdrive-oc3.ocmod.zip for OpenCart 3.0.2–3.0.5, or cc_salesdrive-oc2.ocmod.zip for OpenCart 2.3.0.0–2.3.0.2 — no licence keys or limits on the number of orders.

How it works, step by step

  1. The customer places an order in your OpenCart shop.
  2. The catalog/model/checkout/order*addHistory event fires — the module reacts to the placement or to the order reaching the trigger status.
  3. A lead is built: the buyer with a phone number in +380 format, items with SKU, price and quantity, shipping cost, comment — and it’s sent to SalesDrive via the leads handler (POST /handler/, X-Api-Key header).
  4. The lead number is recorded in the sync log. The log holds a unique record per order, so a repeated event will never create a duplicate — a completed record is simply skipped.
  5. If SalesDrive is unavailable — the record stays queued, and OpenCart’s hourly cron retries the send (up to 5 attempts by default).
  6. The result is visible in the admin: the log shows the status, lead ID, number of attempts and the last error, if any.

How much it costs

Free. Download it and use it — no activations, subscriptions or hidden fees.

Under the hood

  • Native extension for OpenCart 4.x — events and its own table, with no OCMOD patches to other files. The event is registered in OC4 format with a * separator before the method — that’s exactly how the 4.x core matches model events.
  • Database-level idempotency: a cc_salesdrive_sync table with a UNIQUE key on order_id — creating two leads from one order is physically impossible.
  • The API key is encrypted before being stored in the database — it isn’t kept in plain text.
  • Retry queue via OpenCart’s built-in cron: the cc_salesdrive_retry task runs hourly and picks up orders in an error status, as well as ones that got stuck mid-send for over an hour. The retry URL can be locked with your own cron token.
  • A log with request and response excerpts — when troubleshooting, you can see exactly what the module sent and what the CRM replied.

How to install

  1. In the OpenCart admin, open Extensions → Installer and upload cc_salesdrive.ocmod.zip.
  2. Go to Extensions → Extensions → Modules, find SalesDrive Sync and click “Install” — the module creates the log table, the event and the cron task.
  3. Open the module’s settings: enter your SalesDrive account domain and API key.
  4. Click the connection-test button — make sure the CRM responds.
  5. Choose the send moment (on placement or on status change), save — done.

OpenCart 2.3. The built-in 2.3 Installer only copies files via FTP: if FTP isn’t configured in the shop, unpack cc_salesdrive-oc2.ocmod.zip and upload the contents of the upload/ folder to the shop root, then follow the same steps — Extensions → Modules → SalesDrive Sync → “Install”.

Retries in OpenCart 2.3. 2.3 has no scheduler at all, so the retry queue is driven by a plain storefront address — add it to the hosting’s crontab (typically every 15 minutes) and lock it with your own cron token from the module’s settings:

curl -s "https://YOUR-SHOP/index.php?route=extension/module/cc_salesdrive_cron/retry&token=TOKEN"

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Does the module modify OpenCart files or the theme?

No. This is an event-driven extension for OC4: no OCMOD patches to system files, checkout and theme remain untouched. After the module is removed, the shop works as before.

Where do I get a SalesDrive API key?

SalesDrive account → Settings → General settings and integrations → Other services → API → API keys. You need a leads-database key with "Leads: add" permission.

An order changes status several times — will there be several leads?

No. The sync log holds a unique record per order: if the lead is already created, repeated events are skipped.

What happens if SalesDrive goes down at the moment of the order?

Nothing is lost: the attempt is recorded as an error, and the hourly cron will retry the send (up to 5 attempts by default). The order in OpenCart is created regardless.

What happens after the module is deleted?

The event and cron task are removed. The sync log table is deliberately kept so the send history isn't lost; it can be removed manually if needed.

Do I need cron running all the time?

Only for automatic retries on failure. The initial send happens right on the order event, without cron.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module