This article describes the MYOB endpoints to use for different types of reports and dashboards.

We also detail specific nuances when it comes to different data sets. Where possible, we also provide links to standard templates you can use as a starting point.

Financial Reports
Profit and Loss Reports for MYOB
Balance Sheet Reports for MYOB
Trial Balance Reports for MYOB
Budget Analysis Reports for MYOB

Transaction Reports
Sales Reports for MYOB
Purchase Reports for MYOB
Inventory and Stock Reports for MYOB
Transaction Reports for MYOB
Aged Receivables Reports for MYOB
Aged Payables Reports for MYOB
Payroll Reports for MYOB

Profit and Loss for MYOB

Creating Profit and Loss report reports is a breeze using OdataLink. There is one fundamental question you need to ask yourself before you begin.

Do you want it to be by accounts only, or further broken down by job or by category?

The answer to that question will determine the data sets you need to use.

Profit and Loss Report in Power BI using MYOB data and the AccountRegister Endpoint

Standard Profit and Loss for MYOB

To create a Profit and Loss Report by accounts, you will need to use the following endpoints.

AccountRegister
First up, the AccountRegister endpoint provides the movement (inflow/outflow) hitting your general ledger totalled by each calendar month.

DatesByMonth
You will need to also include the DatesByMonth endpoint. It provides a list of date ranges for each financial month in the calendar year. You can use the DatesByMonthID field to link it with the AccountRegister endpoint.

Accounts, AccountsClassifications and AccountsTotals
Finally, you will also include the Accounts, AccountsClassifications and AccountsTotals. The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Income, Cost of Sales, Expense, etc.). Finally, the AccountsTotals provides the list of totals (Gross Profit, Net Profit, etc.)

Job-Based Profit and Loss Report for MYOB

To create a Profit and Loss by Job report, you will use the following endpoints.

JobRegister
The JobRegister endpoint provides the movement (inflow/outflow) hitting your general ledger totalled by each calendar month and further broken down for each Job.

DatesByMonth
The DatesByMonth endpoint provides a list of date ranges for each financial month in the calendar year. You can use the DatesByMonthID field to link it with the JobRegister endpoint.

Accounts, AccountsClassifications and AccountsTotals
The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Income, Cost of Sales, Expense, etc.). Finally, the AccountsTotals provides the list of totals (Gross Profit, Net Profit, etc.)

Jobs
The Jobs endpoint provides the list of all jobs defined within MYOB.

Category-Based Profit and Loss report for MYOB

CategoryRegister
The CategoryRegister endpoint provides the movement (inflow/outflow) hitting your general ledger totalled by each calendar month and further broken down for each category.

DatesByMonth
The DatesByMonth endpoint provides a list of date ranges for each financial month in the calendar year. You can use the DatesByMonthID field to link it with the CategoryRegister endpoint.

Accounts, AccountsClassifications and AccountsTotals
The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Income, Cost of Sales, Expense, etc.). Finally, the AccountsTotals provides the list of totals (Gross Profit, Net Profit, etc.)

Categories
The Categories endpoint provides the list of all categories defined within MYOB.

Alternate endpoints

You can also use the JournalTransactions endpoint instead of the AccountRegister or JobRegister endpoints to provide more detailed information. The JournalTransactions provides the same values but for each individual transaction posted to your GL. (Note that the JournalTransactions does not yet include links to categories. It cannot be used to create category-based reports.)

You can also use the ProfitAndLossSummaryReport endpoint instead of the AccountRegister to provide provide and loss totals as at any point in time. This is particularly useful to create weekly or fortnighly profit and loss. While it can also be used as an easy way to generate YTD values, we recommend your create Year-to-Date measdures using DAX.

Back to Top

Balance Sheet Report for MYOB

Creating a Balance Sheet report using MYOB data can be done with just a few endpoints.

BalanceSheetSummaryReport
The BalanceSheetSummaryReport is the central endpoint you will need. It is a function that accepts parameters. With it you can request closing balance data as at any date you need.

Dates, DatesByMonth and DatesByYear
The Dates, DatesByMonth and DatesByYear endpoints provide a series of dates / date ranges which are used with the BalanceSheetSummaryReport to query the data.

