Products and Stock Levels

Updated 20 Sept 2026

Products sync between Salesforce and Xero so line items on a document match what your accounting system expects.

What comes across

Product names, codes and the Xero account code each one posts to. Where Xero tracks quantities, stock levels can be shown on the invoice and quote screens once Show Stock for Tracked Products is switched on under Object Settings; it's a beta setting and off by default.

The default sales account

Products created in Salesforce without a Xero account code fall back to the default set in Sync settings. Without that default, such products fail to sync rather than landing somewhere sensible — which is why setting it isn't really optional.

Tracked quantities

Only items Xero tracks quantities for report stock. If the Xero Stock Levels panel says No Xero products with tracked quantities available, that's Xero's inventory settings rather than a sync problem.

How new Xero items arrive

Product Creation under Advanced Settings decides what happens to an item the sync hasn't seen before:

  • Smart (the default) creates it as a new Salesforce product, unless it looks like one you already have. An item whose code matches exactly one unlinked product is linked to it automatically. An item whose code matches several products, matches an already-linked product, or matches only by name goes to Needs Review in the Matching Tool for you to decide.
  • Stage everything for review creates nothing automatically. Every new item waits in the Matching Tool until you create or link it. Use this before a historical sync on an org that already has products, so a reconnected Xero organisation can't duplicate your catalogue.

Switching from Stage back to Smart queues a catch-up that creates or links everything that was waiting.

Xero is the source for stock

Stock figures are read from Xero. Changing a number in Salesforce doesn't adjust Xero inventory.

Codes before go-live

Set Xero account codes on your products before the team starts raising documents. Correcting the code afterwards means correcting the invoices already posted to the wrong account.