Challenge
Our client is a B2B membership organisation. They use sheepCRM as their membership data system. Membership payments are collected by invoice, managed in Xero.
The native Xero integration in sheepCRM primarily covers manual invoice creation and viewing associated Xero invoices on a contact record.
We needed to meet a number of additional requirements:
- Automatically creating membership invoices in Xero whenever a membership is created or renewed in sheepCRM.
- Creating renewal invoices 4 weeks prior to the renewal date, to improve cashflow.
- Not creating a renewal invoice if the member had advised they had decided to leave.
- Handling any change of membership type and/or price at renewal.
- Adding a joining fee if this was the first membership.
- Not creating invoices for any free membership types or gratis memberships.
- Ensuring the contact details in Xero are up-to-date with those in sheepCRM.
Implementation
We developed a bespoke cloud function that is called automatically by sheepCRM’s ‘new membership’ and ‘membership renewing in 4 weeks’ triggers.
This cloud function implements a flow-chart process that consists of three main parts:
Validation
Is a membership invoice required in this instance?
We don’t create invoices for members who have advised they’re leaving, are on a free membership plan or gratis membership.
If this is a valid renewal, we then trigger sheepCRM’s renewal process to create the new membership record. This ensures we invoice for the correct dates, membership type and pricing.
Contact synchronisation
We ensure a Xero contact exists for the member – which may be a person or organisation – and is up-to-date.
We also ensure additional key contact information is sent to Xero including:
- The postal address of the member.
- The name and email address of the admin contact on the membership.
- The name and email address of the billing contact on the membership, if set.
The admin and (optional) billing contact details are critical as these are the people who need to receive the invoice generated in Xero and arrange payment. We ensure these contacts are set to be included in Xero emails.
Invoice creation
The final step is creating the invoice in Xero for the synchronised contact. The invoice contains:
- Due date: set as today for new memberships, or the renewal date for renewals.
- A line item for the membership including the membership plan, start and end dates and the appropriate fee.
- A line item for the joining fee, if applicable.
- A unique reference number to assist with payment reconciliation.
Results
Prior to building this sheepCRM to Xero invoicing automation, the team were creating membership invoices manually. This was a very expensive process in terms of the staff time required to create and manage the invoicing process.
Invoicing on autopilot
Invoices are now created automatically. This has freed up many hours of staff time that can now be better employed generating additional value elsewhere.
Confidence in the invoicing has increased, removing the old fears that invoices were incorrect or missed.
Improved cashflow
Raising invoices in a timely manner secures faster payments.
The switch to invoicing renewals in advance has had a particularly positive impact on cashflow.
Additional data validation
We use the automation to check for any anomalies in the data. These anomalies include:
- Missing or incomplete details of membership admin / billing contacts.
- Missing or incomplete postal addresses.
- Duplicate contact detection in both sheepCRM and Xero.
- Organisational membership types applied to a person, and vice-versa.
Alerts and notifications are raised on every run of the Xero invoicing automation.
Tall Projects monitors these notifications and takes any necessary actions as part of our ongoing, inclusive service for this client.