Xero logo

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.

When this happens

New submission on your event registration form

Do this

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. 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. 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. 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. 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. 5

    Write the line description as the workshop name plus its date, so somebody booking two sessions can tell the two invoices apart.

  6. 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. 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. 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 fieldXero
Full NameContact the sales invoice is raised against
Email AddressContact email, where Xero sends the invoice and any payment reminders
Workshop You're Registering ForLine item description, and the unit amount via a Zapier lookup of your session prices
Phone NumberDefault phone on the contact, for chasing an unpaid place before the session runs
Experience LevelTracking category on the invoice line, so beginner and advanced streams report separately

Variations worth knowing

Invoice the employer rather than the attendee

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.

Skip free taster sessions

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

Invoices arrive with a zero amount.

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.

One attendee receives two invoices for the same session.

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

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