The Client

A Fast-Growing APAC Agricultural Equipment Manufacturer Whose Finance and CRM Systems Stopped Talking

MYB
Australian B2B — Agricultural & Industrial Equipment Manufacturing
Identity confidential · Salesforce + MYOB Advanced Integration Engagement · 2025
IndustryAgricultural Equipment Manufacturing
RegionAustralia (HQ) · APAC markets — NZ, Southeast Asia
Team Size200–500 employees · Mid-market dealer & distributor focus
VolumeThousands of equipment orders · monthly billing cycles
Stack BeforeSalesforce Sales Cloud · MYOB Advanced · manual CSV exports
EngagementIntegration architecture · API development · UAT & training

By the time they engaged us, this client had been running Salesforce as their CRM and MYOB Advanced as their financial system of record for several years — but the two platforms had never been formally integrated. Sales reps were updating Accounts and Opportunities in Salesforce while the finance team independently managed customer and order data in MYOB Advanced. The sync happened through a manual process: someone would export a CSV from one platform, clean it, and import it into the other. It worked until it didn't.

As their APAC dealer and distributor network grew — particularly across the agricultural and industrial equipment segment — the manual reconciliation process became a weekly bottleneck. We were brought in after an internal IT project to build the integration had stalled due to authentication complexity with MYOB Advanced's OAuth layer. A fresh diagnostic revealed the prior attempt had skipped building a token refresh mechanism — the integration worked in testing but broke in production whenever a session expired.


The Problem

Four Operational Gaps That Were Costing Real Revenue

A disconnected CRM and ERP isn't just an IT inconvenience — it's a revenue risk. The client's sales team was making decisions based on account and order data that was often 24–72 hours behind what finance had in MYOB Advanced.

01

Manual Record Updates Across Both Systems

Every new Account in Salesforce had to be manually re-entered in MYOB Advanced by a finance team member. The process added an average of 3–4 hours per week per staff member in pure re-entry time — and introduced errors that surfaced as billing discrepancies weeks later.

02

Authentication Instability Broke the Prior Integration Attempt

The internal team had built a proof-of-concept integration using MYOB Advanced's REST API, but it lacked a token refresh mechanism. OAuth sessions expire — without auto-refresh logic, the connection silently broke whenever a session timed out, leading to failed syncs that nobody noticed until data discrepancies surfaced days later.

03

No Error Handling — Failed Syncs Were Invisible

There was no logging, no alerting, and no retry mechanism for sync failures. When an API call failed, the failure was silent. Finance would only discover the problem during month-end reconciliation. In one instance, 17 orders had failed to sync over a 3-week period without anyone knowing.

04

Bulk Data Volume Hit Salesforce Governor Limits

When the team attempted a backfill — syncing historical MYOB Advanced customer records into Salesforce — the process hit Salesforce API governor limits and failed partway through. The result was a partial data set in Salesforce that couldn't be trusted for reporting or segmentation.


The Solution

How We Structured the Engagement

We've built Salesforce-to-ERP integrations for companies across the US, UK, Australia, and UAE — in industries from legal tech to real estate to healthcare. The integration pattern for a manufacturing company connecting Salesforce to an accounting platform like MYOB Advanced follows a well-defined architecture: establish secure auth, define the canonical data model, build the sync engine with proper error handling, then validate at volume before go-live.

What made this engagement specific was the MYOB Advanced authentication model, which uses a tenant-scoped OAuth flow with short-lived tokens. We came in with a pre-tested token refresh framework that we adapted to their MYOB tenant configuration — saving the client 2–3 weeks of debugging that the prior internal team had spent on authentication failures.

Three Phases · 8-Week Delivery
We divided the engagement into three structured phases, each validated before advancing. The client reviewed every stage before we moved forward — no overnight switch, no forced cutover.
Phase 01 — Diagnostic Audit Phase 02 — Build & Integration Phase 03 — Optimisation & Training
Phase 01

Diagnostic Audit — Mapping the Architecture Before Writing a Line of Code

