Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Sales
  3. BambooForge PrestaShop Connector v 19.0
  4. Sales Conditions FAQ

BambooForge PrestaShop Connector

by BambooForge Labs
Odoo

$ 192.76

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Contacts (contacts)
• Discuss (mail)
• Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
Lines of code 8223
Technical Name bambooforge_prestashop_connector
LicenseOPL-1
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • Documentation
  • License
BambooForge Labs
BambooForge Labs Production-grade Odoo apps · open source · audited
Odoo 19.0 bambooforge.labs@gmail.com

BambooForge PrestaShop Connector

A real, two-way connector between Odoo 19 and PrestaShop 8.0, 8.1, 8.2 and 9.0 — the open-source PHP commerce platform. Sync products, customers, orders, refunds and stock both ways — with a live Sync Control Tower, a production-grade queue, signed webhooks, dry-run safety and full open source you can audit.

Odoo 19.0 PrestaShop 8.0 – 9.0 (tested) Bi-directional sync Two-way stock sync Sync Control Tower Multistore & multilang LGPL-3 · source included 49 automated tests
Buy & deploy today →
24-hour supportWe answer every request within 24 hours — setup help included.
2-month money-backReport a bug within 2 months of purchase — if it isn't resolved within 15 days, you get a full refund.
Try it before a live storeA PrestaShop API simulator ships inside — demo the full flow in minutes.
100% open sourceFull LGPL-3 source — audit every line, never get locked in.
2-wayproducts · customers · orders · refunds
49automated tests, 12 suites
0polling needed — signed webhook push
100%open source, audit every line
Tested for real

Verified live on your PrestaShop version

We don't just claim a vague version range. Each release below was installed for real, connected to Odoo 19, and run through a full product / customer / order / refund sync — 0 errors. Find your version, buy with confidence.

PrestaShop versionPHPLive sync result
9.0.3 (PrestaShop 9.0 line)8.1✔ Tested — 0 errors
8.2.1 (PrestaShop 8.2 line)8.1✔ Tested — 0 errors
8.1.7 (PrestaShop 8.1 line)8.1✔ Tested — 0 errors
8.0.5 (PrestaShop 8.0 line)8.1✔ Tested — 0 errors

Every test imported 19 products (with combinations & images), customers with addresses, orders driven through the state-machine mapping, and a credit-note refund — all green, Trust status “Trusted”. Covers the full PrestaShop 8.0 → 9.0 range, on PHP 8.1.

See it running

A live walkthrough inside Odoo 19

Recorded in a real Odoo 19 connected to a live PrestaShop 8.1 store, data synced end-to-end — connection cockpit, queue jobs, imported orders, refunds and the flow engine.

Your browser does not support embedded video — see the screenshots below.

Built to actually sync — not to look busy

Many connectors ship 25+ models, a “trust dashboard” and a “market-readiness score” that are pure marketing surface with no sync logic behind them. This one ships 18 PrestaShop models plus product, customer and order extensions — and every one of them does something verifiable, covered by tests.

What you actually get

Everything below ships in the box — including the PHP webhook companion module and a bundled mock PrestaShop API so you can demo without a live store.

P

Bi-directional product sync

Products with variants (combinations), categories, and image binary download (cover + multi-image carousel). Optional stock and tax-group metadata. Export from Odoo via POST/PUT with binder tracking.

C

Customers & addresses

Each PrestaShop address becomes a child res.partner with invoice / delivery type inferred from the alias — so billing and shipping stay clean in Odoo.

O

Orders with state machine

Orders import with lines and totals. PrestaShop current_state maps to Odoo action_confirm / action_cancel / draft through an editable 12-row default mapping table per instance.

R

Refunds (order_slip → out_refund)

Each PrestaShop credit note becomes a draft Odoo account.move linked to the customer and original order. Optional auto_post_refund for fully-automated workflows.

Signed webhook push

The bundled PHP companion module POSTs HMAC-SHA256-signed events on product / customer / order add, update and delete. Real-time updates — no polling cron required.

