UNBATCHED stock, forced syncs and a worked example

UNBATCHED stock, forced syncs and a worked example

The UNBATCHED bucket

When despatches had to ship lot-tracked goods without batch data (see Allow Un-batched Despatches), that stock lives under the special UNBATCHED lot. The inventory sync is what heals this: as soon as the 3PL reports real batch detail for a product, the product's UNBATCHED bucket at that location is cleared while the true batches are written - keeping both would count the same physical stock twice. You will see this on the report as an adjustment line on the UNBATCHED lot alongside the new batch lines.

Syncing a single product

Sometimes one SKU is in dispute and a full sync is overkill. Sync Stock runs the inventory sync for just that product, with all the same rules (batch level, Stock Master, report lines) scoped to it:

  • on the product form - the 3PL Stock Sync button (syncs the product on every live instance it is linked to);
  • under Operations > Products - the Sync Stock button on a synced row, or select several rows and use Sync Stock at 3PL from the actions menu.

Each run produces its own report under Operations > Inventory Syncs and its own Sync Log entry linked to the product. Where the provider has a by-SKU endpoint (Sprint does), this also fetches the freshest per-batch detail available.

Forcing a sync now

Three equivalent triggers, all role-gated to Ops and above, all logged to the instance chatter as manual runs:

  • Dashboard card > Perform Operation > Run Inventory Sync;
  • Operations > Inventory Syncs > Run Inventory Sync (pick the instance in the popup);
  • the Inventory Sync button on the instance form.

Worked scenario

Overnight sync, 3PL-master, apply immediately. the 3PL reports 412 (product, batch) lines. 396 match Odoo exactly (unchanged). Batch N-M33916/25142 shows 46 at the 3PL vs 50 in Odoo - an adjustment of -4 posts, traceable in the product's move history to the sync reference SYNC/00023. Two brand-new batches from yesterday's goods-in appear as new lots with expiry dates. One SKU the 3PL reports ("PACKING-TAPE") has no Odoo product - an error line on the report, nothing changed, and you decide whether it should exist in Odoo at all.