💡 Want to learn more about Products in Invoice Stack? Check out this guide first
Getting Started
You've got your products all set up in Xero or HubSpot and you want to make sure they match across both systems.
The most important things for Invoice Stack are:
- Your SKU codes in your HubSpot line items match the Item Codes inside Xero (read more about this)
- Accounts and Tax rates are set on your Xero products (read how to set this up)
If you have a small number of products, it may be easiest to just ensure the SKU codes are matching, but if you have many products or need to sync them, read on. If you have no products set up - then we generally recommend starting in Xero. This is because you need to enter more info inside Xero to add the accounts and tax rates.
Option One - Export from Xero and Import into HubSpot
This is our recommended option as HubSpot has a much easier import flow than Xero as it doesn't rely on you having fixed columns.

- Go to Xero and choose Business > Products and Services from the Menu
- Choose Export and CSV
- Open the CSV and remove any rows with the Status column "Archived"
- In HubSpot, go to Commerce > Products and click "Add Data"
- Choose "Import a file" and select "Products" when choosing which type of data
- Upload your file and map the fields below
Fields to map:
Columns from Xero | HubSpot properties |
---|---|
ItemCode | SKU |
ItemName | Name (unless you have SalesDescription set) |
Quantity | Don't map (HubSpot does not support inventory) |
PurchasesDescription PurchasesAccount PurchasesTaxRate | Don't map |
PurchasesUnitPrice | Unit cost (if set) |
SalesDescription | Name (if set) |
SalesUnitPrice | Price (in your currency e.g. Price USD) |
SalesAccount SalesTaxRate | Don't map |
InventoryAssetAccount CostOfGoodsSoldAccount Status InventoryType | Don't map |
Option Two - Export from HubSpot and Import into Xero
If you're using this option you will still need to make sure that account and tax rate are set in Xero, you can do this either in the import, or add it later in Xero.
- Go to HubSpot and choose Commerce > Products
- Check that the columns you'd like to import are showing in your view (We recommend SKU, Name, Price)
- Choose Export and CSV
- Go to Xero and choose Business > Products & Services
- Click "Import" and "Import Items"
- Download the template provided by Xero
- Copy your HubSpot data into the columns, keeping the column titles the same
- Read more about mapping the Xero data on the Xero website

Option Three - Use HubSpot's Xero Data Sync App
Remember, Invoice Stack will take the pricing from your HubSpot line items on your quotes or deals, so you only need to keep the products in sync if you are adding and removing products often.
HubSpot have a free app on the App Marketplace that will allow you to sync Products and Contacts. It's safe to use alongside Invoice Stack.
You can choose to sync data in either direction. If you are Syncing to Xero you will still need to make sure that account and tax rate are set in Xero, you can add it later in Xero.

When mapping the columns the most important things are to make sure Xero's Code is mapped to HubSpot's SKU. This is one of the default settings.
If you need to map extra columns, you'll need a paid HubSpot Operations Hub subscription.
Find out more about the Data Sync settings on the HubSpot Knowledge Base