Invoice workshop places as registrations arrive
Every workshop registration raises a Xero sales invoice for the session the attendee picked, priced from your own list.
New submission on your event registration form
Create a sales invoice in Xero for the attendee with the ticket or session as a line item
One-directional. A submission triggers the action — nothing is written back into your form.
A workshop fills up over a fortnight, and the invoices go out the night before, all at once, from a list someone kept in their notes app. Names get missed. Places get given away free by accident.
Billing at the point of registration avoids that. Each signup raises an invoice in Xero for the session the attendee chose, priced from your own list, due before the room is booked. Coaches and training providers selling individual places, rather than running a ticketing platform, tend to work this way.
Setting it up
- 1
Publish the registration form with one option per session in Workshop You're Registering For, worded exactly as the sessions appear in your price list — the lookup table depends on that match.
- 2
In Zapier, trigger on New Submission from the registration form and add Xero's Create Sales Invoice action for the organisation that takes the training income.
- 3
Build a Zapier Lookup Table mapping each workshop option to its price, and to a revenue account code where they differ. Prices then change in one place rather than inside the Zap's mapping.
- 4
Map Full Name and Email Address into the invoice contact, with a Find Contact step ahead of it if the same people book repeat cohorts.
- 5
Write the line description as the workshop name plus its date, so somebody booking two sessions can tell the two invoices apart.
- 6
Set the due date relative to the session — seven days before it runs, say — with a Formatter date step, rather than leaving every invoice due on receipt.
- 7
Choose the status deliberately: Authorised sends a real invoice the attendee can pay, Draft holds it until you confirm a place. Match the wording of your confirmation message to whichever you pick.
- 8
Register once yourself, check the invoice under Business then Invoices, void the test, and turn the Zap on.
What maps where
Using the Workshop Registration Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Xero |
|---|---|
| Full Name | Contact the sales invoice is raised against |
| Email Address | Contact email, where Xero sends the invoice and any payment reminders |
| Workshop You're Registering For | Line item description, and the unit amount via a Zapier lookup of your session prices |
| Phone Number | Default phone on the contact, for chasing an unpaid place before the session runs |
| Experience Level | Tracking category on the invoice line, so beginner and advanced streams report separately |
Variations worth knowing
Training booked by a company has to be addressed to the company. Add an invoice-to question to your copy of the form and run Zapier paths on it, so business bookings raise the invoice against the employer's contact while individuals stay on their own record.
A zero-value invoice clutters the ledger and confuses reconciliation. Add a Zapier filter that stops the run when the chosen workshop is one of your free sessions, so only paid places reach Xero and the taster list stays in the form's responses.
If something isn't arriving
The lookup table missed, almost always because a session was renamed on the form but not in the table. Match on the exact option text, keep a catch-all row that flags the price as unset, and revisit the table whenever you add a workshop.
Someone registered twice, and Xero accepts both. Build an invoice reference from Email Address and the workshop name, search for it with a Find Invoice step, and let the Zap continue only when nothing matches.
Frequently asked questions
Does the form collect the workshop fee?
Yes. Add products and priced options to the form, then collect payment through secure hosted checkout with Stripe, PayPal, or Square. Payment status is tracked alongside the response.
Will the form know once an attendee has paid?
No. Nothing is read back from Xero, so payment status lives there alone. Your attendee list comes from the form's responses and your paid list comes from the invoice list; reconciling the two is a Xero job.
Can one submission cover a group booking?
The template registers one person. Add a places question to your copy of the form and map it to the line quantity, so a booking for three seats raises a single invoice for three places at the same session.
Related automations
- Create a Xero contact when a new client signs on
Every new client who completes your intake form arrives in Xero as a contact, with company, email and phone already filled in.
- Draft a Xero sales invoice from every wholesale order
Each trade order becomes a draft sales invoice in Xero, with the buyer's contact, line items and purchase order number already in place.
- Prepare a draft Xero quote from every enquiry
Each quote request opens a draft quote in Xero with the contact set up, the service on a line and your standard rates attached.
- Raise a Xero bill from each expense claim
Staff expense claims land in Xero as bills awaiting payment, coded to the right account and tagged to the department that spent the money.
- Add counter signups to your Customer Directory
A signup at the till or on your site becomes a Square customer profile straight away, spelled the way the customer typed it.
- Add new clients to your QuickBooks customer list
Every new client who fills in your intake form arrives in QuickBooks as a customer record, ready to invoice.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free