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.
New submission on your new client intake form
Create a Customer in QuickBooks Online with the display name, company name, email address and phone number from the submission
One-directional. A submission triggers the action — nothing is written back into your form.
A bookkeeping practice signs up clients in bursts — a few in January, a rush before the filing deadline. Retyping each one into QuickBooks is the sort of job that gets left until the first invoice is due, by which point half the details are buried in an email thread.
This flow closes that gap. The intake form becomes the only place anyone types a client's name, business name and contact details, and QuickBooks has them seconds after the form is submitted. Anyone who bills from QuickBooks and onboards through a web form will recognise the problem.
Setting it up
- 1
Publish your client intake form in formformform and put one realistic test entry through it, so Zapier has a sample submission with a business name in it to map from.
- 2
In Zapier, set the formformform "New Submission" trigger to that intake form, then add QuickBooks Online with the Create Customer action.
- 3
Decide what goes in Display Name before you map anything. QuickBooks requires it to be unique, so pick either the person or the business and stay consistent — mixing the two is what produces near-duplicates six months later.
- 4
Map Full Name to Display Name and to the given and family name fields, and map Business Name (if applicable) to Company Name, leaving it empty for sole traders rather than repeating the person's name.
- 5
Map Email Address to the customer's email and Phone Number to the primary phone, so the first invoice can go out without anyone looking the client up.
- 6
Join Entity Type and Services Needed into the customer Notes field with a line break between them, so whoever raises that first invoice can see what was actually agreed.
- 7
Add a Zapier filter that only continues when Email Address is present. Abandoned and test entries then stop short of your customer list.
- 8
Run one submission end to end, confirm the record under Sales then Customers, and switch the Zap on.
What maps where
Using the Accounting Client Intake Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | QuickBooks |
|---|---|
| Full Name | Display Name on the QuickBooks customer, plus the given and family name fields |
| Business Name (if applicable) | Company Name on the customer record |
| Email Address | Customer email, used when QuickBooks sends the first invoice |
| Phone Number | Primary phone on the customer record |
| Entity Type | Customer Notes, so sole traders and limited companies are distinguishable at a glance |
| Services Needed | Customer Notes, giving the person who invoices the scope that was agreed |
Variations worth knowing
The intake template does not ask for a postal address. Add an address question to your copy of the form, then map it to the billing address block on the customer — line one, city, region and postcode are separate inputs in the QuickBooks action, so split the answer with a Zapier Formatter step first.
If your terms depend on the type of client, add Zapier paths on Entity Type and set the Terms field on the customer differently in each path. Invoices raised later then inherit the right due date instead of defaulting to due on receipt.
If something isn't arriving
QuickBooks rejects a second customer with the same display name. Put a Find Customer step in front of the create step, search on Full Name, and only create when nothing comes back. Repeat enquiries then update nothing rather than failing loudly.
Business Name (if applicable) is optional, so sole traders leave it blank and Zapier passes an empty value through. Either leave the field unmapped, or add a Formatter default that falls back to Full Name so the column is never blank.
Frequently asked questions
If I edit the client in QuickBooks, does the form know about it?
No. The connection runs one way only: a submission creates a record in QuickBooks. Nothing is read back out of QuickBooks and nothing is written into the form or its stored responses, so QuickBooks stays the place where client details are corrected.
Can the same submission create the customer and the first invoice?
Yes, by adding a second QuickBooks action to the same Zap and passing the new customer ID into it. In practice most practices keep them separate, because the intake form rarely knows what the first engagement will be billed at.
What happens when an existing client fills the form in again?
Without a Find Customer step, QuickBooks refuses the duplicate display name and the Zap errors. With one, the Zap finds the existing record and skips creation. Neither option overwrites the details already held in QuickBooks.
Related automations
- Log expense claims as QuickBooks expenses
Each expense claim submitted by staff is recorded in QuickBooks against the right category, payee and date.
- Onboard contractors and suppliers as QuickBooks vendors
New suppliers and contractors fill in their own details once, and the vendor record is created in QuickBooks.
- Raise a QuickBooks invoice from an order request
An order placed through your form becomes a draft invoice in QuickBooks, with terms and PO number already filled in.
- Record a paid order as a QuickBooks sales receipt
An order that has already been paid for is logged in QuickBooks as a sales receipt against the right income account.
- Turn a quote request into a QuickBooks estimate
Quote requests land in QuickBooks as estimates against a named customer, ready for you to price and send.
- 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.
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