MYOB and SAP SuccessFactors integration
MYOB is an Australian/New Zealand accounting software used by SMEs for GL, AP, and AR. SAP SuccessFactors is a cloud HR system where employees, jobs, org structure, and cost centers live. Connecting the two keeps payroll and organizational data aligned. Employee records from SuccessFactors sync into MYOB so headcount is current, and cost centers are mapped so payroll can be allocated to the right GL accounts without re-keying. ml-connector bridges the authentication differences on each side and moves the data on a schedule you define.
What moves between them
The main flow is SAP SuccessFactors into MYOB. New hires, terminations, job changes, and compensation changes are read from SuccessFactors on a payroll cycle schedule and synced into MYOB contacts. Cost centers and org structure are synchronized in both directions so payroll allocations land on GL accounts that exist in MYOB. In some implementations, MYOB GL journals generated from payroll feeds are read back into SuccessFactors for audit and cost analysis, but the primary direction is HR data into accounting.
How ml-connector handles it
ml-connector stores MYOB OAuth token and company file credentials separately and supplies the required OAuth Bearer, API Key, and CF token headers on each MYOB API call, refreshing the OAuth token when it expires or a call returns 401. On the SuccessFactors side it generates SAML Bearer Assertions on demand by signing with the registered RSA private key, exchanges the assertion for a 24-hour Bearer token, and caches it until close to expiry. Because SuccessFactors recommends pull-only sync for payroll-grade reliability and MYOB has no webhook surface, ml-connector polls both systems on a schedule tied to your pay period calendar using OData $filter on lastModifiedDateTime to detect changes. It validates that cost centers exist in MYOB before mapping, maps employee records to MYOB contact entities, and retries on network transients. SuccessFactors enforces a max of 10 concurrent threads per client, so ml-connector uses a single-threaded loop for SuccessFactors queries.
A real-world example
A mid-sized services firm in Australia uses MYOB for GL, AR, and AP, and runs SAP SuccessFactors Employee Central for payroll and HR across three offices. Before the integration, the HR team exported employee lists from SuccessFactors each pay period and emailed them to Finance, who manually updated MYOB contact records and cost center allocations. This created a lag where new hires did not appear in MYOB for 2-3 days after HR added them to SuccessFactors, and payroll allocations to cost centers were often stale or wrong. With the integration, employees sync from SuccessFactors to MYOB automatically, cost centers stay aligned, and the payroll finance team sees current GL allocations immediately after each payroll run.
What you can do
- Sync employee records from SAP SuccessFactors into MYOB contacts on a payroll cycle schedule.
- Map SAP SuccessFactors cost centers and org structure to MYOB GL accounts and job codes so payroll allocations are accurate.
- Authenticate SAP SuccessFactors using SAML Bearer Assertion and OAuth2, and MYOB using dual OAuth and company file credentials.
- Poll on a schedule tied to your payroll calendar with full audit trail and error replay on every employee and cost center record.
- Detect changes using OData delta queries on lastModifiedDateTime and sync only records that have changed since the last run.
Questions
- Which direction does data move between MYOB and SAP SuccessFactors?
- The main flow is SAP SuccessFactors into MYOB. Employee records, job titles, and cost centers flow from SuccessFactors into MYOB so payroll can be allocated to the correct GL accounts. Cost centers are synchronized in both directions to keep the two systems aligned. MYOB GL journals are read-only in this context.
- How does ml-connector handle MYOB's dual authentication requirement?
- MYOB requires both OAuth2 token and company file credentials (CF username and password) on every API call supplied as headers. ml-connector stores the OAuth token and CF credentials separately, refreshes the OAuth token when it expires or a call returns 401, and supplies all three required headers (Authorization Bearer, x-myobapi-key, x-myobapi-cftoken) on each request.
- Why does ml-connector poll rather than use webhooks or event push?
- MYOB Business API does not offer webhooks or push notifications, so reliable payroll sync requires polling with OData filters on lastModifiedDateTime. SAP SuccessFactors supports event callbacks, but pull-only with delta queries on lastModifiedDateTime is the recommended approach for payroll-grade change detection. ml-connector uses a single thread to stay within SuccessFactors concurrency limits.
Related integrations
More MYOB integrations
Other systems that connect to SAP SuccessFactors
Connect MYOB and SAP SuccessFactors
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started