Create Invoice
Definition
The “Create Invoice” action in QuickBooks allows you to automatically generate a new customer invoice directly from your zenphi workflow. This action is essential for automating your accounts receivable processes and bridging the gap between your sales and accounting systems. Key capabilities include:
- Dynamically assigning customers, payment terms, and due dates to new invoices.
- Adding multiple line items with specific products, quantities, and rates.
- Customizing customer-facing messages and attaching supporting documents. This action streamlines your financial operations by eliminating manual data entry, ensuring that your billing process is both accurate and seamlessly integrated with your other automated tasks.
Inputs
1. Connection: This field is used to securely link your zenphi workspace to your QuickBooks account.
- Practical Guidance: You will select an existing QuickBooks connection from a dropdown menu, or create a new one by authenticating with your credentials. This is a static selection that remains the same every time the flow runs.
- Use Case Context: You need this connection so zenphi has the authorized permission to create an invoice in your specific QuickBooks environment.
2. Customer id: This specifies exactly which customer is being billed for the invoice.
- Practical Guidance: You can select a customer directly from the dropdown list (a static value) or use the token picker to dynamically pass a Customer ID from a previous step (like a “Find Customer” action) which changes depending on who the workflow is processing.
- Use Case Context: You would use the ‘Customer id’ field to ensure the generated invoice is attached to the correct client profile in QuickBooks.
3. Term id: This determines the payment terms for the invoice, such as “Net 30” or “Due on receipt”.
- Practical Guidance: Choose a term from the provided dropdown list, or use the token picker to dynamically insert a Term ID retrieved from an earlier “Find Term” or “List QuickBooks Entities” action.
- Use Case Context: You use this field to establish exactly when the customer is expected to pay the generated invoice.
4. Due Date: This sets the exact date by which the customer must pay the invoice.
- Practical Guidance: You can type in a specific date manually (static) or use the token picker to map a dynamic date calculated in a previous step.
- Use Case Context: You would use the ‘Due Date’ field to enforce payment deadlines for your billing cycles.
5. Invoice Date: This records the official transaction date when the invoice was created or issued.
- Practical Guidance: Enter a static date manually or use the token picker to dynamically insert the current date from your workflow.
- Use Case Context: This field is essential for accurate financial reporting and record-keeping in your accounting system.
6. Invoice No.: This assigns a unique reference number to the invoice for tracking purposes.
- Practical Guidance: You can type a static number, but it is highly recommended to use the token picker to generate a dynamic, sequential number from a previous step to avoid duplicates.
- Use Case Context: You need this field so that both you and your customer can easily reference the specific transaction in future communications.
7. Send Later: This is a toggle switch that decides whether you want to specify email addresses to send the invoice immediately or hold it in QuickBooks for later.
- Practical Guidance: You set this as a static
True/Falsevalue. Note: If you enable this (set toTrue), the email fields below will be hidden. - Use Case Context: You would use this toggle if your accounting team prefers to review all generated invoices in QuickBooks before manually sending them out in a batch.
- Customer Email: The primary email address where the invoice will be sent. Practical Guidance: Type a specific email address (static) or use the token picker to pull the customer’s email dynamically from a CRM trigger or previous step. Use Case Context: You need this field to ensure the invoice reaches the client’s inbox automatically.
- CC Email: An additional email address to receive a carbon copy of the invoice. Practical Guidance: Provide a static email address or use the token picker for a dynamic value. Use Case Context: You might use this to keep a customer’s secondary billing contact or an internal account manager in the loop.
- Bcc Email: An email address to receive a blind carbon copy of the invoice without the primary recipient seeing it. Practical Guidance: Enter a static email or use the token picker to dynamically assign an address. Use Case Context: This is useful for silently copying your internal accounts receivable department on all outgoing invoices.
8. Billing Address: This defines the physical or registered bill-to address for the invoice.
- Practical Guidance: You can type a static address or use the token picker to map address data from a previous system. If left blank, QuickBooks will automatically use the customer’s default billing address.
- Use Case Context: You would use this field if a client requests the invoice be sent to a different corporate entity or location than their standard profile address.
9. Item Details: This section allows you to add one or multiple line items (products or services) to the invoice.
- Practical Guidance: You can manually add items one by one, or dynamically generate a list of items using data from a previous step (like a CRM won deal).
- Use Case Context: You need this section to detail exactly what the customer is paying for, including quantities and costs.
- Product/service id: The specific identifier for the product or service being billed. You can select this from a dropdown or map it dynamically using the token picker.
- Description: A text explanation of the item. You can type a static description or map it dynamically to provide more context to the buyer.
- Amount: The total cost charged for this specific line item. This can be a static number or dynamically calculated via the token picker.
- QTY (Quantity): The quantity of the item being invoiced. Provide a static number or use the token picker to pull the quantity dynamically.
- Rate: The price per single unit of the product or service. This can be a static value or a dynamic token.
- Class Id: Used to categorize the line item for reporting purposes. Select from a dropdown or use the token picker.
- Tax: A toggle to indicate whether this specific line item is taxable.
10. Message on invoices: A customer-facing note that will appear directly on the final invoice document.
- Practical Guidance: You must type this message manually as a static value (hardcoded text). The token picker is not available for this field.
- Use Case Context: You would use this to add a friendly “Thank you for your business!” or specific payment instructions for the customer to read.
11. Message On Statement: An internal, private note about the transaction that is saved in QuickBooks but hidden from the customer.
- Practical Guidance: Similar to the invoice message, this must be typed manually as a static value without the use of the token picker.
- Use Case Context: You might use this to leave an internal audit note, such as “Approved by Finance Director on [Date].”
12. Attachments: This allows you to include extra files or documents alongside the invoice.
- Practical Guidance: You use the token picker to dynamically pass file objects (like
.pdfs or images) generated or retrieved in previous workflow steps. - Use Case Context: You would use this field to attach a signed contract, a timesheet, or expense receipts to justify the billed amounts.
Outputs
1. Id: This provides the unique, system-generated identifier for the newly created invoice within QuickBooks.
- Utility: This ID is essential because you can pass it to a later “Update Invoice”, “Send Email”, or “Log to Google Sheets” action to reference the exact invoice you just created.
2. Total Amount: This outputs the final calculated monetary total of the invoice, including all line items and taxes.
- Utility: This value is highly useful in subsequent steps, such as routing the workflow to an approval task if the total exceeds a certain threshold, or logging the expected revenue in a CRM.
3. Balance: This provides the current outstanding balance of the created invoice (which typically matches the total amount upon creation).
- Utility: You can use this balance in a later “Condition” step to verify if a partial payment was immediately applied, or pass it into a Slack notification to alert the team of the pending accounts receivable amount.
4. Customer: This outputs the identifier or name of the customer associated with the newly created invoice.
- Utility: This information can be used in a subsequent “Update CRM Record” step to log that an invoice was successfully generated for this specific client, keeping your sales and accounting systems perfectly synced.
Example Use Cases
- Automate Post-Sale Billing Automatically generate a QuickBooks invoice as soon as a sales opportunity is marked as
Closed Wonin your CRM system. - Process Timesheet Invoices Create detailed invoices with dynamic line items for billable hours submitted by contractors or employees via a form.
- Generate Recurring Subscriptions Schedule a monthly workflow to automatically create and send invoices for ongoing customer subscription plans or retainer fees.
- Bill for Resolved Support Tickets Trigger an invoice creation with attached expense receipts when a premium support ticket is marked as resolved in your helpdesk platform.
Example
Scenario: A consulting agency needs to streamline their billing process at the end of every client project. Instead of having project managers manually email the finance team to draft a bill, they want to automatically generate and send a QuickBooks invoice as soon as a project manager submits a project completion form.
Steps to Implement:
- Set the Trigger
- Select a Zenphi Form trigger where project managers input the client’s ID, billable hours, hourly rate, and project description.
- Configure the “Create Invoice” Action
- Connection: Select your authenticated QuickBooks connection from the dropdown.
- Customer id: Use the token picker to dynamically map the client ID submitted in the Zenphi Form.
- Term id: Select “Net 30” from the dropdown list to establish the payment deadline.
- Send Later: Set this toggle to
Falseso the invoice is prepared for immediate email delivery. - Customer Email: Use the token picker to map the client’s email address from the form submission.
- Item Details: Add a line item mapping the “Description” to the form’s project description, “QTY” to the billable hours, and “Rate” to the hourly rate.
- Log the Output
- Add an “Add Row to Google Sheet” action to log the newly created invoice’s
IdandTotal Amountoutputs for internal financial tracking.
- Add an “Add Row to Google Sheet” action to log the newly created invoice’s
Outcome: The agency completely eliminates manual data entry from their billing cycle. Invoices are generated accurately and sent to clients immediately upon project completion, accelerating the accounts receivable process and freeing up the finance team’s time for higher-level tasks.
Best Practices
- Leverage Dynamic Line Items Use the token picker in the Item Details section to dynamically map quantities, rates, and descriptions from previous steps, ensuring your invoices scale accurately with varying customer orders.
- Utilize the Send Later Toggle If your workflow processes high volumes of invoices or requires a final human review, set the “Send Later” toggle to
Trueso your finance team can batch-approve them in QuickBooks before sending. - Store the Invoice ID Always log the output
Idof the created invoice in your CRM, database, or a Google Sheet so you can easily reference, update, or track the payment status of the transaction in future workflows. - Test with a Sandbox Account When initially building your workflow, connect to a QuickBooks sandbox environment to safely test your dynamic tokens and line item calculations without generating false financial records in your live account.