Odoo eBay Connector: Listing, Orders, and Inventory Sync

Set up the Odoo eBay Connector for Odoo 19. Manage listings, automate order sync, synchronize inventory, handle returns, and manage multi-store eBay accounts from Odoo.

E
ECOSIRE Research and Development Team
|March 19, 202610 min read2.1k Words|

Part of our eCommerce Integration series

Read the complete guide

Odoo eBay Connector: Listing, Orders, and Inventory Sync

eBay remains one of the world's largest marketplaces with 132 million active buyers globally. For sellers who use both eBay and Odoo 19 Enterprise, managing two separate systems for orders, inventory, and customer data is inefficient and error-prone. The ECOSIRE Odoo eBay Connector synchronizes your eBay store with Odoo, automating the entire selling workflow from listing creation to order fulfillment and post-sale accounting.

This guide covers everything from eBay API credential setup through listing management, order automation, inventory synchronization, return handling, and seller performance monitoring.

Key Takeaways

  • Connector uses eBay REST APIs and OAuth 2.0 for authentication
  • Supports eBay Motors, eBay Business & Industrial, and consumer categories
  • Fixed Price and Auction listings are both supported (order import only for auctions)
  • Inventory sync updates eBay quantities within 10 minutes of Odoo stock changes
  • eBay's Out-of-Stock (OOS) setting is managed automatically when quantity reaches 0
  • Order import includes buyer details, shipping requirements, and eBay checkout amounts
  • Returns and eBay Money Back Guarantee cases sync to Odoo RMA workflow
  • Multi-store support: manage multiple eBay seller accounts from one Odoo instance

eBay API Setup and Authorization

The connector uses eBay's REST API suite, replacing the older Trading API for most operations.

Step 1: Create an eBay developer account

  1. Register at developer.ebay.com
  2. Create a new application under My Account → Application Keysets
  3. Note your App ID (Client ID), Dev ID, and Cert ID (Client Secret)
  4. Generate a RuName (eBay Redirect URL Name) for OAuth flow

Step 2: Configure OAuth scopes

Your application needs the following OAuth scopes:

https://api.ebay.com/oauth/api_scope
https://api.ebay.com/oauth/api_scope/sell.inventory
https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
https://api.ebay.com/oauth/api_scope/sell.fulfillment
https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
https://api.ebay.com/oauth/api_scope/sell.account
https://api.ebay.com/oauth/api_scope/sell.account.readonly
https://api.ebay.com/oauth/api_scope/commerce.identity.readonly

Step 3: Generate user tokens

OAuth 2.0 user tokens (not application tokens) are required for seller operations:

  1. In the connector configuration, click Authorize with eBay
  2. Complete the eBay OAuth consent flow
  3. The connector stores the access token and refresh token automatically
  4. Tokens expire after 18 months; the connector auto-refreshes using the refresh token

Sandbox vs. Production

Always test with eBay's sandbox environment first:

  • Sandbox API: api.sandbox.ebay.com
  • Sandbox credentials are different from production credentials
  • Create sandbox seller and buyer accounts at developer.ebay.com/sandbox

Connector Installation and Configuration

Install from ECOSIRE marketplace:

  1. Purchase the eBay Connector module from ECOSIRE Products
  2. Install via Apps → Update Apps List → search "eBay Connector" → Install
  3. Navigate to Inventory → Configuration → eBay Stores or Sales → eBay

Store configuration:

FieldDescription
Store NameDisplay name for this eBay account
MarketplaceeBay.com, eBay.co.uk, eBay.de, etc.
App ID (Client ID)From eBay Developer Console
Client SecretFrom eBay Developer Console
Access TokenAuto-populated after OAuth flow
Refresh TokenAuto-populated after OAuth flow
Default WarehouseWhere eBay orders are fulfilled
Default Payment JournaleBay Payments / PayPal journal
Shipping Policy IDeBay Shipping Policy to apply to listings
Return Policy IDeBay Return Policy for listings
Payment Policy IDeBay Payment Policy for listings

Fulfillment Policies:

Before listing, configure eBay fulfillment policies in Seller Hub:

  • Shipping policy: carriers, estimated delivery time, handling time
  • Return policy: 30-day returns, restocking fee
  • Payment policy: eBay-managed payments required since 2021

