Finance & ERP · Integration
Wave
Add Wave to your product for your customers, and give your AI agents governed access to it.
Wave is the accounting system a very large number of small businesses actually run, which makes it the ledger your customers already have rather than the one you wish they had. The books are real: a chart of accounts, customers, invoices and the payments against them, products and services, sales taxes, and the transactions that make up the general ledger. Two structural facts shape the build. Everything is scoped to a business rather than to a login, and one person can own several, so your product has to ask which set of books it is working in before it writes anything. And the API is GraphQL, so a request asks for the fields it needs and mutations are explicit, which suits invoice writes where you want the created document back in one round trip. Writes are idempotent because a duplicated invoice in somebody's ledger is a conversation with their accountant. fastn keeps each connection per tenant and refreshes the tokens.
In your product
Embedded for your customers. Per-tenant auth, no per-customer code, maintained by fastn.
Let each small business connect their own Wave account and choose which set of books your product writes to.
Raise an invoice from your product against the customer record Wave already holds, and read its status back.
Keep products, services and sales taxes aligned so an invoice line carries the tax treatment their accountant expects.
Read transactions and account balances to show a business its position without them opening Wave.
For your AI agents
Governed, audited access for the agents you build, through the MCP server.
An agent lists the invoices that are overdue and how long each has been outstanding.
An agent drafts an invoice from work recorded in your product and leaves it for a person to approve.
An agent explains what changed in a customer's balance this month, citing the transactions behind it.
Example prompt
Which Wave invoices are more than 30 days overdue, and what is the total sitting against each customer?
Set up Wave in 4 steps
- 01Enable the Wave connector in your fastn dashboard.
- 02Have each customer authorise their own Wave account and select the business your product operates on.
- 03Map the customer, invoice and product fields you use, and agree which writes your product is allowed to make.
- 04Call it from your product and expose the same governed connection to your agents.
Why teams use the Wave integration
What you get by embedding it with fastn instead of building it yourself.
- Ship a Wave integration without building it. Your customers connect their own Wave account inside your product and work their invoices, payments and vendors there, with no per-customer code on your side.
- Handle the part that actually costs time: financial writes must be idempotent and reconcilable, because a duplicate is an accounting problem rather than a bug. fastn owns the auth, token refresh, rate limits, pagination and breaking-change fixes, so a Wave update is not your on-call problem.
- One integration serves your product and your agents. The same governed Wave connection powers in-product features and gives AI agents scoped, audited access, so you move financial records without hand-keying them between systems without wiring it twice.
Used by these teams
Compare with
Often used alongside
Tools the same teams tend to run next to Wave, across other categories.
Wave integration FAQ
How do I add a Wave integration to my product?
Enable the Wave connector in your fastn dashboard, then let each customer authenticate their own Wave account. fastn handles the OAuth flow, token storage and refresh per tenant, so there is no Wave client code in your app and no per-customer branch in your codebase. Setup is 4 steps.
Do my customers each connect their own Wave account?
Yes. Every connection is scoped to the individual customer, so each authorises their own Wave account and only ever sees their own invoices, payments and vendors. That per-tenant isolation is the point of an embedded integration: you support the long tail of customer setups without maintaining an integration per customer.
Can AI agents use this Wave integration?
Yes. The same connection is exposed to your agents through the fastn MCP gateway, with permissions scoped per tenant and every call audited. An agent lists the invoices that are overdue and how long each has been outstanding.
Who maintains the Wave integration?
fastn does. When Wave changes an endpoint, deprecates a field or alters its auth, the fix lands in the connector rather than in your backlog, and your customers' connections keep working.
Is the Wave integration safe for financial writes?
Writes are idempotent, so a retry after a timeout does not post a document twice, and every call is logged per tenant so an entry can be traced back to the event that created it. That matters more in finance than anywhere else, because a duplicate is a number somebody has to explain.
Can it handle each customer's own chart of accounts?
Yes. ERP deployments are configured to the business, so account structures, required fields and fiscal calendars differ per customer. Those are mapped per tenant as configuration, not hard-coded.
What about Wave rate limits during a first import?
Backfills are throttled deliberately. ERP limits are often account-wide rather than per-integration, so an unthrottled import can exhaust a customer's allowance and disrupt their other integrations.
What can I build with the Wave integration?
A common starting point: let each small business connect their own Wave account and choose which set of books your product writes to. Teams also use it for the other use cases listed above, and expose it to agents for governed reads and writes.
How much does the Wave integration cost?
It is included. Pricing is based on connected accounts, not on how many connectors you enable, so adding Wave does not change your per-connector cost. You can start free with 3 connected accounts.
Add Wave to your product
Start free with 3 connected accounts. No sales call required, and no per-customer integration code.