Skip to main content

Catch Store Management

This is the installation and configuration guide for Catch Store Management, the module you downloaded from your ECOSIRE dashboard. Everything on this page describes the catch_store_management module exactly as it ships today — the facts below were read out of the released build, not from a roadmap.

Technical namecatch_store_management
Odoo versions17.0, 18.0, 19.0 (Community or Enterprise)
Current shipped version17.017.0.2.1.0, 18.018.0.2.1.0, 19.019.0.2.1.1
Price17.0 / 18.0 → $249 USD, 19.0 → $499 USD — one-time, per Odoo version
Odoo module licenceOPL-1
CategoryConnector
What changed in 2.1.1 (Odoo 19)

Presentation only: the App Store listing page, cover and icon were regenerated from the current ECOSIRE templates, and stale assets left by an earlier build were removed from the package. No code, model, field or behaviour changed — if you are already on 19.0.2.1.0 there is nothing you need to do differently after upgrading.

What changed in 2.1.0

The module no longer requires a licence key to run. Earlier builds depended on a separate ecosire_license_client app and blocked features until a key was activated. That dependency and every execution-blocking check have been removed: you install the ZIP and the module works. Your rights are governed by the OPL-1 licence the module ships under, and support and updates still follow your purchase.

If you are upgrading from a 2.0.x build you can uninstall ecosire_license_client afterwards unless another ECOSIRE module still needs it. Nothing else about the connector changed in this release — the same sync, dashboard and configuration behaviour applies.

You buy per Odoo major version

Each Odoo major version is a separate product: your purchase entitles you to the download for the Odoo version you bought. Buy the version you actually run, and if you later upgrade Odoo you need the build for the new version.

Requirements

RequirementDetail
Odoo17.0, 18.0 or 19.0, Community or Enterprise. Self-hosted or Odoo.sh — Odoo Online (SaaS) cannot install third-party modules
Odoo appsbase, sale_management, stock, account, delivery, mail, web, product, contacts — Odoo installs any that are missing
ECOSIRE dependencyNone — since 2.1.0 the module installs on its own
Python packagesrequests
Platform accountA Catch account with API access
LicenceYour purchase for this module and your Odoo version; no key is entered in Odoo

Install the Python packages into the same interpreter that runs Odoo:

sudo -u odoo pip install requests

Installation

1. Download the ZIP for your Odoo version

Sign in at ecosire.com and open your dashboard downloads. You will only be offered the file matching your licence's Odoo version — that is expected, see the warning above.

2. Extract into your addons path

unzip catch_store_management_v19_*.zip -d /opt/odoo/addons/
ls /opt/odoo/addons/catch_store_management/__manifest__.py # sanity check

The module must end up as a single top-level catch_store_management/ directory with __manifest__.py directly inside it. If your ls check fails, the folder landed one level too deep or too shallow — move it so the path above resolves.

3. Restart Odoo and install

sudo systemctl restart odoo
  1. Go to Apps and click Update Apps List (developer mode must be on).
  2. Search for Catch Store Management and click Install.
  3. Odoo pulls in the Odoo apps listed above automatically. No ECOSIRE dependency is needed.

When the install finishes, a Catch menu appears in the main Odoo app switcher.

Configuration

Connect to Catch

Create a connection record on the catch.configuration model. The fields the module defines for the connection are:

FieldTechnical nameTypeRequired
Configuration NamenameCharYes
API Keyapi_keyCharYes
Seller IDseller_idCharYes
Companycompany_idMany2oneYes
Catch URLcatch_urlCharNo
MarketplacemarketplaceCharNo

The fields marked Yes are enforced by the model — Odoo will not let you save the record without them. The technical name is the reliable identifier if your screen wording differs.

The same record carries the sync toggles — sync_products, sync_orders, sync_customers, sync_inventory — plus auto_sync_customers, which is the one that puts a lane on a schedule: the catch: Sync Customers scheduled action only picks up configurations with Auto Sync Customers switched on. Products, orders and inventory are driven from the Operations wizards and the configuration's own actions in this release, not from a schedule. Leave anything you are not ready for switched off, and turn them on one at a time.

The module's own source contacts this host: api.catch.com.au. Your firewall must allow outbound HTTPS to them.