Multistore & multilang

id_shop is injected on every API call so multistore installs work per-instance. default_language_id drives which language flattens into Odoo's single-language fields.

Sync Control Tower

A live operations dashboard: a kanban of instances surfacing health status, circuit-breaker state, ct_queue_depth, dead-letter and conflict counts, 24h throughput and failure rate — as clickable stat cards that drill into the queue, dead-letter and conflict views, with at-risk instances coloured.

Bulk Dead-letter Console

A dedicated view of exhausted-retry jobs grouped by error type, with bulk requeue and discard actions — so a batch of failures is triaged and re-run in seconds, not one by one.

Conflict-Resolution Workbench

A triage list with a side-by-side Odoo-vs-remote snapshot diff, plus bulk resolve: Odoo-wins / remote-wins / mark-reviewed. Divergences are settled deliberately, not silently overwritten.

Conditional branching

The multi-step flow engine now walks true/false branches: a condition step's boolean result routes to true_step_id or false_step_id, guarded against cyclic links. Flows with no branch links fall through in sequence — fully backward-compatible.

Field-Mapping Studio

A payload-test wizard: paste a sample JSON payload and see exactly how each field mapping transforms it, in a consolidated mapping-studio view, with one-click mapping suggestions. Prove a mapping before it ever runs live.

Two-way stock sync

A cron delta-reconcile pushes Odoo on-hand for every bound product via a targeted PUT /api/stock_availables/{id} on the PrestaShop webservice — only changed quantities, behind a 3-layer oversell guard (stock_oversell_guard clamp + stock_buffer_qty buffer + final ≥0 clamp) so the store never oversells. Opt-in import writes real Odoo inventory adjustments (never in dry-run).

Real screenshots

Every screen, from a live install

Captured from a running Odoo 19 connected to a live PrestaShop 8.1 store — its real catalogue, customers and orders synced through the connector, not mockups.

PrestaShop instance cockpit in Odoo
Connection cockpitPer-instance health, trust score, rollout readiness and one-click safety controls — connected and green.
A PrestaShop order imported into Odoo
Imported sales orderCustomer, delivery address, product lines, taxes and totals — confirmed in Odoo.
A PrestaShop product synced to Odoo
Synced productPrice, category path, variant payload (combinations) and PrestaShop image URLs.
A PrestaShop credit note imported as an Odoo refund
Imported refundPrestaShop order_slip arrives as a customer credit note, linked to the order.
Sync queue jobs in Odoo
Resilient queueEvery sync is a retryable job with priority, retry count and dead-letter handling.
Flow engine with a visual builder
Flow engineMulti-step import/export flows (fetch → map → upsert → log) with a visual builder.
Schema introspection of PrestaShop fields
Schema introspectionHundreds of fields discovered automatically, with types and confidence scoring.
Field mappings between PrestaShop and Odoo
Field mappingsSource → target paths with transforms, generated as smart suggestions.
Order state mapping table
Order-state mappingPrestaShop states → Odoo actions, with 12 sensible defaults you can edit.
Guided onboarding checklist
Guided onboardingA connection → flows → mappings → go-live checklist keeps setup on track.
Synchronization logs
Full audit logsEvery request and response captured for traceability and troubleshooting.
Sync Control Tower — PrestaShop connector
Sync Control TowerEvery store on one board: health, circuit-breaker state, backlog, dead-letters, conflicts, 24h throughput and failure rate — drill into any number in a click.
Dead-letter console — PrestaShop connector
Dead-letter consoleExhausted-retry jobs grouped by error type with the exact API error kept — bulk requeue or discard once the remote system is fixed.
Conflict workbench — PrestaShop connector
Conflict workbenchRecords changed on both sides shown Odoo vs. remote with a field diff — resolve with “Odoo wins”, “Remote wins” or mark reviewed.
Premium operations, in motion

Run every PrestaShop store from one Control Tower

