About You Store Management
This is the installation and configuration guide for About You Store Management, the module you downloaded from your ECOSIRE dashboard. Everything on this page describes the aboutyou_store_management module exactly as it ships today — the facts below were read out of the released build, not from a roadmap.
| Technical name | aboutyou_store_management |
| Odoo versions | 17.0, 18.0, 19.0 (Community or Enterprise) |
| Current shipped version | 17.0 → 17.0.1.4.0, 18.0 → 18.0.1.4.0, 19.0 → 19.0.1.4.0 |
| Price | $499 USD — one-time, per Odoo version |
| Odoo module licence | OPL-1 |
| Category | Connector |
From version 1.1.0 the module installs and runs standalone: no extra ECOSIRE download to install first, nothing to enter before you can sync, and no ECOSIRE server contacted at runtime. Your rights are contractual under OPL-1. If you are upgrading from 1.0.x, see Upgrading from 1.0.x.
Requirements
| Requirement | Detail |
|---|---|
| Odoo | 17.0, 18.0 or 19.0, Community or Enterprise. Self-hosted or Odoo.sh — Odoo Online (SaaS) cannot install third-party modules |
| Odoo apps | base, sale_management, stock, account, delivery, mail, web, portal, product, contacts, digest — Odoo installs any that are missing |
| Python packages | requests |
| Platform account | An About You account with API access |
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, then take the archive that matches the Odoo major version you run.
2. Extract into your addons path
unzip aboutyou_store_management_v19_*.zip -d /opt/odoo/addons/
ls /opt/odoo/addons/aboutyou_store_management/__manifest__.py # sanity check
The module must end up as a single top-level aboutyou_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
- Go to Apps and click Update Apps List (developer mode must be on).
- Search for About You Store Management and click Install.
- Odoo pulls in the Odoo apps listed above automatically.
When the install finishes, a Aboutyou menu appears in the main Odoo app switcher.
Upgrading from 1.0.x
Version 1.1.0 removed the licence client. Upgrading is an ordinary Odoo module upgrade — your instances, mappings, orders, products and payouts are carried over untouched.
- Replace the module folder in your addons path with the new one.
- Restart Odoo and run the upgrade: Apps → About You Store Management → Upgrade, or
odoo -u aboutyou_store_management -d <database>. - The old ECOSIRE dependency module is no longer required by this connector. It can stay installed for other ECOSIRE modules that still use it; this connector no longer reads it.
Two settings that used to advertise an OAuth flow — Access Token and API Password — are gone from the connection form. About You authenticates with a single API key; if you had filled either field, nothing is lost, because neither was ever sent.
Configuration
Connect to About You
Create a connection record on the aboutyou.instance model. The fields the module defines for the connection are:
| Field | Technical name | Type | Required |
|---|---|---|---|
| Instance Name | name | Char | Yes |
| About You Seller Center URL | shop_url | Char | Yes |
| Company | company_id | Many2one | Yes |
| API Key | api_key | Char | No |
| Webhook Secret | shared_secret | Char | No |
| API Version | api_version | Char | No (defaults to v1) |
| Price Country | price_country_code | Char | No (required to push prices) |
| Stock Source Warehouses | stock_export_warehouse_ids | Many2many | No (falls back to the default warehouse) |
The API key is the one you issue in Seller Center → Settings → API Keys. The module sends it as the X-API-KEY header on every request; this API has no OAuth flow, so there is no token to exchange or refresh. The webhook secret is only needed if you use the module's webhook endpoints — it is what incoming payloads are HMAC-verified against, and an unsigned payload is rejected. Set it on the connection to cover every subscription on that connection at once, or on an individual subscription to override it for that one.
Price Country and Stock Source Warehouses configure the two batch pushes. About You prices per country and stores one stock pool per seller, so prices carry the country you set here and its platform-side currency, and stock is the sum of the warehouses you select. Leave the warehouses empty and the default warehouse is used.
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 three order-automation checkboxes — auto_confirm_order, auto_create_invoice and auto_validate_invoice. They run in that order after each order import, and all three default to off, so a freshly connected instance imports orders as quotations and does nothing else. Turn them on one at a time.
The module contacts partner.aboutyou.com (the Seller Center API). Your firewall must allow outbound HTTPS to it.
Scheduled actions
The module installs 13 scheduled actions (Settings → Technical → Scheduled Actions):
| Scheduled action | Runs every | Enabled on install |
|---|---|---|
| Aboutyou: Sync Products | 30 minutes | Yes |
| Aboutyou: Sync Orders | 15 minutes | Yes |
| Aboutyou: Sync Customers | 60 minutes | Yes |
| Aboutyou: Sync Inventory | 10 minutes | Yes |
| Aboutyou: Process Queue Jobs | 5 minutes | Yes |
| Aboutyou: Import Payout Reports | 6 hours | Yes |
| Aboutyou: Import Refunds | 30 minutes | Yes |
| Aboutyou: Auto Risk Detection | 30 minutes | Yes |
| Aboutyou: Generate Analytics | 4 hours | Yes |
| Aboutyou: Webhook Health Check | 60 minutes | Yes |
| Aboutyou: Cleanup Old Logs | 24 hours | Yes |
| Aboutyou: Process Workflows | 10 minutes | Yes |
| Aboutyou: Daily Summary Report | 1 day | Yes |
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.
Using the module
The module's menu is laid out as:
- Aboutyou → Dashboard
- Aboutyou → Orders
- Aboutyou → Refunds
- Aboutyou → Products
- Aboutyou → Customers
- Aboutyou → Payouts
- Aboutyou → Analytics
- Aboutyou → Operations — Run Operations, Queue Jobs, Logs
- Aboutyou → Configuration — Instances, Locations, Payment Gateways, Scheduled Actions, Webhooks
A normal first run is:
- Save the connection record and confirm the module reports a successful connection before importing anything.
- Review the mapping records so imported data lands on the right Odoo records.
- 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.
- Watch the log records during the first full sync. Failures are recorded there rather than raised at the user.
Troubleshooting
Installation
| Symptom | Cause and fix |
|---|---|
| Odoo refuses to install the module | Check the folder name in your addons path is exactly aboutyou_store_management and that the path is listed in addons_path. Since 1.1.0 there is no ECOSIRE dependency to install first. |
The requests library is required | requests is missing from Odoo's Python environment. Install it into the interpreter that runs Odoo. |
| The module still asks you to unlock it before syncing | You are running 1.0.x. Upgrade to 1.1.0 — see Upgrading from 1.0.x — and the prompt disappears. |
Syncing
| Symptom | Cause and fix |
|---|---|
| The connection will not validate | Test Connection reports the platform's own reason. An empty API key is named as such; anything else is the Seller Center's response to a call on your seller account. Re-copy the key from Seller Center → Settings → API Keys. |
| Nothing syncs even though the connection is fine | The 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-way | Read 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 values | Fix the mapping records under the module's configuration, then re-run the import. |
| An order imported with the wrong date | Fixed in 1.1.0: timestamps arriving with a negative UTC offset were being truncated. Re-import the affected orders after upgrading. |
| Product images were never imported | Fixed in 1.1.0: the wizard's Import Product Images option now reaches the import. |
| Duplicated products or customers | Run the initial import once. If a first attempt half-finished, check the existing records before re-running rather than importing on top. |
What the platform does not publish
About You's Seller Center API is the only source of truth for what this module can do, and several things a connector is often expected to provide are simply not published by it. Rather than build a screen that promises them, the module states them:
| Not published by About You | What the module does instead |
|---|---|
| A shipping, fee, discount or tip amount on an order | Imports the order total and, per line, the price with and without tax. There is no field to split the total with, so no shipping or fee line is created. |
| A settlement, payout, commission or fee route | Seller finance is read per order (GET /orders/{order_number}/invoices) and from the Reports screen (GET /reports/), which returns whole report files rather than classified transactions. |
| A refund object | A refund is reconstructed from the order: the items whose status is returned, valued at the prices the platform publishes, in the order's currency. |
| A returns collection, an import template, product media upload, a customer collection, ratings or reviews, an affiliate or creator programme | Not published. The module neither advertises nor implements them, and Operations → API Coverage lists every operation about You does publish together with what this connector does with it. |
| Masking of customer personal data | Not available. About You sends the recipient's name, address, email and phone in the clear, with no redaction switch and no consent flag. The module strips credentials and customer identifiers out of error evidence it stores, and makes no claim to mask the order data itself. |
Version history
| Odoo version | Version you download today |
|---|---|
| 17.0 | 17.0.1.4.0 |
| 18.0 | 18.0.1.4.0 |
| 19.0 | 19.0.1.4.0 |
ECOSIRE module versions are <odoo major>.<module major>.<minor>.<patch>, so 19.0.1.4.0 is the Odoo 19 build of module version 1.4.0. Your installed version is shown in Apps.
1.4.0
- Refunds are now rebuilt from the returns About You actually reports. The platform publishes no refund object at all: no refund amount, no reason, no refund route. What it publishes is each order item's status, which reaches returned, together with the item's prices. A refund is therefore reconstructed from those rows — the returned items summed, in the order's own currency, one line per item carrying its return tracking key. Previously a refund record was created from fields About You never sends, so it carried no amount, no lines and no currency and reconciled against nothing.
- Brand, category and description are imported. About You sends the brand and the category as numeric ids, and the description as a per-language map. All three are now resolved through the platform's own lookups, so an imported product shows a readable brand and category rather than an id, its description arrives in your Odoo language, and the platform category also sets the product's Odoo category. If a lookup cannot be reached the id is stored unresolved and named — never guessed.
- Multi-currency totals are converted, not added together. The analytics dashboard previously summed order totals across currencies and labelled the result with your company currency. Each order is now converted at its own date's rate first. An order whose currency has no rate covering its date is excluded and counted on the report (
Orders Excluded (no rate)) instead of being added at parity, so a partial figure is visibly partial. - The About You fields on sales orders, deliveries and stock moves are now on the screen. They were stored and rendered nowhere, so you could not see which About You order a sale order came from or what carrier tracking the platform returned. They now appear on the record, and only on records that came from About You.
- The refund and document screens are restricted. Opening a refund's credit note, and the documents fetched for an order, opened the full accounting and attachment screens — places a user can edit. Both now open read-only views owned by this module.
- The dashboard's loading, empty and error states are announced to assistive technology rather than only drawn.
- A webhook signature is now verifiable end to end. The signature helper produced a hexadecimal digest while the receiver and the delivery path both expected base64, so anything signed with the helper was rejected by our own receiver. All three now use the same base64 form.
- The webhook test payload describes About You. Send Test Payload previously sent a payload shaped like a different platform's API, with keys About You does not use. Each event now sends the body its own published schema defines.
- Product images are only fetched over http(s). An image reference using any other scheme — including a local file path — is refused and named in the log rather than requested by your server.
- What this connector does not do is now stated in the product, not only in this page: About You publishes no shipping, fee or discount split, no settlement or commission route, and it does not mask customer personal data. See What the platform does not publish below.
1.3.0
- Two screens that were built but on no menu are now on it. Reports (Operations) lists the platform's
SELLABLE_STOCK,WAREHOUSE_MOVEMENTSandDAC7files and downloads them; Category Attributes (Configuration) shows which attributes a category demands and which ids it accepts — the difference between a product upsert that is accepted and one refused without explanation. - Check Upstream and Resume Delivery on a webhook. Check Upstream reads the subscription back from About You and writes back what the platform actually reports, so the screen cannot describe a subscription that no longer exists as recorded. Resume Delivery re-enables a subscription that stopped after an error.
- One customer record per buyer. The order importer and the customer importer each matched a buyer by their own rule, so the same buyer could be filed twice as soon as both ran. Both now use one resolver — email, then phone, then exact name.
- Batch pushes settle correctly. A price or stock batch is now read back from the matching
/results/*route, and a status batch records the id it must be settled against — previously both could sitpendingforever. - The Odoo 19 build loads, installs and runs its own test suite. The 1.2.0 work below was only partly applied on Odoo 19, and the module could not be imported at all. If you are on 19.0, upgrade to this release.
1.2.0
- Every operation the platform publishes is implemented — 44 of 44, each at the method and path About You's own OpenAPI document declares. Operations → API Coverage lists all of them and what this connector does with each.
- Push prices, stock and status, and read back what the platform said. Each write is asynchronous on the platform side, so each records its batch and reads the outcome from the matching results route: a rejected item is reported, never assumed written.
- Rejection reasons.
GET /products/rejectedis the only rejection feedback the platform gives; it is now read onto the product mapping, so a product that never went live says why. - Carriers, invoices and delivery documents. The carrier list a shipment must quote back, and per-order invoice and delivery-document PDFs stored as attachments.
- Reports. The platform's file family, as records you can download.
- Category attributes. Which attributes each category demands and which ids it accepts.
- Stock push channels. The old screen mirrored a Shopify-style location record — an external location id, a primary flag, an address, a province, a ZIP — none of which any code could write, because the Sellers Center has no location endpoint. The screen now holds what it can honour: the Odoo warehouses whose available quantity is pushed to About You.
- Webhooks rebuilt. Subscriptions register against the event names the platform's
EventTypeenum accepts (dotted,order.created), every delivery arrives at one token-addressed URL, and all ten published event types are dispatched from the envelope. An upgrade step repairs the event names on subscriptions created by 1.1.0 and resets to Draft any whose stored delivery URL is one this module does not serve.