AccountRight Live - 2018.2 release notes

  Date Published: April 2018

2018.2 introduces the first set of changes to allow customers to transact in multiple currencies. Multi-currency is currently available as part of a small closed beta and can be trialled using the 2018.2 Premier Clearwater file.

New Endpoints

/GeneralLedger/Currency

The /GeneralLedger/Currency endpoint returns a read-only collection of currency codes that are available within a ledger.


{
  "UID": "a524972e-97d0-41cb-9b27-6ba8eb25f55a",
  "Code": "AED",
  "CurrencyName": "Emirati Dirham",
  "CurrencyRate": 0.01202800,
  "URI": "{cf_uri}/GeneralLedger/Currency/a524972e-97d0-41cb-9b27-6ba8eb25f55a",
  "RowVersion": "-4498533077789704192"
}

Updated fields

"ForeignCurrency" field has been added

A "ForeignCurrency" field has been added to all endpoints that can have a foreign currency assigned to them. For 2018.2 that includes:

The ForeignCurrency field is null by default and will reference a /GeneralLedger/Currency resource if set.

In 2018.2, transactions that have a foreign currency value are read-only. Attempts to update (PUT) a read-only transaction will result in an HTTP 405 MethodNotAllowed and calls to create (POST) a new foreign currency transaction will return a validation error. See below for details on new error responses.

"OnlinePaymentMethod" field

Invoices now have an "OnlinePaymentMethod" field that allows you to enable online payments for a given invoice. Note that this only applies if the company file is set up for online payments. In 2018.2 the default value is "None" but this will change in 2018.2 to "All".

Errors & Exceptions

New API error responses

We've made three key changes to errors in the AccountRight Live API to support foreign currencies.

ValidationException - Foreign Currency transactions

Purchases and bank transactions with a foreign currency are read-only meaning they cannot be created via the API. Attempting to create (POST) a new transaction with a non-null ForeignCurrency field will result in a ValidationException. We've added a set of new error codes for each read-only API resource.

Here's a sample validation error:


{
  “Name”: “ValidationError”,
  “Message”: “Cannot create an account with a foreign currency applied”,
  “AdditionalDetails”: “ForeignCurrency”,
  “ErrorCode”: 70000,
  “Severity”: “Error”,
  “LearnMore”: “http://developer.myob.com/api/accountright/api-overview/error-messages/?code=70001&context=400”
}

MethodNotSupported - Foreign Currency transactions

Similarly, transactions with a foreign currency cannot be updated via the API either. Attempts to replace (PUT) a transaction via the API will result in an HTTP 405 MethodNotAllowed error. 

Here's a MethodNotAllowed response:


{
  “Name”: “ValidationError”,
  “Message”: “Cannot update an account with a foreign currency applied”,
  “AdditionalDetails”: “ForeignCurrency”,
  “ErrorCode”: 70001,
  “Severity”: “Error”,
  “LearnMore”: “http://developer.myob.com/api/accountright/api-overview/error-messages/?code=70001&context=405”
}

"LearnMore" link has been added to API errors

The new "LearnMore" field is null by default and will link directly to documentation about the error and how to resolve it. LearnMore links have been added to new multi-currency errors and will be added to other errors soon.

Updated validation

Employee card "state" field

We've reverted a change that previously made the employee "State" field mandatory for Australian employees. The "State" field is now an optional field and will be validated during the STP readiness check. This applies to files once they have upgraded to 2018.2.