A short walkthrough of the operations tooling on real data: the Control Tower board, the side-by-side conflict workbench and the bulk dead-letter console.

Your browser does not support embedded video — see the screenshots above.

Production safety, by default

Resilient queue

Retry with exponential backoff, rate-limit awareness, dead-letter handling and conflict capture for every job.

Circuit breaker

Auto-pauses sync after N consecutive failures so a broken endpoint can never flood your data.

Dry-run mode

Default-ON for every new instance — preview the exact write before anything touches live records.

Pre-flight validation

Blocking and warning findings surfaced before go-live, with auto-fix suggestions.

Rollback snapshots

Capture record state before risky writes and roll back cleanly when needed.

Safety profiles

Conservative / balanced / aggressive presets tune dry-run, validation and batch size in one click.

Honest feature matrix

No asterisks, no fake checkmarks. Here is exactly what version 1 does — and what is on the v2 roadmap.

CapabilityStatus
Products import + export (bi-directional)✔ Included
Variants / combinations (auto product.attribute lines)✔ Included
Image binary PS → Odoo (cover + carousel)✔ Included
Categories (via id_category_default)✔ Included
Stock read (opt-in sync_stock_enabled)✔ Included
Tax-group metadata (opt-in sync_taxes_enabled)✔ Included
Customers + addresses✔ Included
Orders + lines + state mapping (12 seed rows)✔ Included
Refunds PS order_slip → Odoo account.move✔ Included
Refund auto-post (opt-in)✔ Included
Multistore (id_shop) & multilang✔ Included
Signed webhook push (HMAC-SHA256, PHP module included)✔ Included
Queue: retry · backoff · dead-letter · circuit breaker✔ Included
Pre-flight validation · rollback snapshots · dry-run✔ Included
Schema introspection & field mapping (JSON path + transforms)✔ Included
Multi-step flow engine with visual builder✔ Included
Conditional branching in the flow engine (true/false steps, loop-guarded)✔ Included
Sync Control Tower (live instance kanban: health, queue, dead-letter, conflicts, 24h throughput)✔ Included
Bulk Dead-letter Console (grouped by error, bulk requeue / discard)✔ Included
Conflict-Resolution Workbench (side-by-side diff, bulk Odoo-wins / remote-wins)✔ Included
Field-Mapping Studio (JSON payload-test wizard + one-click suggestions)✔ Included
Two-way stock: cron delta-push to stock_availables, 3-layer oversell guard✔ Included
Opt-in stock import to real Odoo inventory (never in dry-run)✔ Included
Image upload Odoo → PrestaShopRoadmap v2
Automatic tax matching to account.taxRoadmap v2
Refund posting back to PrestaShopRoadmap v2
Multi-currency conversion (name passes through today)Roadmap v2
Payment-gateway transactions (method name today)Roadmap v2

Live in four steps

A guided quick-setup wizard and onboarding checklist walk you from API key to first safe sync.

Connect

Enter your PrestaShop URL + API key. One click tests credentials, SSL and reachability.

Map

Run schema introspection and generate suggested field mappings automatically.

Dry-run

Preview exact writes with dry-run + validation on. Clear any blocking findings.

Go live

Switch on the webhook push and let the resilient queue keep both systems in sync.

Buy with full clarity

In the box today

  • Two-way sync: products, customers + addresses, orders, refunds
  • Two-way stock: cron delta-push to PrestaShop stock_availables with 3-layer oversell guard, plus opt-in import to real Odoo inventory
  • Sync Control Tower — live instance kanban with drill-down stat cards (queue depth, dead-letter, conflicts, 24h throughput)
  • Bulk Dead-letter Console + Conflict-Resolution Workbench (side-by-side diff, bulk resolve)
  • Conditional branching in the flow engine + Field-Mapping Studio payload-test wizard
  • PHP webhook companion module — included, not sold separately
  • Bundled mock PrestaShop API — demo without a live store
  • 49 automated tests (unit + HttpCase + e2e import/export/refund)
  • Full LGPL-3 source — host it on your own GitHub, audit every line

