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
- Download the module ZIP from your ECOSIRE Dashboard
- Extract to your Odoo addons directory:
unzip ecosire-etsy-*.zip -d /opt/odoo/addons/ - Restart the Odoo service:
sudo systemctl restart odoo - Navigate to Apps, click Update Apps List
- Search for the module and click Install
- Enter your ECOSIRE license key when prompted
Configuration
Step 1: Obtain Etsy API Credentials
- Go to Etsy Developer Portal and sign in
- Click Create a New App and fill in the application details
- Note your API Keystring (also called the API key) and Shared Secret
- Set the redirect URI to your Odoo instance URL
- Complete the OAuth 2.0 flow to obtain an Access Token and Refresh Token
- Note your Shop ID (visible in your shop's Etsy URL or in the API response)
Step 2: Connect in Odoo
- Navigate to Etsy Store Management > Configuration
- 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
- API Key (Keystring) (
- Click Test Connection to verify API access
- 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
- Go to Etsy Store Management > Operations > Initial Import
- Select data types to import (Products, Customers, Orders)
- Set date range for historical orders
- Click Start Import and monitor progress in the sync log
API Details
| Field | Value |
|---|---|
| Auth method | OAuth 2.0 + API Keystring (x-api-key header) |
| Base URL | https://openapi.etsy.com/v3 |
| Token URL | https://api.etsy.com/v3/public/oauth/token |
| API version | v3 |
| Key config fields | api_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
| Issue | Solution |
|---|---|
| Connection failed | Verify API credentials; check network connectivity |
| Sync not running | Check Odoo scheduled actions (cron jobs) are enabled |
| Duplicate products | Review product mapping; ensure SKU matching is configured |
| Orders not importing | Verify order status filters and date range settings |
| Token refresh fails | Re-authorize via OAuth; Etsy refresh tokens can expire after extended inactivity |
| Shop ID not found | Verify the shop_id matches your Etsy shop URL |
| Listing sync rejected | Check required fields: title, description, price, quantity, taxonomy_id |
| Digital download error | Ensure file upload is complete before syncing the listing |
| License not active | Verify your ECOSIRE license key at Settings > ECOSIRE License |