The inventory sync keeps Odoo's stock aligned with what the warehouse actually holds - down to individual batch numbers and expiry dates - and leaves an auditable report of every sync it runs. This page explains the two master modes, the two apply modes, what a sync report shows, the special un-batched bucket, and how to force a sync now.
On schedule (default daily) or on demand, the connector pulls the 3PL's full stock snapshot for the mapped warehouse and compares it, product by product and batch by batch, against the warehouse's stock location in Odoo. Every reported (product, batch) becomes a line on an Inventory Sync report (Operations > Inventory Syncs) recording:
Batch numbers the 3PL reports that Odoo has never seen are created as lots on the fly, with expiry dates where the 3PL supplies them. The report header counts adjusted / staged / discrepancies / unchanged / errors so you can read a sync's outcome at a glance, and the whole run is also in the Sync Log with payloads.
On Amazon MCF instances the Stock Measure option (see Settings reference) decides which FBA quantity is compared: the fulfillable quantity - what can be picked, packed and shipped today, the default - or the total quantity including inbound and reserved stock.
The instance's Products Use Batch/Lot Tracking setting (Synchronisation tab) decides how deep the reconciliation goes:
If your report shows empty Lot/Batch columns on the adjustment lines, check this setting first.
Every run creates a report under Operations > Inventory Syncs, and the run's Sync Log entry links straight to it (the Open Record button; the entry's summary names the report). From the report: