Skip to main content

ASOS Store Management

ASOS Store Management connects an ASOS Marketplace boutique to Odoo. It holds the configuration, the mappings and the monitoring around the ASOS feed, and it ingests the files ASOS sends you. This page is the installation and configuration guide for the module you downloaded from your ECOSIRE dashboard, and everything below describes the asos_store_management module as it ships today.

Technical nameasos_store_management
Odoo versions17.0, 18.0, 19.0, 20.0 (Community or Enterprise)
Current shipped version17.0 → 17.0.1.1.0, 18.0 → 18.0.1.1.0, 19.0 → 19.0.1.1.0, 20.0 → 20.0.1.1.0
Price$499 USD — one-time, per Odoo version
Odoo module licenceOPL-1
CategoryConnector

What ASOS integration actually is​

ASOS Marketplace does not publish a public REST API and runs no OAuth authorisation flow. Sellers integrate through SFTP/AS2 drop-zones and EDI messages provisioned by ASOS Technology Partnerships — purchase orders (EDI 850), acknowledgements (855), advance shipping notices (856), inventory advice (846), invoices (810) and RMA notifications.

This module is the Odoo side of that integration: it stores the partner credentials, maps ASOS-side identifiers to your Odoo records, receives feed posts on signed webhook endpoints, runs the scheduled syncs, and reports what happened. The transport itself — the SFTP or middleware client that moves files between ASOS and you — is provisioned outside Odoo and is not part of this module.

What this module does not do

It does not call an ASOS REST API, because there is none to call. Screens that would need one (import locations, import stock levels, export stock levels) say so and name the route that does work. Nothing in this module pretends a remote call happened.

Installation​

  1. Back up your database.
  2. Install the module from Apps (search for ASOS Store Management), or upload the package and press Install.
  3. Open ASOS → Configuration → Instances and create your boutique record.
  4. Set Partner Account ID, Partner Password and Feed Signing Secret to the values ASOS Technology Partnerships issued to you. They are stored for reference and for verifying inbound feed signatures; the module sends nothing to an ASOS API.
  5. Fill in the Asos Boutique URL and, if you use one, the delivery and payment defaults.

Both credential boxes are restricted to the Settings group (base.group_system), so a shop-floor user never sees them.

Where everything lives​

MenuWhat it holds
ASOS → DashboardSales, order and sync KPIs for the selected period
ASOS → OrdersASOS orders mapped to Odoo sales orders, with financial and fulfilment state
ASOS → RefundsRefunds and their lines, with restock classification
ASOS → ProductsCatalogue mappings and product images
ASOS → CustomersASOS customer identities linked to Odoo contacts
ASOS → PayoutsPayout reports, fees and bank-statement matching
ASOS → AnalyticsTrend data generated on a schedule
ASOS → OperationsManual sync wizard, queue jobs and sync logs
ASOS → ConfigurationInstances, locations, carriers, collections and payment gateways

Mapping your ASOS data​

  • Locations. One record per ASOS-side location, mapped to the Odoo warehouse that fulfils it. The ASOS location identifiers come from your onboarding pack; nothing in ASOS sends them to us, so they are transcribed once and then editable.
  • Products. Each ASOS product and variant maps to an Odoo product. Variants are unique per instance, so the same variant cannot be mapped twice on one boutique — the database rejects the duplicate rather than the screen warning about it.
  • Payment gateways and carriers are local mappings used when orders and refunds are translated into Odoo records.
  • Orders. The ASOS order number is stored, shown on the form and searchable, and a second mapping of the same order on the same instance is rejected.

Scheduled actions​

The module ships these scheduled actions. They can be disabled per instance with the sync flags on the instance form.

ActionIntervalWhat it does
Sync Orders15 minutesImports the orders present in your drop-zone
Sync Products30 minutesRefreshes catalogue mappings
Sync Customers60 minutesRefreshes customer mappings
Sync Inventory10 minutesReads the inventory columns of the catalogue feed
Process Queue Jobs5 minutesRuns queued import/export jobs
Import Payout Reports6 hoursReads payout reports
Import Refunds30 minutesReads refund notifications
Auto Risk Detection30 minutesFlags high-risk orders
Generate Analytics4 hoursBuilds the analytics trend
Webhook Health Check60 minutesReports feed endpoints that stopped receiving posts
Process Workflows10 minutesRuns configured automation workflows
Cleanup Old Logs1 dayDeletes sync logs past the retention window
Daily Summary Report1 dayPosts the day's numbers

Every action that finds nothing to do logs an informational line and exits — a quiet ASOS account is not an error.

Feed endpoints (webhooks)​

Feed posts are received on these public endpoints. Each accepts POST and is intended to be called by your SFTP/middleware layer or by ASOS, not by a browser:

PathPurpose
/asos/webhook/productCatalogue feed updates
/asos/webhook/orderPurchase orders (EDI 850) and acknowledgements
/asos/webhook/customerCustomer records
/asos/webhook/refundRMA / refund notifications

Every post must carry the shop-domain header and, when Verify Signature is on (the default), a valid HMAC signature computed with the instance's Feed Signing Secret. A post that fails verification is rejected and logged; an unsigned post with verification enabled is never processed.

Two further routes are informational and exist so that a stale link does not 404:

PathPurpose
/asos/installExplains that ASOS has no install/OAuth flow and redirects to instance configuration
/asos/callbackExplains that ASOS has no OAuth callback; safe to ignore

Operations Center​

ASOS → Operations → Manual Sync runs one operation on demand. Order, product, customer, refund, payout, payment-gateway and automation operations run locally or from the feed. Three operations — import locations, import stock levels and export stock levels — are deliberately answered with an explanation instead of a green "completed successfully" notification, because ASOS publishes no API for them: locations come from your onboarding pack, and stock moves via the EDI 846 inventory advice or the stock column of your catalogue feed.

Troubleshooting​

Nothing is imported. The module reads files; it does not open the connection itself. Check that your SFTP or middleware client is delivering to the drop-zone ASOS gave you, then look at ASOS → Operations → Sync Logs and the queue jobs for the failing step.

A feed post is rejected. Signature verification is on by default. Confirm that the secret on the instance matches the one used to sign the post, and that the shop-domain header is present.

The dashboard is empty. The dashboard windows on the selected period. With no orders in that period it says so; widen the period or check that imports are landing.

A duplicate is rejected. That is the identity guard working: the same ASOS order, variant, location or payout cannot be mapped twice on one instance.

What changed in 1.1.0​

  • Duplicate-record guards now exist. Fourteen uniqueness rules were declared in a form the running Odoo version does not read, so they were silently dropped at install. They are now declared in each series' own syntax, so the "already mapped" message you see is enforced by the database.
  • Operations that could not work say so. Import Locations, Import Stock Levels and Export Stock Levels no longer report a false success; they explain the ASOS boundary and name the route that does work.
  • Location mappings can be created. The name and ASOS location identifier are editable, so the screen can hold a record at all.
  • Dead settings removed. An internal OAuth-state field, a "Feed Access Token" box and a Shopify-only location flag were read by no code and are gone.
  • Malformed timestamps no longer collapse to a bare year. The date fallback strips only a trailing timezone offset.

Support​

Two weeks of post-delivery support are included with every purchase. Write to info@ecosire.com with your Odoo version, the module version shown above, and what you expected to happen — a defect in this module is fixed free of charge.