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.
New submission on your wholesale or service order form
Create an Invoice in QuickBooks for the matching customer, with the ordered items, quantities and amounts
One-directional. A submission triggers the action — nothing is written back into your form.
Wholesale buyers order in a familiar rhythm: the same products, the same accounts, and a purchase order number their finance team needs printed on the invoice. The order lands in an inbox, someone reads it, someone else keys it into QuickBooks, and the invoice goes out two days later than it should have.
Sending the order straight through removes the keying step. The buyer's own words become the line description, the agreed terms set the due date, and whoever raises invoices opens a document that is already three-quarters written.
Setting it up
- 1
Publish the order form and submit a test order containing two different products, so you can see exactly how the order text arrives in Zapier before you map anything.
- 2
Build the Zap with the formformform "New Submission" trigger pointed at that form, then add QuickBooks Online with the Create Invoice action.
- 3
Insert a Find Customer step between the two, searching on Business Name with "create if it doesn't exist" enabled, and pass the returned customer ID into the invoice step.
- 4
Map Product Selection and Quantities into the description of the first invoice line and choose one catch-all Product/Service item for it. The form sends the order as text, not as priced rows, so the line needs pricing by hand before sending.
- 5
Map Payment Terms to Terms so QuickBooks calculates the due date, and Requested Delivery Date to Ship Date.
- 6
Map PO Number (optional) to a custom field on the invoice, and label that custom field "Customer PO" in QuickBooks so it prints where the buyer's accounts team expects it.
- 7
Leave the invoice's send-email option switched off. The draft is meant to be priced and checked, not fired at the customer automatically.
- 8
Run the test order, confirm the draft under Sales then Invoices, then turn the Zap on.
What maps where
Using the Wholesale Order Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | QuickBooks |
|---|---|
| Business Name | Customer on the invoice, matched by display name through a Find Customer step |
| Product Selection and Quantities | Description on the first invoice line |
| PO Number (optional) | Custom field on the invoice, so the buyer can match it to their own purchase order |
| Payment Terms | Terms on the invoice, which sets the due date |
| Requested Delivery Date | Ship Date on the invoice |
| Email Address | Billing email on the invoice, ready for when you send it |
Variations worth knowing
If you sell a short, fixed catalogue, replace the single order box with a quantity question per product and use conditional logic to reveal only the relevant ones. Each quantity then maps to its own invoice line against a real QuickBooks item, and the totals come from your item rates rather than being typed.
For accounts on agreed pricing, add a Zapier path that checks Business Name against your approved list and switches the invoice's email option on. Everything else keeps landing as a draft for someone to price.
If something isn't arriving
That is expected when the order comes through as a text description on a catch-all item with no rate. Either set a rate on that item in QuickBooks, or move to one line per product so each line inherits its own price.
People type "Acme Ltd", "acme limited" and "ACME" on different days. Run Business Name through a Formatter trim and title-case step before the Find Customer search, or replace the free-text question with a dropdown of your existing accounts.
Frequently asked questions
Can the form add up the order total before it reaches QuickBooks?
No. There are no calculated fields in formformform, so the form captures what was ordered and QuickBooks does the arithmetic from the rates on your Products and Services list. That keeps one price list rather than two that drift apart.
Can the buyer pay on the form?
No. Hosted checkout collects money from a respondent; it does not send money to a supplier. The form collects the supplier details and QuickBooks or your bank handles the outgoing payment.
If a buyer resubmits the form with a correction, does the invoice update?
No. Each submission triggers a fresh action, so a corrected order creates a second draft invoice. Delete or amend the first one in QuickBooks — nothing flows back from QuickBooks into the form to reconcile the two.
Related automations
- 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.
- 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.
- 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