- Integrations
- /
- Wave
- /
- Actions
- /
- Create Invoice
ActionWaveUpdated May 2026
How do I create an invoice in Wave from a workflow?
Short answer: Drop the "Wave → Create Invoice" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Customer ID customer_id | string | Required | The Customer ID assigned by Wave. Find via the corresponding list/search operation in this app. Use the exact ID, not a name or label. |
Items (JSON array) items_json | string | Required | [{"productId":"prod_abc","unitPrice":"100","quantity":2}] |
Sample request
{"customer_id": "{{trigger.customer_id}}","items_json": "{{trigger.items_json}}"}
Returns
{"data": {"invoiceCreate": {"invoice": {"id": "inv_abc","status": "DRAFT","invoiceNumber": "1"},"didSucceed": true}}}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Create Invoice.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Create Invoice.
What does the Create Invoice action do in Wave?
Creates an invoice in Wave via the GraphQL invoiceCreate mutation, with customer, line items, taxes, and due date. Used to invoice on milestone completion or to mirror billable activity from another system.
What inputs does Create Invoice require?
Required: Customer ID, Items (JSON array). Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Wave returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Create Invoice support batch operations?
Yes. Run Create Invoice inside a Loop node to process arrays. Tiny Command handles Wave's rate limits automatically so you don't have to throttle manually.
More actions
Other Wave actions.
Send create invoice from your workflows.
Triggered by anything in the catalog. Free tier available. No credit card.