Skip to main content

Trendyol Store Management

Trendyol Store Management connects a Trendyol seller account to Odoo. This page is the installation and configuration guide for the module you downloaded from your ECOSIRE dashboard. Everything below describes the trendyol_store_management module as it ships today.

Technical nametrendyol_store_management
Odoo versions17.0, 18.0, 19.0 (Community or Enterprise)
Current shipped version17.0 → 17.0.2.7.1, 18.0 → 18.0.2.7.1, 19.0 → 19.0.2.7.1
Price$1,499 USD — one-time, per Odoo version
Odoo module licenceOPL-1
CategoryConnector
What changed in 2.7.1

Dashboard and sync endpoints now respect company boundaries.

  • Company boundaries. In a database with more than one company, the dashboard and the status and sync endpoints could reach the Trendyol connection, orders and sync activity of another company. They now work only with the connections of the companies you are currently working in (the company switcher), and a connection of another company is refused without returning anything about it. We recommend every multi-company installation upgrades.
  • Only Trendyol Managers start a sync. Starting a sync from the dashboard, the Sync buttons or the sync endpoint now requires the Trendyol Manager group. Trendyol Users keep their read access. Scheduled syncs are unaffected.
  • Workflow buttons check who presses them. Buttons that change a record's state (refunds, payouts, risk reviews, carriers, workflows, sync topics, analytics, claims and the connection test) need the Trendyol Manager group, or the group that owns those records (Operations for carriers, Finance for payouts, Analytics for analytics).
  • Product V2. Product import, stock import and product updates use Trendyol's Product V2 services, ahead of the retirement of the old product services on 15 October 2026. Products imported before keep their link.
  • Order buttons reach Trendyol. Acknowledge to Trendyol, Push Tracking No. and Send Invoice Link now use the services Trendyol publishes (see Working with orders).
  • Claim objections work. Object to Claim opens a form with Trendyol's reason list, the claim items, a description and optional evidence files.
  • Webhook registration needs the https address of your own receiving service.
  • Carriers are visible again to Trendyol users; existing databases are corrected on upgrade.
  • 17.0 and 18.0 now ship the same connector as 19.0 (they had stayed on 2.4.x).

Requirements​

RequirementDetail
Odoo17.0, 18.0 or 19.0, Community or Enterprise. Self-hosted or Odoo.sh — Odoo Online (SaaS) cannot install third-party modules
Odoo appsbase, sale_management, stock, account, delivery, mail, web, portal, product, contacts, digest — Odoo installs any that are missing
Python packagesrequests
Platform accountA Trendyol seller/partner account with API access

Install the Python packages into the same interpreter that runs Odoo:

sudo -u odoo pip install requests

Installation​

1. Download the ZIP for your Odoo version​

Sign in at ecosire.com and open your dashboard downloads, or use the ZIP you received from the Odoo App Store.

2. Extract into your addons path​

unzip trendyol_store_management_v19_*.zip -d /opt/odoo/addons/
ls /opt/odoo/addons/trendyol_store_management/__manifest__.py # sanity check

The archive contains a single top-level trendyol_store_management/ directory. If your ls check fails, the module folder ended up one level too deep — move it up so __manifest__.py sits directly inside trendyol_store_management/.

3. Restart Odoo and install​

sudo systemctl restart odoo
  1. Go to Apps and click Update Apps List (developer mode must be on).
  2. Search for Trendyol Store Management and click Install.
  3. Odoo pulls in the Odoo apps listed above automatically.

When the install finishes, a Trendyol menu appears in the main Odoo app switcher.

Licensing​

trendyol_store_management installs and runs standalone on Odoo 17, 18 and 19 -- there is no separate ECOSIRE dependency to install first, no key to enter and nothing to switch on afterward. Your use of the module is governed by the OPL-1 licence.

Configuration​

Connect to Trendyol​

Open Trendyol → Configuration → Instances and create a record (model trendyol.instance). The connection fields are:

LabelTechnical nameRequiredValues
—supplier_idYesText
—api_keyNoText
—api_secretNoText

Where the Label column shows —, the module does not set an explicit label and Odoo derives one from the technical name, so the wording on screen may differ slightly. The technical name is the reliable identifier.

Supplier ID is required — it is your Trendyol seller/supplier number and is part of nearly every API path. API Key and API Secret are the integration credentials issued from the partner panel.

The same record carries 4 behaviour checkboxes — auto_validate_inventory, auto_confirm_order, auto_create_invoice, auto_validate_invoice. They gate what the connector is allowed to do automatically once it is connected. Leave anything you are not ready for switched off, and turn them on one at a time.

Credentials are issued from the Trendyol partner (seller) panel. The connector talks to apigw.trendyol.com/integration (older builds also reference api.trendyol.com/sapigw).

When the fields are filled in, click Test Connection. The record's status moves to connected only when the platform answers successfully — do not run a first import until it does.

Scheduled actions​

The module installs 16 scheduled actions (Settings → Technical → Scheduled Actions):

