Skip to content

How to Connect eBay to Odoo: Marketplace Integration Guide

DeployMonkey Team · March 23, 2026 11 min read

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

  1. Go to developer.ebay.com and sign up
  2. Create an application (set environment to Production)
  3. Note your App ID (Client ID), Dev ID, and Cert ID (Client Secret)
  4. Generate a User Token by linking your eBay seller account to the app
  5. 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:

  1. Search the Odoo Apps Store for eBay integration modules
  2. Look for modules that support eBay's REST API (not the legacy Trading API which is being deprecated)
  3. Verify the module supports eBay's managed payments (not legacy PayPal)
  4. Install and configure with your API credentials

Step 3: Map Products

Link Odoo products to eBay listings:

Odoo FieldeBay FieldNotes
Internal Reference (SKU)Custom Label (SKU)Primary matching key
Product NameTitleeBay titles can be up to 80 characters
Sale PriceBuy It Now PriceUse an eBay-specific pricelist
Quantity On HandQuantity AvailableSubtract safety stock
Product DescriptionItem DescriptioneBay uses HTML — match formatting
Barcode (EAN/UPC)Product IdentifierRequired for most categories

Step 4: Configure Order Import

  1. Set the import frequency (every 15-30 minutes)
  2. 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
  1. Configure the eBay sales team and warehouse
  2. 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 - buffer to 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:

  1. Create an eBay Managed Payments journal in Odoo Accounting
  2. When eBay sends a payout, create a bank statement entry
  3. Match the payout against the sale orders imported during that period
  4. 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.