Epicor Kinetic and Airbase integration
Epicor Kinetic runs your ERP, finance, and general ledger. Airbase, now Paylocity Finance, runs accounts payable, corporate cards, and expense reimbursements. Connecting the two means spend approved in Airbase posts into Epicor without re-keying, and vendors and GL accounts stay aligned so every transaction codes to a real account. ml-connector handles the different APIs on each side and moves records on the schedule you set.
What moves between them
The main flow runs from Airbase into Epicor Kinetic. ml-connector reads approved bills, expense reimbursements, and settled card transactions from Airbase and posts them into Epicor AP invoices and the general ledger, each line mapped to the matching Epicor GL account and vendor. Vendors and GL accounts flow the other direction, from Epicor Kinetic into Airbase, so the spend platform always codes against accounts and suppliers that already exist in the ERP. Where purchase orders are in scope, PO references travel with bills so Airbase can drive its three-way match. Card transactions and GL accounts are read-only in Airbase, so ml-connector pulls that data rather than writing it back.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the Epicor side it accepts the full tenant URL, the Company ID, and an API Key, since Epicor publishes no shared base address, and it refreshes the Epicor IdP bearer token when a call returns 401 while always sending the API Key header. On the Airbase side it sends the portal-generated bearer token against the customer tenant URL and tracks the token, since there is no public refresh flow and rotation is manual in the portal. Because Epicor Kinetic has no webhooks, it polls Airbase on a schedule, or consumes Airbase approval webhooks where enabled, then posts into Epicor using the UpdateMaster pattern so an invoice and its GL lines write in one call and avoid the known empty-GL-account bug. Airbase approval chains mean a bill is not final until approved, so ml-connector keys on status before posting. Epicor enforces uniqueness on invoice number plus vendor, which ml-connector uses to dedupe since neither side offers an idempotency key. Every record carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized manufacturer with roughly 300 employees runs Epicor Kinetic for production, procurement, and finance, and adopts Airbase for corporate cards, employee reimbursements, and bill payments. Before the integration, the AP team exported approved bills and card spend from Airbase each week and re-keyed them into Epicor AP by hand, then reconciled card charges against the general ledger line by line at month-end. With Epicor Kinetic and Airbase connected, approved bills, reimbursements, and settled card transactions post into Epicor AP automatically against the right GL accounts and vendors, and the vendor list and chart of accounts stay aligned both ways. Month-end close starts with AP already entered and coded, and the manual re-keying step is gone.
What you can do
- Post approved Airbase bills and reimbursements into Epicor Kinetic AP invoices against the correct GL accounts and vendors.
- Bring settled Airbase card transactions into Epicor as coded general ledger activity.
- Push Epicor Kinetic vendors and GL accounts into Airbase so spend codes to accounts that already exist in the ERP.
- Authenticate Airbase with its portal bearer token and Epicor Kinetic with its tenant login plus API Key, on encrypted storage.
- Poll on the schedule you set, dedupe on Epicor invoice uniqueness, and keep a full audit trail with replay on every record.
Questions
- Which direction does data move between Epicor Kinetic and Airbase?
- The main flow is Airbase into Epicor Kinetic. Approved bills, reimbursements, and settled card transactions move from Airbase into Epicor AP and the general ledger, while vendors and GL accounts move from Epicor into Airbase. Card transactions and GL accounts are read-only in Airbase, so ml-connector reads that data and does not write it back.
- How does the integration handle Epicor Kinetic having no webhooks?
- Epicor Kinetic has no native outbound webhooks, so ml-connector treats it as poll-only. It reads Airbase on a schedule you control, or consumes Airbase approval webhooks where they are enabled, then posts into Epicor using the UpdateMaster pattern so each invoice and its GL lines write in a single call.
- How are duplicate invoices and credentials handled?
- Neither side offers an idempotency key, so ml-connector relies on Epicor enforcing uniqueness on invoice number plus vendor to prevent duplicate AP entries. Both credential sets are stored encrypted, the Epicor API Key is sent on every call alongside the identity token, and because the Airbase token is portal-generated with no refresh flow, ml-connector tracks it so a manual rotation does not cause an outage.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to Airbase
Connect Epicor Kinetic and Airbase
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started