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 email so please stick with us. There are action items required by you when the upgrade goes live to allow you to continue to use the platform. Please read below.
We have not listed a new major version of TwoCanConnect for over 12 months, 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 2023 and continue to build on any feedback submitted to us. Our next roadmap feature is multi-org syncing which we hope to be available by the end of the year.
The major change in this version is that we are adding new objects to sync from Xero. We have added support for Repeating Invoices, Quotes, Bills, Purchase Orders and Credit Notes. In this release, they are PULL ONLY from Xero except for Quotes and Repeating Invoices, which you can create and sync with Xero from Salesforce. We plan to leave Purchase Orders, Credit Notes and Bills as PULL ONLY depending on customer demand. All objects are in BETA status, which means there may still need to be incremental improvements over the next few released.
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, plus you get free access to Repeating Invoices all for the same price. 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.
We are announcing the following plan tiers, effective of the 1st July, 2023.
- Basic (Current Plan – $149 AUD / month ex GST – All Subscribers will be migrated to this plan. Pricing and all current features plus Repeating Invoices)
- 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)
Release Update Schedule:
Sandbox Update: 30/7/2023 @ 4am AEST
Production Update: 15/8/2023 @ 4am AEST
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.
Changes Required / Action Items for Upgrade
- Xero Contact Duplicate Rule
We no longer use a Salesforce duplicate rule for checking duplicate Xero Contact names, we now use a trigger to handle more scenarios and better efficiency. After the update, when you create an invoice, it will prompt you to disable the already-existing duplicate rule. Please disable this duplicate rule to continue to use TCC to create invoices.
- 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. Please check your remote site settings to ensure that both Xero Remote Site Settings (api.xero.com and identity.xero.com) are ‘Active’ to ensure the email triggers.
TwoCanConnect Configuration Improvements:
- Added new configuration reminder to check the Discount & TotalPrice field permissions
During a new installation / setup, it was often missed where the Discount & TotalPrice fields on the opportunity product did not have the permissions set. We now have a reminder during the setup phase to ensure this is done.
- Advanced setting to automatically sync invoice PDF on creation of new invoice (See advanced settings)
Any object you have access to in your plan has the ability to auto-download the PDF. Enable this in the advanced settings per object.
- Inactive user TOAST bar
When the sync user is inactive in Salesforce (no license), it will show an error 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.
-
- 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)
-
- SummaryOnly Parameter
Do you have tens or hundreds of thousands of invoices? This could either take a long time to sync or you might get errors from your Salesforce instance. You can turn on the SummaryOnly Parameter in the Advanced Settings which will sync a small amount of key information (to reduce sync time and batches) and then the ongoing sync will break down these into smaller batches to get all the required information.
Syncing Improvements:
- 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.
- 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.
- 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.
- Fixed issues with large amount 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.
General Improvements:
- Product Duplicate Checking
Added an advanced option for product duplicate checking.
- 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. If you want to see these fields, you will need to manually add them to the page layouts.
- Field Label Changes
We have made some adjustments to field labels through all objects to make them all consistent through the entire application.
- Improved syncing login 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.
- 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.
- 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.
- 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.
- Fields that are null in custom field mapping will also show as null on the object
There were times that fields would be null in Salesforce but when mapped would return ‘0’ instead. This behaviour has been fixed to also show null.
- 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. Example:
Old Icon Set (Icon Set 2 in Advanced Settings)
New Icon Set (Icon Set 1 in Advanced Settings) – default for new installations
- More defaults now sync from the Xero Contact
We have added more fields to sync from the Xero Contact, including Tracking Categories and Default Tax Types. If you want to fill this fields from Xero, run a historical sync and it will fetch them.
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 Improvements:
- 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.
- 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..
Invoice Improvements:
- 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 instead of showing the creation page again.
- 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.
- 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!
Before:
After:
- Product Lookup on invoice page
You can now see or edit the product lookup on the invoice creation page, just like in Xero.
- 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.
- 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.
- 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!
- 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.
- 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 QTY / Price as 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. If the selected field is empty upon invoice creation, then it will not add a new line.
- 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. Existing customers will need to add this button to the page layout.
- Download Invoice from Salesforce Modal Update
A Salesforce release caused the modal when downloading the invoice to look strange – we have fixed this.
- 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.
New Object Syncing – Requires Professional or Higher Plan
- Syncing of Repeating Invoices now in BETA for All Plans
We can now create repeating invoices between Salesforce and Xero. It will set up the repeating invoice schedule in Xero, ready to generate your repeating invoices. When Xero generates the invoice on the due date, the invoice will sync back to Salesforce. It will also attach back to the original opportunity (no custom objects supported yet).
- Syncing of Quotes now in BETA for Professional and Above Plan Subscribers (Push and Pull)
We can now sync quotes between Salesforce and Xero. You can create quotes in Salesforce and push them to Xero, or you can create them in Xero and sync back to Salesforce. You can now replace the out of the box Salesforce quote object with our object to sync your quotes back to Xero and generate your Xero quote template all from Salesforce!
In future releases we will build support for converting Quotes to Invoices like you can in the Xero Interface. For now, you can just create an invoice from the opportunity like you do in TCC now.
- Syncing of Purchase Orders now in BETA for Advanced Plan Subscribers (Pull Only)
We can now sync purchase orders between Salesforce and Xero. This is a pull only sync (from Xero). 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.
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.
Account Matching Tool:
- 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.
- 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.
- Fixed some small mapping issues / bugs
We have squashed some small bugs around field mapping when using the matching page.
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 or any object 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.
Developers:
- Flow Elements
We now include pre-packaged flow elements in TwoCanConnect. You can now automate the creation of Xero Contacts and Invoices using a Salesforce Flow. You can also push the invoice instantly using the flow components. More information and resources will be provided shortly. Please note that flow element support is not available via TCC Support.
- Payment Record Syncing (Developer Function)
We now allow developers to create payment records against an invoice for automation purposes. The payment will push and apply to the invoice in Xero. Please contact us for more information.
- Integration with StoreConnect
Using our flow elements, we now support integration with StoreConnect. When using StoreConnect, your invoices and payments can automatically sync to Xero.
Thanks for being a part of TCC and we hope that this update helps you. As always, we are after feedback on how we can improve the product! Our next planned feature is Multi-Org Syncing which we hope to have up and running by the end of the year. Please reach out if you have any questions!