API Error Messages & Warnings

Understanding the errors and warnings for the MYOB Business API?

  Date Updated: Oct 2021

The following is a list of validation errors and warnings to help developers better understand the business logic behind AccountRight, Essentials and MYOB Business.

There are a list of generic error messages and codes as well as ones that are specific to individual endpoints. Particular endpoints also give you the ability to treat warnings as errors. This list will take you through each scenario and what to expect the API to return when making your calls.

We have broken these down into each collection group of endpoints

Firstly lets start with a list of generic error messages and codes that are standard across all AccountRight endpoints.

HTTP Method Scenario Expected Message HTTP Status Code

GET, POST, PUT, DELETE

The API call has taken longer that time out limit.

  • {
  • "Name" : "GatewayTimeout",
  • "Message" : "Connection to the API has timed out",
  • "ErrorCode" : null,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
504 Timeout

GET, POST, PUT, DELETE

The number of API calls made per day has exceeded the limit.

  • {
  • "Name" : "RateLimitError",
  • "Message" : "API key has exceeded the daily rate limit",
  • "AdditionalDetails" : "Header: x-myobapi-key",
  • "ErrorCode" : null,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
403 Forbidden

GET, POST, PUT, DELETE

The number of API calls made per second has exceeded the limit.

  • {
  • "Name" : "RateLimitError",
  • "Message" : "API key has exceeded the per-second rate limit",
  • "AdditionalDetails" : "Header: x-myobapi-key",
  • "ErrorCode" : null,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
403 Forbidden

GET, POST, PUT, DELETE

The API key is either inactive or has not been provided in the x-myobapi-key header.

  • {
  • "Name" : "DeveloperInactive",
  • "Message" : "API key is missing or inactive",
  • "AdditionalDetails" : "Header: x-myobapi-key",
  • "ErrorCode" : null,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
403 Forbidden

POST, PUT

Error converting value to type, ie: passing 'abcdef' to field of type boolean, passing 'xxxxx' as system GUID

  • {
  • "Name" : "SerializationError",
  • "Message" : "Error converting value [Error message returned from serializer]",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 50,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Inserting and updating entities without including all required fields

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Resource not found when passing a unique identifier for things like contact, account, taxcode, item, job

  • {
  • "Name" : "NotFound",
  • "Message" : "[Error message returned from serializer]",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Deleting transactions where Company/Preferences element TransactionsCannotBeChangedMustBeReversed = true

  • {
  • "Name" : "TransactionsCannotBeDeleted",
  • "Message" : "Transactions cannot be deleted and must be reversed",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 25003,
  • "Severity" : "Error"
  • }
400 Bad Request

GET, POST, PUT, DELETE

When a user tries to access a resource for which they do not have access to. Double check the x-myobapi-cftoken header. See best practice guide for Company File Authentication.

  • {
  • "Message" : "You are not authorised to access this resource",
  • "ErrorCode" : AccessDenied,
  • }
403 Forbidden

POST, PUT

Dated transactions prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Occurs when the RowVerison is out of date when trying to make a PUT request.

  • {
  • "Name" : "IncorrectRowVersionSupplied",
  • "Message" : "An Update operation requires the latest RowVersion for each of the existing entities being modified",
  • "AdditionalDetails" : null,
  • "ErrorCode" : 111,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
409 Conflict

/Sale/Invoice/Item

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Passing a negative UnitPrice

  • {
  • "Name" : "UnitPriceNotValid",
  • "Message" : "UnitPrice must be a positive number",
  • "AdditionalDetails" : "Lines[n].UnitPrice",
  • "ErrorCode" : 12101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

ShipQuantity not supplied, UnitPrice is ZERO, Total is NON-ZERO

  • {
  • "Name" : "UnitPriceNotValid",
  • "Message" : "UnitPrice must be a positive number",
  • "AdditionalDetails" : "Lines[n].UnitPrice",
  • "ErrorCode" : 12101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Item sale results in negative inventory

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

ShipQuantity is ZERO, UnitPrice NOT supplied, Total is NON-ZERO

  • {
  • "Name" : "Required",
  • "Message" : "ShipQuantity is required",
  • "AdditionalDetails" : "Lines[n].ShipQuantity",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

ShipQuantity not supplied, UnitPrice not supplied, Total is NON-ZERO

  • {
  • "Name" : "Required",
  • "Message" : "ShipQuantity is required",
  • "AdditionalDetails" : "Lines[n].ShipQuantity",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Cannot use Order with Status "ConvertedToInvoice" when converting order to invoice

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Order should be in open status to convert to an invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Layout type mismatch on Order conversion

  • {
  • "Name" : "LayoutTypeMismatch",
  • "Message" : "Order and Invoice should be of the same layout type",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Invoice with payments applied

  • {
  • "Name" : "InvoicePaid",
  • "Message" : "Cannot delete Invoice with payment(s) applied",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 10001,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Cannot update Order.UID on existing Invoice

  • {
  • "Name" : "CannotUpdateOrderOnExistingInvoice",
  • "Message" : "Cannot update order on existing invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37006,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "ValidationError",
  • "Message" : "SaleEventLine_ItemTotalAmountUnBalanced",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 4339,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Invoice/Service

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Missing required fields

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Customer mismatch between Order and Invoice conversion

  • {
  • "Name" : "CustomerMismatch",
  • "Message" : "Customer on source invoice must match customer on Order/Invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 11007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Cannot use Order with Status "ConvertedToInvoice" when converting order to invoice

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Order should be in open status to convert to an invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Layout type mismatch on order conversion

  • {
  • "Name" : "LayoutTypeMismatch",
  • "Message" : "Order and Invoice should be of the same layout type",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Invoice with payments applied

  • {
  • "Name" : "InvoicePaid",
  • "Message" : "Cannot delete Invoice with payment(s) applied",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 10001,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Cannot update Order.UID on existing invoice

  • {
  • "Name" : "CannotUpdateOrderOnExistingInvoice",
  • "Message" : "Cannot update order on existing invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37006,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Invoice/Professional/

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Missing required fields

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Customer mismatch between Order and Invoice conversion

  • {
  • "Name" : "CustomerMismatch",
  • "Message" : "Customer on source invoice must match customer on Order/Invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 11007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Cannot use Order with Status "ConvertedToInvoice" when converting order to invoice

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Order should be in open status to convert to an invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Layout type mismatch on order conversion

  • {
  • "Name" : "LayoutTypeMismatch",
  • "Message" : "Order and Invoice should be of the same layout type",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Invoice with payments applied

  • {
  • "Name" : "InvoicePaid",
  • "Message" : "Cannot delete Invoice with payment(s) applied",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 10001,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Cannot update Order.UID on existing invoice

  • {
  • "Name" : "CannotUpdateOrderOnExistingInvoice",
  • "Message" : "Cannot update order on existing invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37006,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Invoice/TimeBilling

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Not enough stock on hand to complete invoice

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Creating or updating line of invoice with both Item & Activity

  • {
  • "Name" : "CannotUseItemAndActivityOnSameLine",
  • "Message" : "Cannot use both Item and Activity on the same line.",
  • "AdditionalDetails" : "Lines[x].Activity",
  • "ErrorCode" : 10002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Posting Zero or Negative amount

  • {
  • "Name" : "ZeroOrNegativeAmount",
  • "Message" : "Amount must be a non-zero positive number",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 101,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Invoice/Miscellaneous/

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Missing required fields

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Customer mismatch between Order and Invoice conversion

  • {
  • "Name" : "CustomerMismatch",
  • "Message" : "Customer on source invoice must match customer on Order/Invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 11007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Cannot use Order with Status "ConvertedToInvoice" when converting order to invoice

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Order should be in open status to convert to an invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Layout type mismatch on order conversion

  • {
  • "Name" : "LayoutTypeMismatch",
  • "Message" : "Order and Invoice should be of the same layout type",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Invoice with payments applied

  • {
  • "Name" : "InvoicePaid",
  • "Message" : "Cannot delete Invoice with payment(s) applied",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 10001,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Cannot update Order.UID on existing invoice

  • {
  • "Name" : "CannotUpdateOrderOnExistingInvoice",
  • "Message" : "Cannot update order on existing invoice",
  • "AdditionalDetails" : "Order.UID",
  • "ErrorCode" : 37006,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/CustomerPayment/

HTTP Method Scenario Expected Message HTTP Status Code

POST

No invoice passed in lines array.

  • {
  • "Name" : "Required",
  • "Message" : "Invoices[n] is required",
  • "AdditionalDetails" : "Invoices[n].UID",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete customer payment on Order once it's converted to Invoice

  • {
  • "Name" : "SystemCreatedTransaction",
  • "Message" : "System created transaction cannot be changed or deleted",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 224,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete system created transaction

  • {
  • "Name" : "PaymentOnOrderConvertedToInvoice",
  • "Message" : "Cannot delete payment on an order that has been converted to an invoice",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 37005,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/CustomerPayment/RecordWithDiscountsAndFees

HTTP Method Scenario Expected Message HTTP Status Code

POST

Payment with no lines

  • {
  • "Name" : "NoSaleLine",
  • "Message" : "Customer Payment must have atleast one sale line",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 13003,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Finance charge linked account not set

  • {
  • "Name" : "LinkedAccountNotSet",
  • "Message" : "Linked Account for Late Charges is not set",
  • "AdditionalDetails" : "FinanceCharge",
  • "ErrorCode" : 14004,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Discounts for early payment linked account not set

  • {
  • "Name" : "LinkedAccountNotSet",
  • "Message" : "Linked Account for Discounts is not set",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 14004,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Recording payment on invoice where Status: Credit

  • {
  • "Name" : "InvoiceStatusNotValid",
  • "Message" : "Invoices must be in open or closed status",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 15005,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Recording discount on partial payment of invoice.

  • {
  • "Name" : "DiscountOnPartialPaymentNotSupported",
  • "Message" : "Customer Payment discounts are not supported on partial payments",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 15006,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Account UID is NOT same as UndepositedFunds Linked Account UID

  • {
  • "Name" : "DepositToAccountMismatch",
  • "Message" : "Account does NOT match with Undeposited Funds account",
  • "AdditionalDetails" : "Account",
  • "ErrorCode" : 26000,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Order/Item

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "LineTotalUnbalanced",
  • "Message" : "The line total is unbalanced",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 37003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change customer on existing Order

  • {
  • "Name" : "CustomerCannotBeChanged",
  • "Message" : "Customer cannot be changed on existing Order",
  • "AdditionalDetails" : "Customer.UID",
  • "ErrorCode" : 11004,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing a negative UnitPrice

  • {
  • "Name" : "UnitPriceNotValid",
  • "Message" : "UnitPrice must be a positive number",
  • "AdditionalDetails" : "Lines[n].UnitPrice",
  • "ErrorCode" : 12101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Not enough stock on hand to complete order

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "OrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 37000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToInvoice"

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Cannot update or delete order converted to invoice",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Order/Service

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change customer on existing Order

  • {
  • "Name" : "CustomerCannotBeChanged",
  • "Message" : "Customer cannot be changed on existing Order",
  • "AdditionalDetails" : "Customer.UID",
  • "ErrorCode" : 11004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "OrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 37000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToInvoice"

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Cannot update or delete order converted to invoice",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Order/Professional

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change customer on existing Order

  • {
  • "Name" : "CustomerCannotBeChanged",
  • "Message" : "Customer cannot be changed on existing Order",
  • "AdditionalDetails" : "Customer.UID",
  • "ErrorCode" : 11004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "OrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 37000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToInvoice"

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Cannot update or delete order converted to invoice",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Order/TimeBilling

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change customer on existing Order

  • {
  • "Name" : "CustomerCannotBeChanged",
  • "Message" : "Customer cannot be changed on existing Order",
  • "AdditionalDetails" : "Customer.UID",
  • "ErrorCode" : 11004,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Not enough stock on hand to complete order

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "OrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 37000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToInvoice"

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Cannot update or delete order converted to invoice",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Creating or updating line of order with both Item & Activity

  • {
  • "Name" : "CannotUseItemAndActivityOnSameLine",
  • "Message" : "Cannot use both Item and Activity on the same line.",
  • "AdditionalDetails" : "Lines[x].Activity",
  • "ErrorCode" : 10002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Posting Zero or Negative amount

  • {
  • "Name" : "ZeroOrNegativeAmount",
  • "Message" : "Amount must be a non-zero positive number",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 101,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/Order/Miscellaneous

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change customer on existing Order

  • {
  • "Name" : "CustomerCannotBeChanged",
  • "Message" : "Customer cannot be changed on existing Order",
  • "AdditionalDetails" : "Customer.UID",
  • "ErrorCode" : 11004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "OrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 37000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToInvoice"

  • {
  • "Name" : "OrderConvertedToInvoice",
  • "Message" : "Cannot update or delete order converted to invoice",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 37001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/CreditSettlement/

HTTP Method Scenario Expected Message HTTP Status Code

POST

Customer.UID does not match customer on CreditFromInvoice

  • {
  • "Name" : "CustomerMismatch",
  • "Message" : "Customer on credit settlement must match customer on Invoice",
  • "AdditionalDetails" : "CreditFromInvoice",
  • "ErrorCode" : 10007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Credit settlement applied to Invoice of Status Credit

  • {
  • "Name" : "InvoiceStatusNotValid",
  • "Message" : "Invoice must be in open or closed status",
  • "AdditionalDetails" : "Lines[n].Sale",
  • "ErrorCode" : 15005,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Over payments

  • {
  • "Name" : "OverPayment",
  • "Message" : "Amount applied must be less than or equal to credit available on Invoice",
  • "AdditionalDetails" : "CreditFromInvoice",
  • "ErrorCode" : 20007,
  • "Severity" : "Error"
  • }
400 Bad Request

/Sale/CreditRefund/

HTTP Method Scenario Expected Message HTTP Status Code

POST

Customer.UID does not match customer on Invoice

  • {
  • "Name" : "CustomerMismatch",
  • "Message" : "Customer on credit refund must match customer on Invoice",
  • "AdditionalDetails" : "Customer",
  • "ErrorCode" : 11007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Over payments

  • {
  • "Name" : "OverPayment",
  • "Message" : "Credit Refund amount must be less than or equal credit available on Invoice",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 20007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Invoice to refund not in Status: Credit

  • {
  • "Name" : "InvoiceNotInCreditStatus",
  • "Message" : "Invoice used on credit refund must be in credit status",
  • "AdditionalDetails" : "Invoice",
  • "ErrorCode" : 22008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

No Customer.UID supplied

  • {
  • "Name" : "Required",
  • "Message" : "Customer is required",
  • "AdditionalDetails" : "Customer",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Account.UID not found

  • {
  • "Name" : "NotFound",
  • "Message" : "Account not found",
  • "AdditionalDetails" : "Account.UID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Posting Zero or Negative amount

  • {
  • "Name" : "ZeroOrNegativeAmount",
  • "Message" : "Amount must be a non-zero positive number",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 101,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Bill/Item

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Negative item purchase results in negative inventory

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

BillQuantity is ZERO, UnitPrice NOT supplied, Total is NON-ZERO

  • {
  • "Name" : "QuantityNotValid",
  • "Message" : "BillQuantity must be non-zero",
  • "AdditionalDetails" : "Lines[n].BillQuantity",
  • "ErrorCode" : 12100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

BillQuantity not supplied, UnitPrice is ZERO, Total is NON-ZERO

  • {
  • "Name" : "UnitPriceNotValid",
  • "Message" : "UnitPrice must be a positive number",
  • "AdditionalDetails" : "Lines[n].UnitPrice",
  • "ErrorCode" : 12101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing a negative UnitPrice

  • {
  • "Name" : "UnitPriceNotValid",
  • "Message" : "UnitPrice must be a positive number",
  • "AdditionalDetails" : "Lines[n].UnitPrice",
  • "ErrorCode" : 12101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

BillQuantity not supplied, UnitPrice not supplied, Total is NON-ZERO

  • {
  • "Name" : "QuantityRequired",
  • "Message" : "BillQuantity is required",
  • "AdditionalDetails" : "Lines[n].BillQuantity",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

No date supplied

  • {
  • "Name" : "Required",
  • "Message" : "Date is required",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "ValidationError",
  • "Message" : "PurchaseEventLine_ItemTotalAmountUnBalance",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 4273,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Bill/Service

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Duplicate purchase number

  • {
  • "Name" : "Duplicate",
  • "Message" : "Duplicate purchase number",
  • "AdditionalDetails" : "Number",
  • "ErrorCode" : 200,
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

Duplicate supplier invoice number

  • {
  • "Name" : "Duplicate",
  • "Message" : "Duplicate supplier invoice number",
  • "AdditionalDetails" : "SupplierInvoiceNumber",
  • "ErrorCode" : 200,
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

Supplier contact does not contain an ABN number

  • {
  • "Name" : "NoABN",
  • "Message" : "Supplier has not supplied ABN number",
  • "AdditionalDetails" : "Supplier",
  • "ErrorCode" : 210
  • "Severity" : "Warning"
  • }
400 Bad Request

PUT

Purchase bill has already been reconciled

  • {
  • "Name" : "ReconciledTransaction",
  • "Message" : "Purchase transaction has been reconciled",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 25004
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

Transaction will result in exceeding supplier credit limit

  • {
  • "Name" : "CreditLimitExceeded",
  • "Message" : "Purchase transaction will exceed supplier credit limit",
  • "AdditionalDetails" : "Supplier",
  • "ErrorCode" : 25005
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

Account type is anything other than Expense or CostOfSales in lines array

  • {
  • "Name" : "IncorrectAccountType",
  • "Message" : "Account on purchase should be "Expense" or "Cost of Sales" account",
  • "AdditionalDetails" : "Lines[x].Account.UID",
  • "ErrorCode" : 25006
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

No lines in array

  • {
  • "Name" : "NoLine",
  • "Message" : "Purchase transactions contains too little information",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" :
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

Wildcard characters used in Purchase Number field

  • {
  • "Name" : "InvalidCharacters",
  • "Message" : "Since the characters '*' and' are used as wildcards when reporting, you shouldn't use them in your purchase number",
  • "AdditionalDetails" : "Number",
  • "ErrorCode" : 181
  • "Severity" : "Warning"
  • }
400 Bad Request

POST, PUT

Posting VOID transactions

  • {
  • "Name" : "ValidationWarning",
  • "Message" : "TransferEvent_VoidTransactionWarning",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 4450
  • "Severity" : "Warning"
  • }
400 Bad Request

/Purchase/Bill/Professional

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Missing required fields

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Bill/Miscellaneous

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Missing required fields

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing Total with more than 2 decimal places

  • {
  • "Name" : "ValidationError",
  • "Message" : "CommonRules_DecimalPrecision",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 1024,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/SupplierPayment/

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

No lines in purchases array collection

  • {
  • "Name" : "Required",
  • "Message" : "Purchase is required",
  • "AdditionalDetails" : "Lines[n].Purchase",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing date as null or ""

  • {
  • "Name" : "SerializationError",
  • "Message" : "Error converting value [Error message returned from Serializer]",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 50,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Supplier.UID does not match with the supplier on Bill

  • {
  • "Name" : "SupplierMismatch",
  • "Message" : "Supplier on payment must match supplier on Bill",
  • "AdditionalDetails" : "Lines[n].Purchase.UID",
  • "ErrorCode" : 20008,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Order/Item

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "LineTotalUnbalanced",
  • "Message" : "The line total is unbalanced",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 37003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change supplier on existing Order

  • {
  • "Name" : "SupplierCannotBeChanged",
  • "Message" : "Cannot change supplier on existing Order.",
  • "AdditionalDetails" : "Supplier.UID",
  • "ErrorCode" : 11002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Passing a negative UnitPrice

  • {
  • "Name" : "UnitPriceNotValid",
  • "Message" : "UnitPrice must be a positive number",
  • "AdditionalDetails" : "Lines[n].UnitPrice",
  • "ErrorCode" : 12101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Not enough stock on hand to complete order

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "PurchaseOrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 38000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToBill"

  • {
  • "Name" : "OrderConvertedToBill",
  • "Message" : "Cannot update or delete order converted to Bill",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 38001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Order/Service

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "LineTotalUnbalanced",
  • "Message" : "The line total is unbalanced",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 37003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change supplier on existing Order

  • {
  • "Name" : "SupplierCannotBeChanged",
  • "Message" : "Cannot change supplier on existing Order.",
  • "AdditionalDetails" : "Supplier.UID",
  • "ErrorCode" : 11002,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "PurchaseOrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 38000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToBill"

  • {
  • "Name" : "OrderConvertedToBill",
  • "Message" : "Cannot update or delete order converted to Bill",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 38001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Order/Professional

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating line Type ie: "Transaction" to "Header"

  • {
  • "Name" : "LineTypeCannotBeChanged",
  • "Message" : "The type of an existing line cannot be changed",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 223,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "LineTotalUnbalanced",
  • "Message" : "The line total is unbalanced",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 37003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change supplier on existing Order

  • {
  • "Name" : "SupplierCannotBeChanged",
  • "Message" : "Cannot change supplier on existing Order.",
  • "AdditionalDetails" : "Supplier.UID",
  • "ErrorCode" : 11002,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "PurchaseOrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 38000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToBill"

  • {
  • "Name" : "OrderConvertedToBill",
  • "Message" : "Cannot update or delete order converted to Bill",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 38001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/Order/Miscellaneous

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Required fields not supplied

  • {
  • "Name" : "Required",
  • "Message" : "[Field] is required",
  • "AdditionalDetails" : "[Path]",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Incorrect RowID on line

  • {
  • "Name" : "NotFound",
  • "Message" : "RowID not found",
  • "AdditionalDetails" : "Lines[n].RowID",
  • "ErrorCode" : 150,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date prior to beginning of financial year

  • {
  • "Name" : "DatePriorToBeginningOfFinancialYear",
  • "Message" : "Date cannot be prior to beginning of financial year",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Date falling within locked period setup in company preferences

  • {
  • "Name" : "DateInLockedPeriod",
  • "Message" : "Date cannot be in locked period",
  • "AdditionalDetails" : "Date",
  • "ErrorCode" : 25009,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Decimal precision error on Total field

  • {
  • "Name" : "InvalidValuePrecision",
  • "Message" : "Total must be rounded off to second decimal",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 104,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "LineTotalUnbalanced",
  • "Message" : "The line total is unbalanced",
  • "AdditionalDetails" : "Lines[n].Total",
  • "ErrorCode" : 37003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Trying to change supplier on existing Order

  • {
  • "Name" : "SupplierCannotBeChanged",
  • "Message" : "Cannot change supplier on existing Order.",
  • "AdditionalDetails" : "Supplier.UID",
  • "ErrorCode" : 11002,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Delete Order with payments

  • {
  • "Name" : "PurchaseOrderPaid",
  • "Message" : "Cannot delete order with payment(s) applied",
  • "AdditionalDetails" : "UID",
  • "ErrorCode" : 38000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Update or Delete an Order with Status "ConvertedToBill"

  • {
  • "Name" : "OrderConvertedToBill",
  • "Message" : "Cannot update or delete order converted to Bill",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 38001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/DebitSettlement/

HTTP Method Scenario Expected Message HTTP Status Code

POST

Zero AmountApplied

  • {
  • "Name" : "ZeroAmount",
  • "Message" : "Total Amount Applied must be a non-zero number",
  • "AdditionalDetails" : "Lines[x].AmountApplied",
  • "ErrorCode" : 190,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Debit settlement applied to Purchase of Status Debit

  • {
  • "Name" : "BillStatusNotValid",
  • "Message" : "Debit from Bill must be in Debit status",
  • "AdditionalDetails" : "DebitFromBill",
  • "ErrorCode" : 19005,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "BillStatusNotValid",
  • "Message" : "Bill must be in Open or Closed status",
  • "AdditionalDetails" : "Lines[n].Purchase",
  • "ErrorCode" : 19005,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Over payments

  • {
  • "Name" : "OverPayment",
  • "Message" : "Amount applied must be less than or equal to debit available on Bill",
  • "AdditionalDetails" : "Lines[n].AmountApplied",
  • "ErrorCode" : 20007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Supplier.UID does not match with the supplier on DebitFromBill

  • {
  • "Name" : "SupplierMismatch",
  • "Message" : "Supplier on debit settlement must match supplier on Bill",
  • "AdditionalDetails" : "Supplier",
  • "ErrorCode" : 20008,
  • "Severity" : "Error"
  • }
400 Bad Request

/Purchase/DebitRefund/

HTTP Method Scenario Expected Message HTTP Status Code

POST

Bill to refund not in Status: Debit

  • {
  • "Name" : "BillNotInDebitStatus",
  • "Message" : "Bill used on debit refund must be in debit status",
  • "AdditionalDetails" : "Bill",
  • "ErrorCode" : 20006,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Over payments

  • {
  • "Name" : "OverPayment",
  • "Message" : "Debit Refund amount must be less than or equal to the debit on the Bill",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 20007,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Supplier.UID does not match with the supplier on Bill

  • {
  • "Name" : "SupplierMismatch",
  • "Message" : "Supplier on debit refund must match supplier on Bill",
  • "AdditionalDetails" : "Supplier",
  • "ErrorCode" : 20008,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Account.UID is not same as UndepositedFunds Linked Account.UID

  • {
  • "Name" : "DepositToAccountMismatch",
  • "Message" : "Account does NOT match with the Undeposited Funds account",
  • "AdditionalDetails" : "Account",
  • "ErrorCode" : 26000,
  • "Severity" : "Error"
  • }
400 Bad Request

/Inventory/Item/

HTTP Method Scenario Expected Message HTTP Status Code

PUT

Occurs when trying to modify the “ItemsPerBuyingUnit” and “ItemsPerSellingUnit” fields after the item has been used in a Sale or Purchase transaction.

  • {
  • "Name" : "ValidationError",
  • "Message" : "Inventory_EditNumberItemsPerSellingUnit_HasSales",
  • "AdditionalDetails" : "NumberItemsPerSellingUnit:(SoldItem)",
  • "ErrorCode" : 4077,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
  • {
  • "Name" : "ValidationError",
  • "Message" : "Inventory_EditNumberItemsPerBuyingUnit_HasPurchases",
  • "AdditionalDetails" : "NumberItemsPerBuyingUnit:(PurchasedItem)",
  • "ErrorCode" : 4078,
  • "Severity" : "Error"
  • "LearnMore" : "[Documentation URI]"
  • }
400 Bad Request

PUT

Change IsBought to false for an Item used on purchases

  • {
  • "Name" : "ItemLinkedToPurchases",
  • "Message" : "Item linked to purchase transaction",
  • "AdditionalDetails" : "IsBought",
  • "ErrorCode" : 9001,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Change IsSold to false for an Item used on sales

  • {
  • "Name" : "ItemLinkedToSales",
  • "Message" : "Item linked to sale transaction",
  • "AdditionalDetails" : "IsSold",
  • "ErrorCode" : 9002,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Change IsInventoried to false for an Item with journal entries

  • {
  • "Name" : "ItemWithJournalEntry",
  • "Message" : "Item linked to Journal Entry",
  • "AdditionalDetails" : "IsInventoried",
  • "ErrorCode" : 9003,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Item used in sale or purchase transaction

  • {
  • "Name" : "ItemLinkedToSaleOrPurchase",
  • "Message" : "Item linked to sale or purchase transactions",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 9004,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Item with x number of items in Inventory
  • {
  • "Name" : "ItemWithInventory",
  • "Message" : "Units of Item in inventory",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 9005,
  • "Severity" : "Error"
  • }
400 Bad Request

DELETE

Item with Inventory transactions
  • {
  • "Name" : "ItemWithInventoryTransaction",
  • "Message" : "Item has inventory transactions",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 9006,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

ExpenseAccount.UID not supplied for Item with IsBought: True and IsInventoried: False

  • {
  • "Name" : "Required",
  • "Message" : "ExpenseAccount is required when Item is Bought and NOT Inventoried",
  • "AdditionalDetails" : "ExpenseAccount.UID",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

CostOfSalesAccount.UID not supplied for Item when IsBought: False, IsSold: True and IsInventoried: True

  • {
  • "Name" : "Required",
  • "Message" : "CostOfSalesAccount is required when Item is Sold and Inventoried",
  • "AdditionalDetails" : "CostOfSalesAccount.UID",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

CostOfSalesAccount.UID not supplied for Item when IsBought: True, IsSold: True and IsInventoried: True

  • {
  • "Name" : "Required",
  • "Message" : "CostOfSalesAccount is required when Item is Sold and Inventoried",
  • "AdditionalDetails" : "CostOfSalesAccount.UID",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

IncomeAccount.UID not supplied for Item with IsSold: True

  • {
  • "Name" : "Required",
  • "Message" : "IncomeAccount is required when Item is sold",
  • "AdditionalDetails" : "IncomeAccount.UID",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

AssetAccount.UID not supplied for Item with IsInventoried: True

  • {
  • "Name" : "Required",
  • "Message" : "AssetAccount is required when Item is Inventoried",
  • "AdditionalDetails" : "AssetAccount.UID",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

/Inventory/ItemPriceMatrix/

HTTP Method Scenario Expected Message HTTP Status Code

PUT

Invalid price level supplied ie: Level G

  • {
  • "Name" : "InvalidItemPriceLevel",
  • "Message" : "Price level is invalid",
  • "AdditionalDetails" : "SellingPrices[n].Levels["LevelG"]",
  • "ErrorCode" : 9500,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Duplicate QuantityOver values

  • {
  • "Name" : "DuplicateQuantityOver",
  • "Message" : "Duplicate Quantity Over values supplied",
  • "AdditionalDetails" : "SellingPrices",
  • "ErrorCode" : 9501,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Update without including QuantityOver: 0

  • {
  • "Name" : "PriceLevelForZeroQuantity",
  • "Message" : "Item Price Levels for Quantity Zero must be defined",
  • "AdditionalDetails" : "SellingPrices",
  • "ErrorCode" : 9502,
  • "Severity" : "Error"
  • }
400 Bad Request

/Inventory/Adjustment/

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Adjustment results in negative inventory

  • {
  • "Name" : "InsufficientItemQuantity",
  • "Message" : "Insufficient item quantity to complete transaction",
  • "AdditionalDetails" : "Quantity",
  • "ErrorCode" : 25002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Adjusting a non-inventoried item

  • {
  • "Name" : "ItemNotInventoried",
  • "Message" : "Item must be inventoried to complete transaction",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 28001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Banking/SpendMoneyTxn/

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Contact required when PayFrom is ElectronicPayments

  • {
  • "Name" : "SpendMoneyTxnContactNotSupplied",
  • "Message" : "null",
  • "AdditionalDetails" : "Contact.UID",
  • "ErrorCode" : 23002,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Cannot pay customer contact from Electronic Payments account

  • {
  • "Name" : "ValidationError",
  • "Message" : "CashPaymentEvent_InvalidAccountForCustomerCardType",
  • "AdditionalDetails" : "AccountId",
  • "ErrorCode" : 4461,
  • "Severity" : "Error"
  • }
  • {
  • "Name" : "ValidationError",
  • "Message" : "BusinessEvent_CustomerCardInvalidElectronicAccount",
  • "AdditionalDetails" : "CardId",
  • "ErrorCode" : 4225,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Category tracking is required

  • {
  • "Name" : "ValidationError",
  • "Message" : "BusinessEvent_CategoryRequired",
  • "AdditionalDetails" : "CategoryId",
  • "ErrorCode" : 4221,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating reconciled transaction

  • {
  • "Name" : "ValidationWarning",
  • "Message" : "BusinessEvent_HasBeenReconciledWarning",
  • "AdditionalDetails" : "Id",
  • "ErrorCode" : 4230
  • "Severity" : "Warning"
  • }
400 Bad Request

/Banking/ReceiveMoneyTxn/

HTTP Method Scenario Expected Message HTTP Status Code

POST

Account.UID is not same as UndepositedFunds Linked Account.UID

  • {
  • "Name" : "DepositToAccountMismatch",
  • "Message" : "Account does NOT match with the Undeposited Funds account",
  • "AdditionalDetails" : "Account",
  • "ErrorCode" : 26000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST, PUT

Category tracking is required

  • {
  • "Name" : "ValidationError",
  • "Message" : "BusinessEvent_CategoryRequired",
  • "AdditionalDetails" : "CategoryId",
  • "ErrorCode" : 4221,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Updating reconciled transaction

  • {
  • "Name" : "ValidationWarning",
  • "Message" : "BusinessEvent_HasBeenReconciledWarning",
  • "AdditionalDetails" : "Id",
  • "ErrorCode" : 4230
  • "Severity" : "Warning"
  • }
400 Bad Request

/Banking/TransferMoneyTxn/

HTTP Method Scenario Expected Message HTTP Status Code

POST

Posting Zero or Negative amount

  • {
  • "Name" : "ZeroOrNegativeAmount",
  • "Message" : "Amount must be a non-zero positive number",
  • "AdditionalDetails" : "Amount",
  • "ErrorCode" : 101,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

Using the same FromAccount UID for ToAccount UID

  • {
  • "Name" : "TransferBetweenSameAccount",
  • "Message" : "FromAccount and ToAccount must be different",
  • "AdditionalDetails" : "ToAccount",
  • "ErrorCode" : 29000,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

AccountType of FromAccount isn't Bank or Credit Card

  • {
  • "Name" : "AccountNotValid",
  • "Message" : "Account must be bank or credit card type",
  • "AdditionalDetails" : "FromAccount.UID",
  • "ErrorCode" : 29001,
  • "Severity" : "Error"
  • }
400 Bad Request

POST

AccountType of ToAccount isn't Bank or Credit Card

  • {
  • "Name" : "AccountNotValid",
  • "Message" : "Account must be bank or credit card type",
  • "AdditionalDetails" : "ToAccount.UID",
  • "ErrorCode" : 29001,
  • "Severity" : "Error"
  • }
400 Bad Request

/Payroll/Timesheet/

HTTP Method Scenario Expected Message HTTP Status Code

PUT

'I Use Timesheet..." preference not enabled

  • {
  • "Name" : "CompanyFilePreferenceForTimesheet",
  • "Message" : "Company File preference to 'Use Timesheet for...' should be ON",
  • "AdditionalDetails" : null,
  • "ErrorCode" : 34003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

'I Use Timesheet..." preference enabled for Payroll only

  • {
  • "Name" : "CompanyFilePreferenceForTimesheet",
  • "Message" : "Company File preference to 'Use Timesheet for TimeBilling and Payroll' should be ON to use Customer",
  • "AdditionalDetails" : "Lines[x].Customer.UID",
  • "ErrorCode" : 34003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

'I Use Timesheet..." preference enabled for Payroll only

  • {
  • "Name" : "CompanyFilePreferenceForTimesheet",
  • "Message" : "Company File preference to 'Use Timesheet for TimeBilling and Payroll' should be ON to use Activity",
  • "AdditionalDetails" : "Lines[x].Activity.UID",
  • "ErrorCode" : 34003,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Activity of "Type: Non-Hourly" supplied

  • {
  • "Name" : "NonHourlyActivity",
  • "Message" : "Only activity of 'Type: Hourly' can be used",
  • "AdditionalDetails" : "Activity",
  • "ErrorCode" : 34005,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

StartDate is dated after EndDate

  • {
  • "Name" : "InvalidDateRange",
  • "Message" : "'Date' should be between 'StartDate' and 'EndDate'",
  • "AdditionalDetails" : null,
  • "ErrorCode" : 221,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Date on entries outside range of 'StartDate' and 'EndDate'

  • {
  • "Name" : "DateOutOfRange",
  • "Message" : "'StartDate' should be prior to OR same as 'EndDate'",
  • "AdditionalDetails" : "Lines[x].Entries[x].Date",
  • "ErrorCode" : 220,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Timesheet has been processed

  • {
  • "Name" : "ProcessedTimesheet",
  • "Message" : "Cannot update or delete a processed timesheet",
  • "AdditionalDetails" : "Lines",
  • "ErrorCode" : 34002,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

PayrollWageCategory used NOT assigned to employee

  • {
  • "Name" : "InvalidPayrollCategory",
  • "Message" : "Only PayrollCategories assigned to the employee can be used on Timesheet",
  • "AdditionalDetails" : "PayrollCategory.UID",
  • "ErrorCode" : 34001,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

PayrollWageCategory used not 'WageType: Hourly'

  • {
  • "Name" : "InvalidPayrollCategoryWageType",
  • "Message" : "PayrollCategory used on timesheet should be of 'WageType: Hourly'",
  • "AdditionalDetails" : "PayrollCategory.UID",
  • "ErrorCode" : 34000,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

PayrollCategory.UID not supplied

  • {
  • "Name" : "Required",
  • "Message" : "PayrollCategory is required",
  • "AdditionalDetails" : "Lines[x].PayrollCategory",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

StartDate not supplied

  • {
  • "Name" : "Required",
  • "Message" : "StartDate is required",
  • "AdditionalDetails" : "StartDate",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

EndDate not supplied

  • {
  • "Name" : "Required",
  • "Message" : "EndDate is required",
  • "AdditionalDetails" : "EndDate",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Line entries date not supplied

  • {
  • "Name" : "Required",
  • "Message" : "Date is required",
  • "AdditionalDetails" : "Lines[x].Entries[x].Date",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

PUT

Employee not supplied

  • {
  • "Name" : "Required",
  • "Message" : "Employee is required",
  • "AdditionalDetails" : "Employee",
  • "ErrorCode" : 100,
  • "Severity" : "Error"
  • }
400 Bad Request

/Contact/Employee/

HTTP Method Scenario Expected Message HTTP Status Code

PUT,POST

Updating a contact card where the state field is required. From 2018.1, the state field is required if the address Country field is blank or set to "Australia"

  • {
  • "Name" : "ValidationError",
  • "Message" : "Card_Address_StateRequired",
  • "AdditionalDetails" : "Addresses:(Card)",
  • "ErrorCode" : 6042,
  • "Severity" : "Error"
  • }
400 Bad Request

/GeneralLedger/GeneralJournal/

HTTP Method Scenario Expected Message HTTP Status Code

PUT

Updating General Journal entry that has been reconciled

  • {
  • "Name" : "ReconciledTransaction",
  • "Message" : "One or more parts of this journal entry have been reconciled. Changing or deleting this may affect your next reconciliation",
  • "AdditionalDetails" : "",
  • "ErrorCode" : 25004,
  • "Severity" : "Warning"
  • }
400 Bad Request

/TimeBilling/Activity/

HTTP Method Scenario Expected Message HTTP Status Code

POST, PUT

Not passing ChargeableDetails when Status = Chargeable

  • {
  • "Name" : "ChargeableDetailsRequired",
  • "Message" : "ChargeableDetails is required when 'Status: Chargeable'",
  • "AdditionalDetails" : "ChargeableDetails"",
  • "ErrorCode" : 32000,
  • "Severity" : "Error"
  • }
400 Bad Request