# DataFirefly Amazon Connector: connect PrestaShop to Amazon Seller Central

> Installation Install the module from Modules > Module Manager > Upload a module by sending the ZIP file. The PHP cURL extension is required. On installation, the module creates its…

- Page: <https://www.datafirefly.com/en/documentation/dfamazonconnector/>
- Language: en
- Last updated: 2026-10-07
- Other languages: [fr](https://www.datafirefly.com/documentation/dfamazonconnector/index.md), [es](https://www.datafirefly.com/es/documentation/dfamazonconnector/index.md), [de](https://www.datafirefly.com/de/documentation/dfamazonconnector/index.md), [it](https://www.datafirefly.com/it/documentation/dfamazonconnector/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfamazonconnector/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfamazonconnector/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfamazonconnector/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Installation

Install the module from **Modules > Module Manager > Upload a module** by sending the ZIP file. The PHP cURL extension is required.

On installation, the module creates its tables, an **Amazon Connector** tab in the Sell menu, an "Amazon" carrier reserved for imported orders (customers never see it) and two order statuses: "Amazon: awaiting shipment" and "Amazon FBA: shipped".

## Prepare your Amazon account

The module connects to your seller account with your own private Selling Partner API application. You need a professional Seller Central account.

1. In Seller Central, open **Apps and Services > Develop Apps** and register as a private developer if you have not done so yet.
2. Create an application and request the roles needed for the features you will use: Product Listing and Pricing for the catalog, Inventory and Order Tracking for orders, Direct-to-Consumer Shipping (Restricted) to receive the delivery address and buyer e-mail, Amazon Fulfillment for FBA stock, Finance and Accounting for refunds, Tax Invoicing for invoice upload.
3. Self-authorize the application on your own account to get a **refresh token**, and note the **LWA client ID** and **client secret**.
4. Copy your **Merchant Token** from **Settings > Account Info**.

Without the Direct-to-Consumer Shipping role, orders are imported without a delivery address. The module then creates a fallback address and flags it in the order address.

## Connection and marketplaces

In **Amazon Connector > Settings**, choose the region (Europe, North America or Far East), enter the LWA client, the secret, the refresh token and the Merchant Token, then save. Secrets are encrypted in the database; leave the fields empty to keep the saved values.

On the dashboard, click **Test connection**. The marketplaces of your account appear in the **Marketplaces** tab, disabled by default. For each one, set:

- activation;
- the language of the content sent (title, description);
- prices including or excluding tax, according to the country;
- price sync, to disable if you use an Amazon repricer;
- the percentage markup, the fixed amount and the rounding (none, x.99, x.90, whole number).

## Cron task

Synchronisation runs through a cron task, ideally every 5 to 15 minutes. The dashboard shows the token-secured URL and the command line:

```
php /path/to/modules/dfamazonconnector/cron.php --shop=1
```

On each run, the module imports orders, confirms shipments, sends invoices and cancellations, reads refunds and FBA stock, then sends pending listings, stock and prices as grouped feeds. A red banner appears in the module if the task has not run for more than one hour. The **New token** button invalidates the old URL.

## Category mapping

Mapping is only needed to create new listings on Amazon. A product sold on an existing ASIN, or attached through its EAN, only needs an offer.

In the **Category mapping** tab, choose a PrestaShop category and an Amazon product type (keyword search included). A product uses the mapping of its default category or, failing that, of the closest mapped parent.

- **Browse node**: the Amazon browse node, optional depending on the product type.
- **Variation theme**: for example `SIZE_NAME/COLOR_NAME`. When set, combinations are grouped as a parent-child family; when empty, each combination is published as an independent product.
- **Combination attributes** and **Features**: link an Amazon attribute to a PrestaShop attribute group or feature.
- **Fixed attributes**: values sent as they are, in the Listings Items format. Available variables: `{marketplace_id}`, `{language_tag}`, `{currency}`, `{reference}`, `{ean13}`, `{mpn}`, `{brand}`.

The **Required attributes** button reads the product type schema from Amazon and lists the attributes the module does not fill by itself. For each one, choose a source (fixed value, feature, combination attribute) then **Apply**: the JSON fields are filled in automatically.

## Publishing products

### From the product page

The Modules tab of the product page contains an Amazon block:

- **Sell on Amazon** enables the product.
- **Publication mode**: automatic, offer on an existing product (ASIN or EAN) or full listing creation.
- **Fulfillment**: by you (FBM) or by Amazon (FBA).
- **ASIN**, **product type**, **condition** and **fixed Amazon price** override the defaults for this product.
- **Extra attributes**: JSON merged after the category fixed attributes; a `null` value removes an attribute.
- **Marketplaces**: uncheck a country to remove the product from that marketplace.

The "What will be sent to Amazon" table shows, per combination and country, the price, the sale price and its dates, the minimum price, the business price and the quantity. Four actions are available: **Check with Amazon** (validation without publishing, errors shown attribute by attribute), **Send now**, **Add to next sync** and **Refresh status**.

### In bulk

The **Products** tab lists the catalog with the status of each product per country (active, in progress, inactive, error). Filter by name, category or state, check products or the "All products matching the filter" option, then apply an action: enable and publish, publish again, send prices, send quantities, disable (quantity 0) or delete from Amazon.

### Listings already on Amazon

The **Link existing Amazon listings** button on the dashboard requests your listings report from Amazon. On the next cron run, each SKU is linked to the PrestaShop product with the same SKU, reference or EAN. SKUs not found are listed in the log.

### Amazon SKU

The SKU is created on first publication according to the chosen setting: reference, EAN13 or pattern (default `PS{id_product}-{id_product_attribute}`). An existing SKU never changes, even if the reference does.

## Prices

The price is computed in the marketplace currency with the chosen price group, then the country markup, fixed amount and rounding are applied. Options in the Settings tab:

- **Apply shop discounts**: specific prices and catalog rules included in the Amazon price.
- **Send shop discounts as Amazon sale prices**: the regular price stays the reference price and the discount becomes a sale price with the dates of the PrestaShop discount. A discount created, changed or removed updates Amazon immediately; dated sales and catalog rules are checked again every night.
- **Minimum margin on cost price**: sends a minimum price (converted cost price plus the margin, country VAT included) that stops a repricer from selling below it.
- **Amazon Business prices**: the price of the chosen customer group becomes the business price, and its quantity discounts become levels (5 maximum). For sellers registered in Amazon Business.

Price updates only touch the offers managed by the module: an offer created by hand in Seller Central for another audience is kept.

## Stock and FBA

Each PrestaShop stock movement queues the SKU for sending. Available settings: safety stock (units kept out of Amazon), maximum quantity, handling time, quantity 0 for disabled products and a full resync every night after 3 am.

FBA products do not receive a quantity from PrestaShop. The **Read FBA stock** option fetches the quantity available in Amazon warehouses every hour, shown on the product page; **Copy FBA stock to PrestaShop** applies it to the shop stock of FBA products.

## Orders

Orders are read with the Orders API v2026-01-01 from the configured start date. An order awaiting payment is stored without being created; it is imported as soon as Amazon releases it for shipping.

Each imported order creates or reuses a guest customer (one per buyer or a single customer, as you choose), an "Amazon + order number" address and a PrestaShop order with the Amazon carrier, Amazon prices and shipping costs, the Amazon order number as transaction ID and, optionally, the Amazon purchase date. Stock is decreased as for a shop sale.

FBA orders are imported once shipped, with the "Amazon FBA: shipped" status. The "FBA orders do not change shop stock" option puts the quantities back after creation.

Amazon forbids contacting the buyer outside its messaging service. Keep the "Block shop e-mails to Amazon buyers" option enabled: e-mails to Amazon addresses are blocked, your own order alerts keep arriving.

The **Orders** tab lists all Amazon orders with "To ship", "Cancellation requests", "Refunded" and "Not imported" filters. An order that was not imported (unknown SKU, currency or country not configured) shows the cause and a **Retry** button.

## Shipments

Choose in the settings the statuses that confirm the shipment (for example Shipped). When an Amazon order moves to one of these statuses, the module sends Amazon the carrier code, the tracking number and the ship date. If the tracking number is not entered yet, it waits up to one hour before confirming without tracking.

The carrier mapping table links each PrestaShop carrier to an Amazon carrier code. Imported orders use the Amazon carrier: change the order carrier before shipping so the right code is sent. The Amazon block of the order page also has a **Confirm shipment now** button.

## Invoices

If you are registered in the Amazon VAT Calculation Service with the option to upload your own invoices, enable **Upload PrestaShop invoices to Amazon**. After the shipment confirmation, the order PDF invoice is sent with its number, total and VAT amount. The status (sent, pending, rejected) appears in the list and on the order page.

Amazon rejects the upload if automatic generation of its own invoices is enabled in Seller Central. Disable it in the VAT Calculation Service settings.

## Cancellations

When a buyer asks to cancel an unshipped order, the order is flagged in red in the list and on its page, with the reason given by the buyer. Do not ship: cancel the order from the Amazon block by choosing the reason, or enable **Cancel on Amazon when the order is canceled in PrestaShop**. A cancellation requested by the buyer is sent with the BuyerCanceled reason and does not count against your cancellation rate.

Conversely, an order canceled on Amazon moves to the cancellation status chosen in PrestaShop, with no e-mail to the customer.

## Refunds

With the **Read Amazon refunds** option, refunds made in Seller Central are read through the Finances API. Each one is noted in the private note of the order with the date, the items and the net amount. When every unit has been refunded, the order moves to the chosen status (Refunded by default). The amount shown is the net amount posted to your Amazon account, after the refunded fees.

## Dashboard, alerts and log

The dashboard shows active and failed listings, orders of the last 24 hours and 30 days, pending jobs, the last synchronisation, the most frequent Amazon errors grouped by code and the latest feeds sent.

The daily alert e-mail is sent after 8 am to the chosen recipients, only when an action is needed: cancellation requests, orders not confirmed more than 2 days after purchase, orders not imported, rejected invoices, listings in error, rejected feeds, stopped cron. The **Send a test e-mail** button checks the setup.

The **Logs** tab keeps every operation (feeds, orders, shipments, refunds, FBA, errors) with technical details, filterable by level and channel. The retention period is set in the settings.

## Troubleshooting

### The connection test fails

Check the chosen region, the LWA client, the secret and the refresh token. A refresh token belongs to one application and one account: generate it again after changing the application roles.

### A listing is in error

Open the product page: Amazon errors are shown under each listing. Code 90220 means a required attribute is missing; add it in the category mapping or in the product extra attributes. Use **Check with Amazon** to validate the fix before sending.

### An order is not imported

The reason is shown in the Orders tab. The most common case is an Amazon SKU that matches no product: link existing listings or fix the reference, then click Retry. Also check that the currency and delivery country are active in PrestaShop.

### Stock or prices do not update

Check the last synchronisation on the dashboard and in the log. Updates leave on the next cron run and Amazon processes them within a few minutes. To force a full send, use **Resend all quantities**.

## Compatibility

- PrestaShop 8.0 to 9.x, the same ZIP covers both branches.
- Multistore and multilingual.
- Amazon regions Europe, North America and Far East.
- ModuleAdminController architecture, no Composer dependency.
- Interface available in French, English, Spanish, German, Italian, Dutch, Polish and Portuguese.
