Oracle PeopleSoft and Expensify integration
Oracle PeopleSoft runs your finance and human resources. Expensify manages employee expense reporting and corporate card reconciliation. Connecting the two keeps your general ledger current without re-keying. Approved expense reports and corporate card summaries from Expensify flow into PeopleSoft on a schedule you control, mapped to the correct GL accounts and cost centers based on the expense policy and category. Month-end close starts with all employee and card expenses already posted.
What moves between them
The main flow runs from Expensify into Oracle PeopleSoft. After each approval cycle or at a configurable daily schedule, ml-connector polls Expensify for approved expense reports and corporate card summaries. Line items are aggregated by the GL account configured for each expense category (per company policy), and journal entries are posted into PeopleSoft's general ledger via SOAP Component Interface calls. The roll-up maps Expensify categories and tags to PeopleSoft cost center and department dimensions. Journal entries are read-only in Expensify, so ml-connector never writes expense data back to Expensify.
How ml-connector handles it
ml-connector stores Expensify API credentials and PeopleSoft authentication credentials (HTTP Basic or OAuth2) encrypted and presents the correct credential set on each request. Because Expensify has no webhooks and PeopleSoft's REST endpoints are read-only, ml-connector polls Expensify at a schedule tied to your approval cycle, filters for reports approved since the last poll, aggregates line items by category and tag, looks up the corresponding PeopleSoft GL account for each category from the policy mapping, and posts the journal entry via SOAP CI calls to the customer's PeopleSoft instance. Every report and card summary is tracked with a deduplication ID so the same entry never posts twice. Cost centers and departments from Expensify tags are validated against the PeopleSoft GL hierarchy before posting, and any posting that references an invalid GL account or cost center is flagged for manual review. PeopleSoft's SOAP CI operations are synchronous, so ml-connector waits for the posting to complete and records the GL batch number and posting date in the audit trail.
A real-world example
A mid-sized professional services firm runs Oracle PeopleSoft for finance and human resources, and uses Expensify for employee expense reporting and corporate card reconciliation across 200+ billable consultants and 50 corporate card holders. Before the integration, the finance team downloaded approved expense reports from Expensify each week, manually mapped each report's expense categories to PeopleSoft GL accounts and cost center codes from a lookup table, aggregated line items by category, and keyed the rolled-up journal entries into PeopleSoft's GL posting window. With Expensify and PeopleSoft connected, approved reports flow into the GL automatically every morning, allocated to the correct cost center and project code from the policy tags, and the manual re-keying and lookup work is eliminated. Finance can reconcile the GL to the Expensify report register without any manual steps.
What you can do
- Post approved Expensify expense reports and corporate card summaries into Oracle PeopleSoft's general ledger on a schedule aligned to your approval cycle.
- Map Expensify expense categories and policy tags to PeopleSoft GL accounts and cost centers so every journal entry lands on the correct dimension.
- Authenticate Expensify with API key credentials and Oracle PeopleSoft with HTTP Basic Auth or OAuth2, bridging the two across a firewall if needed.
- Deduplicate postings so an expense report never posts twice, even if the sync is replayed to recover from a downstream failure.
- Audit every posting with the GL batch number, approval date, and Expensify report ID, so month-end close can reconcile the GL back to the source reports.
Questions
- Which direction does data move between Oracle PeopleSoft and Expensify?
- The main flow is Expensify into Oracle PeopleSoft. Approved expense reports and corporate card summaries move from Expensify into PeopleSoft's general ledger, where they are posted as journal entries allocated to the correct GL account and cost center. Expensify data is read-only, so ml-connector does not write expense data back into Expensify. Employee and cost center master data can be synchronized in both directions if your PeopleSoft instance exposes employee or cost center inquiry endpoints.
- How does ml-connector handle the fact that PeopleSoft is on-premise and each customer has a different hostname?
- ml-connector accepts the full PeopleSoft base URL (hostname, port, and node name) per customer and stores it encrypted. Each customer's PeopleSoft credentials (OPRID and password for Basic Auth, or OAuth2 token endpoint) are also stored encrypted. On each poll cycle, ml-connector connects to the customer's specific PeopleSoft instance, validates that GL accounts and cost centers exist, and posts journal entries via SOAP CI calls if all validations pass.
- How are Expensify categories and tags mapped to PeopleSoft GL accounts and cost centers?
- Each Expensify company policy defines which GL account and cost center a category should post to, and that policy is stored in ml-connector as a mapping table per customer. Expensify tags (such as project, client, or department) are treated as accounting dimensions and mapped to PeopleSoft cost centers or dimensions if they exist. Any line item that maps to an invalid GL account or cost center is flagged for manual review and does not post until the mapping is corrected.
Related integrations
More Oracle PeopleSoft integrations
Other systems that connect to Expensify
Connect Oracle PeopleSoft and Expensify
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started