Sage Intacct and SAP Ariba integration
Sage Intacct runs your general ledger and accounts payable. SAP Ariba manages procurement, purchase orders, and supplier invoicing. Connecting the two keeps your vendor records aligned and moves Ariba invoices and purchase orders into Intacct for payment processing without manual re-entry. ml-connector bridges the very different APIs on each side and syncs the data on a schedule you control.
What moves between them
The main flow is SAP Ariba to Sage Intacct. Ariba purchase orders, invoices, and supplier records are polled on a schedule you define, mapped to Intacct vendors, GL accounts, and dimensions, and upserted into Intacct's accounts payable and general ledger. Requisitions from Ariba flow into Intacct as purchase order records. Reference data such as vendors, GL accounts, and cost dimensions are maintained in both directions so Ariba procurement data lands on valid Intacct accounts. AP invoices created in Ariba are read and synced; payment instruction flows remain in Intacct.
How ml-connector handles it
ml-connector stores the XML gateway credentials for Sage Intacct encrypted and automatically manages the 50-minute session lifecycle, refreshing on the next API call after expiry. For SAP Ariba, it caches the OAuth bearer token, refreshing before the 1-hour expiry, and presents the static API key on every request. Because both systems are poll-only, ml-connector submits async reporting jobs to Ariba filtered by updatedDateFrom and updatedDateTo, polls for job completion by jobId, and downloads paginated results. Ariba enforces a one-year maximum window for async jobs, so multi-year backfills are submitted as sequential annual chunks. Vendors in Ariba are mapped to Sage Intacct VENDOR records by external reference, and Ariba GL dimension fields are mapped to Intacct DIMENSION records. Invalid XML control characters in vendor names and notes are stripped before transmission to Intacct. API rate limits on Ariba vary by endpoint; ml-connector backs off and retries on 429 responses.
A real-world example
A mid-sized manufacturing and distribution company runs Sage Intacct for accounting and accounts payable, and uses SAP Ariba for procurement across multiple plants. Before the integration, the procurement team exported approved purchase orders and received invoices from Ariba, then re-entered them into Intacct for AP processing and GL posting, manually matching vendor records and GL codes. Data entry errors and mismatched vendors created reconciliation work at month-end close. With Sage Intacct and SAP Ariba connected, each approved purchase order and received invoice flows automatically into Intacct, vendors are aligned by external reference, GL accounts are validated before posting, and the procurement-to-AP cycle is complete without re-keying.
What you can do
- Sync Ariba purchase orders and invoices into Sage Intacct vendors, GL accounts, and accounts payable records on a schedule you define.
- Map Ariba supplier and requisition data to Intacct vendor and dimension records, validating GL accounts before posting.
- Manage Sage Intacct's 50-minute session authentication automatically, caching and refreshing without manual intervention.
- Handle SAP Ariba's OAuth bearer token refresh, static API key presentation, and async job polling with automatic annual chunking for multi-year backfills.
- Strip invalid XML control characters and retry on rate limits, with a full audit trail on every record synced.
Questions
- Which direction does data move between Sage Intacct and SAP Ariba?
- The main flow is SAP Ariba into Sage Intacct. Purchase orders, invoices, suppliers, and requisitions move from Ariba into Intacct's vendors, GL accounts, and accounts payable. Reference data such as GL accounts and cost dimensions are aligned in both directions so procurement data lands on valid Intacct accounts.
- How does ml-connector handle Sage Intacct's session authentication and Ariba's OAuth plus API key requirement?
- ml-connector automatically manages Intacct's 50-minute session lifecycle, caching the sessionid and refreshing on the next call after expiry. For Ariba, it caches the OAuth bearer token and refreshes before the 1-hour expiry, presenting both the token and static API key on every request.
- What happens when SAP Ariba enforces its one-year window limit on async reporting jobs?
- ml-connector automatically submits multi-year backfills as sequential annual chunks, each filtered by updatedDateFrom and updatedDateTo within the one-year maximum. Results are paginated up to 50,000 records per call and merged into Intacct in order.
Related integrations
More Sage Intacct integrations
Other systems that connect to SAP Ariba
Connect Sage Intacct and SAP Ariba
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started