Services Plugins FAQs

Xero Plugin Limitations

I’m trying to create invoices using the Xero plugin but I seem to be encountering some issues and I don’t know if it’s a limitation of the plugin or the limits of my knowledge!

ContactID
When using the “Xero - Create Invoice” action it asks for a ContactID but there doesn’t seem to be an action to Get a single contact, there is only a Get All Contacts and then I can’t find a way to search that result to find the relevant ContactID.
Perhaps I’m just not doing it the right way, but what I imagined I would be able to do but can’t work out how is to Get All Contacts, then filter/search the contacts to match the client name in Bubble with a client name in Xero, and then extract the ContactID of that client.
I noticed on your demo page for this plugin, you just have a text entry box to enter the ContactID, but it’s impractical and unlikely for users of my app to know (or manually find) the ContactID of every single one of their clients! It would be much better if I could just search and fill that for them based on the client’s name or email address.

Multiple Invoice Lines
I can’t find any way to add extra line items to the invoice, the “Xero - Create Invoice” action only gives options for one Quantity, UnitAmount, AccountCode and Description, and there is no “Xero - Update Invoice” action that could be used to add more. Am I missing something?

Tax Inclusive/Exclusive
There doesn’t seem to be any option in the “Xero - Create Invoice” action to specify whether the unit amount includes or excludes tax (Xero assumes it excludes and automatically adds tax). Again, am I just missing something?

Manual API Calls
To be honest, I haven’t tried this yet, so I’m being a bit lazy by asking it here instead … is it possible to use the Plugin to negotiate the initial login and connection to Xero, but then create calls to the API outside of the plugin? Will those calls to the API still work?

Hello, @philiposborne.
Please accept our apologies for the delayed reply :pray:

Using the “Get All Contacts” data call you can get the list of all contacts of your account and then decide manually which exact ContactID to pick. Or you can apply any possible filter to this data source to display the only ContactID you may need (:filter by user email, for example).

For example, on our demo page, there is a Repeating Group that calls for the list of all contacts our test Xero account has. To test the “Create Invoice” action you just need to copy the ContactID and paste it into the Contact ID input field.


We have taken your feedback into consideration and added it to the list of the possible plugin improvements. Once it will be added to the plugin Content - we update you right a way.


It is possible to create separate API calls using the API Connector plugin and it will work with the plugin :slightly_smiling_face:

Let me know if you have any other questions. I will be glad to help.
:sunflower:

1 Like

@philiposborne,

Just wanted to let you know that we have improved a bit the plugin with the “Update Invoice” action. Plus, we have improved the “Create Invoice” action with the field “LineItems” which allows users to add as many invoice fields as they need (in JSON format).

Update your plugin to the latest version and give it a try :rocket:

Hope it helps. :sunflower: