Google Calendar list items to line items in Xero

  • 18 October 2021
  • 3 replies

I have Google calendar events I want to send to XERO.  (I’m trying to see if Zapier can be used to replace and existing process)

Each Calendar event is a billable to one client.  Picking up and linking the event to Xero to a contact is easy enough. however.. Each Event has a list in it of chargeable items in set format and a short ‘private’ note below for my own use.  ie

  1. Setup products:60:1
  2. Demonstrate use:60:1.5
  3. travel:120:2

Go onsite setup items show Steve and Johnny how to use.

I want Zapier to pick up the list items and put them as line items for the client. It needs to;

a) Pick up and loop through the <li> items
b) Parse the items separating by :  into 3 sections and make a Xero Invoice Line entry for each into one new invoice.
c) the private not below the <LI> items should be ignored.

ie    Setup products:60:1     is     description:rate:quantity

I’m trying to see if this is even possible in Zapier but I’m not working out how to do it with loops and text. I feel like I need to parse the text li into individual items then loop and in the lop parse then again.. but I’m not seeing how this can be done.

Any guidance appreciated.

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

3 replies

Userlevel 6
Badge +6

Hey @Webdew ,


This is possible to build on Zapier. but please note you have to be really good at Zapier.

  • First use Formatter by Zapier OR Code by Zapier to format the items in proper line item format. 
  • Than loop the line item array and find item code from XERO. Store this item codes in the above array somwhere (Storage by Zapier can be good option)
  • Add an action to search for customer and than use the above array to create invoice in XERO. 

I suggest consider hiring a certified an expert from experts directory here or you can hire me.

Hi Thanks for your reply.

I think I have most of this figured out… havn’t run a real test yet.

Key for me to work this out was that I needed to create the invoice first (with basic details).. then loop through the information to make line items and insert them into the invoice that ‘was already created’.

Only think I’m stuck with now seems to be how to know what invoice I just made and reference it in the rest of the process. It seems I don’t get a  value back form creating an invoice I can use to the add line items to??  Ideally it would be the invoice number generated sequentially by XERO.

So without that feedback I guess I need to define a unique invoice number on creation.. which means using a value from Google Calendar that is unique and unchanging. The only option seems to be the id value. This is an unappealing value as it will appear in the invoice and clients may need to reference it .. so imagine having to type or read out on a call invoice ‘3tj6mv2sajuewrsnso6e5lgrlmg_20261102T030000Z’  (not a real ID) 

I have a second issue that is probably a show stopper - but I will make a new thread for that.

Below is an anonymized and shortened snapshot of my created workflow for those interested in coming up with a similar solution.


Userlevel 6
Badge +6

Hey @Webdew ,


Sorry i missed that there is an action on Zapier to Add items to Invoice in XERO invoice. 


What you can do is first create an Invoice with first line item → Than loop the other line items and than add all the line items in the invoice. When you create Invoice, you will get invoice id,drag this invoice id in further action to add items in the invoice. This should work for you.