Skip to content

How orders reach Odoo ​

Stock Sync keeps marketplace stock in line with PIM. That only works if Odoo knows about every sale, because Odoo is where stock is reserved and where PIM gets its figures. So Channel Hub also takes the orders from the marketplace and puts them into Odoo, confirmed, within minutes. For now this is done for ABOUT YOU; eMAG and Fashion Days follow later. Until an account is switched over, staff keep uploading Gaia's file as today.

Why it matters ​

When a customer buys on a marketplace, the marketplace lowers its own stock at once. Until the order is in Odoo, PIM still counts the sold unit, and the next stock check could put it back on sale. With the order in Odoo within minutes, the unit is reserved, PIM's available figure drops, and the lower number reaches the other marketplaces with the next catalog poll (every 15 minutes). Today an order waits for the next upload, and over a weekend until Monday.

The journey of an order ​

  1. Every 2 minutes Stock Sync asks ABOUT YOU for the orders that are new or changed.
  2. It finds each product in Odoo. The Odoo product code is the PIM product id.
  3. It works out the Odoo order: the customer, the tax of the delivery country, the fiscal position, the lines and the delivery method of the account's Orders → Odoo settings.
  4. In Live it creates the order in Odoo and confirms it, so the stock is reserved in the warehouse. In Preview it only works the order out and compares it with Gaia's.
  5. If something does not fit, it does not guess: the order goes to Needs attention with a plain reason.

The Odoo order looks exactly like the one Gaia's file creates, so invoicing, reports and the warehouse do not change. It is created by the Channel Hub user, so its orders are easy to tell apart, and it carries the customer's order date.

Off, Preview and Live ​

Each account is switched over on its own, in three steps:

StepWhat Stock Sync doesWhat staff do
OffNothingUpload Gaia's file as today
PreviewReads every order and compares it with what Gaia's upload created. Writes nothing to Odoo. Shows Match, Different or Not in Odoo.Upload Gaia's file as today; check the comparisons
LiveCreates and confirms every order in OdooStop uploading Gaia's ABOUT YOU file from that morning

Preview is for at least five working days. The step by step is in Go live with orders.

Preview compares again after Gaia's upload ​

Stock Sync reads an order within minutes of the customer's purchase, and Gaia's file is usually uploaded once a day, so Preview first finds most orders Not in Odoo. Stock Sync then compares such an order again by itself: 30 minutes, 1½ hours and 3½ hours after it arrived, then every 4 hours, for up to 7 days after it arrived, while the account stays in Preview. Within about 4 hours of Gaia's upload it shows Match or Different; nobody has to press anything. Each comparison adds a Queued to be imported and a Previewed line to the order's activity, and the order shows Received for the few seconds it takes. A comparison writes nothing to Odoo.

An order that still says Not in Odoo a day after Gaia's upload has a reference in Gaia's file that differs from Stock Sync's. Stock Sync cannot find Gaia's order under it, so going Live would create the order a second time. That is why Go live with orders asks you to check for such orders, and to have the technical team look at them, before going Live.

An order is never created twice ​

Before creating an order, Stock Sync looks in Odoo for an order with the same marketplace reference. If one exists, for example one Gaia's file created, it adopts that order instead of creating another: the order page then says Found in Odoo and adopted. Reading the same order again, or pressing Retry, never makes a second one either.

When Odoo is down ​

Orders wait. They stay Received, Stock Sync tries again after 1, then 5, then 15 minutes, then every hour, and each order arrives by itself once Odoo is back. Nobody has to press anything. Meanwhile an order's Last error says what happened, for example Odoo did not answer (connection refused) or Odoo did not answer within 180 s. An order that has waited 24 hours goes to Needs attention with the reason Stuck, so it never waits unseen.

When an order cannot be built ​

The order is not guessed at. It goes to Needs attention with a reason: Unknown product, Ambiguous product, Tax mismatch, No fiscal position, No exchange rate, Not supported (fulfilled by the marketplace), Unreadable, Rejected by Odoo, Cancelled in Odoo, Changed after import or Stuck. An order needs attention says what each means and what to do. The number of such orders is on the Overview and beside Orders in the menu.

When the customer changes their mind ​

  • Cancelled before it reached Odoo: the order shows Cancelled before import and never appears in Odoo.
  • Cancelled or returned after it is in Odoo: the order goes to Needs attention with Changed after import, and you handle it in Odoo by hand. This will be automatic in a later step.
  • Shipped after import: when every line not cancelled is shipped at the marketplace, the order becomes Shipped, whether Stock Sync told the marketplace or someone marked it shipped by hand.

When you cancel an order ​

An order that cannot be sent, most often because the item was oversold, is cancelled from its page with Cancel order: the whole order or some of its lines, with a reason. Stock Sync cancels the items at ABOUT YOU, which tells the customer, and in Odoo, which cancels the order (or sets the cancelled lines to 0) and frees the reserved stock; the stock then reaches the marketplaces with the next PIM reading. It keeps trying while ABOUT YOU or Odoo cannot be reached, and an order whose cancellation cannot be finished goes to Needs attention with Cancel failed. Only operators can do it, and only for ABOUT YOU accounts whose orders are Live. Cancel an order tells the whole story.

When the parcel leaves ​

When the warehouse validates an order's delivery in Odoo, Stock Sync tells the marketplace that the order is shipped, with the tracking number and the return tracking number read from Odoo, and the order becomes Shipped. It reads Odoo every 5 minutes; something missing in Odoo is waited for up to 2 hours, then the order needs attention with Shipping data missing in Odoo. It never sends twice, and never sends what someone already marked shipped by hand. It is switched on per account with Ship orders (Off, Preview, Live). Ship an order tells the whole story.

Going Live re-checks the orders Preview saw ​

When an account goes Live, the orders Preview had already looked at are checked again and imported. An order Gaia has not uploaded yet is therefore not forgotten when staff stop uploading.

Customers' details ​

An order holds the customer's name, address and phone only as long as it is needed. They are stored encrypted, never appear on the screens (only the city and country), in logs or in monitoring, and are removed 30 days after the order is done (imported, cancelled before import, cancelled or resolved). A cancellation from Stock Sync starts those 30 days again when it ends. The order's activity is removed with them. The order's lines, reference and state stay.

What it does not do yet ​

Invoices, returns, following a cancellation made in the marketplace's own seller centre, shipping labels, and eMAG and Fashion Days orders are later steps. Gaia keeps doing them until then. Cancelling an order from Stock Sync, following a cancellation made in Odoo, and telling ABOUT YOU an order shipped are possible already (see above).

Channel Hub Stock Sync — user guide for operators and viewers