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.
Per-company suffix convention
Section titled “Per-company suffix convention”Every MYOB-sourced staging table appears twice — once for each company — because the OAuth scope is per-company. The naming contract:
| Pattern | Example | Rule |
|---|---|---|
STAGING.MYOB_<entity>_PWG | STAGING.MYOB_GL_Account_PWG | PWG company only |
STAGING.MYOB_<entity>_JV | STAGING.MYOB_GL_Account_JV | JV company only |
BI_MYOB_ETL.MYOB_<entity>_<company> | BI_MYOB_ETL.MYOB_GL_Account_PWG | per-company projection |
BI_MYOB_DATA.MYOB_<entity>_PWG+JV | BI_MYOB_DATA.MYOB_GL_Account_PWG+JV | tenant-wide consolidation |
BI_MYOB_DATA.MYOB_<entity>_<company> | BI_MYOB_DATA.MYOB_Budget_PWG | per-company shaped for reporting |
The _PWG+JV views are how downstream MART work treats the two
companies as a single financial picture.
Ledger filter — implicit ACTUAL only
Section titled “Ledger filter — implicit ACTUAL only”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
LedgerIDto 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_*.
Account / branch / subaccount segment key
Section titled “Account / branch / subaccount segment key”MYOB transactions are stamped with three segment fields. CORE and MART tie these together as the canonical posting key:
Schema overlay shipped in Phase B
Section titled “Schema overlay shipped in Phase B”The Phase B warehouse rebuild expands MYOB_GL_Transaction_Detail_*
to carry MYOB batch metadata that ADF previously dropped:
LedgerID— explicit ledger stampModule—AP/AR/GLBatchNbr— audit trail back to the MYOB batchStatus—Posted/Balanced/UnpostedDebitAmount/CreditAmount— split rather than signedAmount
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.
What is not in scope
Section titled “What is not in scope”- 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.