TwoCanConnect – v1.87 Release

We feel that every time we say this is the biggest release we have done, however this one can’t be beaten! This is a long post so please stick with us.

We have not listed a new version of TwoCanConnect for quite a while, besides some incremental bug fixes. We have been working hard in the background delivering sync logic improvements and major new features. We plan to have more incremental updates through the rest of 2022 and continue to build on any feedback submitted to us.

The major change in this version is that we are adding new objects to sync from Xero. We have added support for Quotes, Bills, Purchase Orders and Credit Notes. In this release, they are PULL ONLY from Xero, however creation will be enabled for Quotes and Purchase Orders towards the end of the year. We plan to leave Credit Notes and Bills as PULL ONLY depending on customer demand.

Due to the new objects being available, we are also announcing plan tiers. Since the inception of TwoCanConnect, we only offered a single, fixed priced plan for the invoice creation and syncing. Now with the additional objects we are syncing, we have split the features into different plans. Don’t worry, as an existing subscriber of TCC you are not being forgotten. Every current subscriber will be migrated to the Basic plan (details below), which is the equivalent of the plan you have now. So, nothing changes from what you already have! You only need to move plans if you want the additional object sync features. All bug fixes and new features below (and in future) are still available to you unless otherwise noted.

Plan Tiers

We are announcing the following plan tiers, effective of the 1st October, 2022.

  • Basic (All Subscribers will be migrated to this plan. Pricing and all current features stay as-is)
  • Professional (New Plan – $199 AUD / Month ex GST – Adds Quote Object Syncing)
  • Advanced (New Plan – $299 AUD / Month ex GST – Adds Quote, Purchase Order, Bill and Credit Note Syncing)

All current subscribers will automatically be migrated to the Basic Plan. You will not see anything change from your current subscription in terms of features, functions, or support.

Release Update Schedule

Sandbox Update: 1/10/2022 @ 6am AEST

Production Update: 1/11/2022 @ 6am AEST

If you want access to any of the below fixes or features early, please open a case via and we can upgrade you before the dates above. The AppExchange Listing for 1.87 will be live shortly for any new installations.

All updates are listed below. All items below are available in all versions of TCC unless otherwise specified or related to a new object sync.

General Improvements

  • New Icons / Icon Set for all Objects

We felt like our icons were getting a little outdated and might be hard to understand. Instead, we have added a new Icon Set advanced setting where you can see easy-to-read text on the status of an invoice or other support Xero Object. The new icons are the default setting but can be changed via the Advanced Settings.

  • Field Label Changes

We have made some adjustments to field labels through all objects to make them all consistent through the entire application.

  • Debug logs over 30 days old automatically purge from salesforce

Saving some space, all debug logs will delete if they are over 30 days old.

  • New email templates for Xero disconnect

Out with the old, in with the new. Some users were reporting issues with the system not sending disconnection emails. This has been fixed with this version of TCC. We have also updated the email template to add the ORG Name, ORG ID (which is handy for those with Sandboxes or Dev orgs) and Xero / Salesforce Outage links.

  • Fixed some instances of rollup calculation issues on the opportunity object

There were some issues around the calculation of fields in the opportunity. This is now fixed.

  • Improved sync logic for DELETED or VOIDED Invoices

When an invoice was VOIDED, there will still sometimes a sync taking place to fetch the Online Invoice URL which returned an error. Excluded this from the Sync Logic. We have also made other sync improvement around DELETED or VOIDED invoices to stop them from causing errors in the debug log.

  • Historical and Ongoing Sync can no longer run at the same time

There was a rare issue with new installations when starting both the historical sync and ongoing sync where they would run at the same time in Salesforce. We have added logic to stop this from happening and to prioritise the historical scheduler first.

  • Fixed issue with large amounts of invoices for rollup calculations

Some orgs have many invoices (100,000+) – this caused issues with our rollup calculation processing. This bug has been fixed and will work on orgs with many invoices.

  • Fields that are null in custom field mapping will also show as null on the object

Previously, null fields in the custom object mapping may show as a zero or not null – they now show as null.

  • Product Duplicate Checking