The connector references these by policy ID. Link them in the store settings.


Listing Management

The connector supports creating and managing Fixed Price listings directly from Odoo product records.

Creating a listing from an Odoo product:

  1. Open the product form → eBay tab
  2. Click List on eBay
  3. Configure listing fields:
    • Title: up to 80 characters, auto-populated from product name
    • Category: select eBay category (search by keyword or ID)
    • Condition: New, Used, For Parts/Not Working, etc.
    • Price: uses product pricelist or override price
    • Quantity: available stock or custom quantity
    • Duration: GTC (Good 'Til Cancelled) recommended for Fixed Price
    • Item Specifics: eBay required attributes for the category
  4. Click Publish to eBay

Listing templates:

For sellers with many products in the same category, create listing templates:

  • Navigate to eBay → Templates → Create Template
  • Configure shared fields: category, shipping, return policy, item specifics
  • Apply templates to multiple products simultaneously

Bulk listing:

For catalogs with 100+ products:

  1. Export product list to CSV with required eBay fields
  2. Use the bulk import in eBay → Bulk Listing → Upload CSV
  3. Review and publish in batch

Listing synchronization:

Changes made in Odoo sync to eBay:

  • Price changes → eBay price updated within 15 minutes
  • Product description changes → eBay listing updated on next sync
  • Images changes → eBay images updated (requires re-listing for some changes)

eBay category item specifics:

eBay requires category-specific attributes (e.g., Brand, Size, Color for clothing). The connector maps Odoo product attributes to eBay item specifics:

Odoo AttributeeBay Item Specific
BrandBrand
Size (attribute)Size
Color (attribute)Color
MPNMPN (Manufacturer Part Number)
EAN / BarcodeEAN

Order Synchronization

Order import process:

Orders flow from eBay to Odoo automatically:

  1. Buyer places order on eBay and completes checkout
  2. eBay creates an order in "Awaiting Shipment" status
  3. Connector polls eBay Orders API every 15 minutes (configurable)
  4. Odoo creates a sale.order with buyer details from eBay
  5. Delivery order is created automatically
  6. Warehouse fulfills the order and validates the delivery
  7. Connector sends tracking number back to eBay
  8. eBay marks order as "Shipped"

Order data mapping:

eBay FieldOdoo Field
Buyer usernameCustomer Name / Partner
Shipping addressDelivery address on sale order
eBay Order IDOrder Reference (with prefix)
Line itemsSale order lines
Item priceUnit price
Shipping amountDelivery cost line
eBay feesInfo only (for reconciliation)
Payment statusPayment state on order

Sending tracking information:

When you validate a delivery in Odoo and enter a tracking number:

  1. The connector detects the tracking number on the stock.picking
  2. It calls eBay's Order Fulfillment API to add tracking
  3. The buyer receives an eBay notification with tracking details
  4. eBay updates the order status to "Shipped"

Supported carriers for automatic tracking updates: USPS, UPS, FedEx, DHL, Royal Mail, Deutsche Post, and 100+ others via eBay's carrier code list.


Inventory Synchronization

Accurate inventory prevents eBay "Defect" metrics from out-of-stock situations.

Inventory sync mechanism:

The connector uses eBay's Inventory API with the following logic:

eBay Quantity = Odoo On-Hand - Safety Stock Buffer - Odoo Reserved Quantity

When inventory syncs:

  • After every confirmed delivery order (immediate)
  • After every validated receipt (immediate)
  • Scheduled full sync every 30 minutes
  • Manual sync available at any time

Out-of-stock handling:

Configure what happens when quantity reaches 0:

  • Option A: OOS mode (Odoo Recommendation): keep listing active with 0 quantity using eBay's Out of Stock option — listing maintains its history and reviews
  • Option B: End listing: remove listing from eBay when stock hits 0 and relist when restocked
  • Option C: Set minimum: set a minimum quantity (e.g., 1) and go to 0 in Odoo only when OOS minimum is triggered

Ending and relisting frequently hurts eBay search placement. OOS mode is recommended.

Multi-location inventory:

If fulfilling from multiple warehouses:

  • Set a primary warehouse for eBay in the store settings
  • Or aggregate inventory across multiple warehouses
  • Configure per product if some SKUs ship from specific locations

Return and Refund Handling

eBay's Money Back Guarantee means sellers must accept returns. The connector handles the return workflow in Odoo.

Return sync workflow:

  1. Buyer opens a return request in eBay
  2. Connector imports the return case to Odoo as an RMA (Return Merchandise Authorization)
  3. Operations team reviews the return reason in Odoo
  4. If accepted: generate a return shipping label (if providing prepaid labels)
  5. Buyer ships item back
  6. Receive returned goods in Odoo → validate receipt
  7. Process refund: create a credit note in Odoo → connector triggers eBay refund

Return case statuses tracked:

eBay StatusOdoo RMA Status
Return OpenedRMA Created
Awaiting Seller ResponseRMA Under Review
Return Label SentLabel Provided
Item ReceivedReturn Received
Refund IssuedCredit Note Posted
Case Closed (No Refund)RMA Cancelled

eBay Seller Performance Monitoring

eBay evaluates sellers on metrics that directly impact listing visibility. Monitor them in Odoo:

Key eBay seller metrics:

MetriceBay ThresholdCritical Below
Transaction Defect Rate< 2%< 0.5% for Top Rated
Cases Closed Without Resolution< 0.3%< 0.3%
Late Shipment Rate< 5%< 3% for Top Rated
Tracking Uploaded On Time> 95%> 95% for Top Rated

Performance dashboard in Odoo:

Navigate to eBay → Performance to see:

  • Orders by status over the past 30 days
  • Late shipments (orders shipped after handling time)
  • Return rate by category
  • Defects summary with order IDs
  • Projected seller level for next evaluation

Pricing and Promotions

Automated pricing rules:

Configure dynamic eBay pricing based on Odoo cost data:

eBay Price = Product Cost × (1 + Target Margin %) + eBay Fee Buffer

Example: If cost is $10, target margin is 40%, and eBay fees are typically 12.5%:

eBay Price = $10 × 1.40 / (1 - 0.125) = $16.00

Markdown promotions:

The connector supports eBay Promotions Manager integration:

  • Create sales in Odoo → connector creates corresponding eBay promotions
  • Flash sales, order discounts, and shipping promotions
  • Scheduled promotions: start and end dates configured in Odoo

Frequently Asked Questions

Does the connector support eBay auction listings?

The connector imports orders from auction listings just like fixed-price listings. However, creating and managing auction listings (setting start price, reserve price, duration) via the connector is limited — auctions are best managed directly in eBay Seller Hub. The connector's primary listing management capability is for Fixed Price / GTC listings.

How does the connector handle eBay Managed Payments (eBay's payment processing)?

Since 2021, eBay processes all payments through eBay-managed payments. The connector imports order totals including eBay's checkout price (item price + shipping). eBay remits net proceeds (after fees) to your bank account. The connector supports importing eBay payout reports for reconciliation, automatically creating journal entries that account for eBay fees deducted from payouts.

Can I sync products from Odoo to multiple eBay stores (different seller accounts)?

Yes. Create multiple eBay store configurations, each with its own OAuth credentials. Products can be listed on multiple stores simultaneously with store-specific pricing overrides. Inventory is tracked globally in Odoo and allocated to each store's listings based on configured rules.

What happens to my eBay listing history (reviews, sales count) when I update a listing?

Standard listing updates (price, quantity, description, images) preserve listing history and sales count. Actions that reset history: ending and relisting, changing the eBay category for some categories. The connector uses the eBay Inventory API's "update offer" endpoint for routine changes, which preserves history.

How does the connector handle international eBay sales and customs requirements?

For cross-border sales through eBay International Shipping or GSP (Global Shipping Program), the connector marks the sale order with the buyer's country. You configure appropriate fiscal positions and tax treatment in Odoo for international sales. GSP orders ship to eBay's domestic fulfillment center; customs documentation is handled by eBay's GSP program, not by your operations.


Next Steps

Managing eBay operations through Odoo eliminates manual data entry, prevents inventory errors, and gives you a single source of truth for all sales channels. The ECOSIRE eBay Connector is built for Odoo 19 Enterprise and includes full support for eBay's latest REST APIs.

Get the ECOSIRE eBay Connector for Odoo 19 →

Every purchase includes the module license, setup documentation, and access to our implementation support team to get your eBay-Odoo sync running smoothly from the first day.

E

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.

Chat on WhatsApp