DF ERP Bridge — Scheduled ERP Export (Sage 100, EBP, Cegid, Codial)
Install and configure scheduled ERP export: profiles, Sage 100 / EBP / Cegid / Codial formats, FTP and e-mail transports, cron.
DF ERP Bridge automatically exports your PrestaShop orders, customers and stock to your business-management software — Sage 100, EBP, Cegid, Codial — or to a generic CSV, XML or JSON format. Files are generated on the cadence you define and delivered automatically over FTP/FTPS or by e-mail, under the control of a cron. This guide covers installation, profile creation, formats, transports, scheduling and security.
Installation
- In the back office, open Modules > Module Manager, click Upload a module and drop the
dferpbridge.zipfile. - Once installed, click Configure.
- On first install, a cron token is generated automatically and log retention is set to 30 days. Both can be changed in the Settings section at the bottom of the configuration page.
The module is back-office only: it adds nothing to your storefront. It is compatible with PrestaShop 8.0 to 9.x and multistore.
Create an export profile
A profile describes one export: which data, in which format, to which destination and how often. You can create as many profiles as you need. Click Add a profile and fill in the fields.
Main fields
- Profile name — a label to help you identify it (e.g. “Orders to Sage — daily”).
- Data to export — Orders, Customers or Stock.
- ERP format — Sage 100, EBP, Cegid, Codial, or a generic CSV / XML / JSON format.
- Transport — FTP upload or e-mail attachment.
- Frequency — Hourly, Daily or Weekly. Evaluated on each cron call.
- Order status filter — (orders only) multi-select; leave empty to export all statuses.
- Incremental export — only exports records created since the last run.
- Active — an inactive profile is skipped by the cron but can still be run manually.
Export formats
The four ERP presets are produced in Windows-1252 encoding, with a semicolon separator, CRLF line endings and comma decimals — the convention expected by French import tools. Generic formats are output in UTF-8.
Sage 100
A two-level .txt file: “E” header rows followed by their “L” detail rows, in a structure compatible with Sage 100 Gestion Commerciale document import. Shipping costs are added as a dedicated “PORT” line. Column order can be remapped in Sage’s “configurable import format” wizard.
EBP
A flat .csv file with a header row, one row per order line (header fields repeated). Suited to EBP Gestion Commerciale’s configurable import.
Cegid
An .xml document structured as DOCUMENTS / DOCUMENT with an ENTETE block and a LIGNES block, for Cegid Business / XRP Flex style document integration.
Codial
A flat .csv file with headers, one row per order line, designed for Codial’s configurable import module.
Generic CSV / XML / JSON
For any other tool (Odoo, Dolibarr, an in-house ERP, a spreadsheet), these formats export every field in UTF-8. The generic CSV includes a BOM for clean opening in Excel; the XML nests line items under each order; the JSON wraps records in an envelope with entity, date and count.
Transports
FTP / FTPS
Enter the host, port (21 by default), user, password and remote path (e.g. /exports/prestashop). Passive mode and explicit SSL (FTPS) are supported through dedicated toggles.
The FTP password is encrypted at rest in the database with your store’s encryption key. When editing a profile, leave the password field empty to keep the existing value.
The file is sent as an attachment to the address entered in Recipient e-mail. E-mail templates are provided in French and English.
Cron scheduling
The Scheduled execution (cron) panel shows the secured URL to call. Add it to your crontab or a cron service. On each call, only the profiles whose frequency is due are run (with a 5-minute tolerance).
*/15 * * * * curl -s "https://your-shop.tld/module/dferpbridge/cron?token=YOUR_TOKEN" > /dev/null 2>&1
Optional URL parameters:
id_profile=N— runs a single profile only.force=1— bypasses the frequency check and runs regardless.
Schedule the cron at least as often as the highest frequency used by your profiles. An “hourly” profile needs a cron called at least every hour.
Manual execution
Each profile has a Run now button below the list, which triggers the export immediately, ignoring the frequency — handy for testing a profile after configuration.
Incremental export and filters
In incremental mode, the exported orders and customers are only those created after the date of the last successful run, which avoids duplicates in your ERP. Stock is always exported as a full snapshot, regardless of this setting.
For orders, the status filter restricts the export to the selected states (for example “Payment accepted” and “Shipped”). Each order carries its line items, per-line VAT, shipping costs and the full invoice address (SIRET, intra-EU VAT number).
Export log and retention
The last 20 exports appear in the back office with their status (success, empty, error), record count, generated file and an optional message. Logs older than the configured retention period (30 days by default) are purged automatically on each cron run.
Security
- The cron URL is protected by a token compared in constant time; a call without a valid token returns a 403 error.
- The FTP password is encrypted at rest and only decrypted at connection time.
- You can regenerate the cron token from Settings; the old URL then stops working.
Troubleshooting
“Invalid token” when calling the cron
Check that the token in the URL exactly matches the one shown in the cron panel. If it was regenerated, update your crontab.
FTP export fails
Make sure the PHP FTP extension is available on the server, that the host and user are correct, and that the remote path exists. Try enabling or disabling passive mode depending on your server.
The profile runs but no file is produced
The “empty” status means no record matched the filters (for example, no new orders since the last run in incremental mode, or an overly restrictive status filter).
XML formats error out
The Cegid and generic XML presets require the PHP XMLWriter extension, standard on most PrestaShop hosting.
Compatibility
- PrestaShop 8.0, 8.1, 8.2 and 9.x
- PHP 7.4 to 8.3
- Multistore
- PHP FTP extension required for FTP transport; XMLWriter required for XML formats