Deferred to v2

  • Odoo → PrestaShop image upload (image sync is read-only today)
  • Automatic tax-rules-group → account.tax matching
  • Refund posting back to PrestaShop (one-way PS → Odoo today)
  • Multi-currency conversion (currency name passes through)
  • Payment-gateway transactions (payment method name only)

Frequently asked

Which versions are supported?

Odoo 19.0 on the Odoo side. On the store side, the connector is live-tested on PrestaShop 8.0, 8.1, 8.2 and 9.0 — see the tested-versions table above for the exact builds.

Do I need to install PrestaShop to evaluate it?

No. A mock PrestaShop API simulator is bundled, so you can install, explore and demo the full flow before connecting a real store.

Is the webhook module extra?

No. The HMAC-SHA256 signed-push PHP module ships inside this package under phase2/ps_push_module/.

Can I customise it?

Yes — it's LGPL-3. You get the complete source, structured into models, components (adapter / mapper / service / API client) and controllers, so your team can extend or audit it freely.

Is it safe to run against production data?

Dry-run mode is ON by default for new instances, validation blocks risky writes, and rollback snapshots let you undo. You decide when to go live.

What support and refund policy do I get?

Every request is answered within 24 hours, setup help included. If you report a bug within 2 months of purchase and it isn't resolved within 15 days, you're entitled to a full money-back refund.

Connect Odoo and PrestaShop the honest way

24-hour support · Report a bug within 2 months — unresolved in 15 days = full refund · LGPL-3 source

bambooforge.labs@gmail.com

More from BambooForge Labs — one vendor, the same standard: tested, open source, supported.

PrestaShop Connector Audit Pro — audit, alerts & compliance
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Contacts (contacts)
• Discuss (mail)
• Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
Lines of code 8223
Technical Name bambooforge_prestashop_connector
LicenseOPL-1

BambooForge PrestaShop Connector

A two-way bridge between Odoo 19 and your PrestaShop store: import products, customers and orders, push product changes back, and reconcile refunds — with a resilient job queue, dry-run safety, validation and rollback so you stay in control.

This page is the complete manual. If you follow it top to bottom you can install, connect, run your first sync, automate it, and fix the common issues without contacting support.

  • Overview
  • Requirements
  • Installation
  • Step 1 — Enable the PrestaShop Webservice & create an API key
  • Step 2 — Create the connection in Odoo
  • Step 3 — First sync (dry-run, then live)
  • Order status mapping
  • Field mapping & customization
  • Automation (scheduled actions & webhooks)
  • Safety features
  • Troubleshooting
  • Frequently asked questions
  • Data, privacy & limits
  • Support & updates
  • Upgrading & version compatibility
  • Uninstallation
  • Changelog

Overview

The connector keeps Odoo and PrestaShop in sync over the official PrestaShop Webservice API. It covers:

  • Products — import PrestaShop products (with variants and images) into Odoo product templates, optionally with stock and tax group, and export Odoo product changes back to the store.
  • Customers — import PrestaShop customers (and their addresses) into Odoo contacts.
  • Orders — import PrestaShop orders into Odoo sale orders, mapping each order's PrestaShop state id to a sale-order action (keep draft, confirm, cancel, or ignore).
  • Refunds — optionally discover PrestaShop order slips (credit notes) attached to an order and create matching draft customer credit notes in Odoo.

Direction of sync: Odoo ↔ PrestaShop (import is the primary flow; product export and webhook-driven updates are supported). Multistore and multilanguage shops are supported via a shop id and a default language id on the instance.

Every remote call goes through a queue: nothing is written to Odoo until a job runs, jobs retry with back-off on transient failures, and a circuit breaker pauses an instance that keeps failing.

