Wave is a financial software that simplifies accounting, invoicing, and receipt scanning for small businesses. With the Wave API, you can automate various financial tasks directly within Pipedream. You can create invoices, manage customers, process payments, and extract financial reports. Integrating Wave with Pipedream allows you to connect your accounting workflow with other apps, triggering actions based on financial events or scheduling regular financial operations.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
wave: {
type: "app",
app: "wave",
}
},
async run({steps, $}) {
const data = {
"query": `{
user {
id
defaultEmail
}
}`,
}
return await axios($, {
method: "post",
url: `https://gql.waveapps.com/graphql/public`,
headers: {
Authorization: `Bearer ${this.wave.$auth.oauth_access_token}`,
"Content-Type": `application/json`,
},
data,
})
},
})
Automated Invoice Creation on New Customer Signup: When a new customer registers via your app (e.g., using the Shopify API), automatically create and send a customized invoice in Wave.
Expense Tracking with Receipt Scanning: Send an email with a receipt attachment (using the Gmail API) to a designated Pipedream inbox, which triggers a workflow that scans and records the receipt in Wave for expense tracking.
Monthly Financial Summary Reports: Schedule a monthly Pipedream workflow to retrieve financial reports from Wave and send a digest via Slack to your finance team for review.
Create an invoice for a customer with one product. See the documentation
Wave uses OAuth authentication. When you connect your Wave account, Pipedream will open a popup window where you can sign into Wave and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Wave API.
Pipedream requests the following authorization scopes when you connect your account:
account:*
business:*
customer:*
invoice:*
product:*
sales_tax:*
transaction:*
user:*
vendor:*
GET
https://api.waveapps.com/oauth2/authorize/
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://api.waveapps.com/oauth2/token/
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://api.waveapps.com/oauth2/token/
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}