We have added an advanced option to enable duplicate checking for the Product object.

  • Pull Currency Fixes

Fixed an issue when pulling data from Xero that the currency on the invoice would not match if using Multi-Currency in Salesforce. If using multi-currency in Xero, please ensure that you have the same currencies enabled in Salesforce if you want to see the invoice in the local currency.

Flow Components & Templates

A highly requested feature is here and it deserves it’s own section! All versions of TCC now ship with pre-built apex actions to easily create Xero Contacts and Invoices from a Salesforce Flow. You can now automate your invoice creation! We will be releasing more documentation and videos on this feature shortly and will update with another blog post and YouTube Videos.

Stock Level Component (NEW – All Plans):

  • Stock level component for any object

We have added a lightning component that can be added to any parent object and have line items. If you track inventory in Xero, it will show the current stock level and if you have enough to fulfill the requested QTY from the line items. It will only show products that are tracked inventory products in Xero.

Xero Contact

  • Unmatch Button on Xero Contact Record

Did you accidently match the Xero Contact to the wrong account? We now provide an ‘Unmatch’ button to automatically unmatch the Xero Contact and send them back to the account matching page.

  • Xero Contact Duplicate Rule

We no longer use a duplicate rule for checking duplicate Xero Contact names, we use a trigger for more scenarios and efficiency.

  • New fields on Xero Contact and Product to view record in Xero

We have added fields onto the Xero Contact and Salesforce Product to ‘View Record in Xero’, just like we do on invoices.

  • Can now map more person account fields into the new contact creation process

Person accounts now have more support via the custom field mapping to the Xero Contact.

  • More defaults now sync from the Xero Contact

We have added more fields to sync from the Xero Contact, including:

  • Tracking Categories
  • Default Tax Types
  • and more…
  • Edit a contact in the invoice flow

You can now edit a contact in the invoice flow more efficiently. It will take you back to the creation screen to change the data and sync contact details instead of manually updating them.

Invoice Improvements:

  • Payment Object Two Way Sync

Two Way Syncing for the Payment Object is now enabled. You can use automation or flows to create a new payment record to sync to Xero.

  • Select any Xero Contact from the invoice creation page

You asked, we listened. You might have an opportunity for a Real Estate agent but need to invoice the owner. Previously, you could not choose another account to invoice from your object. Now, you now have a third option to be able to select any Xero Contact to invoice from your Salesforce Object. Click ‘Select another Xero Contact’ and use the search function to find the right contact to invoice.

  • New Contact Creation

When you create a new contact and go to the invoice page, if you click ‘previous’ it now shows the new Xero Contact in the creation page rather than having to cancel and click ‘New Invoice’

  • Product Lookup on invoice page

You can now see or edit the product lookup on the invoice creation page, just like in Xero.

  • Invoice Page shows long text for product description

The invoice page has been updated to allow for long text product descriptions, just like in Xero. Long text fields can also be mapped in the custom field mapping tool in TCC Configuration, or you can manually use line breaks in the Invoice creation page to format the invoice product description.

  • Allowed to use BR() tag in formula fields for custom whitespace on invoice

If you are mapping custom formula fields to the product description on the invoice, you can use the BR() tag in any formula field if you want line breaks to show in the invoice, no more slab of text for a product description, use line breaks!

  • Fixed order of product pulled from object to invoice and added custom field mapping setting for sort order

We now pull the products into the invoice page the same as Salesforce sorts them.  You can change the sort order on your parent object and we will follow the same logic, else you can set a custom sort order field in the custom field mapping.

  • Branding themes now hold a sort order which reflect on the invoice screen

It has been a small annoyance for customers that we have now fixed – if you have your branding themes in a particular sort order in Xero, we also now match this sort order in Salesforce.

  • Xero Accounts now show in alphabetical order

We now show the Xero Accounts in alphabetical order on the invoice creation page.

  • Enable / Disable Tracking Category Columns on Invoice Create

Just like the Xero Accounts / Tax Rate, we now have a configuration option to enable or disable changing the tracking category on the invoice creation page.

  • Invoice Page now loads on edit

