Exact Online and PayPal integration
Exact Online manages your accounting and ERP operations. PayPal handles payments and order fulfillment. Connecting the two keeps your general ledger in sync with actual payment activity. Payment captures, refunds, and order settlements flow from PayPal into Exact Online's journal entries, allocated to the correct GL accounts and cost centers, eliminating manual journal entry and month-end reconciliation of cash accounts.
What moves between them
The main flow runs from PayPal into Exact Online. Captured orders and refund transactions in PayPal are read via transaction search and order APIs, then converted to journal entries in Exact Online's general ledger, allocated to the correct GL accounts and cost centers. Reference data such as GL accounts and cost centers is read from Exact Online to ensure every journal line references valid dimensions. The sync runs on a schedule you define, typically daily or after major payment batch events. Exact Online's journal entries are write-only for this integration; no data flows back to PayPal.
How ml-connector handles it
ml-connector stores PayPal Client ID and Client Secret encrypted, uses the OAuth 2.0 Client Credentials flow to obtain a bearer token, and calls the transaction search endpoint to retrieve captures, refunds, and adjustments within your lookback window. On the Exact Online side, ml-connector uses OAuth 2.0 Authorization Code Grant to authenticate and then reads the user's division ID from the /current/Me endpoint, since all Exact Online API calls require a division identifier. It then reads the GL accounts and cost centers from the target division to build a mapping table before creating journal entries. Because PayPal transaction search is limited to 31 days, ml-connector tracks the last successful read timestamp to avoid gaps and overlaps. Journal entries are created with paired debit and credit lines, with the debit allocating to the appropriate GL account and cost center based on transaction type (orders map to revenue accounts, refunds to expense reversals). Refresh tokens in Exact Online are rotated on each refresh and expire after 30 days of inactivity, so ml-connector stores the latest token and re-authorizes if a refresh fails. PayPal's webhook system is also supported for real-time payment notifications where configured, bypassing the 31-day search window.
A real-world example
A mid-sized e-commerce seller operates on Shopify for storefronts and uses PayPal as the primary payment processor. They maintain Exact Online as their accounting system with multiple cost centers for different product lines and regions. Before the integration, the finance team downloaded transaction reports from PayPal daily, mapped refunds and payment disputes to the correct GL accounts and cost centers, and manually posted journal entries to Exact Online. Month-end reconciliation required matching PayPal's transaction ledger to Exact Online's cash and revenue accounts, a multi-day process prone to entry errors. With PayPal and Exact Online connected, every captured payment and refund flows into the correct GL account automatically on a daily schedule, allocated to the right cost center. The cash account reconciles on the first day of month-end close, freeing the accounting team from hours of manual work.
What you can do
- Sync captured orders and refunds from PayPal into Exact Online general ledger journals daily or on demand.
- Automatically allocate payment transactions to the correct GL accounts and cost centers based on transaction type.
- Handle both OAuth 2.0 flows: PayPal Client Credentials for payment data and Exact Online Authorization Code Grant for GL access.
- Map PayPal transaction types (captures, refunds, adjustments) to paired debit-credit journal entries.
- Track the last read timestamp to prevent gaps and overlaps in a 31-day transaction search window.
Questions
- How does ml-connector handle PayPal's 31-day transaction search limit?
- ml-connector stores the timestamp of the last successful read and uses it as the starting point for each subsequent sync, avoiding gaps and overlaps within the rolling 31-day window. If you need to backfill older transactions, you can trigger a manual re-sync from a specific date. Webhook-based real-time delivery is also available if PayPal is configured to push payment notifications to your endpoint.
- What GL accounts and cost centers must be set up in Exact Online before starting?
- You must pre-create the GL accounts and cost centers in Exact Online that correspond to your payment categories. ml-connector reads these entities from your Exact Online division and maps them based on transaction type and your configuration. Common accounts are a cash/bank account (for deposits), revenue accounts (for payments), and expense accounts (for refunds). Cost centers depend on your business structure: product lines, regions, or business units.
- How does the integration handle PayPal refunds and payment disputes?
- PayPal refunds and disputes appear as transactions in the transaction search API with a negative amount. ml-connector reverses the original revenue posting by creating a paired journal entry: a credit to the revenue account and a debit to an expense or refund account. This two-line entry maintains the double-entry accounting principle and makes month-end reconciliation straightforward.
Related integrations
More Exact Online integrations
Other systems that connect to PayPal
Connect Exact Online and PayPal
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started