Accounts, AccountsClassifications and AccountsTotals
The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Assets, Liabilities and Equity). Finally, the AccountsTotals provides the list of totals (Net Assets, etc.)

Back to Top

Trial Balance Report for MYOB

Creating a Trial Balance report or dashboard can be done in similar ways to both the Profit and Loss or Balance Sheet reports described above.

We recommend using the following endpoints.

AccountRegister
The AccountRegister endpoint provides the movement (inflow/outflow) hitting your general ledger totalled by each calendar month and further broken down for each Job. It includes values for both Profit and Loss and Balance Sheet account. As such, it’s perfectly suited to creating a Trial Balance report.

DatesByMonth
The DatesByMonth endpoint provides a list of date ranges for each financial month in the calendar year. You can use the DatesByMonthID field to link it with the AccountRegister endpoint.

Accounts, AccountsClassifications and AccountsTotals
The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Income, Cost of Sales, Expense, etc.). Finally, the AccountsTotals provides the list of totals (Gross Profit, Net Profit, etc.)

Alternate Endpoints

If you require more finesse with the numbers, you can use the JournalTransactions endpoint. This endpoint will provide the detailed inflow/outflow for each individual transaction.

Alternatively, you can also query the ProfitAndLossSummaryReport and BalanceSheetSummaryReport and append them together.

Back to Top

Budget Analysis Reports for MYOB

MYOB provides access to two types of budgets: company wide and job specific. The one you use depends on the nature of how you Budget.

Standard Budget Analysis Reports for MYOB

To create a standard budget analysis report for MYOB, you will use the following endpoints.

AccountRegister
First up, the AccountRegister endpoint provides the movement (inflow/outflow) hitting your general ledger totalled by each calendar month.

AccountBudgets
Next, the budget data is provided via the AccountBudgets endpoint. This endpoint is similar to the AccountRegister endpoint and provides budget values against your chart of accounts for each calendar month.

DatesByMonth
You will need to also include the DatesByMonth endpoint. It provides a list of date ranges for each financial month in the calendar year. You can use the DatesByMonthID field to link it with the AccountRegister endpoint.

Accounts, AccountsClassifications and AccountsTotals
Finally, you will also include the Accounts, AccountsClassifications and AccountsTotals. The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Income, Cost of Sales, Expense, etc.). Finally, the AccountsTotals provides the list of totals (Gross Profit, Net Profit, etc.)

Job Budget Analysis Reports for MYOB

To create a job budget analysis report for MYOB, you will use the following endpoints.

JobRegister
The JobRegister endpoint provides the movement (inflow/outflow) hitting your general ledger totalled by each calendar month and further broken down for each Job.

JobBudgets

The budget data is provided via the JobBudgets endpoint. Note that this endpoint is not broken down by month and is simply a single total against each account/job pair.

DatesByMonth
The DatesByMonth endpoint provides a list of date ranges for each financial month in the calendar year. You can use the DatesByMonthID field to link it with the JobRegister endpoint.

Accounts, AccountsClassifications and AccountsTotals
The Accounts endpoint provides the full chart of accounts at both level 1 through to 4. The AccountsClassifications endpoint is used to provide the rough classification or categories of your accounts (Income, Cost of Sales, Expense, etc.). Finally, the AccountsTotals provides the list of totals (Gross Profit, Net Profit, etc.)

Jobs
The Jobs endpoint provides the list of all jobs defined within MYOB.

Alternate endpoints

You can also use the JournalTransactions endpoint instead of the AccountRegister or JobRegister endpoints to provide more detailed information. The JournalTransactions provides the same values but for each individual transaction posted to your GL.

Back to Top

Sales Reports for MYOB

Before creating sales reports, you need to identify the type of sales transaction recorded in MYOB. MYOB provides 5 different layouts and each one correlates to it’s own series of endpoints: Item, Service, Professional, Miscellaneous and Time Billing.

In addition, the sales data entry screen in MYOB captures sales in various states.
Invoices which includes Open, Closed and Credit Notes
Orders which includes both open orders and those converted to invoices
Quotes which only provides quotes.

This explains the number of endpoints that MYOB and OdataLink provide.

To make it easier finding your data, sales endpoint follow a specific naming convention. The word “Sales” followed by the “Layout” and ending with the “state”. As an example, SalesItemInvoices vs SalesServiceOrders.

