Exact Online and Ramp integration
Exact Online runs your accounting and purchasing operations. Ramp manages corporate spending, bills, and expense transactions. Connecting them keeps procurement and finance aligned. Bills created in Ramp flow into Exact Online as purchase invoices and post to the correct GL accounts and cost centers, vendors sync in both directions, and transaction records feed your ledger without manual re-entry.
What moves between them
The main flow is from Ramp into Exact Online. Bills created in Ramp move into Exact Online as purchase invoices, allocated to the correct GL accounts and cost centers. Vendors in Ramp sync to Exact Online Accounts with IsSupplier=true. Transactions from Ramp feed into Exact Online transaction records. Purchase orders flow from Ramp into Exact Online purchase orders when they transition to a paid or posted state. Cost centers and GL account mappings are validated before posting so all expense lines land on valid accounting dimensions. GL postings are read-only in Ramp, so ml-connector does not write financial entries back to the expense system.
How ml-connector handles it
ml-connector stores both OAuth2 credential sets encrypted and uses Ramp's Client Credentials flow for server-to-server access, which provides tokens valid for 10 days and eliminates the need for user re-authorization. On the Exact Online side, it refreshes the Authorization Code access token every 8 minutes to ensure freshness (given the 10-minute expiration). It subscribes to Ramp webhooks for bills, transactions, and vendors, so new expenses and changes arrive in real time without polling. When a bill arrives from Ramp, ml-connector maps Ramp's accounting dimensions to Exact Online cost centers, validates that the GL account exists in the target division, and creates or updates the purchase invoice record. Vendor and transaction records follow the same mapping process. Because Exact Online requires the division ID for all API calls, ml-connector accepts the division ID per customer during setup. Purchase orders from Ramp are synced when they reach a status eligible for posting. Ramp's webhook signature is verified using HMAC-SHA256 to prevent spoofing, and every record carries a full audit trail so a failed downstream call can be replayed.
A real-world example
A mid-sized professional services firm uses Exact Online for accounting and Ramp for corporate spending and bill pay across three offices. Before the integration, each month the finance team exported bills and transactions from Ramp, manually categorized them to cost centers and GL accounts in a spreadsheet, and then re-entered the totals into Exact Online. Reconciliation was slow because Ramp and Exact Online drifted out of sync. With Exact Online and Ramp connected, every bill created in Ramp automatically appears in Exact Online with the correct cost center and GL account, and transactions from the corporate card feed into the transaction log in real time. Month-end close is faster because the accounts are already reconciled.
What you can do
- Sync bills from Ramp into Exact Online purchase invoices, allocated to the correct GL accounts and cost centers.
- Move vendor records from Ramp to Exact Online Accounts with supplier flags set.
- Ingest Ramp transactions into Exact Online transaction records for corporate card and expense tracking.
- Post purchase order changes from Ramp into Exact Online purchase orders when they transition to paid or posted states.
- Bridge OAuth2 on both platforms and validate cost centers and GL accounts before posting to prevent accounting errors.
Questions
- Which direction does data move between Exact Online and Ramp?
- The main flow is from Ramp into Exact Online. Bills, vendors, transactions, and purchase orders move from Ramp into Exact Online, while GL accounts and cost centers are validated to ensure they exist on the Exact Online side before any posting occurs. Ramp's GL postings are read-only, so ml-connector does not write financial entries back to the expense system.
- Why does ml-connector use Ramp's Client Credentials flow instead of Authorization Code flow?
- Client Credentials is recommended for ERP connectors because it provides server-to-server access with tokens valid for 10 days, avoiding the 1-hour expiration and re-authorization overhead of Authorization Code flow. This reduces authentication chatter and simplifies long-running syncs.
- How does ml-connector handle Exact Online's 10-minute token expiration?
- ml-connector refreshes the Exact Online Authorization Code access token every 8 minutes to ensure it is always fresh before the 10-minute expiration window closes. This proactive refresh prevents mid-sync failures and ensures the division ID lookup and API calls complete without auth errors.
Related integrations
More Exact Online integrations
Other systems that connect to Ramp
Connect Exact Online and Ramp
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started