Odoo Etsy Connector: Handmade Commerce Integration
Etsy hosts over 9 million active sellers and serves a niche that no other marketplace replicates: handmade, vintage, and craft supply goods. For Etsy sellers who've grown beyond basic spreadsheet tracking, Odoo 19 Enterprise provides the inventory management, financial accounting, and production planning capabilities that a scaling craft business needs.
The ECOSIRE Odoo Etsy Connector bridges your Etsy shop with Odoo, synchronizing listings, orders, inventory, and customer data. This guide covers the complete integration from Etsy API credential setup through production order management and Etsy seller reporting.
Key Takeaways
- Connector uses Etsy API v3 with OAuth 2.0 authentication
- Listings sync in both directions: create in Odoo, publish to Etsy
- Order import includes buyer details, item customization notes, and gift wrapping flags
- Inventory pushes to Etsy within 5 minutes of stock changes in Odoo
- Production order (MRP) integration tracks make-to-order handmade goods
- Etsy fees and payment processing fees reconcile automatically against Odoo invoices
- Multiple shops supported: manage several Etsy stores from one Odoo instance
- Etsy's listing renewal (auto-renew 20¢ per listing) is tracked in Odoo costs
Why Etsy Sellers Need Odoo Integration
Etsy's built-in shop manager handles basic order tracking but lacks the depth that growing handmade businesses need:
| Challenge | Etsy Native | Odoo + Etsy Connector |
|---|---|---|
| Multi-channel inventory | Manual tracking | Real-time sync |
| Raw material tracking | Not available | Full Bill of Materials support |
| Production scheduling | Not available | MRP with work orders |
| Financial accounting | Basic | Full accounting module |
| Tax management | US states only | Global tax support |
| Custom order management | Manual notes | Structured customer attributes |
| Wholesale and retail pricing | Single price | Full pricelist support |
| Shipping label generation | Via Etsy | Via Odoo shipping integrations |
For sellers doing $10K+ monthly revenue or managing 50+ active SKUs across handmade and materials, Odoo delivers operational capabilities that scale with the business.
Etsy API Setup
Step 1: Create an Etsy developer account
- Go to
developers.etsy.comand sign in with your Etsy seller account - Click Create App under My Apps
- Name your app (e.g., "Odoo Integration") and describe its purpose
- Accept the Etsy API Terms of Service
- Etsy will review your application (typically 1-3 business days)
Step 2: Configure OAuth scopes
Your app needs the following OAuth 2.0 scopes:
listings_r — Read active listings
listings_w — Create/edit listings
listings_d — Delete listings
transactions_r — Read orders and transactions
transactions_w — Update order status
shops_r — Read shop data
billing_r — Read payment and billing data
Step 3: Generate API credentials
After approval:
- API Key (Keystring): your application identifier
- Shared Secret: used for OAuth PKCE flow
- Redirect URI:
https://your-odoo.com/etsy/oauth/callback
Step 4: Complete OAuth authorization
From the connector configuration in Odoo:
- Click Connect Etsy Shop
- Authorize the connector in the Etsy OAuth popup
- The connector receives and stores your access token and refresh token
Etsy's OAuth tokens do not expire with a fixed time limit (unlike Amazon's 18-month refresh tokens). They remain valid until you revoke them.
Connector Installation and Configuration
Install from ECOSIRE marketplace:
Available at ECOSIRE Products. After purchase:
- Upload and install the Etsy Connector module via Apps
- Navigate to Inventory → Etsy or Sales → Etsy Shops
Shop configuration:
| Field | Description |
|---|---|
| Shop Name | Your Etsy shop name (display only) |
| Shop ID | Etsy's numeric shop ID (auto-populated) |
| API Key | From Etsy developer console |
| Access Token | Auto-populated after OAuth |
| Refresh Token | Auto-populated after OAuth |
| Default Warehouse | Stock location for Etsy orders |
| Currency | Shop currency (USD, EUR, GBP, etc.) |
| Default Payment Journal | Etsy Payments journal |
| Order Prefix | e.g., "ETY-" |
| Auto-confirm Orders | Yes/No |
Etsy shop sections mapping:
Etsy organizes listings into shop sections (equivalent to categories). Map Etsy sections to Odoo product categories:
| Etsy Shop Section | Odoo Category |
|---|---|
| "Necklaces" | Jewelry → Necklaces |
| "Custom Orders" | Custom Products |
| "Gift Sets" | Gift & Bundles |
Listing Management
Creating Etsy listings from Odoo products:
- Open a product form → Etsy tab → Create Listing
- Configure listing-specific fields:
- Title: 140 characters max, keyword-rich for Etsy SEO
- Description: full description with materials, dimensions, care instructions
- Tags: up to 13 tags, critical for Etsy search algorithm
- Category: browse Etsy's taxonomy tree
- Who Made It: I Did, A Member of My Shop, Someone Else
- When Made: Made to Order, 2020–2025, 2010–2019, etc.
- Type: Physical Item, Digital Download
- Price: listing price (can differ from Odoo's list price)
- Quantity: available inventory to list
- Materials: up to 13 material tags
- Photos: up to 10 photos (first image becomes main listing image)
- Click Publish to Etsy
Variation listings (product variants):
Etsy supports "variations" — Odoo maps these to product attributes:
| Odoo Attribute | Etsy Variation |
|---|---|
| Color | Primary color |
| Size | Size |
| Material | Material |
| Custom text | Personalization (text input) |
Example: A ring sold in Gold/Silver with sizes 5-10 creates a single Etsy listing with 12 variation combinations, each with its own price and stock tracking.
Personalized and custom order listings:
Etsy is famous for personalized items. Configure personalization in the connector:
- Enable Personalization Required/Optional on the listing
- Buyer enters personalization text (name, date, monogram) at checkout
- This text appears in the Odoo sale order's customer notes field
- Production team sees the customization when making the item
Order Synchronization
Order import details:
Etsy orders include fields critical for handmade sellers:
| Etsy Order Field | Odoo Field | Notes |
|---|---|---|
| Buyer name | Customer name | Creates res.partner if new |
| Shipping address | Delivery address | |
| Customer email | ||
| Item(s) purchased | Sale order lines | With product variant |
| Personalization | Customer notes | On sale order line |
| Gift message | Internal note | |
| Gift wrapping | Service line item | If configured |
| Shipping method | Delivery carrier | |
| Item total | Price subtotal | |
| Shipping paid | Shipping line | |
| Etsy transaction fee | For reconciliation |
Order routing for make-to-order:
Etsy sellers often make items after receiving an order (MTO). Configure the connector:
- In product settings → Sales tab → On Demand: "Made to Order"
- When a Etsy order imports, Odoo creates:
- Sale order (confirmed)
- Manufacturing order (draft) linked to the sale
- The manufacturing order shows materials needed and labor time
- Production team works through the manufacturing order
- When MO is done, goods arrive in stock → delivery is confirmed
- Shipment details sent back to Etsy
Custom order handling:
For custom commissions (not listed on Etsy):
- Accept the custom order in Etsy
- In Odoo, create a "Custom Product" sale order manually with agreed price
- Link to the Etsy conversation in order notes
- Mark as shipped in Etsy manually or via the connector's custom order tool
Inventory Synchronization
For physical products:
Inventory sync runs every 5 minutes by default. When Odoo stock changes:
- Available quantity recalculated (on-hand minus reserved)
- Quantity pushed to Etsy via Listing Inventory API
- If quantity reaches 0: listing set to sold out (keeps listing active)
- When restocked: listing reactivated automatically
For made-to-order products:
MTO products don't track physical inventory in the traditional sense. Configure Etsy listing quantity as a production capacity indicator:
- Set a fixed "available quantity" (e.g., 5) representing current order capacity
- Manually adjust as your production queue fills
For digital downloads:
Digital products have infinite inventory. The connector sets Etsy quantity to 999 and never syncs inventory changes. Digital file delivery is handled by Etsy's native digital download system — the connector doesn't touch file delivery.
Financial Reconciliation
Etsy's payment processing and fee structure requires careful accounting setup.
Etsy Payments fee structure (for reference):
- Listing fee: $0.20 per listing (charged when listed and every 4 months on auto-renew)
- Transaction fee: 6.5% of item price + shipping
- Payment processing fee: 3% + $0.25 per transaction (US)
- Offsite Ads fee: 12-15% when Etsy advertises your item (if enrolled)
Setting up fee reconciliation in Odoo:
-
Create a dedicated Etsy Payments journal (Bank type)
-
Create accounts:
Etsy Listing Fees(expense)Etsy Transaction Fees(expense)Etsy Payment Processing Fees(expense)Etsy Payments Receivable(current asset)
-
Import Etsy payment statements:
- Navigate to Etsy → Payments → Monthly Statement → Download CSV
- Import into the connector's reconciliation tool
- The connector creates journal entries for each transaction type
Month-end reconciliation process:
- Download Etsy monthly payment CSV
- Import via connector: Etsy → Reconciliation → Import Statement
- Review auto-matched entries
- Manually match any unrecognized transactions
- Confirm reconciliation → journal entries posted in Odoo
- Reconcile Etsy Payments bank account against Odoo balance
Etsy SEO and Performance Tracking
Listing performance sync:
The connector imports Etsy shop stats to Odoo:
- Views per listing per day
- Favorites count
- Conversion rate (views to sales)
- Revenue by listing
This data appears in the Etsy analytics dashboard in Odoo, allowing you to identify top performers and underperforming listings without switching to Etsy's stats interface.
Tag and keyword tracking:
Track which search terms drive Etsy traffic by pulling stats from Etsy's Shop Stats API. Use this data to:
- Identify high-converting tags to add to similar listings
- Find listings with high views but low conversion (pricing or photo issues)
- Spot seasonal trends in your product category
Frequently Asked Questions
Can the connector handle Etsy's Pattern (custom website) in addition to the Etsy marketplace?
No. The connector integrates with the Etsy marketplace specifically. Etsy Pattern (their hosted website builder) shares the same inventory but uses separate checkout and payment processing. Pattern orders would need to be managed separately. For a full-featured website integration, Odoo's website module or a Shopify integration is recommended.
How does the connector handle Etsy's reserve for transactions (Etsy payment holds)?
Etsy sometimes places a reserve on new seller payments for risk management. The connector tracks the payment status of each order. Reserved amounts appear in the Etsy Payments balance but are not available for withdrawal. The connector marks these invoices as "pending payment" until the reserve is released, then updates to "paid" when funds are released to your bank.
Can I manage multiple Etsy shops (e.g., one for jewelry, one for home decor) from one Odoo instance?
Yes. Create separate Etsy shop configurations with independent OAuth credentials for each shop. Each shop has its own order import, inventory allocation, and payment reconciliation settings. Products can be listed on multiple shops with shop-specific pricing overrides.
Does the connector support Etsy's wholesale/B2B functionality?
Etsy does not have a native wholesale/B2B program. If you use Etsy for wholesale inquiries but handle the actual transaction offline, the connector handles it the same as any custom order — you'd create the Odoo sale order manually with agreed pricing and fulfill through your standard process.
How does the connector handle international Etsy sales and VAT/GST requirements?
Etsy collects and remits VAT/GST on behalf of sellers for buyers in the EU, UK, Australia, and other jurisdictions where Etsy acts as marketplace facilitator. The connector imports these orders with $0 tax (since Etsy collected it). For markets where you're responsible for collecting tax, configure appropriate fiscal positions in Odoo based on the buyer's country.
Next Steps
The ECOSIRE Etsy Connector transforms Etsy from a standalone marketplace into a fully integrated sales channel within Odoo 19 Enterprise. For handmade businesses scaling beyond basic shop management, this integration delivers the operational backbone for sustainable growth.
Get the ECOSIRE Etsy Connector for Odoo 19 →
The connector includes setup documentation, import tools for historical order data, and implementation support to get your Etsy shop integrated with Odoo quickly and correctly.
Written by
ECOSIRE Research and Development Team
Building enterprise-grade digital products at ECOSIRE. Sharing insights on Odoo integrations, e-commerce automation, and AI-powered business solutions.
Related Articles
Odoo Accounting vs QuickBooks: Detailed Comparison 2026
In-depth 2026 comparison of Odoo Accounting vs QuickBooks covering features, pricing, integrations, scalability, and which platform fits your business needs.
Case Study: eCommerce Migration to Shopify with Odoo Backend
How a fashion retailer migrated from WooCommerce to Shopify and connected it to Odoo ERP, cutting order fulfillment time by 71% and growing revenue 43%.
Case Study: Manufacturing ERP Implementation with Odoo 19
How a Pakistani auto-parts manufacturer cut order processing time by 68% and reduced inventory variance to under 2% with ECOSIRE's Odoo 19 implementation.