Why Connect eBay to Odoo?
eBay sellers managing more than a handful of listings face the same problem: orders come in through eBay, inventory lives in Odoo (or a spreadsheet), and reconciling payments from eBay's managed payments system is a manual headache. An eBay-Odoo integration centralizes your operations — orders flow into Odoo automatically, inventory updates push to eBay to prevent overselling, and financial data syncs for clean bookkeeping.
Integration Features
- Order import: eBay sales automatically create Odoo sale orders
- Product listing: Create and update eBay listings from Odoo
- Inventory sync: Odoo stock levels push to eBay quantity available
- Pricing sync: Update eBay prices from Odoo pricelists
- Payment reconciliation: Map eBay managed payments to Odoo journal entries
Prerequisites
- Odoo 17 or 18 with Sales and Inventory modules
- eBay seller account (Store subscription recommended)
- eBay Developer Program account for API access
- An eBay-Odoo connector module
Step 1: Register for eBay Developer API
- Go to developer.ebay.com and sign up
- Create an application (set environment to Production)
- Note your App ID (Client ID), Dev ID, and Cert ID (Client Secret)
- Generate a User Token by linking your eBay seller account to the app
- The user token grants access to your seller data
Step 2: Install the eBay Connector
Odoo Enterprise does not include a native eBay connector. Options:
- Search the Odoo Apps Store for eBay integration modules
- Look for modules that support eBay's REST API (not the legacy Trading API which is being deprecated)
- Verify the module supports eBay's managed payments (not legacy PayPal)
- Install and configure with your API credentials
Step 3: Map Products
Link Odoo products to eBay listings:
| Odoo Field | eBay Field | Notes |
|---|---|---|
| Internal Reference (SKU) | Custom Label (SKU) | Primary matching key |
| Product Name | Title | eBay titles can be up to 80 characters |
| Sale Price | Buy It Now Price | Use an eBay-specific pricelist |
| Quantity On Hand | Quantity Available | Subtract safety stock |
| Product Description | Item Description | eBay uses HTML — match formatting |
| Barcode (EAN/UPC) | Product Identifier | Required for most categories |
Step 4: Configure Order Import
- Set the import frequency (every 15-30 minutes)
- Map eBay order statuses to Odoo workflow:
# eBay Status → Odoo Action
Paid → Create confirmed sale order
Shipped → Validate delivery order (from Odoo side)
Cancelled → Cancel sale order
Return initiated → Create return order
Refunded → Create credit note- Configure the eBay sales team and warehouse
- Set up tax handling: eBay collects sales tax in most US states (Internet Sales Tax / Marketplace Facilitator). Import these orders as tax-included.
Step 5: Enable Inventory Sync
Prevent overselling by syncing Odoo stock to eBay:
- Configure sync frequency: every 30 minutes minimum (eBay rate limits apply)
- Set a safety buffer: sync
available_qty - bufferto eBay - Handle multi-channel: if selling on eBay + Amazon + Shopify, Odoo is the single source of truth
- For auction-style listings, disable quantity sync (auctions have fixed quantity of 1)
Step 6: Payment Reconciliation
eBay's managed payments system batches payouts every few days. Reconcile in Odoo:
- Create an eBay Managed Payments journal in Odoo Accounting
- When eBay sends a payout, create a bank statement entry
- Match the payout against the sale orders imported during that period
- Account for eBay fees as a separate expense line
eBay-Specific Considerations
- Variation listings: eBay multi-variation items (size/color) map to Odoo product variants
- Best Offer: Accepted best offer prices should update the sale order total
- Promoted listings: Track promoted listing fees separately from standard selling fees
- eBay messages: Buyer messages can be synced to Odoo chatter on the sale order
Troubleshooting
API Token Expired
eBay user tokens expire after 18 months. Refresh tokens last longer but also expire. Set a reminder to regenerate tokens before expiration. Most connectors handle token refresh automatically, but check if yours does.
Orders Not Importing
Verify your API credentials are still valid. Check the connector's sync log for error messages. eBay's API has rate limits — if you hit them, the connector should retry automatically. Also check that the order's payment status is "Paid" — unpaid orders may not import.
Inventory Showing Zero on eBay
Check that the product mapping uses the correct SKU. If Odoo shows stock but eBay shows zero, the sync may be using the wrong warehouse or lot. Verify the inventory sync configuration points to the correct Odoo warehouse.
DeployMonkey eBay Integration
DeployMonkey's AI agent can assist with eBay API setup, product mapping, and inventory sync configuration. Run your eBay-Odoo integration on a reliable cloud-hosted instance with our managed hosting platform.