We started with a structured two-week audit. Our team reviewed the client's existing Salesforce org — object schema, data quality, API usage patterns, and governor limit headroom. In parallel, we documented the MYOB Advanced setup: which endpoints were active, what authentication model was in use, and how customer and order records were structured.

The audit produced two artefacts: a field mapping specification covering every Salesforce object and its MYOB Advanced counterpart, and a gap analysis identifying where data transformation would be needed. We also ran stakeholder interviews with the sales ops manager and finance team lead to confirm business logic — specifically which system should be considered authoritative for each data type in a conflict scenario.

🔍
Salesforce & MYOB API Endpoint Review
Evaluated all active API endpoints in both systems, documented authentication flows, and identified where token refresh gaps existed in the prior implementation.
📋
Stakeholder Interviews & Business Logic Capture
Ran structured sessions with sales ops and finance leads to confirm field-level ownership rules, conflict resolution logic, and notification requirements for sync failures.
📊
Field Mapping Specification Document
Produced a comprehensive mapping doc covering Accounts, Opportunities, Quotes, and Orders — including data type conversions, required transformations, and null-value handling rules.
Phase 02
Phase 02

Build & Integration — Authentication Framework and Sync Engine

Phase two was the core build. We developed the OAuth 2.0 authentication framework first — a token management class in Apex that handles token acquisition, storage in Salesforce Custom Settings, and automatic refresh before expiry. This was the most critical piece: without a reliable auth layer, everything downstream fails silently, which is exactly what happened in the prior attempt.

With authentication stable, we built the data sync engine using Apex callout classes for real-time triggers (new Account created, Opportunity closed-won, Quote finalised) and Apex batch classes for bulk operations. The Postman test suite covered 40+ endpoint scenarios, including edge cases like duplicate detection, null field handling, and network timeout simulation. Every callout included retry logic with exponential backoff before logging a failure event to Salesforce for manual review.

Salesforce MYOB Advanced integration authentication flow diagram
OAuth authentication framework · Phase 2 build
🔐
OAuth 2.0 Token Management in Apex
Built a custom token management class that stores OAuth credentials in Salesforce Custom Settings and auto-refreshes tokens 5 minutes before expiry to prevent mid-session authentication failures.
Real-Time Apex Callouts for Key Trigger Events
Developed callout classes triggered on Account creation, Opportunity stage changes, and Quote approval — each calling the relevant MYOB Advanced endpoint with validated, transformed payloads.
🧪
Postman API Test Suite — 40+ Scenario Coverage
Validated every integration endpoint using a Postman collection covering happy paths, edge cases, error conditions, and bulk operations before promoting any code to the client's production org.
Phase 03
Phase 03

Optimisation & Training — Tuning Performance and Handoff

The third phase covered performance optimisation, user acceptance testing, and team enablement. We ran a controlled volume test — syncing 2,000 records in a single Apex batch job — to validate the architecture under realistic load. We identified one governor limit edge case during this phase (CPU time approaching limits on complex Order records with many line items) and refactored the batch chunking logic to process in smaller sets without impacting throughput.

Enablement sessions were structured differently for the two user groups. For the finance team, we focused on the error monitoring view inside Salesforce — how to read a sync failure alert and when to escalate. For the sales ops team, we covered how the integration changed their Opportunity and Account workflow — specifically the fields that are now read-only in Salesforce because they're owned by MYOB Advanced.

Salesforce MYOB Advanced integration error monitoring dashboard
Error monitoring dashboard · Phase 3 optimisation
📈
Volume Testing & Batch Optimisation
Ran 2,000-record batch sync under realistic load conditions, identified CPU time edge cases on complex Order records, and refactored batch chunking logic before production go-live.
🎓
Role-Specific Enablement Sessions
Delivered separate training sessions for finance (error monitoring and sync failure triage) and sales ops (field ownership model and updated Opportunity workflow) to ensure independent operation post-handoff.
📬
Real-Time Notifications & Alerting
Configured Salesforce Platform Events to surface sync failures as alerts in a dedicated monitoring list view, ensuring finance team visibility within minutes of any failed API call rather than days.

