Skip to content

MYOB Advanced — Integrations (Developer View)

Engineer-facing view of what’s connected to PWG’s MYOB tenant — the endpoints, the auth model, and the entities each integration touches. For the business-facing version (ezyCollect, Axsys, Workato recipes), see finance integrations.

myob_list_endpoints returns 30 published Web Service Endpoints on the tenant. Most aren’t in use:

EndpointStatusNotes
Default/24.200.001In useThe primary read endpoint. Account, Subaccount, JournalTransaction, Budget, Tax, TaxCategory, Ledger, Employee.
GLConsolidation/22.200.001Probed; not in useMulti-company structure (Branches as standalone entity). Candidate for future consolidation work.
Security/22.200.001Defective for our needsExposes certificate entities only — not Users / Roles / UsersInRoles. See known-issues.
AxsysAPI (custom, version varies)Black-boxOwned by Axsys; engaged on support tickets only.
Velixo/22.200.001Not usedThird-party Excel reporting add-on. Not licensed by PWG.
ExpenseManager/20.200.001Not usedCorporate expense claims. Duplicates AP data already in GL.
ADVPAU/*, ADVPNZ/*Not usedPayroll. PWG runs payroll outside MYOB.
Manufacturing, eCommerce, Workforce Management Integration, Service Delivery, Device HubNot usedNo business process depends on these.

The full list comes from mcp__pwg-myob__myob_list_endpoints — re-run if the inventory needs refreshing.

Key constraints:

  • Per-company OAuth app. PWG and JV each have their own application registration in the MYOB tenant. A single set of credentials cannot read both companies.
  • Refresh-token rotation. Refresh tokens are long-lived but do expire on revocation. The MCP server caches them under ~/.pwg-myob/.
  • Read-only. No current integration uses write scopes.

For credential rotation, see admin-procedures.

Both servers expose the same six tools, against their respective companies:

ToolPurpose
myob_healthAuth + connectivity check
myob_list_endpointsList published Web Service Endpoints
myob_query_entity(entity, filter, select, expand, top)Generic OData read of any contract-based entity
myob_get_accounts(active_only, top)Chart of Accounts shortcut
myob_get_gl_transactions(period_from YYYYMM, period_to YYYYMM, branch?, account?, top?)GL transaction read
myob_get_budget(fin_year, ledger?, branch?, top?)Budget rows

Server source lives in PWG-DataMart/tools/mcp-myob/server.py. The same binary is parameterised by env var to back both servers.

ADF pipelines (canonical source: PWG-DataMart)

Section titled “ADF pipelines (canonical source: PWG-DataMart)”

Azure Data Factory is the production extractor. The pipelines and linked-service definitions live in the PWG-DataMart repo under Connections/ and the project-specific BI_MYOB_DATA/ / BI_MYOB_ETL/ SQL projects. Don’t duplicate that detail here — go read the source.

What you need to know from the MYOB side:

  • One Copy Data activity per (entity × company). Today: Account, Subaccount, JournalTransaction (+ Details), Budget — all twice.
  • Source projection is hand-maintained — adding a column requires updating the source projection AND the sink mapping.
  • Pipelines run nightly with intraday triggers for high-churn entities (transactions, budgets).

Workato recipes are owned by the integration team and configured in the Workato tenant. Shannon is not the source of truth for recipe configuration. See finance-side notes in finance integrations for which business flows are bridged.

Outbound — what reads from MYOB-derived data

Section titled “Outbound — what reads from MYOB-derived data”

Once data lands in PWG_DATA, downstream consumers don’t talk to MYOB directly:

  • Hex notebooks read from MART / MART-GRP via Azure SQL.
  • Consolidated P&L views (MART-GRP.PL_Statement_Consolidated, etc.) are the reconciliation surface against the MYOB-native P&L report.
  • Salesforce ↔ MYOB revenue sync runs through Workato, not through direct API consumption from Salesforce.