Requirements

  • Odoo: 19.0, Community or Enterprise.
  • PrestaShop: live-tested against PrestaShop 8.0, 8.1, 8.2 and 9.0. The shop must be reachable from the Odoo server and have the Webservice feature enabled.
  • Python: no extra libraries beyond a standard Odoo 19 install.
  • Odoo access: any internal user can use the connector screens. PrestaShop credentials are stored in system-only fields, so only the Settings / Administration user can read or change the API key and the webhook secret.
  • Network: outbound HTTPS from Odoo to your shop. By default the connector refuses internal/loopback/private hosts as an SSRF safeguard (see Safety features).

Installation

  1. Copy bambooforge_prestashop_connector into your Odoo addons path.
  2. Restart the Odoo service.
  3. Open Apps, click Update Apps List, search for PrestaShop, and press Activate / Install. Dependencies (Sales, Contacts, Invoicing) install automatically.

No PrestaShop store is required to evaluate the connector: a mock PrestaShop Webservice ships inside the module (served under /prestashop/mock_api/api), so you can install, explore and run the full import flow against sample data before pointing it at a real store.

Step 1 — Enable the PrestaShop Webservice & create an API key

PrestaShop talks over its built-in Webservice (a REST-style API). You enable it and mint a key in the PrestaShop back office.

  1. Log in to the PrestaShop back office as an administrator.
  2. Go to Advanced Parameters ▸ Webservice.
  3. Set Enable PrestaShop's webservice to Yes and save. (If your store is behind a proxy that strips the HTTP Authorization header, also set Enable HTTP method override to Yes.)
  4. Click Add new webservice key.
  5. Leave Key to be generated automatically (or click Generate), and set a clear Key description, e.g. Odoo connector.
  6. Set Status to Enabled.
  7. Under Permissions, grant the resources the connector uses. For a full two-way sync, give View (GET), Add (POST), Modify (PUT) and (optionally) Delete on at least: products, combinations, images, stock_availables, customers, addresses, orders, order_states, order_details and order_slips. View (GET) alone is enough if you only import.
  8. Save, then copy the generated Key — this long alphanumeric string is your API key.

The key is used as the HTTP Basic username with an empty password — exactly how the PrestaShop Webservice expects it. The connector handles that for you; you only paste the key.

Optional, for real-time updates, you will also configure a webhook later (see Automation).

Step 2 — Create the connection in Odoo

Open PrestaShop ▸ Configuration ▸ Instances and create a record.

PrestaShop instance / connection cockpit

Key fields:

Field What to enter
Name A label for this store, e.g. My Live Store (unique per company).
Company The Odoo company that owns this instance.
Base URL Your shop root, e.g. https://shop.example.com. Must be a public http:// or https:// URL.
API Key The Webservice key from Step 1 (visible to administrators only).
Response Format JSON (default) or XML. Leave on JSON unless you have a reason to change it.
Shop ID 0 (default) targets all shops. Set a non-zero PrestaShop shop id to scope a single store on a multistore install.
Default Language ID The PrestaShop language id (default 1) used to flatten multilanguage fields into Odoo's single-language columns.
Verify SSL Keep on for production. Turn off only for self-signed test certificates.
Timeout (seconds) HTTP request timeout (default 30).
Webhook Enabled On by default; controls whether the public webhook route accepts deliveries for this instance (see Automation).

Then click Test Connection. A green Connected state means the key and URL are correct, and the default order-state mapping is seeded automatically on first success. If it fails, the exact error is shown on the form and recorded in Logs (see Troubleshooting).

Tip: use Quick Setup (button on the instance) to pick a solution pack (Catalog Only, B2C Full Sync, B2B Order-First, Retail Starter), seed default field mappings and starter flows, and apply a recommended safety profile in one step.

Step 3 — First sync (dry-run, then live)

New instances start with Dry-run ON. In dry-run, import and delete jobs simulate writes: instead of changing data they produce Validation Results you can review under PrestaShop ▸ Operations ▸ Validation Results. This lets you confirm what would happen before anything is written.