In addition, a specific All “layout” name provides access to all layout types of sales but only includes common fields. Most importantly, these endpoints do not include lines data. They are only useful for creating customer-based reports.

Except for the exception above, all other endpoints provide access to Jobs and Accounts data.

Finally, it’s worth noting you do not necessarily need to include all endpoints. Your accounting

To get started, the following groupings may help.

Sales Reports for MYOB

SalesAllInvoices
SalesItemInvoices
SalesMiscellaneousInvoices
SalesProfessionalInvoices
SalesServiceInvoices
SalesTimeBillingInvoices

Sales Orders Reports for MYOB

SalesAllOrders
SalesItemOrders
SalesMiscellaneousOrders
SalesProfessionalOrders
SalesServiceOrders
SalesTimeBillingOrders

Sales Quotes Reports for MYOB

SalesAllQuotes
SalesItemQuotes
SalesMiscellaneousQuotes
SalesProfessionalQuotes
SalesServiceQuotes
SalesTimeBillingQuotes

Item-based Sales Reports for MYOB

SalesItemInvoices
SalesItemOrders
SalesItemQuotes

Additional endpoints to consider

It is sometimes relevant (but not always) to include the ReceiveMoneyTransactions endpoint. This endpoint is used to capture direct payments to your organisation without the need for recording an invoice first.

Back to Top

Purchases Reports for MYOB

Purchases follow much the same convention as that described for Sales.

Before creating Purchases reports, you need to identify the type of Purchases transaction recorded in MYOB. MYOB provides 4 different layouts and each one correlates to it’s own series of endpoints: Item, Service, Professional, and Miscellaneous (there is no Time Billing purchases in MYOB).

In addition, the Purchases data entry screen in MYOB captures Purchases in various states.
Invoices which includes Open, Closed and Credit Notes
Orders which includes both open orders and those converted to invoices
Quotes (not yet available via the MYOB API).

This explains the number of endpoints that MYOB and OdataLink provide.

To make it easier finding your data, Purchases endpoint follow a specific naming convention. The word “Purchases” followed by the “Layout” and ending with the “state”. As an example, PurchasesItemInvoices vs PurchasesServiceOrders.

In addition, a specific All “layout” name provides access to all layout types of Purchases but only includes common fields. Most importantly, these endpoints do not include lines data. They are only useful for creating supplier-based reports.

Except for the exception above, all other endpoints provide access to Jobs and Accounts data.

Finally, it’s worth noting you do not necessarily need to include all endpoints. Your accounting department can advise as to the types of transactions they record. You can omit those that are not used.

To get started, the following groupings may help.

Purchases Reports for MYOB

PurchasesAllInvoices
PurchasesItemInvoices
PurchasesMiscellaneousInvoices
PurchasesProfessionalInvoices
PurchasesServiceInvoices

Purchases Orders Reports for MYOB

PurchasesAllOrders
PurchasesItemOrders
PurchasesMiscellaneousOrders
PurchasesProfessionalOrders
PurchasesServiceOrders

Purchases Quotes Reports for MYOB

This is not yet possible via the MYOB API and therefore OdataLink.

Item-based Purchases Reports for MYOB

PurchasesItemInvoices
PurchasesItemOrders

Additional endpoints to consider

It is sometimes relevant (but not always) to include the SpendMoneyTransactions endpoint. This endpoint is used to capture direct payments from your organisation without the need for recording an invoice first.

Back to Top

Inventory and Stock Reports for MYOB

Inventory and stock management reports are a special category of reports that combine both Sales, Purchase and inventory adjustment.

The main endpoints involved are:

Items
The Items endpoint will be at the core of your report and provide many of the fields related to items. It also included, if required, the list of build components via the BillOfMaterials field.

SalesItemInvoices
The SalesItemInvoices endpoint provides the list of all item sales invoices.

SalesItemOrders
The SalesItemOrders endpoint provides the list of all item sales orders, if required. Note you will likely need to only include those whose Status is set to Open and remove those set to ConvertedToInvoice.

SalesItemQuotes
The SalesItemQuotes endpoint provides the list of all item sales quotes, if required.

