Skip to content

MYOB Advanced — Architecture (Developer View)

PWG ingests MYOB Advanced via OData against the Default/24.200.001 endpoint, lands raw rows in the warehouse STAGING schema (one table per MYOB entity, suffixed _PWG or _JV), and consolidates through ETL views into CORE and the reporting marts.

Every MYOB-sourced staging table appears twice — once for each company — because the OAuth scope is per-company. The naming contract:

PatternExampleRule
STAGING.MYOB_<entity>_PWGSTAGING.MYOB_GL_Account_PWGPWG company only
STAGING.MYOB_<entity>_JVSTAGING.MYOB_GL_Account_JVJV company only
BI_MYOB_ETL.MYOB_<entity>_<company>BI_MYOB_ETL.MYOB_GL_Account_PWGper-company projection
BI_MYOB_DATA.MYOB_<entity>_PWG+JVBI_MYOB_DATA.MYOB_GL_Account_PWG+JVtenant-wide consolidation
BI_MYOB_DATA.MYOB_<entity>_<company>BI_MYOB_DATA.MYOB_Budget_PWGper-company shaped for reporting

The _PWG+JV views are how downstream MART work treats the two companies as a single financial picture.

ADF Copy Data activities currently filter implicitly to LedgerID = 'ACTUAL'. This is the bookkeeping layer — real posted transactions — and it is what statutory reporting requires.

The four reporting ledgers (ALLOCATION, FPALLOC, BUDGET, FORECAST, PRIORYEAR) are not in STAGING.MYOB_GL_Transaction_Detail_*. This is not a bug, but it has consequences:

  • Branch-level overhead allocations are missing from the warehouse and any P&L view built from it (see known-issues).
  • Phase B of the warehouse rebuild adds LedgerID to staging and CORE so the implicit filter becomes explicit and additional ledgers can be pulled selectively.

Budgets are a separate Budget entity — they aren’t filtered out; they live on a different MYOB endpoint and load through their own Copy Data activity into STAGING.MYOB_GL_Budget_Line_*.

MYOB transactions are stamped with three segment fields. CORE and MART tie these together as the canonical posting key:

The Phase B warehouse rebuild expands MYOB_GL_Transaction_Detail_* to carry MYOB batch metadata that ADF previously dropped:

  • LedgerID — explicit ledger stamp
  • ModuleAP / AR / GL
  • BatchNbr — audit trail back to the MYOB batch
  • StatusPosted / Balanced / Unposted
  • DebitAmount / CreditAmount — split rather than signed Amount

Until ADF is updated to project these (Phase B work-in-progress), the columns exist in staging but ship NULL. See known-issues for the open item.

  • Mutations. All current consumers are read-only. There is no pipeline that writes back to MYOB.
  • Transactional documents — invoices, bills, payments per se. We carry the GL effect (the journal lines) not the source documents.
  • Manufacturing, eCommerce, Velixo, ExpenseManager, Workforce Management Integration, Service Delivery, Device Hub. Endpoints exist on the tenant; PWG does not use them.