Zapier Recipes: Generate an invoice in QuickBooks Online when documents are completed
This Zap will also work for generating estimates and sales receipts in QuickBooks Online. At step 4, just select ‘Create Estimate’ or ‘Create Sales Receipt’ instead of ‘Create Invoice’.
Subscription Requirements
PandaDoc Business and Enterprise
Zapier
QuickBooks Online
What you’ll need before getting started:
For best results, product names in Quickbooks should match the product names in your PandaDoc catalog or CRM. The product names need to be identical so that the Zap can read the products from the PandaDoc document, search for a product with a matching name in your Quickbooks account, and add it to a new invoice.
Step 1: Document Completed in PandaDoc
For each step in Zapier, you must select an "Application" and an "Event." In this case, the application is PandaDoc and the event is when a document is completed. In the trigger settings, find PandaDoc and select the Document completed event. Then, connect your PandaDoc account.
Select the template where you want these triggers to occur.
Why do I need to specify a template?
There are two reasons:
- Control when invoices are generated.
When no template is selected, the Zap will try to generate an invoice when any document in the connected PandaDoc account is completed. When a template is specified, an invoice will only be generated when documents created from the specified template are completed.
- To pass document specific data through Zapier
When no template is selected, you’ll be able to send only general PandaDoc document data through Zapier and into the ‘Action’ steps. However, if you select a template, you can pass all the data available in the document: variables, fields, pricing tables, metadata.
Testing your trigger
Now you will be prompted to test the Trigger step you’ve just created. Before going any further in Zapier, navigate to PandaDoc and make sure there is a completed document that was created from your selected template. The test is looking for a completed document in your workspace so there needs to be one for it to find.
If needed, create a test document from your template and complete it. You can speed this part up a bit by manually setting the document status to completed.
Finally, go ahead and test the trigger. If configured correctly, it will return the data from your test document.
Step 2: Find or Create Customer in Quickbooks Online
To create invoices under existing customers in QuickBooks you will need to use a ‘search step’. Using a recipient from your document, this searches for a customer in QuickBooks and creates the invoice under their record if found. If not found, a new customer can optionally be created.
Click on the plus sign below, find QuickBooks Online, select Find Customer as an action, and connect your PandaDoc Account.
Continue to ‘Setup Action’ and add a search field (Field in QuickBooks) and search value (PandaDoc document data). Select ‘Email’ for the search field. Here, you’re telling the Zap to find an existing customer in QuickBooks using an email address of a recipient on the document.
Check “Create Quickbooks Online Customer if it doesn’t exist yet?” if you want to create a new customer in QB when an existing one isn’t found. A set of QB customer fields will appear.
Tell QB what to use as the new customer name by mapping the variables for first and last name. The other QB customer fields (Title, Phone, etc.) are optional. Decide what document data you want to use and map it accordingly.
Finally, Zapier will prompt you to test the search step. Depending on the email address from your test document, the test will either find an existing customer or create a new one.
Step 3: Find Product(s) in Quickbooks Online
We need one more search step before we get to creating the invoice. In this step, we are mapping PandaDoc pricing table items to Product/Services in QB Online.
As a search value for Quickbooks Online field “Product Name”, use “*your pricing table name* Line Items Name” from PandaDoc. If there are multiple pricing tables on your document you will add the Line Items name tokens from both tables (E.G. pricing table 1 line items, pricing table 2 line items).
Now go ahead and continue to test this step. It will be successful if it finds the associated products in QB Online.
Step 4: Create Invoice in Quickbooks Online
Now that you’ve gathered the customer and products from QB it’s time to create the invoice.
Create a new step, choose QBO for the app and Create Invoice as the action. Continue and select your QBO account once more.
Customize Invoice:
Here you have QB Online invoice fields, and you need to map them with different data (variables, pricing table columns) from PandaDoc or QB Online. You can map as many fields as you want, we’ll cover only the required/important ones.
For the required “Customer” field - select QBO field from Step 2 - “ID”. This will use the QB customer ID that was found or created in Step 2.
For “Email” - you can select QBO field “Primary Email Address” or PandaDoc variable “variable [Role] Email” or “Recipients Email”.
Important!
We can’t map dynamic dropdown items for Payment Terms. If you are using different payment terms, i.e. Net 15, 30, 60 in a PandaDoc dropdown field, in Zapier you can map by one term (one dropdown field item) at a time. You’ll need to create separate zaps or paths for each payment term.
Mapping “Line Items” Section into the QB Invoice.
To properly map the “Product/Service” to the respective areas, use the “Products ID” QB field in the invoicing section (from step 3 of our Zap).
You can additionally map and populate from PandaDoc Description, QTY, Rate. The amount is a required field.
Finally, you’re ready to test the last step of your Zap! On a successful test, a new invoice will be generated in your QB account using the data from your test document.
Now let’s take a look at the test invoice in QB to make sure all your fields were added correctly.
Lastly, turn on your Zap and let the automation begin!
-
Hi Matt,
Thank you so much for making this guide. I cannot tell you how useful it was for me. There are quite a few intricacies in creating this zap and I wouldn't have worked them out with out this.
One question; is there anyway to create this as 5 separate zaps? I ask because it is the only zap I am using and as it is multi-step it means subscribing to a paid plan. I thought initially I could break it down to 5 separate zaps, but then I realised that information from one stage in the zap (eg the client number is used in the next stage). If you know of a way to do this I would really appreciate your support
With warmth
Ed -
Hello Ed,
Thank you for your patience while I was looking into this for you.
I have confirmed with my team that the workflow isn't possible with 5 separate Zaps. A subscription with Zapier would be needed to create a multi-step Zap for this workflow.Thank you for choosing PandaDoc!
Please sign in to leave a comment.
Comments
3 comments