To run a first import:

  1. On the instance, click Import Products (and/or Import Customers, Import Orders). This enqueues jobs; it does not block the UI.
  2. Jobs are processed by the PrestaShop Queue Processor scheduled action (every minute), or immediately if you open Operations ▸ Queue Jobs and run them.
  3. Review Validation Results while still in dry-run.
  4. When satisfied, open the instance, turn Dry-run OFF, and run the imports again to write the records for real.

Imported records land in the standard Odoo apps: Sales ▸ Products, Contacts, and Sales ▸ Orders (refunds appear as draft credit notes in Invoicing). Each carries its PrestaShop reference so re-imports update the same record instead of duplicating it.

Order status mapping

PrestaShop returns each order's state as a numeric id (its current_state), not a slug. Under Configuration ▸ Order State Mappings each instance gets a default table (seeded on first successful Test Connection) that decides what happens to the Odoo sale order when an order arrives in a given PrestaShop state:

State id PrestaShop state Default Odoo action
1 Awaiting check payment Keep draft
2 Payment accepted Confirm sale order
3 Preparation in progress Confirm sale order
4 Shipped Confirm sale order
5 Delivered Confirm sale order
6 Canceled Cancel sale order
7 Refunded Cancel sale order
8 Payment error Keep draft
9 On backorder Keep draft
10 Awaiting bank wire payment Keep draft
11 Awaiting PayPal payment Keep draft
12 Payment remotely accepted Confirm sale order

Change any row to Ignore (do nothing), Keep draft, Confirm sale order or Cancel sale order. Unknown/custom state ids default to Ignore, so a state you have not mapped never triggers a destructive transition. Add a row for any custom state your shop introduces (use the exact PrestaShop numeric state id).

Field mapping & customization

  • Field Mappings (Configuration) map PrestaShop fields to Odoo fields per model. Use Generate suggested mappings on the instance to seed the business-critical ones, then adjust. The mapping board flags fields that need attention.

  • Schema Fields lists the discovered PrestaShop fields per resource. Run Schema Introspection on the instance to refresh it from your live store (or from the bundled mock when evaluating).

  • Stock / images / tax are opt-in toggles on the instance, all off by default; turn on only what you need:

    Toggle What it does
    Sync Stock Reads stock_available and writes the PrestaShop quantity on the product template.
    Sync Taxes Resolves the PrestaShop tax_rules_group and stores it on the product (best effort).
    Auto-match Taxes on Import With Sync Taxes, matches the PrestaShop tax group name to an existing Odoo sales tax in the same company. Never auto-creates taxes.
    Sync Images Downloads the first PrestaShop image as the Odoo product cover image.
    Max Images How many images to download per product (default 1; only the first becomes the cover, the rest go to product images).
    Upload Images on Export When exporting a product, also uploads its images to PrestaShop.
    Sync Refunds On order import, discovers attached order slips and creates a draft customer credit note.
    Auto-post Refund Auto-validates the refund credit note instead of leaving it draft (off by default so accountants review first).

Automation (scheduled actions & webhooks)

The module ships these scheduled actions (Settings ▸ Technical ▸ Scheduled Actions):

Scheduled action Default Purpose
PrestaShop Queue Processor every 1 min Processes queued import/export/delete jobs.
PrestaShop Reconciliation every 15 min Pulls recent remote changes for enabled models.
PrestaShop Maintenance every 1 hr Recovers stale/locked jobs and trims old logs.
PrestaShop Flow Scheduler every 5 min Runs scheduled sync flows.
PrestaShop Flow Metrics every 1 hr Aggregates flow-run metrics.
PrestaShop Auto Recover every 15 min Reopens a tripped circuit breaker once the store is healthy.

Turn on Auto import / Auto reconcile per model on the instance to let the scheduled actions keep things in sync hands-free.

Real-time webhooks (optional): the connector exposes a single public route that accepts signed deliveries:

  • Delivery URL: https://<your-odoo-domain>/prestashop/webhook
  • Signature header: X-Prestashop-Signature — an HMAC-SHA256 hex digest of the raw request body, keyed with the instance Webhook Secret (admin-only field on the instance).