Scheduled actionRuns everyEnabled on install
Trendyol: Sync Products30 minutesYes
Trendyol: Sync Orders15 minutesYes
Trendyol: Sync Customers60 minutesYes
Trendyol: Sync Inventory10 minutesYes
Trendyol: Process Queue Jobs5 minutesYes
Trendyol: Import Payout Reports6 hoursYes
Trendyol: Import Refunds30 minutesYes
Trendyol: Auto Risk Detection30 minutesYes
Trendyol: Generate Analytics4 hoursYes
Trendyol: Webhook Health Check60 minutesYes
Trendyol: Cleanup Old Logs24 hoursYes
Trendyol: Process Workflows10 minutesYes
Trendyol: Daily Summary Report1 daysYes
Trendyol: Import Claims30 minutesYes
Trendyol: Import Questions60 minutesYes
Trendyol: Import Settlements12 hoursYes

Intervals above are the shipped defaults. Adjust them to your volume — but be aware that the platform, not Odoo, sets the API rate limits, and shortening a sync interval is the usual cause of throttling errors in the logs.

Internal endpoints​

These JSON-RPC endpoints are called by the module's own dashboard and are not part of external integration. They require an authenticated Odoo user session:

EndpointPurpose
/trendyol/api/statusReports connection state and last-sync times
/trendyol/api/syncTriggers a sync from the dashboard
/trendyol/dashboard/dataFeeds the dashboard KPI data

Using the module​

The Trendyol menu is laid out as:

  • Trendyol → Dashboard
  • Trendyol → Orders
  • Trendyol → Refunds
  • Trendyol → Claims
  • Trendyol → Products
  • Trendyol → Customers
  • Trendyol → Questions
  • Trendyol → Payouts
  • Trendyol → Settlements
  • Trendyol → Analytics
  • Trendyol → Operations — Run Operations, Queue Jobs, Logs
  • Trendyol → Configuration — Instances, Locations, Payment Gateways, Scheduled Actions, Webhooks

A normal first run is:

  1. Test Connection until the instance reads connected.
  2. Review the mapping records (categories, order statuses, payment and shipping methods) so imported data lands on the right Odoo records.
  3. Run a small import first — restrict it by date or by a handful of products — and check the results before letting the scheduled actions take over.
  4. Watch the Logs view during the first full sync. Every sync writes a log line; failures are recorded there rather than raised at the user.

Working with orders​

Open an order under Trendyol → Orders. The buttons at the top of the form act on the Trendyol shipment package:

  • Acknowledge to Trendyol — tells Trendyol you are preparing the package (status Picking). The package's current lines are read from Trendyol first, so the update always carries Trendyol's own line ids.
  • Push Tracking No. — only for your own carrier. Trendyol accepts either the carrier's tracking link (https://...) or a phone number; put one of them in the Tracking Number field. A plain tracking number is refused with an explanation, because Trendyol cannot use it. Packages shipped with a Trendyol-contracted carrier already have a Trendyol tracking number and need nothing here.
  • Send Invoice Link — sends the portal link of the order's posted customer invoice to Trendyol. Trendyol requires the link to stay reachable.

Claims (returns)​

Claims import on a schedule under Trendyol → Claims. To dispute a return, open the claim and click Object to Claim, then choose Trendyol's reason, write a short description (500 characters at most), keep or narrow the claim items and attach photos or documents if you have them. The claim is marked rejected in Odoo only after Trendyol accepts the objection. These buttons need the Trendyol Manager group.

Products​

Product import reads Trendyol's approved products (one Odoo mapping per variant barcode) and then your draft products. When you export an existing product, approved listings are updated through Trendyol's content update (title and description) and stock-and-price update; draft listings through the draft update. Trendyol processes these as batch requests, and the batch id is stored on the mapping.

Sync topics and webhooks​

Under Trendyol → Configuration → Webhooks each sync topic is polled on its own interval. A topic can also be set up as a Trendyol webhook. Odoo does not receive pushed events itself, so enter the https:// address of your own receiving service in Delivery URL first, then use the webhook button on the topic.

Run Operations options​

Trendyol → Operations → Run Operations runs one import or export on demand:

  • Import Orders — uses the From / To dates, Specific IDs as order numbers, and Skip Existing Records.
  • Import Products — Specific IDs as barcodes, Skip Existing Records and Import Product Images.
  • Import Payout Report — uses the date range. A payout whose Create Bank Statement option is on creates the statement when it is imported.

Module-specific notes​

  • Supplier ID is required and is embedded in nearly every API path — an otherwise correct key/secret pair will still fail without it.
  • The connector covers claims, questions and settlements as first-class menus in addition to orders and products; each has its own import job.

Troubleshooting​

Syncing​

SymptomCause and fix
Test Connection failsRe-check every required field in the table above. Most failures are a mistyped secret, or credentials created for the sandbox while the connector points at production (or vice-versa).
Nothing syncs even though the connection is fineThe scheduled actions are disabled at the Odoo level, or Odoo's cron worker is not running. Check Settings → Technical → Scheduled Actions and that --max-cron-threads is greater than zero.
Sync starts then stops part-wayRead the Logs view for that run. Rate limiting and rejected field values are the two common causes; both are logged with the platform's own error text.
Records import but map to the wrong Odoo valuesFix the mapping records under the module's configuration, then re-run the import.
Duplicated products or customersRun the initial import once. If a first attempt half-finished, check the existing records before re-running rather than importing on top.

Version history​

Odoo versionVersion you download today
17.017.0.2.7.1
18.018.0.2.7.1
19.019.0.2.7.1

ECOSIRE module versions are <odoo major>.<module major>.<minor>.<patch>, so 19.0.2.0.3 is the Odoo 19 build of module version 2.0.3. Your installed version is shown in Apps.

Support​