PurchasesItemInvoices
The PurchasesItemInvoices endpoint provides the list of all item purchase invoices.

PurchasesItemOrders
The PurchasesItemOrders endpoint provides the list of all item purchase orders, if required. Note you will likely need to only include those whose Status is set to Open and remove those set to ConvertedToInvoice.

InventoryAdjustments
The InventoryAdjustments endpoint provides the list of all item inventory adjustment transactions. These represents transactions that modify the stock on hand.

Back to Top

Transactions Reports for MYOB

There are two type of transactions report you can try to create: a high-level transaction report or a detailed transaction report.

To create a complete transactions reports for MYOB using OdataLink will require to pull most of the data points available via MYOB. This is beyond the scope of this article.

To create a high-level transaction report, you will use the JournalTransactions endpoint. It provides values for each transaction posted to your GL.

Back to Top

Aged Receivables Reports for MYOB

Creating Receivables or Aged Receivables reports for MYOB using OdataLink is possible but is more complex.

First off, it requires an understanding of how sales are recorded (described under Sales Reports for MYOB). Due to the complexity, it is generally best to use the SalesAllInvoices endpoint.

Secondly, you need to determine if you simply need a report that shows the data as of right now, or in arrears. The former is the easiest to build. The later requires some skill.

Current Aged Receivables Report for MYOB

To create a Current Aged Receivables report as of right now is very simple. All sales endpoints include a BalanceDueAmount and that field can be used directly on your charts.

In addition, you will need to use a simple calculated field to create your ageing categories: 0-30 days, 30-60 days, 60-90 days, 90-days plus.

Advanced Aged Receivables Reports

To create an aged receivables report that can be used as at any point in time is fairly complex. In addition to sales data, you will need to include the following endpoints:

CustomerPayments
The CustomerPayments endpoint provides the list of all payments and how they were applied to invoices.

CreditRefunds
The CreditRefunds endpoint provides the list of all amounts refunded back to the customer.

CreditSettlements
The CreditSettlements endpoint provides the list of all settled credits applied to sales.

Back to Top

Aged Payables for MYOB

Creating an Aged Payables report for MYOB using OdataLink follow much the same convention as that described for Aged Receivables.

First off, it requires an understanding of how purchases are recorded (described under Purchases Reports for MYOB). Due to the complexity, it is generally best to use the PurchasesAllInvoices endpoint.

Secondly, you need to determine if you simply need a report that shows the data as of right now, or in arrears. The former is the easiest to build. The later requires some skill.

Current Aged Payables Report for MYOB

To create a Current Aged Payables report as of right now is very simple. All purchases endpoints include a BalanceDueAmount and that field can be used directly on your charts.

In addition, you will need to use a simple calculated field to create your ageing categories: 0-30 days, 30-60 days, 60-90 days, 90-days plus.

Advanced Aged Payables Reports

To create an aged payables report that can be used as at any point in time is fairly complex. In addition to purchases data, you will need to include the following endpoints:

SupplierPayments
The SupplierPayments endpoint provides the list of all payments and how they were applied to invoices.

DebitRefunds
The DebitRefunds endpoint provides the list of all amounts refunded from the supplier.

DebitSettlements
The DebitSettlements endpoint provides the list of all settled debits applied to purchases.

Back to Top

Payroll Reports for MYOB

Various payroll reports can be created for MYOB using OdataLink.

Payslip-based Reports for MYOB

The following list provides the core endpoints you will need to use to create payslip reports.

EmployeePayrollAdvices
The EmployeePayrollAdvices endpoint is the core endpoint that provides access to all the pay slips for the employees.

Timesheet Reports for MYOB

The following list provides the core endpoints you will need to use to create timesheet reports.

Timesheets
The Timesheets provides the list of all timesheet entries for your employees.

ActivitySlips
The ActivitySlips is similar to timesheets but provides the data as activity slips that can be billed out to customers.

Additional Endpoints for Payroll Reports

The following endpoints are typically used for most payroll reports.

Employees, EmployeePaymentDetails, EmployeePayrollDetails, EmployeeStandardPays
The Employees endpoint provides the list of employees. While the EmployeePaymentDetails, EmployeePayrollDetails and EmployeeStandardPays provide additional pay-related information for each employees.

Back to Top