Skip to main content

Catch Store Management

Connect your Catch.com.au seller account to Odoo through the Catch Marketplace API. This module authenticates with your Catch API key in the Authorization header (no Bearer prefix, exactly as the Catch contract specifies) to synchronize products, import orders, and manage inventory on Australia's leading online marketplace. Built-in retry logic (3 retries with exponential backoff) ensures reliable operation, and the OWL 2 dashboard gives you real-time visibility into all sync activity.

Compatibility: Odoo 17 / 18 / 19 Current shipped version: 17.0 → 17.0.2.2.3, 18.0 → 18.0.2.2.3, 19.0 → 19.0.2.2.3 Price: $499 USD (one-time) on each of Odoo 17, 18 and 19 — each Odoo major version is a separate product Licence: OPL-1 — nothing to activate or register; the module runs as soon as it is installed

Key Features​

  • Catch Marketplace API integration with API Key auth
  • Product import from Catch, and product export from Odoo through the Export wizard
  • Order import, with buyers and products resolved or created from the order
  • Inventory synchronization within the configured seller boundary
  • Category mapping between Catch and Odoo (catch.product.category.mapping)
  • Product attribute and attribute-term mapping
  • Shipping-method and payment-method mapping to Odoo carriers and journals
  • Barcode / EAN / GTIN matching on import, written back to the Odoo product
  • Webhook deliveries are refused by design: Catch provides no webhook push, so the receiver fails closed and the connector keeps data current by polling
  • OWL 2 dashboard with KPIs, sales trend and order-status charts
  • Automatic retry with exponential backoff (3 retries)
  • Rate-limit-aware request handling (429 retry)
  • Multi-company record isolation and per-configuration access

Prerequisites​

  • Odoo 17, 18, or 19 (Community or Enterprise edition)
  • Your ECOSIRE purchase for this module and your Odoo version (no key is entered in Odoo)
  • A Catch.com.au seller account with API access
  • Catch API Key from the Seller Portal

Installation​

  1. Download the module ZIP from your ECOSIRE Dashboard
  2. Extract to your Odoo addons directory:
    unzip ecosire-catch-*.zip -d /opt/odoo/addons/
  3. Restart the Odoo service:
    sudo systemctl restart odoo
  4. Navigate to Apps, click Update Apps List
  5. Search for the module and click Install

Configuration​

Step 1: Obtain Catch API Credentials​

  1. Log in to your Catch Seller Portal
  2. Navigate to Settings > API Access
  3. Generate a new API Key
  4. Note your Seller ID from the account settings page

Step 2: Connect in Odoo​

  1. Navigate to Catch Store Management > Configuration
  2. Create a new configuration and enter:
    • API Key (api_key) -- your Catch marketplace API key
    • Seller ID (seller_id) -- your Catch seller identifier
  3. Click Test Connection to verify API access
  4. Configure your default warehouse and company mapping

Step 3: Configure Sync Settings​

On the configuration record, switch on only the areas you are ready for — Sync Products, Sync Orders, Sync Customers, Sync Inventory — and turn them on one at a time.

Auto Sync Customers is the one toggle that puts a lane on a timer: the catch: Sync Customers scheduled action (every 6 hours) picks up active configurations that have it switched on. Product, order and inventory synchronization in this release is operator-driven — you run it from the Operations wizards or the configuration's actions.

Then set up the mappings under Catch → Configuration, so imported data lands on the right Odoo records:

  • Category mapping — Catch categories to Odoo product categories
  • Product attributes and terms — Catch attributes to Odoo variant attributes
  • Shipping methods — Catch shipping methods to Odoo carriers
  • Payment methods and gateways — Catch payment methods to Odoo journals
  • Order status mapping — Catch order states to the module's order states

These mappings are Odoo-side records. Catch's seller API has no endpoints to create or push coupons, tags, attributes, shipping methods, payment gateways or webhook subscriptions, so the matching import/export/sync buttons show a message that names the alternative — Sync Products or Sync Orders — instead of doing nothing.

Initial Sync​

  1. Go to Catch > Operations > Import Wizard
  2. Select the data types to import (Products, Customers, Orders)
  3. Set the date range for historical orders
  4. Start the import and monitor progress in the sync log

Run a small import first — restrict it by date or to a handful of products — and check the results before importing everything.

API Details​

FieldValue
Auth methodAPI Key via X-Api-Key header
Base URLhttps://api.catch.com.au/v1
Content-Typeapplication/json
Retry policy3 retries, 0.5s backoff, on 429/500/502/503/504
Key config fieldsapi_key, seller_id

Dashboard​

The built-in OWL 2 dashboard provides real-time visibility into your integration:

  • 6 KPI cards -- Revenue, Orders, Customers, Products, Avg Order Value, and Sync Health -- each with period-over-period delta indicators
  • Sales Trend chart (Chart.js line chart) with interactive date filtering
  • Order Status breakdown (doughnut chart) showing distribution across statuses
  • Period filters -- Today, 7 days, 30 days, 90 days, Year, or Custom date range
  • Activity feed showing recent sync log entries with type indicators
  • Quick action buttons for Products, Orders, Customers, Queue, Logs, and Settings
  • Status footer with Queue Jobs, Errors, Out of Stock, and Sync Rate
  • Auto-refresh every 60 seconds with dark mode support

What's new in 2.2.3​

Repair and polish — nothing about your configuration changes, and there is no re-sync to run.

  • The Export and Mapping wizards show their fields again. Export now shows the configuration, what to send (products, stock levels) and the per-run limit, and states that Catch orders and customers are imported, not pushed. Mapping shows both sides of the selected mapping type with the required fields marked.
  • The Order Status doughnut draws, and a period with no orders says "No orders yet" instead of showing an empty chart.
  • The dashboard follows Odoo's dark mode, served through Odoo's own dark stylesheet bundle.
  • Loading, empty and error states are distinguishable — skeleton cards on the first load rather than zeros, a Sync Now prompt on an empty period, and the error message with Try again and Settings when a load fails.
  • Lists and headers stay readable on a phone — short column headers, status as a badge, and a long store name truncated to one line.

The full release history is on the Catch Store Management installation guide.

Troubleshooting​

IssueSolution
Connection failedVerify API credentials; check network connectivity
Sync not runningCheck Odoo scheduled actions (cron jobs) are enabled
Duplicate productsReview product mapping; ensure SKU matching is configured
Orders not importingVerify order status filters and date range settings
429 Too Many RequestsModule auto-retries; reduce sync frequency if persistent
Invalid API KeyRegenerate the API key in Catch Seller Portal
Product rejectedVerify required fields (EAN, images, category) are populated
A user cannot see the Sync buttons, or a sync is refusedStarting a sync needs the Catch Manager group; ask an administrator to add the user to it
An order is refused for a missing exchange rateAdd the currency rate in Odoo (Accounting → Configuration → Currencies) and sync again — the connector will not import at a guessed 1:1 rate
The dashboard shows an old "last synced" after a syncThat run was partial; the log names what was skipped, and a partial run deliberately does not advance the timestamp

Support​