Skip to main content

Rakuten Store Management

This is the installation and configuration guide for Rakuten Store Management, the module you downloaded from your ECOSIRE dashboard. Everything on this page describes the rakuten_store_management module exactly as it ships today — the facts below were read out of the released build, not from a roadmap.

Technical namerakuten_store_management
Odoo versions17.0, 18.0, 19.0 (Community or Enterprise)
Current shipped version17.0 → 17.0.2.2.4, 18.0 → 18.0.2.2.4, 19.0 → 19.0.2.3.2
Price$499 USD — one-time, per Odoo version
Odoo module licenceOPL-1 (Odoo Proprietary License v1.0)
CategoryConnector

Licensing​

This module is licensed under OPL-1 (Odoo Proprietary License v1.0). It ships complete: no activation key, no registration step, and no companion module to install before it will work. Nothing in the module contacts ECOSIRE at runtime — once installed it runs entirely on your own server.

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, product, contacts — Odoo installs any that are missing
Python packagesrequests
Platform accountA Rakuten Ichiba (Japan) seller account with RMS API access
Platform credentialsYour shop's serviceSecret and RMS licenseKey (from the RMS R-License page)

Install the Python package 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. Each Odoo major version is a separate product, so make sure you download the build that matches the Odoo series you run.

2. Extract into your addons path​

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

The module must end up as a single top-level rakuten_store_management/ directory with __manifest__.py directly inside it. If your ls check fails, the folder landed one level too deep or too shallow — move it so the path above resolves.

3. Restart Odoo and install​

Restart the Odoo service, then go to Apps → Update Apps List, search for Rakuten Store Management, and click Install. There is no licence key to enter and no dependency to download first.

Configuration​

Connect to Rakuten​

Create a connection record under Rakuten → Configuration → Settings. The fields the module defines are:

FieldTechnical nameTypeRequired
Configuration NamenameCharYes
Service Secretservice_secretCharYes
RMS licenseKeylicense_keyCharYes
RegionregionSelectionYes — Japan only
Companycompany_idMany2oneYes
Rakuten URLrakuten_urlCharNo
MarketplacemarketplaceCharNo

service_secret and license_key are the RMS API credential pair — they are not an ECOSIRE licence of any kind. Both are visible only to users in the Rakuten Manager group.

Use Test Connection to verify the pair. The test asks RMS for at most one order number from the last 24 hours: it is read-only, and it proves the key carries the order-API permission the connector actually needs.

The record also carries the sync switches — sync_products, sync_orders, auto_sync_products, auto_sync_orders. Standalone customer and inventory sync are shown as unavailable and cannot be switched on, because RMS provides no buyer-list API and no verified inventory payload mapping.

The module contacts exactly two hosts: api.rms.rakuten.co.jp (the RMS shop API) and openapi.rakuten.co.jp (the public Rakuten Web Service used for genre lookup). Allow outbound HTTPS to both.

Multi-shop​

Every product, order and buyer the connector imports records the configuration it came from, and all matching is scoped to that shop. A merchant running two Rakuten shops therefore keeps two separate catalogues and two separate order lists, even where the two shops happen to use the same item numbers. The dashboard reports one shop at a time.

Currency​

RMS quotes in JPY. If the company's currency is anything else, configure the JPY exchange rate for the dates you are importing (Accounting → Configuration → Currencies) before you sync.

Every amount the connector writes — line prices, shipping, the discount buckets and catalogue prices — is converted into the company currency. When no exchange rate exists for the order date the import fails for that record, with the reason, rather than assuming a 1:1 rate. A failed record does not stop the rest of the batch.

Scheduled actions​

The module installs 4 scheduled actions (Settings → Technical → Scheduled Actions). All of them ship disabled apart from log cleanup, so nothing starts calling Rakuten until you switch it on:

Scheduled actionDefault intervalEnabled on install
rakuten: Sync Products1 hourNo
rakuten: Sync Orders30 minutesNo
rakuten: Test Connection1 dayNo
rakuten: Cleanup Old Logs1 dayYes

The two sync actions only run for a configuration whose auto_sync_products / auto_sync_orders switch is on, so a shop has to be configured before a scheduled sync does anything. Intervals above are the shipped defaults; adjust them to your volume. The platform, not Odoo, sets the API rate limits — RMS allows about one request per second per shop, and the connector enforces that limit client-side.

Using the module​

The menu is:

  • Rakuten → Dashboard
  • Rakuten → Orders
  • Rakuten → Products
  • Rakuten → Customers
  • Rakuten → Operations — Import Wizard, Test Connection, Logs, Reports
  • Rakuten → Configuration — Settings

A normal first run is:

  1. Save the connection record and confirm Test Connection succeeds before importing anything.
  2. Review the mapping records 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 enabling the scheduled actions.
  4. Watch the log records during the first full sync. Per-record failures are recorded there rather than raised at the user, and a run that only partly succeeded is reported as a warning rather than as a success.

Imported products, orders and buyers are shown on the Orders, Products and Customers screens with the marketplace identifiers, the amounts Rakuten reported, the payment and shipping evidence, and the shop they came from — so an order can be reconciled against the RMS order screen without leaving Odoo.

Troubleshooting​

Connection and licensing​

SymptomCause and fix
Credentials rejectedThe serviceSecret/licenseKey pair is wrong, or the key lacks the order-API permission. Re-copy both from the RMS R-License page.
The region will not saveOnly Japan is supported. Rakuten Rewards and the former EU marketplaces use separate APIs this connector does not implement.
The requests library is requiredrequests is missing from Odoo's Python environment. Install it into the interpreter that runs Odoo.
You are looking for an activation stepThere is none. The module is OPL-1 and installs on its own. See Licensing.

Syncing​

SymptomCause and fix
No exchange rate is configured for JPYConfigure the JPY rate for the order dates you are importing, then sync again. The connector refuses to guess a rate.
Nothing syncs even though the connection is fineThe scheduled actions are disabled (they ship disabled), the configuration's auto_sync_* switch is off, 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 module's log records for that run. Rate limiting and rejected field values are the two common causes; both are logged with the platform's own error text. A partly-failed run is reported as a warning and does not advance the Last Sync timestamp.
Records import but map to the wrong Odoo valuesFix the mapping records under the module's configuration, then re-run the import.
A product appears twiceCheck whether one copy came from the catalogue sync and the other from an order. Both paths now resolve the merchant SKU (manageNumber) the same way, so a re-sync updates the existing record.
Last Product Sync has not movedThe last run was not clean. A partial or failed run deliberately leaves the timestamp where it was, so the value always means the last time the catalogue actually came across.

Module routes​

The connector exposes three authenticated JSON routes on the Odoo web server, used by its own screens. They are not a public API and they require a logged-in Odoo user with access to the module:

RouteAuthPurpose
POST /rakuten/api/statususerReports the connection and last-sync status of the active configuration for the current company
POST /rakuten/api/syncuserTriggers a product or order sync from the dashboard's Sync button, subject to the configuration's sync switches
POST /rakuten/dashboard/datauserBuilds the dashboard payload (KPIs, sales chart, order states, top products, recent activity) for the selected period and shop

All three are read-scoped to the current user's company, and /rakuten/dashboard/data is readonly — it never writes.

Version history​

Odoo versionVersion you download today
17.017.0.2.2.4
18.018.0.2.2.4
19.019.0.2.3.2

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

Support​