Accounting · via Zapier

Connect Zunoform to Xero via Zapier

This is not a one-click native integration. Zunoform posts every completed response to a Zapier catch hook, and your Zap does the rest — so there is no Xero button inside Zunoform and no OAuth connection between the two products. What you get instead is a webhook connection with field mapping you control in Zapier.

Adds a contact or raises an invoice in Xero from each response, so a new-client intake form ends in your ledger rather than in a spreadsheet.

The Zapier integration is on Zunoform’s free plan — 500 responses a month, no card. Webhooks by Zapier requires a paid Zapier plan; destination account requirements and task limits also apply.

Example workflow

Keep client intake separate from invoice approval

A client form can provide the contact details needed for a Xero record while your team reviews the service request. Treat that record as preparation for billing; final scope, tax treatment and payment reconciliation remain part of your accounting process.

Prepare your Xero account

Confirm the connected Xero organization and decide how an existing contact will be found. Use a stable contact identifier where your workflow supports it; similar company names alone are not a reliable matching rule.

Four steps, start to finish

Start with a published Zunoform form, a Zapier plan that includes webhooks, and access to the destination account. Some destinations require additional permissions or setup.

01

Create a Zap with a Catch Hook trigger

In Zapier, create a new Zap and choose Webhooks by Zapier as the trigger app, then Catch Hook as the event. Zapier generates a URL for you and shows it on the next screen. Copy it.

02

Paste the URL on the Zapier card in Zunoform

Open your form in the Zunoform builder, go to the Integrations tab, and paste the URL on the Zapier card. We only accept an https address on zapier.com, so a typo is rejected rather than silently failing later.

03

Submit a test response so Zapier learns the shape

Publish the form and fill it in once yourself. Zapier's trigger step will pick that submission up as sample data — without it, the field list in the next step is empty and there is nothing to map.

04

Map your fields to Xero

Add an action step and choose Xero. Connect your account, then pick the action that creates a contact or an invoice. Zapier's action list changes over time, so choose from what it shows you rather than hunting for an exact name. Drag your form's answers into the fields, test the Zap, and turn it on.

Suggested field mapping

Use this example to plan your form. Select the actual fields from your captured test response and the action available in your account; these are mapping suggestions, not a preconfigured Zap.

Billing contact and email
Destination: Contact details
Review update behavior so a blank answer does not erase existing data.
Known account reference
Destination: Contact lookup where supported
Keep this separate from a name typed by the respondent.
Requested work
Destination: Review notes or draft description
Do not treat a request as an approved accounting line item.
Response ID
Destination: Supported reference
Keep a trace back to the source submission.

What Zapier receives

The payload includes formId, formName, responseId, submittedAt, status, answers and metadata. Answers are keyed by field ID, not by question label; inspect a test response to identify the answer you want. Multi-part answers can contain nested values, and uploads contain file references rather than binary attachments. Replacing a question can change its ID, so retest mappings after editing the form.

Delivery uses a background queue with retries for failed webhook requests. A successful hook does not confirm the later Xero action succeeded. Check Zap history, and use responseId in a lookup or a processed-response log when duplicate processing would matter. Earlier responses are not automatically replayed when you connect the hook.

Test before sharing your form

Submit a known client's details with a small spelling variation in the company name. Confirm the intended matching behavior and inspect any draft before enabling invoice delivery.

If the result is missing or wrong

For rejected invoice lines, inspect the selected account, item, currency and required fields. For duplicates, inspect contact matching before replaying the run. Form collection does not reconcile payments automatically.

Check the current Xero actions in Zapier and Zapier’s webhook setup and plan requirements before configuring your account. Action availability and permissions depend on your connected account.

Questions people ask

Will it match an existing Xero contact?

Matching depends on the lookup and action you configure. Use a stable customer reference where supported and test a known contact before enabling creation. Do not assume that similar names or matching email addresses will automatically merge records.

Can this replace an accounting integration?

It can help with intake, but it is not a complete accounting or reconciliation system. Payments collected through Zunoform use your own Stripe or PayPal account; matching those transactions to Xero records requires a separately configured process.

Is this a native Zunoform integration?

No. Zunoform sends each completed response to your Zapier catch hook; you configure the destination and field mapping in Zapier. The Zunoform connection is included on Free, but Webhooks by Zapier requires a paid Zapier plan. Native options include Google Sheets and Zoho CRM on Free, with Slack, Notion, HubSpot, Mailchimp, Airtable and Excel on Pro. Form notification emails on Free require your own SMTP configuration; platform-sent form emails require Pro or Business.

Also in Accounting

Ready when you are

Better forms.
Better data.

Start with a conversation, a document or a single page.
Unlimited forms and 500 responses per month on Free.
No card required.

  • No credit card
  • Unlimited forms
  • 500 responses / month