Trendyol Store Management
The ECOSIRE Trendyol Store Management module connects your Trendyol seller account to Odoo ERP. Trendyol is the largest e-commerce marketplace in Turkey and also operates across the Gulf, Europe and CEE regions.
Compatibility: Odoo 17 / 18 / 19 (Community and Enterprise) Price: 349 USD (one-time, per Odoo version) Version: 2.4.0 (17.0 / 18.0 / 19.0) — this is the build you download today. Where a section below is marked from 2.5.0, that release is being rolled out and is not yet on the download page. Arabic Support: Full RTL translation for Saudi Arabia
For installation, licence activation and connection settings, see the Trendyol Store Management setup guide.
What Makes This Premium
| Feature | Basic | ECOSIRE Premium |
|---|---|---|
| Products sync | Yes | Yes + batch |
| Orders import/export | Yes | Yes + tracking, invoice, cancel |
| Claims and Returns | No | Full lifecycle |
| Customer Q and A | No | Answer from Odoo |
| Financial Settlements | No | Commission breakdown |
| Webhooks | No | CRUD management |
| Arabic translation | No | 169+ strings + RTL |
Key Features
Core Integration
- HTTP Basic Auth API integration
- Bidirectional product sync (listings, variants, images, prices)
- Automatic order import with customer extraction
- Real-time inventory sync (batch up to 1,000 items)
- Category and brand mapping to Trendyol taxonomy
Premium: Claims and Returns
- Import claims with automatic status mapping
- Approve claim items directly from Odoo (API call)
- Create issues on claims with seller notes
- Classification: Return, Damage, Missing Item, Wrong Item
- Auto sync every 30 minutes
Premium: Customer Q and A
- Import questions with product context
- Post answers directly from Odoo
- Track: Waiting, Answered, Rejected
Premium: Financial Settlements
- Full breakdown: gross, commission, shipping, net amount
- Status: Pending, Completed, Cancelled
- Monthly grouping for reconciliation
Premium: Order Operations
- Update tracking numbers on shipment packages
- Send invoice links to Trendyol
- Cancel/unsupply items, split packages
Premium: Webhooks and Shipping
- Webhook CRUD with auth types
- Cargo providers and address management
Arabic RTL Support
- All menus, fields, statuses translated
- Dashboard fully translated
- 169+ strings for Saudi Arabia market
Prerequisites
- Odoo 17, 18, or 19
- Active ECOSIRE license
- Trendyol seller account with API access
- API Key, API Secret, and Supplier ID
Installation
- Download from ECOSIRE Dashboard
- Extract to Odoo addons directory
- Restart Odoo service
- Apps > Update Apps List > Install ECOSIRE Trendyol Store Management
- Enter ECOSIRE license key
Configuration
Step 1: Trendyol API Credentials
- Login to Trendyol Seller Center
- Go to Hesabim > Entegrasyon Bilgileri
- Note your Supplier ID, generate API Key and Secret
Supplier ID is in your Seller Center URL: partner.trendyol.com/account/seller/{ID}/...
Step 2: Connect in Odoo
- Trendyol > Configuration > Instances > New
- Enter Instance Name, Supplier ID, API Key, API Secret
- Click Test Connection
Step 3: Sync Settings
- Products: Matched by SKU > Barcode > Name
- Inventory: Set Default Warehouse and Stock Field
- Orders: imported orders arrive as quotations for review. See How imported orders arrive before switching any automation on.
Menu Structure
| Menu | Description |
|---|---|
| Dashboard | KPIs, charts, activity feed, quick actions |
| Orders | Imported orders with status mapping |
| Refunds | Refund records linked to orders |
| Claims | Claims and returns (Premium) |
| Products | Product mappings Trendyol-Odoo |
| Customers | Extracted from order addresses |
| Questions | Customer Q and A (Premium) |
| Payouts | Payout reports and transactions |
| Settlements | Financial settlements (Premium) |
| Analytics | Sales analytics and metrics |
| Operations | Sync wizard, queue jobs, logs |
| Configuration | Instances, locations, gateways, crons, webhooks |
Dashboard
KPI Cards (6)
| Card | Description |
|---|---|
| Total Revenue | Order values with period delta |
| Orders | Count with trend indicator |
| Customers | Count with new customer badge |
| Products | Count with out-of-stock warning |
| Avg. Order Value | Revenue/Orders with delta |
| Sync Health | Success rate with progress bar |
Charts and Features
- Sales Trend line chart and Order Status doughnut chart
- Period filters: Today, 7D, 30D, 90D, Year, Custom
- Quick actions: Products, Orders, Customers, Queue, Logs, Settings
- Status footer: Queue Jobs, Errors, Out of Stock, Sync Rate
- Auto-refresh 60s, dark mode, Arabic translation
What the connector talks to
The module implements the parts of the Trendyol Seller API listed below. Anything not listed is not implemented — we would rather you know that before you buy than discover it afterwards.
| Area | What works |
|---|---|
| Products | Import the catalogue, create and update listings, push prices and stock, read batch status |
| Categories and brands | Read categories, brands and category attributes for mapping |
| Orders | Import orders with their lines, buyer and address; the buyer becomes an Odoo contact |
| Shipment packages | Acknowledge a package, mark delivery complete, push a tracking number, send an invoice link |
| Claims and returns | Import claims and their lines; approve claim items from Odoo |
| Customer questions | Import questions and post answers from Odoo |
| Settlements and payouts | Import settlement and payout records with commission and shipping breakdown |
Not implemented today: rejecting a claim, cancelling or splitting a package, webhook registration, the cargo-provider directory, promotions, advertising, product reviews, and Trendyol's dedicated analytics endpoints. The module's own analytics are calculated in Odoo from the data it has imported.
Auth: HTTP Basic (base64 api_key:api_secret), User-Agent required.
Rate limit: roughly 50 requests/second; the module backs off and retries on
a 429 with Retry-After.
Scheduled Actions (15 cron jobs)
| Job | Interval |
|---|---|
| Sync Products | 30 min |
| Sync Orders | 15 min |
| Sync Customers | 60 min |
| Sync Inventory | 10 min |
| Process Queue | 5 min |
| Import Payouts | 6 hours |
| Import Refunds | 30 min |
| Import Claims | 30 min |
| Import Questions | 60 min |
| Risk Detection | 30 min |
| Generate Analytics | 4 hours |
| Webhook Health | 60 min |
| Cleanup Logs | 24 hours |
| Process Workflows | 10 min |
| Daily Summary | 1 day |
How imported orders arrive
An imported Trendyol order is created in Odoo as a quotation (Sale Order in
the Quotation state). Nothing is confirmed, invoiced or delivered on your
behalf. That is deliberate: you review the order, then confirm it when you are
ready.
If you see a Trendyol order already confirmed, one of these is why:
| Reason | What to check |
|---|---|
| Auto Complete Deliveries is on | Trendyol > Configuration > your store. When the marketplace reports a package Shipped or Delivered, the connector confirms the order and validates its delivery so stock decrements without manual clicks. It only reacts to a status change seen after you switched it on — orders that were already shipped at first import are never validated retroactively, because their goods left the warehouse long ago. |
| Auto Confirm Orders is on (from 2.5.0, rolling out) | Same screen. Confirms each newly imported order. Auto Create Invoice and Auto Validate Invoice sit under it and do nothing unless Auto Confirm is also on. |
| Somebody confirmed it | Check the order's chatter. Orders your own team creates by hand are not Trendyol orders at all — a Trendyol order always carries a Trendyol-<order number> customer reference. |
In releases up to 2.4.0 the three Auto Confirm / Auto Create Invoice /
Auto Validate Invoice switches were present on the form but not yet wired, so
turning them on had no effect. Auto Complete Deliveries has always worked.
To keep every order under review, leave all four switches off.
Deleting test orders
During a trial you will usually want to clear the orders you imported while testing.
From 2.5.0 (rolling out — see the version note at the top) you can delete an imported Trendyol order like any other sale order. The connector keeps a small link record joining the Odoo order to the Trendyol order; that link is removed together with the order. If the order still exists on Trendyol, the next sync simply imports it again — so delete only what you no longer want to see, or disconnect the store first.
Deleting was blocked. Odoo answered "trendyol.order references this record via odoo_order_id" and offered only to archive, because the link record held the order in place. If you are on an older build, cancel or archive the test orders instead, or upgrade to 2.5.0 and delete them normally.
Deleting an order does not delete the customer — the same buyer may have other orders that still need the contact.
Security
7 access groups: User (read-only), Manager, Administrator, Developer, Finance, Operations, Analytics. All models include multi-company record rules for data isolation.
Troubleshooting
| Issue | Solution |
|---|---|
| Connection failed | Verify API key, secret, supplier ID |
| 401 Unauthorized | Regenerate credentials in Seller Center |
| 429 Rate limit | Module auto-retries; reduce sync frequency |
| Products not approved | Check data in Seller Center |
| Claims not syncing | Verify cron is active; check Logs |
| Arabic not showing | Set user language to Arabic; refresh |
| Cannot delete a test order | Up to 2.4.0 the sync link blocked deletion — archive instead, or upgrade to 2.5.0. See Deleting test orders |
| Order arrived already confirmed | Check Auto Complete Deliveries on the store, and confirm it is a Trendyol order at all. See How imported orders arrive |
| Same buyer appears twice | Fixed in 2.5.0 — one buyer resolves to one customer record whichever sync sees them first |
| License not active | Settings > ECOSIRE License |
Changelog
v2.5.0 -- order cleanup and working automation switches (rolling out)
- Imported orders can now be deleted, not only archived; the sync link is removed with the order
Auto Confirm Orders,Auto Create InvoiceandAuto Validate Invoiceare now read on first import (all still default off)- One buyer resolves to one customer record whichever sync sees them first
v2.4.0 -- Gulf and international storefronts
- International (Gulf / Europe / CEE) product payloads carry no
id; identifiers now resolve through a chain so catalogues no longer collapse onto one record - Settlement import fixed (epoch dates, store currency)
- Shipment package actions: acknowledge, complete delivery, push tracking number, send invoice link
v2.0.0 (2026-03-28) -- Premium Upgrade
- 26 new API endpoints (claims, Q and A, settlements, webhooks, shipping)
- New models: Claims, Customer Questions, Settlements
- Arabic translation (169+ strings + RTL dashboard)
- Enhanced orders: tracking, invoice links, cancel, split
- Published to GitHub: 19.0, 18.0, 17.0, main
v1.0.0 (2026-03-26) -- Initial Release
- Core API (products, orders, inventory)
- OWL 2 dashboard with Chart.js