Skip to main content

Hints and tips when setting up Xero

Practical advice for configuring your Xero organisation so the CRM integration works smoothly from day one.

Written by Heather

These tips are written in the order they tend to matter most, with the highest-impact items first.

Tidy up your Xero contacts before connecting

The integration imports every Xero contact that’s currently a customer, plus contacts that are both customers and suppliers. If your Xero organisation is several years old, you likely have duplicates, old prospects that never converted, or Archived contacts that will still appear. Spend an hour in Xero before connecting:

  • Archive any contact you no longer want to see in the CRM. Archived contacts come through as On Stop; if you’d rather not see them at all, archive them in Xero before you connect.

  • Merge obvious duplicates. Untangling duplicates on the CRM side is much harder than fixing them in Xero first.

  • Set the Account Number field on contacts you want to identify by code rather than name.


Use POBOX as your primary address type

Xero allows multiple address types per contact (POBOX, STREET, DELIVERY). The integration uses POBOX as the billing address, so this is what flows into the CRM as the customer’s main address.

🤓 Tip: Open any Xero contact and look at the Postal address - that’s POBOX. As long as the Postal address is populated for each contact, you’re set. If all your addresses are STREET-type, the CRM will show customers with no address.


Decide whether to use account numbers

Xero has an optional Contact Account Number field. If you assign account numbers consistently, for example, customer codes like ACME001, you can configure the CRM to use the account number as the customer’s display label everywhere in the system. This is helpful for businesses where reps know customers by code rather than by name.

To enable this, turn on the “Display account number” system option after connecting. Be consistent - partial use of account numbers leads to a confusing mix in the CRM dropdowns.


Set sales tax types on your products

The integration imports each product’s default Sales Tax Type from Xero into the CRM as the VAT Code. This drives how tax is calculated on quotes. If your products in Xero have inconsistent tax types — some set, some left at “None” — quoting in the CRM will be inconsistent. Before connecting, make sure every item in Xero has a sensible default Sales Tax Type and Purchase Tax Type.


Set default account codes on your products

Each Xero item should have a default Sales Account Code, where revenue is posted when the item sells, and a default Purchase Account Code. The CRM imports both as Sales Analysis and Purchase Analysis. Reports that group revenue by analysis code will only work correctly if these codes are set.

🤓 Tip: If you only ever post revenue to one account, set every item to that single sales account in Xero - but still set it. Leaving the default blank means the invoice line ends up posted to whatever account code happens to apply at the line level, which is harder to control.


Use tracked inventory for products where stock matters

Xero’s Tracked Inventory feature is where the integration gets its stock figures from. Items not set as Tracked Inventory in Xero come through as un-stocked in the CRM, with no quantity. If reps need to see stock when quoting, every relevant product needs to be set up as Tracked Inventory in Xero.

⚠️ Important: If most of your stock movements happen outside Xero — for example, in a warehouse system that doesn’t post to Xero, then Xero’s stock figures will be inaccurate. In that case, leave items untracked in Xero and either keep stock figures off the CRM altogether or use an inventory management system that holds accurate stock data.


Set up a template ledger for new customer creation

When the CRM creates a new customer in Xero, it copies a set of accounting defaults from a template ledger you nominate during setup. The fields it copies are:

  • Branding theme.

  • Payment terms.

  • Sales tracking categories.

  • Default sales account code.

  • Default purchases account code.

  • Default discount percentage.

Pick a real customer in Xero that already has all your standard defaults configured and use that as the template. New customers created from the CRM will arrive in Xero pre-configured, without your accounts team having to set them up manually.


Get your tax rates right in Xero

All active Xero tax rates are imported into the CRM. The integration generates a combination of country type (Home, EU registered, EU unregistered, Non-EU) and transaction type (Sales/Purchase/Unconfirmed) for each rate, so the right tax applies to the right scenario when quoting.

If a tax rate doesn’t apply to either Sales or Purchases in Xero, the CRM imports it as Unconfirmed. These are usually rates left over from old periods, and it’s worth deactivating them in Xero before connecting.


Decide how to handle B2C customers

If you sell to consumers as well as businesses, decide upfront whether you want the CRM to classify B2C accounts automatically (using a regex rule against the contact name) or whether you’d prefer to flag them manually. Most teams with a clean naming convention go with automatic classification; teams with messier data tend to prefer manual control. You can change this setting later, but it’s worth deciding deliberately during initial setup.


Use the missing-record creation feature thoughtfully

When a Xero contact has no associated Company, Division or Contact record in the CRM, the integration can create those records automatically. This is excellent for getting started quickly, but be aware of the following:

  • Choose between “active accounts only” and “all accounts” carefully. A large number of historical contacts can produce a long tail of stub records that need cleaning up.

  • Set the default account manager to a real user (or a generic catch-all) so that created records have a clear owner.

  • Once you’ve gone live, most teams switch the missing-record process off so that new contacts go through proper qualification rather than landing automatically.


Enable the currencies you need

The integration imports every currency enabled in your Xero organisation. Because Xero doesn’t expose live exchange rates via its API, the CRM pulls rates from a separate rates service. If you don’t trade in a currency, disable it in Xero rather than importing it, fewer currencies in the CRM means cleaner dropdowns for your reps.


Plan for the first sync

The first sync imports every customer, product, invoice, credit note and purchase order. For a busy Xero organisation, this can take some time. Schedule the connection for an out-of-hours window if you can, so the first sync runs without competing with day-to-day use

Did this answer your question?