Skip to main content

Etsy Store Management

Connect your Etsy shop to Odoo through the Etsy Open API v3. This module uses OAuth 2.0 with an API keystring (x-api-key header) for authentication, synchronizing your handmade, vintage, and craft supply listings with Odoo's inventory and order management. Manage your Etsy shop end to end -- from listing creation to order fulfillment -- all within your ERP.

Compatibility: Odoo 17 / 18 / 19 Price: $349 (one-time) License: Up to 3 domain activations

Key Features

  • Etsy Open API v3 integration with OAuth 2.0
  • Bidirectional product listing synchronization
  • Automatic order import with customer creation
  • Real-time inventory synchronization
  • Shop section and category mapping
  • Listing variation management (size, color, material)
  • Digital download support
  • Etsy Ads spend tracking
  • Star Seller metrics monitoring
  • Review and feedback management
  • Personalization field sync
  • Holiday mode and vacation scheduling

Prerequisites

  • Odoo 17, 18, or 19 (Community or Enterprise edition)
  • An active ECOSIRE license for this module
  • An Etsy seller account with an active shop
  • Etsy Developer App credentials (API Keystring + Shared Secret)

Installation

  1. Download the module ZIP from your ECOSIRE Dashboard
  2. Extract to your Odoo addons directory:
    unzip ecosire-etsy-*.zip -d /opt/odoo/addons/
  3. Restart the Odoo service:
    sudo systemctl restart odoo
  4. Navigate to Apps, click Update Apps List
  5. Search for the module and click Install
  6. Enter your ECOSIRE license key when prompted

Configuration

Step 1: Obtain Etsy API Credentials

  1. Go to Etsy Developer Portal and sign in
  2. Click Create a New App and fill in the application details
  3. Note your API Keystring (also called the API key) and Shared Secret
  4. Set the redirect URI to your Odoo instance URL
  5. Complete the OAuth 2.0 flow to obtain an Access Token and Refresh Token
  6. Note your Shop ID (visible in your shop's Etsy URL or in the API response)

Step 2: Connect in Odoo

  1. Navigate to Etsy Store Management > Configuration
  2. Create a new configuration and enter:
    • API Key (Keystring) (api_key) -- your Etsy API keystring
    • Client Secret (Shared Secret) (client_secret) -- your Etsy shared secret
    • Access Token (access_token) -- OAuth access token
    • Refresh Token (refresh_token) -- for automatic token renewal
    • Shop ID (shop_id) -- your Etsy shop identifier
  3. Click Test Connection to verify API access
  4. Configure your default warehouse and company mapping

Step 3: Configure Sync Settings

Product Sync

  • Choose sync direction: Etsy-to-Odoo, Odoo-to-Etsy, or bidirectional
  • Set sync interval: scheduled (every 5, 15, or 60 minutes)
  • Configure product field mapping and listing attribute mapping

Inventory Sync

  • Map Odoo warehouses to Etsy listing stock
  • Set buffer stock quantities if needed
  • Enable real-time stock updates on changes

Order Sync

  • Enable automatic order import
  • Map Etsy payment methods to Odoo payment journals
  • Configure fulfillment sync to push tracking numbers

Initial Sync

  1. Go to Etsy Store Management > Operations > Initial Import
  2. Select data types to import (Products, Customers, Orders)
  3. Set date range for historical orders
  4. Click Start Import and monitor progress in the sync log

API Details

FieldValue
Auth methodOAuth 2.0 + API Keystring (x-api-key header)
Base URLhttps://openapi.etsy.com/v3
Token URLhttps://api.etsy.com/v3/public/oauth/token
API versionv3
Key config fieldsapi_key, client_secret, access_token, refresh_token, shop_id

Dashboard

The built-in OWL 2 dashboard provides real-time visibility into your integration:

  • 6 KPI cards -- Revenue, Orders, Customers, Products, Avg Order Value, and Sync Health -- each with period-over-period delta indicators
  • Sales Trend chart (Chart.js line chart) with interactive date filtering
  • Order Status breakdown (doughnut chart) showing distribution across statuses
  • Period filters -- Today, 7 days, 30 days, 90 days, Year, or Custom date range
  • Activity feed showing recent sync log entries with type indicators
  • Quick action buttons for Products, Orders, Customers, Queue, Logs, and Settings
  • Status footer with Queue Jobs, Errors, Out of Stock, and Sync Rate
  • Auto-refresh every 60 seconds with dark mode support

Troubleshooting

IssueSolution
Connection failedVerify API credentials; check network connectivity
Sync not runningCheck Odoo scheduled actions (cron jobs) are enabled
Duplicate productsReview product mapping; ensure SKU matching is configured
Orders not importingVerify order status filters and date range settings
Token refresh failsRe-authorize via OAuth; Etsy refresh tokens can expire after extended inactivity
Shop ID not foundVerify the shop_id matches your Etsy shop URL
Listing sync rejectedCheck required fields: title, description, price, quantity, taxonomy_id
Digital download errorEnsure file upload is complete before syncing the listing
License not activeVerify your ECOSIRE license key at Settings > ECOSIRE License

Support