Public endpoints this module exposes

The connector serves one externally reachable endpoint. The path is relative to your Odoo base URL (web.base.url), so the address you register on the platform looks like https://erp.example.com/catch/webhook.

EndpointMethodAuthPurpose
/catch/webhookPOSTPublic (unauthenticated)Receives Catch webhook deliveries. This is the URL to register as your notification destination in the Catch seller portal.

/catch/webhook fails closed. A delivery is acknowledged only after an active webhook record (model catch.webhook, status active) verifies the delivery's signature against the raw request body and headers. Anything that fails verification is answered HTTP 403 and nothing is processed from it, so the endpoint being publicly reachable does not make it publicly usable. Rejected deliveries are written to the Odoo log with the calling IP address.

Create and enable the webhook record — with its signing secret — before you register the URL on the platform; until one exists, every delivery is refused.

The module's two other routes — /catch/api/status and /catch/dashboard/data — are internal JSON-RPC endpoints that the module's own screens call: the first reports connection and sync status, the second returns the dashboard's KPI payload. Both require a logged-in Odoo user with access to the module, so neither is reachable from the internet and neither is part of your Catch seller-portal setup. There is nothing to register and nothing to open on your firewall for them.

Scheduled actions

The module installs 2 scheduled actions (Settings → Technical → Scheduled Actions):

Scheduled actionRuns everyEnabled on installWhat it does
catch: Sync Customers6 hoursYesSyncs customers for every active configuration with Auto Sync Customers on
catch: Cleanup Old Logs1 dayYesTrims the module's own sync-log records

Intervals above are the shipped defaults. Adjust them to your volume — but be aware that the platform, not Odoo, sets the API rate limits, and shortening a sync interval is the usual cause of throttling errors in the logs.

Product, order and inventory synchronization in this release is operator-driven: run it from Catch → Operations (Import Wizard, Export Wizard) or from the actions on the configuration record. If you need those on a timer, create your own scheduled action calling the same method, or contact support.

Using the module

The module's menu is laid out as:

  • Catch → Dashboard
  • Catch → Orders
  • Catch → Products
  • Catch → Customers
  • Catch → Operations — Import Wizard, Export Wizard, Mapping Wizard, Test Connection, Logs, Reports
  • Catch → Configuration — Settings

A normal first run is:

  1. Save the connection record and confirm the module reports a successful connection before importing anything.
  2. Review the mapping records so imported data lands on the right Odoo records.
  3. Run a small import first — restrict it by date or by a handful of products — and check the results before letting the scheduled actions take over.
  4. Watch the log records during the first full sync. Failures are recorded there rather than raised at the user.

Troubleshooting

Installing

SymptomCause and fix
Odoo does not list the module after Update Apps ListThe folder is at the wrong depth in your addons path. __manifest__.py must sit directly inside catch_store_management/.
The requests library is requiredrequests is missing from Odoo's Python environment. Install it into the interpreter that runs Odoo.
You are asked for a licence keyYou are running a 2.0.x or older build. From 2.1.0 the module needs no key — download the current build from your dashboard.

Syncing

SymptomCause and fix
The connection will not validateRe-check every required field in the table above. Most failures are a mistyped secret, or credentials created for a sandbox while the module points at production (or vice-versa).
Nothing syncs even though the connection is fineThe scheduled actions are disabled at the Odoo level, or Odoo's cron worker is not running. Check Settings → Technical → Scheduled Actions and that --max-cron-threads is greater than zero.
Sync starts then stops part-wayRead the module's log records for that run. Rate limiting and rejected field values are the two common causes; both are logged with the platform's own error text.
Records import but map to the wrong Odoo valuesFix the mapping records under the module's configuration, then re-run the import.
Duplicated products or customersRun the initial import once. If a first attempt half-finished, check the existing records before re-running rather than importing on top.

Version history

Odoo versionVersion you download today
17.017.0.2.1.0
18.018.0.2.1.0
19.019.0.2.1.1

ECOSIRE module versions are <odoo major>.<module major>.<minor>.<patch>, so 19.0.2.1.1 is the Odoo 19 build of module version 2.1.1. Your installed version is shown in Apps.

Support