Epicor Kinetic and Stampli integration
Epicor Kinetic is your enterprise ERP; Stampli is your AP automation hub. Connecting them keeps invoice and payment records flowing from Stampli into Epicor without manual re-entry, and pushes your vendor master and GL structure back to Stampli so that approval workflows run against validated dimensions. Invoice captures in Stampli become AP records in Epicor on the schedule you choose. gl-connector handles the file-based SFTP transport, the OData authentication, and maps invoice and payment line details to your cost centers and expense accounts.
What moves between them
The main flow runs from Stampli into Epicor Kinetic. After invoices are approved in Stampli, ml-connector polls the outbound SFTP directory, detects new invoice files, transforms them to Epicor OData format, and posts them into Epicor's accounts payable and general ledger. Payment records flow the same direction. Reference data flows in the reverse direction: vendor master and GL accounts from Epicor are exported as CSV files to Stampli's inbound SFTP directory on a schedule (e.g., weekly) so that Stampli approval workflows reference validated vendors and cost centers that exist in Epicor.
How ml-connector handles it
ml-connector maintains two sets of credentials: SFTP access to Stampli's file directories and REST OData authentication to Epicor Kinetic. On a polling schedule you define, ml-connector connects to Stampli via SFTP, lists the outbound directory for new invoice and payment files, retrieves them, and parses the CSV or XML. Each invoice record is transformed into an Epicor OData APInvoice and posted using the UpdateMaster pattern after a GetNewAPInvoice call. Line items are mapped to Epicor GL accounts and cost centers based on Stampli approval routing and account coding. In the reverse direction, ml-connector queries Epicor's Vendors and GLAccounts via OData filters on UpdatedOn, exports them as CSV, and uploads them to Stampli's inbound SFTP directory so the two systems stay aligned. ml-connector tracks which files have been processed using file timestamps and filenames to avoid duplicate processing, implements retry logic for SFTP connectivity failures, and logs all transformations in an audit trail that can be queried per invoice.
A real-world example
A mid-sized services company runs Epicor Kinetic for finance and operations, and uses Stampli to automate their accounts payable process. Before the integration, AP staff received invoice approvals from Stampli and manually entered them into Epicor's APInvoice module, matching line items to Epicor cost centers and GL accounts. This manual step introduced data entry errors, delayed financial close, and created reconciliation work. When vendor hierarchies changed in Epicor, no one updated Stampli, so approval routing sometimes routed invoices to invalid cost centers. With Epicor and Stampli connected, approved invoices flow from Stampli directly into Epicor on a nightly schedule, mapped to the correct cost centers and GL accounts. Vendor master changes in Epicor sync back to Stampli automatically, so approvers always see valid cost centers. The finance team no longer re-enters invoices, and month-end close starts with AP already reconciled between the two systems.
What you can do
- Poll Stampli's outbound SFTP directory on a schedule you define and post approved invoices and payments into Epicor Kinetic's accounts payable without manual re-entry.
- Map invoice line items to Epicor cost centers and GL accounts based on Stampli approval routing and account coding, ensuring every entry lands on a valid dimension.
- Export Epicor vendor master and GL accounts as CSV files and upload them to Stampli's inbound directory so approval workflows reference validated vendors and accounts.
- Authenticate Epicor with OAuth2 or Basic Auth over REST OData, and Stampli with SFTP credentials, handling token refresh and connection retries automatically.
- Track processed files with timestamps and filenames, implement duplicate detection, and maintain a full audit trail on every invoice so that failed records can be replayed.
Questions
- Why does the integration use SFTP files instead of a direct REST API connection to Stampli?
- Stampli does not publish a public REST API; file-based SFTP integration is the only third-party path available without a formal Stampli partner agreement. ml-connector polls Stampli's outbound SFTP directory on a schedule to detect new invoice and payment files, transforms them to Epicor OData format, and posts them into Epicor's accounts payable module.
- How does ml-connector avoid duplicate invoices when polling SFTP files?
- ml-connector tracks processed files using their timestamps and filenames to identify new files on each poll cycle. Stampli maintains built-in duplicate detection for invoices, but ml-connector also implements its own dedup logic based on invoice number and date. If a file is re-processed due to a failed downstream operation, the Epicor APInvoice module's unique key prevents duplicate posting.
- How does vendor and GL account data flow from Epicor back to Stampli?
- ml-connector queries Epicor's Vendors and GLAccounts modules via OData filters on the UpdatedOn timestamp to detect changes, exports the updated records as CSV files, and uploads them to Stampli's inbound SFTP directory on a defined schedule (e.g., weekly). This keeps Stampli's approval workflows and account coding synchronized with your Epicor master data.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to Stampli
Connect Epicor Kinetic and Stampli
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started