The shipped PHP companion module posts to this route with the correct signature. Odoo verifies the signature on every delivery, rejects stale or replayed requests, and enqueues a safe import. The route accepts product, customer, order and order_slip events, and you can target a specific instance with an instance_id (or base_url) query parameter. Without webhooks, the scheduled reconciliation still keeps data current.

Safety features

  • Dry-run mode — simulate writes and review Validation Results before going live (field Dry-run, ON by default).
  • Business validation profiles — Minimal / Standard / Strict gate risky writes (field Business Validation Profile).
  • Safety profiles — Conservative / Balanced / Aggressive set sensible defaults for dry-run, delete strategy and batch size in one click.
  • Resilient queue — every remote action is a job with retry and exponential back-off, and a dead-letter queue for exhausted jobs.
  • Circuit breaker — after repeated failures (or an auth/config error) an instance auto-pauses (Tripped); the Auto Recover action reopens it once the store responds again, or click Resume.
  • Rollback snapshots — when enabled, imports capture a snapshot so you can undo a batch from Operations ▸ Rollback Snapshots.
  • SSRF guard — the connector refuses internal/loopback/private/reserved hosts; Base URL must be a public http(s) address.
  • Signed webhooks with replay protection — deliveries must carry a valid HMAC-SHA256 signature and a fresh emitted_at; duplicates are rejected.

Troubleshooting

Symptom Cause and fix
Test Connection fails with 401 Wrong API key, or the key is disabled. Re-check Step 1: the key must be Enabled and have at least View (GET) permission on the resources you sync.
Test Connection fails with 403 / "webservice disabled" The PrestaShop Webservice is off. Set Advanced Parameters ▸ Webservice ▸ Enable PrestaShop's webservice to Yes.
401 even with a correct key (behind a proxy) Your front proxy strips the HTTP Authorization header. Enable HTTP method override in the Webservice settings, or configure the proxy to pass the header.
"is not allowed because it resolves to a non-public address" Base URL points at localhost/a private IP/cloud metadata. Point the connector at a public shop URL; the SSRF guard blocks internal hosts by design.
SSL errors on Test Connection Self-signed or invalid certificate. Use a valid cert, or turn off Verify SSL for testing only.
Orders import but never confirm The order's PrestaShop state id is mapped to Keep draft or Ignore. Adjust Order State Mappings (match the exact numeric state id).
Jobs stay in Pending The Queue Processor is off or the instance is paused. Check Scheduled Actions is active and the instance is not Paused.
Instance shows Tripped Circuit breaker tripped after repeated failures (or an auth/config error). Fix the store/credentials; Auto Recover reopens it after cooldown, or click Resume.
Webhook returns 401 "Invalid signature" The X-Prestashop-Signature HMAC does not match. Confirm the companion module's secret equals the instance Webhook Secret.
Webhook returns 400 "Stale" / "in the future" The two servers' clocks differ by more than the freshness window. Sync the clocks (NTP) on both the PrestaShop and Odoo hosts.
Records imported twice Imports are keyed by the PrestaShop reference, so this should not happen. If it does, check that two instances do not point at the same store.
Nothing happens after Import You are in Dry-run. Review Validation Results, then turn dry-run off and re-run.

For anything else, Operations ▸ Logs records every API call, payload and error with a timestamp.

Frequently asked questions

Which versions are supported? Odoo 19.0 on the Odoo side. On the store side the connector was live-tested on PrestaShop 8.0, 8.1, 8.2 and 9.0 over the PrestaShop Webservice. Validate your exact build with the bundled mock first.

Do I need PrestaShop installed to evaluate it? No. A mock PrestaShop Webservice ships inside (served at /prestashop/mock_api/api), so you can install, explore and demo the full import flow before connecting a real store.

How does authentication work? You enable the Webservice and create a key under Advanced Parameters ▸ Webservice in the PrestaShop back office. Paste that key into the instance's API Key field. The connector sends it as the HTTP Basic username with an empty password — the standard PrestaShop scheme.

