Wave Accounting and Marketo integration
Wave Accounting runs the books for small businesses, tracking customers and invoices. Marketo runs the marketing engine, nurturing leads and tracking sales deals. Connecting the two means your customer database in Wave feeds marketing campaigns in Marketo, and your sales pipeline in Marketo ties back to the invoices and revenue in Wave. Sales and accounting stay aligned, and your marketing automation starts with real customer data instead of manual imports.
What moves between them
The primary flow moves Wave customers into Marketo as companies and leads. When a customer is created or updated in Wave, ml-connector receives the webhook and upserts the matching company record in Marketo, enriched with contact email and business details. Marketo opportunities are polled on a daily schedule and mapped back to Wave invoices by customer and invoice amount, so sales pipeline deals are visible in Wave alongside actual billing. Opportunity updates (stage changes, close date shifts) flow into a transaction log in Wave for sales-to-finance reconciliation.
How ml-connector handles it
ml-connector stores Wave OAuth tokens and refreshes them on 401 responses; it also caches Marketo tokens across requests within their 3600 second window. Wave customer webhooks are validated against the HMAC-SHA256 signature and acknowledged with HTTP 200 within the 5 minute replay window. Marketo batch requests respect the 300 record per-request limit by chunking large customer imports into multiple calls. Company names are matched by email domain (Wave's email field mapped to Marketo's company domain lookup) to avoid duplicate companies. Opportunities are matched to Wave invoices by customer ID and amount range, with a tolerance for rounding. Read-only Marketo fields (opportunities, companies, and sales persons when synced with Salesforce) are never written to. Every customer, company, and opportunity carry an audit trail with timestamps and change vectors.
A real-world example
A B2B software company uses Wave Accounting for billing and invoicing, and Marketo for demand generation and sales nurture. Before integration, the marketing team manually exported Wave customer names and emails into Marketo quarterly, creating stale contact lists and missed opportunities. Sales tracked deals in Marketo but could not see whether a prospect had actually paid an invoice in Wave, leading to contract negotiations on accounts that were dormant. With Wave and Marketo connected, new customers added in Wave flow into Marketo automatically and appear in nurture campaigns the same day. Sales reps see each opportunity linked to the corresponding Wave invoice and customer history, so they close deals with the finance picture already in view.
What you can do
- Sync Wave customers into Marketo as companies and leads when they are created or updated, using Wave webhook notifications.
- Match and deduplicate Marketo companies by email domain to prevent duplicate company records.
- Poll Marketo opportunities on a daily schedule and map them to Wave invoices by customer and amount for sales-to-finance visibility.
- Respect Marketo batch limits of 300 records per request and handle read-only fields (opportunities, companies, and sales persons) when Salesforce or Dynamics sync is enabled.
- Maintain full audit trails on all customer, company, and opportunity records with timestamps and change history.
Questions
- How does the integration prevent duplicate companies in Marketo when Wave customers are synced?
- ml-connector matches companies by email domain rather than exact name match, since Wave customer names may have minor variations. If a Wave customer email is at the same domain as an existing Marketo company, ml-connector updates the existing record instead of creating a duplicate. This prevents the fragmentation that occurs with manual imports.
- Can opportunities in Marketo update invoices in Wave, or does data only move one direction?
- Opportunities flow from Marketo into Wave as read-only references for visibility. ml-connector does not write opportunities back into Wave, since Wave invoices are created and updated by actual business transactions. The integration maps opportunities to existing invoices by customer and amount so sales pipeline data enriches Wave's revenue view without duplicating invoice records.
- What happens when a Wave customer is deleted or when Marketo is synced with Salesforce or Dynamics?
- Wave customer deletions do not remove companies from Marketo, since Marketo companies may contain years of lead history. Instead, ml-connector marks the company as inactive so the lead record is preserved for audit. When Marketo is synced with Salesforce or Dynamics, opportunities, companies, and sales persons become read-only, and ml-connector stops writing to those fields but continues to read them for audit and opportunity-to-invoice mapping.
Related integrations
More Wave Accounting integrations
Other systems that connect to Marketo
Connect Wave Accounting and Marketo
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started