PayPal
Connect a PayPal Business account to import its transactions, fees, and the transfers between your PayPal balance and your bank.
SaaSFlow imports a PayPal Business account through a read-only key you create inside your own PayPal account. The import covers payments, refunds, fees, and the deposits and withdrawals that move money between your PayPal balance and your bank, so the balance in SaaSFlow matches the balance PayPal shows you.
PayPal does not connect as a bank. It has its own integration here, and it is skipped in Bank connections: the open-banking providers omit the transfers in and out of the balance, which leaves the account unable to reconcile.
You need a PayPal Business account. PayPal only issues transaction keys to business accounts, so a personal account cannot produce the credentials this integration needs. A personal account has no Live mode in the developer dashboard, so there is no app to create and no keys to copy.
What gets imported
| PayPal activity | In SaaSFlow |
|---|---|
| Payments received and sent, refunds, reversals, chargebacks | Transactions on a PayPal account, one row per PayPal transaction |
| PayPal's processing fee | Netted into the transaction amount. The description carries the gross amount and the fee. |
| Deposits to and withdrawals from the balance | Transactions categorized as transfers, so they stay out of the Profit & loss report and pair with the matching row on your bank account |
| Currency conversions | Transfers, both legs, which net to zero |
| Anything older than the history PayPal serves | One opening balance row |
The PayPal account is an account like any other: it counts towards your cash balance, shows up in the Cash flow report, and its payment rows go through the same categorization rules as a bank feed. Only the transfer rows are categorized by the import, because those are the two things PayPal states outright.
Connect
Create an app in PayPal
Log in at developer.paypal.com with the PayPal Business account you want to import. Under Apps & Credentials, check that the Live toggle is selected, press Create App, and name it SaaSFlow.
Turn on Transaction Search
On the app page, scroll down to Add-on services and tick Transaction Search. Then press Save changes at the very bottom of the page. The tick alone does not save it, and that is the step most people miss.
Transaction Search is the one permission SaaSFlow needs, and it is read-only: it cannot move money, issue refunds, or change anything in your PayPal account.
Copy the keys
Scroll back to the top of the same app page. Client ID and Secret key 1 each have a copy icon next to them.
Add the integration
In SaaSFlow, go to Settings → Integrations, click Add integration, and pick PayPal. Paste the Client ID into Client ID and Secret key 1 into Secret.
You can also give the account a name. PayPal's API never reports the name on the account, so without one the account is called "PayPal" plus its currency, with the PayPal account number underneath.
Connect
SaaSFlow checks the keys against PayPal before it stores them, so a missing Transaction Search tick or a secret from the wrong environment comes back right away rather than as a failed import hours later. The history import starts as soon as the keys check out.
The first import
The import walks backwards from today, a month at a time, so this year's activity lands first and the oldest months last. The navigation bar shows the progress. A full history usually takes a few minutes.
PayPal serves three years of history through this API. Everything before that is represented by a single opening balance row dated the day before your oldest imported transaction, which is what keeps the running balance correct. If your company has a data start date set, the import stops there instead.
A PayPal account can hold several currency balances. SaaSFlow imports the one that matches the account's currency and leaves the others out, so every balance figure stays meaningful. Connect a second PayPal account if you need another currency.
Staying in sync
SaaSFlow re-reads the last seven days every night at 00:30 (Berlin time). PayPal's reporting data trails live activity by around three hours, and sometimes longer, so the last day or two fills in as PayPal catches up.
Two actions sit in the integration menu (⋯) in Settings → Integrations:
- Sync now runs the same seven-day catch-up immediately. If the first import never finished, it picks that up where it stopped instead.
- Re-import full history starts the history walk over from today. Rows already in SaaSFlow are left alone, so your categorizations, notes and vendor assignments survive it. Use it when months are missing, not to correct rows that are already there.
Sync now is also available from the account's menu.
When the keys stop working
If you delete or regenerate the app in PayPal, the integration goes into an error state. Open the integration menu and choose Reconnect to paste a fresh Client ID and Secret. History stays where it is.
Disconnecting
From Settings → Integrations, open the integration menu (⋯) and choose Remove. Leave "Keep accounts as manual accounts" ticked and the PayPal account and all its transactions stay in SaaSFlow, without the live connection. Untick it and the account is deleted with everything on it.