Impact & Outcomes

What Changed — In Numbers and In Practice

The metric that stuck with the finance team wasn't the percentage improvement in sync speed — it was the first month-end close after go-live. For the first time, the reconciliation process required no manual data exports, no cross-referencing spreadsheets, and no back-and-forth between finance and sales ops to resolve discrepancies.

50%
Faster order processing — Quote finalisation now triggers MYOB Advanced automatically, not in a daily batch
40%
Productivity boost across finance and sales — reduction in manual re-entry hours tracked against headcount pre-integration
35%
Efficiency increase in dealer onboarding — new clients provisioned in Salesforce have MYOB records created within minutes
0
Manual CSV export/import steps remaining — the entire data exchange is automated, monitored, and logged
Real-time bidirectional sync between Salesforce and MYOB Advanced — Accounts, Opportunities, Quotes, and Orders all covered
OAuth token refresh runs automatically — no manual session management or re-authentication required by any team member
All sync failures surface as alerts in Salesforce within minutes — finance no longer discovers data gaps during month-end close
Bulk record operations now run within Salesforce governor limits — Apex batch processing handles volume without hitting API ceilings
Finance and sales ops teams operate independently of IT for day-to-day sync monitoring — full ownership transferred at handoff
Phase 2 roadmap documented for MuleSoft middleware upgrade if transaction volume grows by 5× — the architecture is built to scale

"The authentication instability had killed the previous integration attempt. We rebuilt it with a proper token refresh framework — and the first thing the finance manager said after go-live was that they could see their data was current for the first time in three years. That's the kind of outcome that matters."

— Twopir Project Lead · Agricultural Equipment Integration · APAC · 2025

Frequently Asked Questions

What Companies Ask Before Working With Us

Salesforce integrates with MYOB Advanced via REST API using OAuth 2.0 authentication. Data from Accounts, Opportunities, Quotes, and Orders in Salesforce is mapped to corresponding MYOB Advanced objects — customers, invoices, purchase orders. Twopir builds custom Apex callout classes to handle bidirectional sync, error logging, and retry logic. For higher transaction volumes, we layer in MuleSoft or Celigo as middleware to manage throughput and add resilience.
A standard Salesforce to MYOB Advanced integration engagement with Twopir runs 6–10 weeks end to end. This includes a 1–2 week diagnostic audit, 2–3 weeks of build and configuration, 1–2 weeks of UAT and refinement, and a final go-live and handoff week. Timeline varies based on the number of objects synced, complexity of business rules, and how clean the existing data is before we start.
The three most common failure modes: (1) authentication instability — OAuth tokens expiring or network interruptions breaking the connection without any alerting; (2) data mapping mismatches — field-level differences causing sync failures that only surface during month-end close; and (3) bulk data volume issues — large record sets hitting Salesforce API governor limits mid-operation. All three are solvable with proper architecture: a token refresh mechanism, a validated field-mapping schema, and Apex batch processing for bulk operations.
Yes. Twopir serves clients across Australia, New Zealand, the US, UK, UAE, and Canada. Our team operates on a globally delivered model from Pune, India, which gives Australian and APAC clients enterprise-grade Salesforce and integration expertise at transparent offshore economics. We have active timezone overlap with AEST for daily standups, and project leads are reachable during Australian business hours for critical escalations.
We commonly sync: customer records mapped to Accounts, invoices and purchase orders mapped to Opportunities or custom objects, payment status mapped to custom fields or Opportunity stages, and product/pricing data mapped to Salesforce Products and Pricebooks. The exact object mapping depends on your revenue workflow — we document this in a field mapping specification during the diagnostic phase before any build begins.

More From Twopir

Your Salesforce and finance system should share
the same data — not two versions of it

We audit your Salesforce-to-ERP or accounting integration, identify exactly where the sync breaks, and return written findings within 5 business days. No retainer, no commitment.

Serving US · UK · Australia · New Zealand · UAE · Canada  ·  US EST · UK GMT · AEST coverage  ·  Response within 24 hours guaranteed

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.