How does real-time sync work? The shipped PHP companion posts signed events to /prestashop/webhook with an HMAC-SHA256 X-Prestashop-Signature over the raw body, keyed with the instance webhook secret. Odoo verifies the signature, rejects stale/replayed requests, and enqueues a safe import. Without it, scheduled reconciliation keeps things in sync.

How are multistore and multiple languages handled? Set Shop ID to scope requests to one store (0 = all), and Default Language ID to choose which PrestaShop language is flattened into Odoo's single-language fields.

Is it safe to run against production data? Dry-run is ON by default, validation blocks risky writes, and rollback snapshots let you undo. You decide when to go live.

What support and refund policy do I get? Every request is answered within 24 hours, setup help included. If you report a bug within 2 months of purchase and it is not resolved within 15 days, you are entitled to a full money-back refund.

Data, privacy & limits

  • The connector reads products, customers, orders and order slips from your store and writes the corresponding Odoo records. The API key and webhook secret are stored in admin-only fields.
  • In scope today: product/customer/order import, product export, numeric order-state mapping, refund (order slip) discovery, multistore/multilang flattening, scheduled sync, signed webhooks.
  • Out of scope / best-effort: tax auto-matching (off by default, name-based, never auto-creates taxes); multi-warehouse stock routing; subscription/booking order types.

Support & updates

  • Support: bambooforge.labs@gmail.com — answered within 24 hours, setup help included.
  • Refund: report a bug within 2 months of purchase; if unresolved within 15 days, full refund.
  • Full source is included. Updates track the supported Odoo 19 / PrestaShop 8.0–9.0 line.

Upgrading & version compatibility

This build targets Odoo 19.0. Each Odoo major series (17.0, 18.0, 19.0) has its own dedicated build of this module — always install the build that matches your Odoo version. Mixing a build with a different Odoo series is not supported.

Patch upgrades (same series, e.g. 19.0.1.0.0 → later)

  1. Back up your database and filestore first.

  2. Replace the module folder with the newer build.

  3. Restart Odoo with the module updated:

    ./odoo-bin -c your.conf -u bambooforge_prestashop_connector -d your_db
    
  4. Odoo applies any schema/data changes automatically. Your existing records and configuration are preserved.

Cross-version migration (e.g. Odoo 17 → 18)

Upgrading Odoo itself is a database migration handled by Odoo's standard upgrade tooling. When you migrate the database to the next Odoo series, install the matching build of this module for that series. Data created by this module carries over with the database migration.

After any upgrade the module's scheduled actions resume on their normal cadence — no manual re-activation is required.

Uninstallation

You can remove this module at any time from Apps → (this module) → Uninstall, or from the command line. Uninstalling is clean and reversible by reinstalling — but note what is and is not deleted.

What is removed

  • The module's own tables and every record in them (20 models, prefixed prestashop.*) — this is the data this module created.
  • The menus, actions, views and reports this module installed.
  • Its scheduled actions (cron jobs) — they stop immediately on uninstall.
  • Connection records, credentials, field mappings, queue jobs and sync logs stored in Odoo.

What is preserved

  • Your remote platform is never touched. Uninstalling only removes the Odoo-side connector; products, customers and orders on the external store/service are untouched.
  • Records already imported into standard Odoo models (e.g. contacts, products, sales orders) remain — they are ordinary Odoo records once created.
  • Attachments and chatter messages on standard records are kept.

As always, take a database backup before uninstalling in production.

Changelog

19.0.1.35.0

Current release for Odoo 19.0. This build includes:

  • Two-way Odoo 19 <-> PrestaShop 8.0 / 8.1 / 8.2 / 9.0 connector: products, customers, orders, refunds and stock, signed webhooks.
  • Two-way stock sync, live Sync Control Tower, resilient queue and dry-run safety.

Feature additions and fixes ship as new builds on the Odoo Apps store; this page and the module's version reflect the current published release. Always keep the build matched to your Odoo series (see Upgrading & version compatibility).

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with