Wave Accounting and PayPal integration
Wave Accounting keeps your books straight. PayPal processes your payments. Connecting the two means invoices you create in Wave flow to PayPal automatically, and payments received through PayPal post back to Wave as transactions without manual re-entry. Wave Accounting handles the bookkeeping side while PayPal handles the payment processing, and ml-connector keeps both systems synchronized on a schedule you control.
What moves between them
Invoices flow from Wave Accounting to PayPal. When an invoice is created or updated in Wave, ml-connector sends it to PayPal's invoice endpoint so customers see a consistent bill. Payments and transactions flow from PayPal back to Wave. When a payment is captured or a transaction completes in PayPal, ml-connector records it as a Wave transaction linked to the matching Wave customer, reconciling the two books at each sync point.
How ml-connector handles it
ml-connector stores both OAuth 2.0 credential sets encrypted and manages token refresh on both sides independently, since Wave uses Authorization Code Flow and PayPal uses Client Credentials. Wave Accounting webhooks deliver invoice and payment events in real time, and ml-connector verifies each signature with HMAC-SHA256 before processing. PayPal webhooks deliver payment events via RSA-SHA256 signature verification. For reconciliation, ml-connector matches Wave customers to PayPal customer records and tracks which Wave invoices have been sent to PayPal to avoid duplicates. Transaction search in PayPal is polled on a schedule since the 31-day window moves forward, and payment amounts are reconciled against Wave invoice totals to flag mismatches. Because Wave invoices cannot be patched after creation, corrections flow through Wave's approve-send-delete process, and PayPal invoice amendments are tracked separately to maintain audit integrity.
A real-world example
A small business uses Wave Accounting to manage invoicing and bookkeeping, and accepts payments through PayPal from customers worldwide. Before the integration, the owner created invoices in Wave, manually sent them via PayPal's invoicing tool, and spent hours each week entering PayPal transactions back into Wave's books, often missing small payments or recording them in the wrong month. With Wave Accounting and PayPal connected, invoices created in Wave automatically sync to PayPal customers, payments received through PayPal post directly to Wave as transactions, and the cash flow report in Wave stays current without manual work. The owner can see at a glance which invoices have been paid via PayPal and which are still outstanding.
What you can do
- Send Wave Accounting invoices to PayPal automatically so customers see a consistent bill across both systems.
- Sync PayPal payments and transactions back to Wave Accounting as customer payment records for instant reconciliation.
- Map Wave customers to PayPal customer records and match them on every invoice send so customer data stays aligned.
- Verify Wave webhook signatures with HMAC-SHA256 and PayPal webhook signatures with RSA-SHA256, and handle token refresh on both OAuth 2.0 flows independently.
- Poll PayPal transaction history on a schedule within the 31-day search window, reconcile amounts against Wave invoices, and flag payment mismatches for review.
Questions
- Which direction does data move between Wave Accounting and PayPal?
- Invoices flow from Wave Accounting to PayPal so customers see a consistent bill in both places. Payments and transactions flow from PayPal back to Wave Accounting so your books reflect incoming payments without manual re-entry. Wave customers are synced to PayPal customers so each invoice send matches the right customer in both systems.
- How does the integration handle Wave Accounting's OAuth 2.0 flow and PayPal's client credentials separately?
- ml-connector manages two independent OAuth 2.0 flows: Wave uses Authorization Code Flow with refresh tokens, and PayPal uses Client Credentials. ml-connector caches and refreshes tokens separately for each system, so the two authentication streams never interfere. When a Wave token expires, ml-connector refreshes it; when a PayPal token expires, ml-connector refreshes it without affecting Wave.
- What happens when Wave invoices are updated or deleted after being sent to PayPal?
- Wave invoices cannot be patched after creation, so updates flow through Wave's built-in approve-send-delete workflow. When a Wave invoice is deleted or superseded, ml-connector tracks the change separately in its audit log and can mark the corresponding PayPal invoice as void or cancelled if needed. Each action is logged so you have a complete history of which Wave invoice maps to which PayPal invoice state.
Related integrations
More Wave Accounting integrations
Other systems that connect to PayPal
Connect Wave Accounting and PayPal
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started