You can no longer edit the fields on the invoice record by default. Now, you click ‘edit’ on the invoice record and it will load the invoice screen to make any adjustments.

  • Allow a field to be mapped from your master object into the first or last line of an invoice with no pricing (for notes etc)

A common request from our customers – we can now have a line item with no pricing at the first or last line of an invoice with any data for the description. This is commonly used as an introduction to the invoice or a brief explanation, before the line items. Please set this up via the Custom Field Mapping tool (Additional Product Line with Field from Opportunity) where you can map any field from the parent object.

  • Discount field now maps as ‘null’ instead of 0

Some users preferred to map the discount field as null instead of 0 for reporting. We agree and have made this change global.

  • Added decimal place options to allow up to 4 decimal places

You can now allow up to 4 decimal places on the invoice creation screen (setup in Advanced Settings). Please note that if you want to use 4 decimal places in the Salesforce UI, you will need to enable ‘multi-currency’ and set your local currency at 4 decimal places. Please consult with your Salesforce Admin / Partner before enabling multi-currency.

  • When an invoice is created by TCC, a link back to Salesforce is placed on the invoice in Xero

A cool little feature! We already have a link to the invoice in Salesforce which opens Xero, but now we have a link in the invoice in Xero UI which links back to Salesforce!

  • Invoice Line Items no longer editable through the UI

Invoice Line Items are no longer editable through the UI – which means users can’t change field values and break the sync logic. All changes must be made by clicking the ‘Edit’ button on the invoice record which will re-load the invoice creation page to make changes.

  • Invoice Re-Sync Button

Have you made a change or edit to the invoice from Salesforce or Xero and have been waiting for it to update in the next sync? Instead of waiting, you can now force the invoice to re-sync by using the ‘Resync with Xero’ button on the invoice. It will then instantly sync the invoice just like it would in the ongoing sync by picking the most recent version of the invoice and syncing it between both systems.

  • Download Invoice from Salesforce Modal Update

A Salesforce release last year caused the modal when downloading the invoice to look strange – we have fixed this.

  • New Rollup Logic

We have improved the logic for rolling up the subtotals fields.

New Object Syncing – Requires Professional or Higher Plan

  • Syncing of Quotes now in BETA for Professional and Above Plan Subscribers (Pull Only, Creating New Quotes Due in Q4 2022)

We can now sync quotes between Salesforce and Xero. This is a pull only sync (from Xero). We are planning to build the creation of Purchase Orders into our next major release (scheduled Mid 2022). You are also able to download the PDF of the Quote from the Quote Object.

  • Syncing of Purchase Orders now in BETA for Advanced Plan Subscribers (Pull Only, Creating New Purchase Orders Due in Q4 2022)

We can now sync purchase orders between Salesforce and Xero. This is a pull only sync (from Xero). We are planning to build the creation of Purchase Orders into our next major release (scheduled Mid 2022). You are also able to download the PDF of the Purchase Order from the Purchase Order Object.

  • Syncing of Credit Notes now in BETA for Advanced Plan Subscribers (Pull Only)

We can now sync credit notes between Salesforce and Xero. This is a pull only sync (from Xero). We have no plans to build a credit note creation process in Salesforce unless customer feedback requires us to explore this. Please let us know if you want to see this functionality. You are also able to download the PDF of the Credit Note from the Credit Note Object.

  • Syncing of Bills now in BETA for Advanced Plan Subscribers (Pull Only)

We can now sync bills between Salesforce and Xero. This is a pull only sync (from Xero). We have no plans to build a credit note creation process in Salesforce unless customer feedback requires us to explore this. Please let us know if you want to see this functionality. You are also able to download the PDF of the Bill from the Bill Object.

Account Matching Tool:

  • Choose record type from account matching page when manual matching

Instead of using the default record type, you can choose the record type when creating accounts from the Account Matching Page

  • Added support for all new objects via the Account Matching Page

Quotes, Bills, Purchase Orders and Credit Notes will automatically match to the Salesforce account when synced from Xero.

  • Account Matching – Label Change

