Etsy Connector FAQs

These frequently asked questions cover the most common setup and synchronization topics for the Odoo Etsy Connector. For a full feature list and sync matrix, see Etsy Connector Features.

Getting Started

Fully compatible with Odoo Enterprise (On-premise and Odoo.SH) and Odoo Community. Not compatible with Odoo Online (SaaS) - that hosting tier does not allow third-party apps.

Open Marketplaces ‣ Configuration ‣ Instance, click New, pick Etsy, paste the API Keystring (Client ID) and Shared Secret (Client Secret), copy the auto-generated OAuth Callback URL into the Etsy Developer Portal for your app, then click Connect Etsy Account. Etsy returns access and refresh tokens. When you then click Confirm, the connector fetches your Shop ID, shop name, and currency automatically. See Create an Etsy instance in Odoo and Generate Etsy API Credentials and Connect Account.

No. Etsy access tokens last one hour, but the connector auto-refreshes them before expiry using the stored refresh token (each refresh stores the new refresh token and restarts the 90-day countdown), so sync keeps running with no manual action. A reminder activity is created 30 days before the refresh token expires so you can re-authorize at your own pace.

Yes. Create unlimited Etsy instances - each with its own API credentials, access/refresh tokens, pricelist, financial workflow, and scheduled actions. See Multi Store Selling in Etsy Connector Features.

Products & Listings

Yes. Etsy listing variations map to Odoo product variants through the attribute and value mappings (properties are auto-matched to Odoo attributes and values with the same name when you fetch a category’s properties; unmatched ones must be mapped by you). Each variation keeps its own SKU, price, and inventory quantity on Etsy. Weight is read from Etsy on import only. See Product Attribute Mapping.

Yes. From the operations wizard, choose Export Listings, select products, and run it. The connector creates each listing in Etsy as a draft with its price, inventory, variant properties, category, shipping profile, readiness state, Who Made/When Made/Is Supply, tags, and (when Set Images is on) images. Choose Publish In Etsy = Published in the wizard to make it live (Etsy requires at least one image to publish - the connector enforces this). Return policies are not sent. See Export Etsy Listings From Odoo.

No - by design. Run the Update Listings operation to push the latest title, description, category, tags, Who Made, When Made, Is Supply, and shipping profile, and with Update Price and Quantity? the SKU, variant properties, price, quantity, and readiness state, to Etsy. There is no scheduled action for listing updates; Update Stock & Prices is the scheduled one. You stay in control of when changes go live.

Orders

On a schedule via the Import Order scheduled action (every 15 minutes by default once you activate it). You can also import manually anytime from the operations wizard by date range, a single receipt ID, or a comma-separated list of receipt IDs. See Import Etsy Orders In Odoo.

When you validate the delivery order in Odoo, the connector reads the carrier and tracking number and posts them to Etsy. The Update Order Status/Tracking Information scheduled action handles this automatically. Etsy notifies the buyer of the shipment. Notify Customer? on the instance only controls whether the seller receives a blind copy of that notification email.

When a buyer or Etsy cancels a receipt, the connector detects the cancelled status on the next order import and automatically cancels the linked Odoo Sale Order (with downstream pickings and invoices handled per Odoo standard), so your records stay aligned without manual cleanup.

Troubleshooting

Failed records are flagged in the Queue Manager with the full Etsy error payload while the rest of the queue keeps processing - one bad receipt never blocks the others. Open the line, fix the issue (missing product mapping, missing workflow, etc.), and retry just that record.

Open Marketplaces ‣ Queues ‣ Logs. Every log line shows the operation, the receipt/listing ID, and the exact error message from the Etsy API. When the error is a missing Etsy Financial Workflow for a payment type, a shortcut opens the right config form so you can add the missing mapping in one click.

The connector uses a two-level fallback: it first looks for a category-level mapping for the listing’s Etsy category. If none exists, it falls back to a global-level mapping set on the instance. If neither is found: on import the listing is not imported and the log names the missing attribute or value; on export/update the attribute is left out of the variant properties without an error. To fix it, go to Marketplaces ‣ Etsy ‣ Products ‣ Product Attribute Mapping (or Value Mapping) and add either a category-specific or global mapping, then retry. See Product Attribute Mapping.

The connector auto-refreshes the access token before it expires, so short-lived tokens never interrupt sync. If the refresh token itself has expired (Etsy refresh tokens last about 90 days), all API calls start failing with an authentication error. In that case, open Marketplaces ‣ Configuration ‣ Instance, select the Etsy instance, and click Connect Etsy Account to complete the OAuth flow again. The connector stores the new tokens immediately and sync resumes. A reminder activity is created 30 days before expiry so you can re-authorize before any downtime.

Rate Limits & Retries

Etsy limits calls per second and per day for each app key (the limits are shown in the Etsy Developer Portal) and answers with HTTP 429 and a Retry-After header when one is exceeded. The connector waits for the Retry-After time (at most 60 seconds, 10-second steps when the header is missing) and retries up to 3 times. The same retry applies to Etsy server errors (5xx) and network errors, but only for read requests; write requests (creating listings, updating inventory, sending tracking) are never replayed after a 5xx or network error to avoid duplicates. If the retries are exhausted the operation is logged as failed and can be retried; a failed order fetch does not advance the import window.

The connector imports return policies for reference but does not assign or send them yet. Set the return policy on the listing in Etsy.

Support & Maintenance

We offer free support for the initial 60 days after the purchase date. Beginning from version 13, each app version is sold separately per Odoo policy. After the free period, paid support plans are available. See Etsy Connector Support Policy.

The module depends on Base Marketplace (also by TeqStars, free on Odoo Apps). No additional Python packages or libraries are required beyond a standard Odoo install.

Yes - full source code is provided. The connector follows standard Odoo module conventions, so any Odoo developer can inherit models, extend views, and add custom logic without touching the base module.

Each major Odoo version has its own module release on the App Store. Purchase the new version, install it on your upgraded Odoo instance, and all existing Etsy configurations, queue logs, and linked records carry over through the standard Odoo migration path.