Rakuten Ichiba Connector for Japan
Import RMS orders, sync stock and push shipment tracking to Rakuten Ichiba (楽天市場) directly from Odoo - using your own RMS API keys (BYOK)
One Odoo app for your whole Rakuten back-office
This connector talks to the official
Rakuten Merchant Server (RMS) Web API at
https://api.rms.rakuten.co.jp. It pulls your
RakutenPay orders into Odoo as sale orders, keeps your Rakuten
stock in step with Odoo on-hand quantities and writes the
courier tracking number back onto each order - so your team
runs Rakuten Ichiba from the same screen they already use for
every other channel.
It is a BYOK (bring-your-own-key) connector:
you paste the serviceSecret and
licenseKey issued inside your own RMS cabinet.
They are combined into the standard
Authorization: ESA … token and sent only to the
Rakuten endpoint you configure. We are not a Rakuten agency and
store no credentials of our own.
Features
Order import (pull)
A scheduled job and an on-demand button run RakutenPay
searchOrder over a configurable date window and
orderProgress filter, then getOrder
to fetch full detail. Each order becomes an Odoo sale order with
the buyer, the Japanese delivery address and the order lines.
Smart line matching
Line items are matched to Odoo products by Internal Reference,
then barcode, then the Rakuten Manage Number - using the most
specific SKU available (variantId /
merchantDefinedSkuId / manageNumber).
Inventory sync (push & read)
A per-product action and an hourly job push Odoo on-hand quantities to Rakuten with the Inventory bulk-upsert API, in absolute mode, batched up to 400 SKUs per call, with an optional operation lead time. A Pull Stock from Rakuten action reads the live quantity Rakuten holds for each item (bulk-get) so you can reconcile it against Odoo on-hand.
Shipment tracking (push)
Confirm orders and write the courier waybill back with
updateOrderShipping. The Rakuten delivery-company
code is auto-matched from your Odoo carrier (Yamato, Sagawa,
Japan Post, Seino and more) with a configurable fallback.
Bulk tracking wizard
Select many Rakuten sale orders and push their tracking numbers in one action. Orders without a tracking number or basket id are safely skipped and reported.
Unified API log & resilience
Every failed call is logged with operation, status, message and URL. Transient 5xx responses are retried with exponential backoff and a 30-second timeout.
Rakuten RMS endpoints used
| Operation | RMS endpoint |
|---|---|
| Search orders by date / progress | POST /es/2.0/order/searchOrder/ |
| Get full order detail | POST /es/2.0/order/getOrder/ |
| Confirm (accept) orders | POST /es/2.0/order/confirmOrder/ |
| Push shipment / tracking number | POST /es/2.0/order/updateOrderShipping/ |
| Cancel an order | POST /es/2.0/order/cancelOrder/ |
| Set stock by SKU | POST /es/2.1/inventories/bulk-upsert |
| Read stock by SKU | POST /es/2.1/inventories/bulk-get |
How it works
- Open Settings → Rakuten Ichiba and paste
your
serviceSecretandlicenseKey. - Press Test Rakuten to validate the credentials with a live, single-record search call.
- Set your fetch window, order-progress filter and default delivery-company code; enable the scheduled jobs.
- Map each product's Rakuten Manage Number (or rely on the Internal Reference) and tick Synced to Rakuten.
- Imported orders appear under Sales with a Rakuten tab; confirm, push tracking and complete from the order header.
Requirements
- Odoo 18.0 or 19.0 (Community or Enterprise).
- An active Rakuten Ichiba (RMS) shop with a serviceSecret and licenseKey issued in your own RMS cabinet.
- The Python
requestslibrary (bundled with most Odoo deployments).
Support: support@pokutsoft.com
Screenshots
Api Log
Push Tracking
Settings
Update date: 2026-07-02