We were made aware of a label issue in the account matching page for the ‘Xero Customer Name’ field. This is now fixed.

Product / Inventory Sync Page Updates

  • Fixed annoying red bar when loading page

There was an annoying red bar when loading the page on occasion, this has been fixed.

  • Product Matching now allows search by product code

You can now use the product code to search when syncing with an existing product.

  • Auto-match button on product matching page for easy product sync / setup

We are a big fan of automation – now when mapping products to existing Salesforce products there is a button to ‘auto match’ where we will look for similar product names / codes and automatically fill them in when using the ‘Sync with Salesforce Product’ option.

  • Products that have a $0 price in Xero now able to sync via product matching page

When matching products via the Product Matching Page, we previously didn’t allow products with $0 to be synced. We have changed this setting to allow any products for $0 to be mapped and synced.

Invoice Matching Tool – BETA (NEW for All Plans):

  • Invoice Matching Tool – Match existing invoices to any object

We have always had the Account Matching Tool – now we have the invoice matching tool!

Any customers who pull data from Xero (don’t create invoices in Salesforce) can now match the invoices to existing opportunities using logic, just like the Account matching page).

You can’t match other objects (Quote, Bill, Purchase Order, Credit Note) to objects yet, however we will add this in a later release.

TCC Configuration:

  • Added new configuration reminder to check the Discount & TotalPrice field permissions

During setup, some users did not realise that they need to grant permissions to the Discount & TotalPrice fields on the Opportunity Product. Added a prompt in the configuration to make sure the user is aware.

  • Inactive user TOAST bar

When the sync user is inactive in Salesforce (no license), it will show an error TOAST message.

  • Page Layout Editor – Support New Objects

All new objects are now supported in the page layout editor.

  • Last 10 Sync Component Updates

Component updated to allow syncing of new objects.

  • Advanced Settings
    • Modal added to make users aware that a rollup field re-calculation may fire off automations

Some users did not realise when making a bulk change to field re-calculations that it would be updating accounts and opportunities (as that is where the data is stored). We have now added a modal which warns the user that it will be making changes and may fire off any automations built in Salesforce. Users should check with their Salesforce administrator before running the recalculation to ensure automations will not cause any issues with data integrity.

    • Tax Code selection for invoice / advanced settings to allow all other account types to be used in SF

Previously, we just allowed REVENUE account types to be synced with TCC. We now have an advanced setting to allow any account type to be synced. Navigate to the Advanced Settings, choose the account types you want to sync, then go to manage syncing and re-sync the Xero Accounts and Tax Rates for use in your invoice pages.

    • Ability to turn off ‘Online Invoice URL’ syncing for historical syncs

We have added an advanced setting which turns off the syncing of the Online Invoice URL for historical invoices. Best used if you have 100,000+ invoices you are syncing and don’t need the URL.

    • New Advanced setting to automatically download invoice PDF on sync (either using Send to Xero Button or during Ongoing Sync)

If you enable this option, you no longer need to manually retrieve the PDF after it has synced to Xero. It will automatically download the PDF and store it as a file against the object. Available for

all objects.

    • SummaryOnly Parameter

Some Xero instances have tens of thousands of invoices. If this is you, enable the SummaryOnly parameter as it will lessen the computational load in Salesforce when fetching a large amount of invoices. You can talk to TCC Support around if you need this option enabled.

    • Bill / Purchase Order Settings

When Bills / Purchase Orders are enabled, it will sync both Customers and Supplier Xero Contacts to Salesforce by default (requires Historic Sync to get historical data)


  • StoreConnect Integration

Due to our new flow templates and payment record syncing, you can use TCC with StoreConnect to create your invoices in Xero! Contact Us to learn more.


Next Release, we will are planning to add the following features:

  • Creation of Quotes & Purchase Orders from Salesforce with full custom field mapping features
  • Multi Org Syncing

We hope you enjoy the latest release of TwoCanConnect!

Need more help? Contact us to discuss

We are here to help. Send us an email to ask any questions or request a demo.