Wave Accounting and Zendesk integration
Wave Accounting tracks customer invoices and payments for small businesses. Zendesk manages support tickets and customer interactions. Connecting the two brings customer invoicing context directly into your support tickets so agents can see billing information without logging into a separate system. New customers created in Wave automatically appear in Zendesk as organizations, and invoice events trigger updates to keep the support context current.
What moves between them
Wave Accounting customers flow into Zendesk as organizations, and customer contact records become Zendesk users. Invoices and payments from Wave are stored as custom fields or linked records within Zendesk organizations so support agents can view billing history in context. The main flow is Wave into Zendesk, triggered by Wave webhooks on customer creation, invoice updates, and payment events. Wave has no inbound synchronization, so Zendesk changes do not flow back to Wave.
How ml-connector handles it
ml-connector stores both OAuth credential sets encrypted and refreshes each token when a call returns a 401 response. On the Wave side, it subscribes to webhooks for customer, invoice, and payment events; Wave retries failed deliveries, and ml-connector returns HTTP 200 on successful processing and HTTP 500 to trigger a retry. Customer records are created as Zendesk organizations with metadata from the Wave customer object (name, email, custom fields). Invoices are attached as linked data within each organization so the support team can see the invoice amount, due date, and payment status without leaving Zendesk. Because invoices in Wave cannot be patched, updates trigger a new webhook event that ml-connector uses to refresh the invoice record in Zendesk. All records carry audit timestamps and job IDs for replay if a downstream Zendesk call fails.
A real-world example
A small software consulting firm uses Wave Accounting for invoicing and customer financial tracking, and Zendesk for support tickets. Before the integration, when a customer opened a support ticket, the agent had no visibility into open invoices or payment history and had to ask the customer for invoice details or log into Wave separately. With Wave and Zendesk connected, each organization in Zendesk displays the customer's current invoices, payment status, and recent invoice changes directly in the ticket context. Agents can prioritize support for customers with aging invoices, and the sales team can see support history when following up on unpaid invoices.
What you can do
- Sync Wave Accounting customers into Zendesk as organizations with company name, email, and custom fields.
- Attach Wave invoices and payment records to Zendesk organizations so agents see billing history in the support ticket.
- Keep customer and invoice records current using Wave webhooks for customer.created, customer.updated, invoice.created, invoice.updated, and payment.created events.
- Authenticate Wave with OAuth 2.0 and refresh tokens, and Zendesk with OAuth 2.0 or API tokens, with automatic token refresh on 401 responses.
- Maintain a full audit trail on every synced record with timestamp and replay support if a Zendesk API call fails.
Questions
- Can data flow both ways between Wave Accounting and Zendesk?
- No. The integration syncs Wave customers and invoices into Zendesk only. Zendesk is a support platform with no finance entities, so changes to tickets or support data remain in Zendesk and do not flow back to Wave accounting records.
- How does the integration handle Wave's webhook security?
- Wave webhooks are signed with HMAC-SHA256, and the signature is passed in the x-wave-signature header. ml-connector validates the signature within a 5-minute replay window before processing the event. If validation fails, the webhook is rejected to prevent processing of spoofed or tampered events.
- What happens if a Wave invoice cannot be patched in Zendesk?
- Wave invoices cannot be patched through the GraphQL API, only created or deleted. When an invoice is updated in Wave, a new invoice.updated webhook is sent, and ml-connector replaces the invoice record in Zendesk with the updated data rather than attempting an in-place update.
Related integrations
More Wave Accounting integrations
Other systems that connect to Zendesk
Connect Wave Accounting and Zendesk
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started