Skip to main content
Temu

How to propose a Temu base price from Odoo

With the Temu connector, a new base price is prepared in Odoo as a proposal, either from the product form or under Temu › Catalog › Pricing › Price Rules. You load the linked variants, ask Temu for its recommended price or type your own, pick a reason when the price needs backing, and send it. Temu answers variant by variant, and each line comes back with its result and the number of its price order.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 5 November 2026

Key facts

Module
Temu
Versions
Odoo 17, 18, 19 and 20
Checked
in the connector's source code, version 17.0, 18.0, 19.0 and 20.0
Reading time
4 min

Before you change anything, get the four prices on the product's Temu tab straight. They look alike and they are not the same thing:

Temu Retail
The selling price on Temu, as the connector brings it in. Read only.
Current Base
The confirmed base price, when Temu provides it.
Recommended Base
Temu's suggestion.
Target Base
The price you want, which Odoo sends to Temu. The only one you edit.
Temu tab of a product in Odoo with Temu Retail and the Current Base, Recommended Base and Target Base columns
The product's Temu tab: at the top, the note that explains each price; below, one row per variant with its Temu Retail, Current Base, Recommended Base and Target Base. Odoo screenshot with demo data.

Create the proposal step by step

  1. Open the product and click "Propose Temu Base Price". A wizard opens and creates the proposal with its lines when you click "Create Proposal". You can also create it under Temu › Catalog › Pricing › Price Rules, pick the product template and click "Load Variants".
  2. Check the lines. With "Only linked" ticked, which is how it comes, only variants linked to Temu, with their goodsId and skuId, are loaded. If there are none, Odoo tells you: No variants could be loaded. Ensure variants are linked to Temu (goodsId + skuId), or disable 'Only linked'.
  3. Set the price. "Fetch Temu Recommended" asks Temu for its recommended price for the ticked lines and puts it in Recommended Base, and in Target Base too when that was empty. "Copy Recommended" copies it into Target Base when you already had something there.
  4. If you would rather start from the selling price, click "Estimate from Retail": Temu returns an estimated base price for each line. For that, the product needs its Temu link with the category and the cost template.
  5. If copying the recommended price is not enough, back your price: choose a reason under "Proposal reason" and, if you like, add a short explanation and reference links.
  6. Untick the variants you don't want to change and click "Send Proposal to Temu".
Diagram of a Temu base price proposal prepared in Odoo, from loading variants to Price Adjustments
The path of a proposal with Odoo's labels: load the linked variants, set the price, back it, send it and follow the price orders. Diagram built from the module's code.
Temu orders in Odoo every 15 minutes. Stock out every 5
Video: Temu orders in Odoo every 15 minutes. Stock out every 5

The reasons you can give

Reason in OdooWhat you are claiming
Multi-piece or bundled productIt is a bundle or a product made of several pieces
Licensed or protected IPIt carries a licence or protected intellectual property
Unique materials, style or manufacturingIts own materials, style or manufacturing
Special dimensionsIt has special dimensions
High production costIt is expensive to make
Currently priced below comparable offersIt is cheaper today than comparable offers
Other business justificationAnything else; here the explanation is required

The short explanation takes up to 100 characters. Reference links, up to 3, one per line, starting with http:// or https://. Without a reason, Odoo accepts neither an explanation nor links, so choose the reason first. What Temu will receive is shown in "Reason sent to Temu": the reason and your explanation together. If you choose no reason, the "Fallback reason" goes instead, which comes set to "Price optimization from Odoo".

What comes back from Temu

Odoo sends one request per Temu product, with all of its ticked variants. Before that it checks that every line has a goodsId and a skuId and that Target Base is above zero; if one is zero, it stops with All selected lines require a positive target price.

  • Each line sent ends up as Success or Failed, with Temu's message and the number of its price order.
  • The ones you unticked are marked Skipped, with the note "Skipped by user selection."
  • The proposal ends as Done if Temu accepts every line, Partial if it accepts some and Failed if it accepts none. In that last case the record sums it up with Temu rejected all SKU price updates.
  • When a line goes through, its Target Base is saved on the product as the Temu supplier price.

The "Replace open Temu recommendation" box comes ticked and is sent with the proposal.

Follow the price orders

Temu › Catalog › Pricing › Price Adjustments lists Temu's price orders: the number, the product, the status as Temu gives it, the reason and, when Temu turns it down, the rejection description, along with the current, suggested and target prices. They are refreshed with "Sync Price Orders", on the proposal or on the store form.

The "Temu Sync Price Orders" task does the same every 30 minutes, but it comes switched off. Turn it on if you want the list to keep itself up to date instead of relying on someone remembering the button.

Can I propose prices for several variants at once?

Yes. "Load Variants" brings in every active variant of the template and, when you send, Odoo groups the lines by Temu product. Untick the ones you don't want to change.

What if Temu returns no recommended price?

"Fetch Temu Recommended" stops with Temu returned no recommended prices for the selected linked lines. Type your Target Base by hand and back it with a reason.

What if a variant is not linked to Temu?

With "Only linked" ticked, it stays out of the proposal. If you untick it to load the variant anyway, sending stops with Some lines are missing Temu goodsId/skuId. Ensure product links are synchronized before submitting prices. Link it first.

Keep reading

Go-live checklist for Temu in Odoo, without surprisesThe checklist we follow to launch the Temu connector in Odoo 17, 18 and 19: before approval, smoke test, checks and a rollback plan.Temu connector errors in Odoo: what they mean and how to fix themWhat each Temu connector error means in Odoo 17, 18 and 19 (credentials, warehouse, region, carrier, pre-sale orders) and how to fix it.How to cancel a Temu order from OdooHow to ask Temu to cancel an order you cannot ship or to appeal a wrong address from Odoo, and what Odoo does with the sale when Temu cancels an order.
Checked in the connector's source code (version 17.0, 18.0, 19.0 and 20.0)

Sources

  • Module source code: flexigobe_temu_connector · 17.0 9e038a9 · 18.0 c1fe2e4 · 19.0 1f20ced · 20.0 47d68eb: views/menu_views.xml, views/product_template_views.xml, models/product_template.py, wizard/temu_price_update_wizard.py y su vista
  • Module source code: flexigobe_temu_connector · 17.0 9e038a9 · 18.0 c1fe2e4 · 19.0 1f20ced · 20.0 47d68eb: views/product_template_views.xml
  • Module source code: flexigobe_temu_connector · 17.0 9e038a9 · 18.0 c1fe2e4 · 19.0 1f20ced · 20.0 47d68eb: models/temu_price_update.py, models/temu_price_payload_builder.py, views/temu_price_views.xml
  • Module source code: flexigobe_temu_connector · 17.0 9e038a9 · 18.0 c1fe2e4 · 19.0 1f20ced · 20.0 47d68eb: models/temu_price_update.py (TEMU_PRICE_PROPOSAL_REASON_SELECTION, _validate_temu_price_proposal, _build_temu_price_reason)
  • Module source code: flexigobe_temu_connector · 17.0 9e038a9 · 18.0 c1fe2e4 · 19.0 1f20ced · 20.0 47d68eb: models/temu_price_update.py (action_submit_price_changes), models/temu_price_payload_builder.py
  • Module source code: flexigobe_temu_connector · 17.0 9e038a9 · 18.0 c1fe2e4 · 19.0 1f20ced · 20.0 47d68eb: data/ir_cron_data.xml, models/temu_price_order.py, views/temu_price_views.xml