ml-connector
SYSPRORamp

SYSPRO and Ramp integration

SYSPRO runs your manufacturing and distribution finance. Ramp centralizes corporate spend, cards, bills, and expenses. Connecting them keeps your AP registers, vendor masters, and GL accounts in sync without manual re-entry. When a bill is created in Ramp or a card transaction clears, ml-connector posts it into SYSPRO's general ledger and accounts payable on your reconciliation schedule.

How SYSPRO works

SYSPRO Adaptive ERP exposes suppliers, purchase orders, invoices, GL accounts, customers, inventory, and general ledger balances through three layers: e.net Business Objects (REST and SOAP with session token auth), OData (REST GET-only with HTTP Basic Auth), and Workflow Service. Cloud and on-premise instances use tenant-specific server URLs with no shared base address. Session tokens expire on logoff and on timeout. SYSPRO does not push outbound webhooks, so finance records are read by polling OData tables filtered on timestamp fields such as PostDate and InvoiceDate at 5-15 minute intervals.

How Ramp works

Ramp exposes bills, vendors, transactions, GL accounts, purchase orders, departments, and accounting dimensions through a REST API at api.ramp.com/developer/v1. Authentication uses OAuth 2.0 Client Credentials flow for server-to-server integration, with tokens valid 10 days. Ramp supports webhooks for real-time event notifications including bills created, updated, and paid, as well as transactions cleared and synced. Vendors cannot be created directly via API and are created implicitly through bills or an intake flow. Purchase Orders are read-only and cannot be created via API. Sensitive card data requires explicit cards:read_vault scope.

What moves between them

The main flow is Ramp into SYSPRO. Bill records and GL postings from Ramp are polled by ml-connector and posted into SYSPRO's accounts payable and general ledger, mapped to matching SYSPRO GL accounts and cost centers. Vendor reference data flows in both directions so bill allocations land on valid SYSPRO vendor masters. Card transactions cleared in Ramp are also synced into SYSPRO expense postings. SYSPRO supplier records can flow into Ramp's vendor intake. Reconciliation runs on a schedule you control, typically aligning with your close calendar.

How ml-connector handles it

ml-connector stores Ramp OAuth credentials and refreshes the access token every 9 days (before the 10-day expiry) without manual intervention. On the SYSPRO side, it accepts the full server URL per tenant and maintains a session token via e.net logon, refreshing on timeout. Bills created or updated in Ramp are polled, mapped to SYSPRO GL accounts by cost center, and posted via e.net Business Objects (XML write) rather than OData (which is read-only). Vendors flow from Ramp through an intake flow since Ramp API cannot create vendors directly; ml-connector handles the intake mapping. Card transactions that clear in Ramp are similarly posted into SYSPRO expense accounts. Every record carries a deduplication ID and full audit trail, so a failed downstream post can be retried idempotently. Rate limiting on Ramp (when present) is handled with exponential backoff.

A real-world example

A mid-sized distribution company runs SYSPRO for procurement, order fulfillment, and GL, and uses Ramp for corporate cards, bill pay, and expense tracking across 15 locations. Before integration, the finance team exported bills from Ramp weekly and re-entered them into SYSPRO accounts payable by hand, then reconciled card transactions against expense accounts during month-end close, a process that took two days and introduced manual errors. With SYSPRO and Ramp connected, every bill and card transaction posts automatically into the correct GL account and cost center, the AP register is live, and the reconciliation step is eliminated. Month-end close now starts with AP and card expenses already posted and matched.

What you can do

  • Post Ramp bills into SYSPRO accounts payable and general ledger, allocated to cost centers and GL accounts.
  • Sync card transactions that clear in Ramp into SYSPRO expense posting accounts on a schedule you control.
  • Map Ramp vendors and GL accounts to matching SYSPRO dimensions so bills land on valid cost centers.
  • Authenticate Ramp via OAuth 2.0 Client Credentials and SYSPRO via e.net session tokens, with automatic token refresh.
  • Poll Ramp and SYSPRO on a schedule aligned to your close calendar, with deduplication and a full audit trail.

Questions

Which direction does data move between SYSPRO and Ramp?
The main flow is Ramp into SYSPRO. Bills, GL postings, and card transactions move from Ramp into SYSPRO accounts payable and general ledger, while vendors and GL accounts are aligned in both directions. Ramp bills and card transactions are read-only in the API, so ml-connector does not write financial entries back to Ramp.
How does the integration handle SYSPRO's e.net authentication and Ramp's OAuth 2.0?
ml-connector stores both credential sets encrypted, maintains a SYSPRO e.net session token via Logon calls (refreshing on timeout), and refreshes the Ramp OAuth 2.0 access token every 9 days before its 10-day expiry. Both systems are authenticated on every record write and poll cycle.
Why does ml-connector poll instead of relying on Ramp webhooks?
SYSPRO does not support inbound webhooks, so ml-connector cannot receive real-time push notifications from Ramp. Instead it polls Ramp on a schedule aligned to your close calendar and reconciliation cycles, typically 5-15 minutes for bill data and daily for GL postings.

Related integrations

Connect SYSPRO and Ramp

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started