{ "openapi": "3.0.1", "info": { "title": "Financial Integration", "description": "\nv2 of the Common Financial Package API supporting ECI Financials.\n\n## Authentication\nPass an access token in the HTTP Authorization header of each request. For example:\n\n```Authorization: Bearer [token]```\n\nAccess tokens are obtained from the Authentication API. See the Authentication API token endpoint for more information.\n", "contact": { "name": "ECI Integration Team", "url": "https://www.ecisolutions.com/support/" }, "version": "v2" }, "paths": { "/api/v2/features": { "get": { "tags": [ "Features" ], "summary": "Get the features of the Financial Package", "description": "

Get the features of the Financial Package

", "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/FinancialPackageFeatures" } }, "application/json": { "schema": { "$ref": "#/components/schemas/FinancialPackageFeatures" } }, "text/json": { "schema": { "$ref": "#/components/schemas/FinancialPackageFeatures" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } } } } }, "/api/v2/general-journal-entries": { "post": { "tags": [ "General" ], "summary": "Create (or update) general journal entry.", "description": "

Create (or update) general journal entry

\n **TripleTex** The upsert parameter is not supported. A new general journal entry is always created\n **AfasSB** The upsert parameter is not supported. A new general journal entry is always created\n **Sage 50 UK** The upsert parameter is not supported. A new general journal entry is always created", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GeneralJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n* Id: Unique id of the journal. Provide when updating the record. \r\n + ECI Financials: JournalEntry.Id\r\n + Xero: ManualJournal.ManualJournalID\r\n + TripleTex: n/a\r\n + AccountView: JournalEntry.Id\r\n + PowerOfficeGo: JournalEntry.Id\r\n + AfasSB: n/a\r\n + Sage50Uk: n/a\r\n + Adsolut: n/a" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GeneralJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n* Id: Unique id of the journal. Provide when updating the record. \r\n + ECI Financials: JournalEntry.Id\r\n + Xero: ManualJournal.ManualJournalID\r\n + TripleTex: n/a\r\n + AccountView: JournalEntry.Id\r\n + PowerOfficeGo: JournalEntry.Id\r\n + AfasSB: n/a\r\n + Sage50Uk: n/a\r\n + Adsolut: n/a" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GeneralJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n* Id: Unique id of the journal. Provide when updating the record. \r\n + ECI Financials: JournalEntry.Id\r\n + Xero: ManualJournal.ManualJournalID\r\n + TripleTex: n/a\r\n + AccountView: JournalEntry.Id\r\n + PowerOfficeGo: JournalEntry.Id\r\n + AfasSB: n/a\r\n + Sage50Uk: n/a\r\n + Adsolut: n/a" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GeneralJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n* Id: Unique id of the journal. Provide when updating the record. \r\n + ECI Financials: JournalEntry.Id\r\n + Xero: ManualJournal.ManualJournalID\r\n + TripleTex: n/a\r\n + AccountView: JournalEntry.Id\r\n + PowerOfficeGo: JournalEntry.Id\r\n + AfasSB: n/a\r\n + Sage50Uk: n/a\r\n + Adsolut: n/a" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/GeneralJournalEntry" } }, "application/json": { "schema": { "$ref": "#/components/schemas/GeneralJournalEntry" } }, "text/json": { "schema": { "$ref": "#/components/schemas/GeneralJournalEntry" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/tax-codes": { "get": { "tags": [ "General" ], "summary": "Get a list of tax codes.", "description": "

Get a list of tax codes.

", "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TaxCode" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TaxCode" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TaxCode" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/bills": { "post": { "tags": [ "Purchase" ], "summary": "Create (or update) a bill.", "description": "

Create (or update) a bill.

\n **TripleTex** The upsert parameter is not supported. A new bill is always created\n **Sage 50 UK** The upsert parameter is not supported. A new bill is always created", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Bill" } ], "description": "Represents a supplier Bill to be saved to the financial system." } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Bill" } ], "description": "Represents a supplier Bill to be saved to the financial system." } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Bill" } ], "description": "Represents a supplier Bill to be saved to the financial system." } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Bill" } ], "description": "Represents a supplier Bill to be saved to the financial system." } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Bill" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Bill" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Bill" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/bills/{billId}/attachments": { "post": { "tags": [ "Purchase" ], "summary": "Upload a single file and attach to a bill.", "description": "

Upload a single file and attach to a bill.

", "parameters": [ { "name": "billId", "in": "path", "description": "The id of the bill to add attachment to.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } }, "encoding": { "file": { "style": "form" } } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Attachment" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Attachment" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Attachment" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/paymentblockstatus": { "post": { "tags": [ "Purchase" ], "summary": "Update the payment block status of a bill.", "description": "

Update the payment block status of a bill.

", "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentBlockStatus" } ], "description": "

The payable state.

\r\nAt least docNumber or billId should be filled, to be able to lookup the bill." } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentBlockStatus" } ], "description": "

The payable state.

\r\nAt least docNumber or billId should be filled, to be able to lookup the bill." } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentBlockStatus" } ], "description": "

The payable state.

\r\nAt least docNumber or billId should be filled, to be able to lookup the bill." } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentBlockStatus" } ], "description": "

The payable state.

\r\nAt least docNumber or billId should be filled, to be able to lookup the bill." } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PaymentBlockStatus" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PaymentBlockStatus" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PaymentBlockStatus" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/purchase-journal-entries": { "post": { "tags": [ "Purchase" ], "summary": "Create (or update) a purchase journal entry.", "description": "

Create (or update) a purchase journal entry.

\n **TripleTex** The upsert parameter is not supported. A new purchase journal entry is always created\n **AfasSB** The upsert parameter is not supported. A new purchase journal entry is always created\n **Sage 50 UK** The upsert parameter is not supported. A new purchase journal entry is always created", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PurchaseJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PurchaseJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PurchaseJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PurchaseJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PurchaseJournalEntry" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PurchaseJournalEntry" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PurchaseJournalEntry" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/purchase-outstanding-items": { "get": { "tags": [ "Purchase" ], "summary": "Get a list of outstanding items for purchases.", "description": "

Get a list of outstanding items for purchases.

\n **TripleTex** The take and skip parameter is not reliable and results may vary with usage.\n **Sage 50 UK** The take and skip parameter is not supported. All items are allways retrieved", "parameters": [ { "name": "take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "type": "integer", "format": "int32" } }, { "name": "skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PurchaseOutstandingItemList" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PurchaseOutstandingItemList" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PurchaseOutstandingItemList" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/purchase-paymentinfo/{docNumber}": { "get": { "tags": [ "Purchase" ], "summary": "Get payment information for a purchase invoice.", "description": "

Get payment information for a purchase invoice.

", "parameters": [ { "name": "docNumber", "in": "path", "description": "Journal entry number\n * ECI Financials: AccountsPayable.ExternalId\n * AccountView: AccountsPayable.ExternalId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PaymentInfo" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PaymentInfo" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PaymentInfo" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/suppliers": { "post": { "tags": [ "Purchase" ], "summary": "Create a new supplier.", "description": "

Create a new supplier.

", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Supplier" } ], "description": "

Model for supplier data, also known as vendor or creditor.

\r\n\r\n* Code: \r\n + ECI Financials: Company.OldCreditorCode\r\n + Xero: Contact.AccountNumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Supplier.SupplierNumber\r\n + AccountView: Company.OldCreditorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Supplier.AccountRef\r\n + Adsolut: Supplier.Code" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Supplier" } ], "description": "

Model for supplier data, also known as vendor or creditor.

\r\n\r\n* Code: \r\n + ECI Financials: Company.OldCreditorCode\r\n + Xero: Contact.AccountNumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Supplier.SupplierNumber\r\n + AccountView: Company.OldCreditorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Supplier.AccountRef\r\n + Adsolut: Supplier.Code" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Supplier" } ], "description": "

Model for supplier data, also known as vendor or creditor.

\r\n\r\n* Code: \r\n + ECI Financials: Company.OldCreditorCode\r\n + Xero: Contact.AccountNumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Supplier.SupplierNumber\r\n + AccountView: Company.OldCreditorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Supplier.AccountRef\r\n + Adsolut: Supplier.Code" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Supplier" } ], "description": "

Model for supplier data, also known as vendor or creditor.

\r\n\r\n* Code: \r\n + ECI Financials: Company.OldCreditorCode\r\n + Xero: Contact.AccountNumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Supplier.SupplierNumber\r\n + AccountView: Company.OldCreditorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Supplier.AccountRef\r\n + Adsolut: Supplier.Code" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Supplier" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Supplier" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Supplier" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/customers": { "post": { "tags": [ "Sales" ], "summary": "Create a new customer, or update an existing one.", "description": "

Create a new customer, or update an existing one.

", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Customer" } ], "description": "Model for customer data, also known as debtor.\r\n* Code: \r\n + ECI Financials: Company.OldDebtorCode\r\n + Xero: Accountnumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Customer.CustomerNumber\r\n + AccountView: Company.OldDebtorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Customer.AccountRef\r\n + Adsolut: Customer.Code" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Customer" } ], "description": "Model for customer data, also known as debtor.\r\n* Code: \r\n + ECI Financials: Company.OldDebtorCode\r\n + Xero: Accountnumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Customer.CustomerNumber\r\n + AccountView: Company.OldDebtorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Customer.AccountRef\r\n + Adsolut: Customer.Code" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Customer" } ], "description": "Model for customer data, also known as debtor.\r\n* Code: \r\n + ECI Financials: Company.OldDebtorCode\r\n + Xero: Accountnumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Customer.CustomerNumber\r\n + AccountView: Company.OldDebtorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Customer.AccountRef\r\n + Adsolut: Customer.Code" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Customer" } ], "description": "Model for customer data, also known as debtor.\r\n* Code: \r\n + ECI Financials: Company.OldDebtorCode\r\n + Xero: Accountnumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Customer.CustomerNumber\r\n + AccountView: Company.OldDebtorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Customer.AccountRef\r\n + Adsolut: Customer.Code" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Customer" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Customer" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/invoices": { "post": { "tags": [ "Sales" ], "summary": "Create (or update) a sales invoice.", "description": "

Create (or update) a sales invoice.

\n **TripleTex** The upsert parameter is not supported. A new sales invoice is always created", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Invoice" } ], "description": "This class is used for sales invoices. \r\n* Id Unique id of the invoice. \r\n * Xero: Invoice.InvoiceId / CreditNote.CreditNoteId\r\n * TripleTex: Invoice.Id\r\n * PowerOfficeGo: Invoice.Id" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Invoice" } ], "description": "This class is used for sales invoices. \r\n* Id Unique id of the invoice. \r\n * Xero: Invoice.InvoiceId / CreditNote.CreditNoteId\r\n * TripleTex: Invoice.Id\r\n * PowerOfficeGo: Invoice.Id" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Invoice" } ], "description": "This class is used for sales invoices. \r\n* Id Unique id of the invoice. \r\n * Xero: Invoice.InvoiceId / CreditNote.CreditNoteId\r\n * TripleTex: Invoice.Id\r\n * PowerOfficeGo: Invoice.Id" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Invoice" } ], "description": "This class is used for sales invoices. \r\n* Id Unique id of the invoice. \r\n * Xero: Invoice.InvoiceId / CreditNote.CreditNoteId\r\n * TripleTex: Invoice.Id\r\n * PowerOfficeGo: Invoice.Id" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Invoice" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Invoice" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Invoice" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/invoices/{invoiceId}/attachments": { "post": { "tags": [ "Sales" ], "summary": "Uploads the data of a single attachment and adds it to the invoice.", "description": "

Uploads the data of a single attachment and adds it to the invoice.

", "parameters": [ { "name": "invoiceId", "in": "path", "description": "The id of the invoice to add the attachment to.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } }, "encoding": { "file": { "style": "form" } } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Attachment" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Attachment" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Attachment" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/orders": { "post": { "tags": [ "Sales" ], "summary": "Create (or update) an order.", "description": "

Create (or update) an order.

\n **TripleTex** The upsert parameter is not supported. A new order is always created", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Order" } ], "description": "

An order object, sometimes also used for projects.

" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Order" } ], "description": "

An order object, sometimes also used for projects.

" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Order" } ], "description": "

An order object, sometimes also used for projects.

" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Order" } ], "description": "

An order object, sometimes also used for projects.

" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Order" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Order" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Order" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/sales-journal-entries": { "post": { "tags": [ "Sales" ], "summary": "Create (or update) sales journal entry.", "description": "

Create (or update) sales journal entry.

\n **TripleTex** The upsert parameter is not supported. A new sales journal entry is always created\n **AfasSB** The upsert parameter is not supported. A new sales journal entry is always created", "parameters": [ { "name": "upsert", "in": "query", "description": "When an unique **Id is provided**, the record is **looked up by Id**.
When the **record is found** by the Id, it is **updated**.
When the **record is not found** and **upsert is not set**, an **error** is returned.
When the **record is found** and **upsert is set**, it **continues** as described below.

When an unique **Id is not provided** and **upsert is not set**, a new record is **inserted**.
When an unique **Id is not provided** and **upsert is set**, a record is **looked up by natural key**.
When the **record is found** by natural key, it is **updated**.
When the **record is not found** by natural key, a new record is **inserted**.", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SalesJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SalesJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SalesJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SalesJournalEntry" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SalesJournalEntry" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SalesJournalEntry" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SalesJournalEntry" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "409": { "description": "Conflict", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/sales-outstanding-items": { "get": { "tags": [ "Sales" ], "summary": "Get a list of outstanding items for sales.", "description": "

Get a list of outstanding items for sales.

\n **TripleTex** The take and skip parameter is not reliable and results may vary with usage.\n **Sage 50 UK** The take and skip parameter is not supported. All items are allways retrieved", "parameters": [ { "name": "take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "type": "integer", "format": "int32" } }, { "name": "skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SalesOutstandingItemList" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SalesOutstandingItemList" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SalesOutstandingItemList" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } }, "/api/v2/sales-paymentinfo/{docNumber}": { "get": { "tags": [ "Sales" ], "summary": "Get payment information for a sales invoice.", "description": "

Get payment information for a sales invoice.

", "parameters": [ { "name": "docNumber", "in": "path", "description": "Journal entry number\n * ECI Financials: AccountsReceivable.ExternalId\n * AccountView: AccountsReceivable.ExternalId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PaymentInfo" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PaymentInfo" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PaymentInfo" } } } }, "202": { "description": "Accepted", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "429": { "description": "Too Many Requests", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "501": { "description": "Server Error", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Problem" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } } } } }, "components": { "schemas": { "Address": { "type": "object", "properties": { "street": { "type": "string", "description": "The street name.\r\n* ECI Financials: BusinessAddress/PostalAddress/BillingAddress.Address\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: BusinessAddress/PostalAddress/BillingAddress.Address\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Address.StreetName\r\n* Sage50Uk: n/a\r\n* Adsolut: Address.StreetName", "nullable": true }, "houseNumber": { "type": "string", "description": "The house number.\r\n* ECI Financials: BusinessAddress/PostalAddress/BillingAddress.HouseNr\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: BusinessAddress/PostalAddress/BillingAddress.HouseNr\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Address.HouseNumber\r\n* Sage50Uk: n/a\r\n* Adsolut: Address.StreetName (is part of street name field)", "nullable": true }, "houseNumberExtension": { "type": "string", "description": "The house number extension. For example the '-B' part of\r\n'221-B'\r\n* ECI Financials: BusinessAddress/PostalAddress/BillingAddress.HouseNrExt\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: BusinessAddress/PostalAddress/BillingAddress.HouseNrExt\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Address.HouseNumberAddition\r\n* Sage50Uk: n/a\r\n* Adsolut: Address.StreetName (is part of street name field)", "nullable": true }, "postalCode": { "type": "string", "description": "The postal code or zip code.\r\n* ECI Financials: BusinessAddress/PostalAddress/BillingAddress.PostalCode\r\n* Xero: PostalCode\r\n* TripleTex: PostalCode\r\n* AccountView: BusinessAddress/PostalAddress/BillingAddress.PostalCode\r\n* PowerOfficeGo: ZipCode\r\n* AfasSB: Address.PostalZone\r\n* Sage50Uk: Address.Address5\r\n* Adsolut: Address.PostalCode", "nullable": true }, "city": { "type": "string", "description": "The city, town or village.\r\n* ECI Financials: BusinessAddress/PostalAddress/BillingAddress.City\r\n* Xero: City\r\n* TripleTex: City\r\n* AccountView: BusinessAddress/PostalAddress/BillingAddress.City\r\n* PowerOfficeGo: City\r\n* AfasSB: Address.CityName\r\n* Sage50Uk: n/a\r\n* Adsolut: Address.City", "nullable": true }, "stateProv": { "type": "string", "description": "State or province.\r\n* ECI Financials: n/a\r\n* Xero: Region\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Address.State\r\n* Sage50Uk: Address.Address4\r\n* Adsolut: n/a", "nullable": true }, "country": { "type": "string", "description": "The country code (ISO3166_1_ALPHA_2).\r\n* ECI Financials: BusinessAddress/PostalAddress/BillingAddress.Country\r\n* Xero: Country\r\n* TripleTex: Country.IsoAlpha2Code\r\n* AccountView: BusinessAddress/PostalAddress/BillingAddress.Country\r\n* PowerOfficeGo: CountryCode\r\n* AfasSB: Address.CountryCode\r\n* Sage50Uk: Address.Country\r\n* Adsolut: Address.Country", "nullable": true }, "addressLine1": { "type": "string", "description": "First line of address.\r\n* ECI Financials: n/a\r\n* Xero: AddressLine1\r\n* TripleTex: AddressLine1\r\n* AccountView: n/a\r\n* PowerOfficeGo: Address1\r\n* AfasSB: n/a\r\n* Sage50Uk: Address.Address1\r\n* Adsolut: n/a", "nullable": true }, "addressLine2": { "type": "string", "description": "Second line of address.\r\n* ECI Financials: n/a\r\n* Xero: AddressLine2\r\n* TripleTex: AddressLine2\r\n* AccountView: n/a\r\n* PowerOfficeGo: Address2\r\n* AfasSB: n/a\r\n* Sage50Uk: Address.Address2\r\n* Adsolut: n/a", "nullable": true }, "addressLine3": { "type": "string", "description": "Third line of address.\r\n* ECI Financials: n/a\r\n* Xero: AddressLine3\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Address.Address3\r\n* Adsolut: n/a", "nullable": true } }, "additionalProperties": false, "description": "Represents an address" }, "AsyncAcceptedResponse": { "type": "object", "properties": { "requestId": { "type": "string", "description": "A unique identifier for the asynchronous request.\r\nThis ID can be used in a follow-up request (via the async-request-id header) to retrieve the result of the original operation once processing is complete.", "format": "uuid" } }, "additionalProperties": false, "description": "Represents the response returned when an asynchronous request is accepted for processing." }, "Attachment": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique id of the attachment.\r\n* ECI Financials: Document.Id\r\n* Xero: Attachment.AttachmentID\r\n* TripleTex: n/a\r\n* AccountView: Document.Id\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "name": { "type": "string", "description": "The filename (without extension) of the attachment.\r\n* ECI Financials: Document.Name\r\n* Xero: Attachment.FileName\r\n* TripleTex: FileParameter.FileName\r\n* AccountView: Document.Name\r\n* PowerOfficeGo: FileParameter.FileName\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a" }, "date": { "type": "string", "description": "The date the attachment was added or updated.\r\n* ECI Financials: Document.Date\r\n* Xero: n/a\r\n* TripleTex: (Today's date is always used)\r\n* AccountView: Document.Date\r\n* PowerOfficeGo: (Today's date is always used)\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "type": { "type": "string", "description": "The attachment type (filename extension including period).\r\n* ECI Financials: Document.Type\r\n* Xero: Attachment.MimeType\r\n* TripleTex: FileParameter.Filename (extension)\r\n* AccountView: Document.Type\r\n* PowerOfficeGo: FileParameter.Filename (extension)\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a" }, "size": { "type": "integer", "description": "The size of the attachment in bytes\r\n* ECI Financials: Document.Size\r\n* Xero: Attachment.ContentLength\r\n* TripleTex: FileParameter.Data.Length\r\n* AccountView: Document.Size\r\n* PowerOfficeGo: FileParameter.Data.Length\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "int64", "nullable": true }, "syncToken": { "type": "string", "description": "The date/time stamp of the attachment. This value is\r\nrequired when sending a PUT request and its value must\r\nmatch the timestamp of the attachment in the database.\r\nIf the value is different it means the attachmenthas\r\nbeen modified by another user.\r\n* ECI Financials: Document.Stamp\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Document.Stamp\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true } }, "additionalProperties": false, "description": "

A attachment info object.

" }, "BankAccount": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique id of the bank account\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: BankAccount.Id\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "bankName": { "type": "string", "description": "The name of the bank.\r\n* ECI Financials: n/a\r\n* Xero: BatchPayments.BankAccountName\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: BankAccount.BankId\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "iban": { "type": "string", "description": "The International Bank Account Number.\r\n* ECI Financials: Company.Iban / Company.GAccountIBAN\r\n* Xero: n/a\r\n* TripleTex: BankAccountPresentation.Iban\r\n* AccountView: Company.Iban / Company.GAccountIBAN\r\n* PowerOfficeGo: BankAccount.Code\r\n* AfasSB: BankAccount.AccountNumber\r\n* Sage50Uk: Customer.Iban\r\n* Adsolut: BankAccount.Iban", "nullable": true }, "bic": { "type": "string", "description": "The Bank Identification Code.\r\n* ECI Financials: Company.Bic / Company.GAccountBIC\r\n* Xero: n/a\r\n* TripleTex: BankAccountPresentation.Bic\r\n* AccountView: Company.Bic / Company.GAccountBIC\r\n* PowerOfficeGo: BankAccount.BicSwift\r\n* AfasSB: BankAccount.Bic\r\n* Sage50Uk: Customer.BicSwift\r\n* Adsolut: BankAccount.BicCode", "nullable": true }, "number": { "type": "string", "description": "The bank account number.\r\n* ECI Financials: n/a\r\n* Xero: BatchPayments.BankAccountNumber / BankAccountDetails\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: BankAccount.Code\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.BankAccountNumber\r\n* Adsolut: n/a", "nullable": true }, "country": { "type": "string", "description": "Bank account country code (ISO3166_1_ALPHA_2)\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: BankAccountPresentation.Country.IsoAlpha2Code\r\n* AccountView: n/a\r\n* PowerOfficeGo: BankAccount.CountryCode\r\n* AfasSB: BankAccount.CountryCode\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "currencyCode": { "type": "string", "description": "ISO 4217 code for the currency.\r\n* ECI Financials: Company.BankCurrency / Company.GBankCurrency\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.BankCurrency / Company.GBankCurrency\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.CurrencyCode\r\n* Adsolut: n/a", "nullable": true }, "domesticBankCode": { "type": "string", "description": "The domestic bank code, such as the UK sort code or US ABA routing number.", "nullable": true }, "bankAccountName": { "type": "string", "description": "The name of the bank account.", "nullable": true } }, "additionalProperties": false, "description": "Represents a bank account of a supplier or customer." }, "Bill": { "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the\r\nrecord.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "supplier": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Reference to the supplier for this transaction\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex:\r\n - Id = Posting.Supplier.Id\r\n - Code = Posting.Supplier.SupplierNumber\r\n* AccountView: n/a\r\n* PowerOfficeGo: JournalEntryVoucher.SupplierCode\r\n* Sage50Uk:\r\n - Id = n/a\r\n - Code = Transaction.AccountRef\r\n* Adsolut: n/a", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "To be used when creditor and debtor are the same record in the financial package\r\n* ECI Financials: PurchasesInvoice.Supplier\r\n* Xero:\r\n - Id = Contact.ContactID\r\n - Code = Contact.ContactNumber\r\n* TripleTex: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoice.Supplier\r\n* TripleTex:\r\n - Id = Posting.Supplier.Id\r\n - Code = Posting.Supplier.SupplierNumber\r\n* PowerOfficeGo:\r\n - Id = n/a\r\n - Code = JournalEntryVoucher.SupplierCode\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "currencyCode": { "type": "string", "description": "ISO 4217 Code for the currency in which all amounts on the associated transaction are expressed.\r\n* ECI Financials: PurchasesInvoice.Currency\r\n* Xero: Invoice.CurrencyCode / CreditNote.CurrencyCode\r\n* TripleTex: Posting.CurrencyCode.Code\r\n* AccountView: PurchasesInvoice.Currency\r\n* PowerOfficeGo: JournalEntryVoucher.CurrencyCode\r\n* Sage50Uk: (Used in childe lines) TransactionLine.CurrencyCode\r\n* Adsolut: n/a", "nullable": true }, "baseCurrency": { "type": "string", "description": "Determines whether the bill is expressed in the home currency or foreign currency.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "billDate": { "type": "string", "description": "The date of the bill. Defaults to current date if not provided.\r\n* ECI Financials: PurchasesInvoice.Date\r\n* Xero: Invoice.Date / CreditNote.Date\r\n* TripleTex: Voucher.Date\r\n* AccountView: PurchasesInvoice.Date\r\n* PowerOfficeGo: JournalEntryVoucher.VoucherDate\r\n* Sage50Uk: Transaction.Date\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "Date when the payment of the transaction is due.\r\n* ECI Financials: PurchasesInvoice.ExpiryDate\r\n* Xero: Invoice.DueDate / CreditNote.DueDate\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoice.ExpiryDate\r\n* PowerOfficeGo: JournalEntryVoucher.DueDate\r\n* Sage50Uk: Transaction.DueDate\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "docNumber": { "type": "string", "description": "Reference number for the transaction.\r\n* ECI Financials: PurchasesInvoice.ExternalId\r\n* Xero: Invoice.InvoiceNumber / CreditNote.CreditNoteNumber\r\n* TripleTex: Invoice.ExternalVoucherNumber\r\n* AccountView: PurchasesInvoice.ExternalId\r\n* PowerOfficeGo: JournalEntryVoucher.InvoiceNo\r\n* Sage50Uk: Transaction.Details\r\n* Adsolut: n/a", "nullable": true }, "paymentTerm": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The payment term associated with the transaction.\r\n* ECI Financials: PurchasesInvoice.PaymentTerms\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoice.PaymentTerms\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "lines": { "type": "array", "items": { "$ref": "#/components/schemas/BillLine" }, "description": "Individual line items for the bill.\r\n* ECI Financials: PurchasesInvoice.Lines\r\n* Xero: Invoice.LineItems / CreditNote.LineItems\r\n* TripleTex: Voucher.Postings\r\n* AccountView: PurchasesInvoice.Lines\r\n* PowerOfficeGo: JournalEntryVoucher.VoucherLines\r\n* Sage50Uk: Transaction.Items\r\n* Adsolut: n/a", "nullable": true }, "frozenAccountAmount": { "type": "number", "description": "A G-account is a frozen bank account that is used to pay payroll taxes or VAT payments to the Dutch Tax and Customs Administration.\r\nIt is a blocked bank account that is managed jointly by the employment agency and the Tax and Customs Administration.\r\n* ECI Financials: PurchasesInvoice.PayrollTaxPart\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoice.PayrollTaxPart\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a* Adsolut: n/a", "format": "double" }, "journal": { "type": "string", "description": "Journal code\r\n* ECI Financials: PurchasesInvoice.Journal\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoice.Journal\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "paymentReference": { "type": "string", "description": "Payment Reference number for the bill, e.g., supplier invoice number\r\n* ECI Financials: PurchasesInvoice.Reference\r\n* Xero: Invoice.Reference / CreditNote.Reference\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoice.Reference\r\n* PowerOfficeGo: JournalEntryVoucher.CID\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "description": { "type": "string", "description": "* ECI Financials: PurchasesInvoice.Title\r\n* Xero: n/a\r\n* TripleTex: Voucher.Description\r\n* AccountView: PurchasesInvoice.Title\r\n* PowerOfficeGo: JournalEntryVoucher.Description\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "Represents a supplier Bill to be saved to the financial system." }, "BillLine": { "type": "object", "properties": { "amountExcludingTax": { "type": "number", "description": "Total amount of the line excluding tax/VAT.\r\n* ECI Financials: InvoiceLine.AmountExcl\r\n* Xero: LineItem.LineAmount\r\n* TripleTex: Posting.Amount\r\n* AccountView: InvoiceLine.AmountExcl\r\n* PowerOfficeGo: JournalEntryVoucherLine.Amount\r\n* Sage50Uk: TransactionLine.ForeignAmount\r\n* Adsolut: n/a", "format": "double", "nullable": true }, "description": { "type": "string", "description": "Description text for the purchase line.\r\n* ECI Financials: InvoiceLine.Title\r\n* Xero: LineItem.Description\r\n* TripleTex: Posting.Description\r\n* AccountView: InvoiceLine.Title\r\n* PowerOfficeGo: JournalEntryVoucherLine.Description\r\n* Sage50Uk: TransactionLine.Details\r\n* Adsolut: n/a", "nullable": true }, "account": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The general ledger account for the line.\r\n* ECI Financials: InvoiceLine.Account\r\n* Xero:\r\n - Code = LineItem.AccountCode\r\n - Id = LineItem.AccountId\r\n* TripleTex: Posting.Account\r\n - Code = Account.Number\r\n - Id = Account.Id\r\n* AccountView: InvoiceLine.Account\r\n* PowerOfficeGo: JournalEntryVoucherLine.DebitAccountCode\r\n* Sage50Uk: TransactionLine.Account\r\n - Code = Account.NominalCode\r\n - Id = n/a\r\n* Adsolut: n/a", "nullable": true }, "taxCode": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Tax code reference. This is the tax or VAT code that is\r\nexpected by the AFM.\r\n* ECI Financials: InvoiceLine.VatRate\r\n* Xero:\r\n - Id = n/a\r\n - Code = LineItem.TaxType\r\n* TripleTex: \r\n - Code = VatType.Number\r\n - Id = VatType.Id\r\n* AccountView: InvoiceLine.VatRate\r\n* PowerOfficeGo: JournalEntryVoucherLine.DebitVatCode\r\n* Sage50Uk: TransactionLine.VatCode\r\n - Code = TaxCode\r\n - Id = n/a\r\n* Adsolut: n/a", "nullable": true }, "taxAmount": { "type": "number", "description": "VAT amount\r\n* ECI Financials: InvoiceLine.VatAmount\r\n* Xero: LineItem.TaxAmount\r\n* TripleTex: n/a\r\n* AccountView: InvoiceLine.VatAmount\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: TransactionLine.ForeignTaxAmount\r\n* Adsolut: n/a", "format": "double", "nullable": true }, "costCarrier": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Cost carrier\r\n* ECI Financials: PurchasesInvoiceLine.CostCarrier\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoiceLine.CostCarrier\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: TransactionLine.CostCode\r\n* Adsolut: n/a", "nullable": true }, "costUnit": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Cost unit\r\n* ECI Financials: PurchasesInvoiceLine.CostUnit\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoiceLine.CostUnit\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "order": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Order\r\n* ECI Financials: PurchasesInvoiceLine.Project\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoiceLine.Project\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true } }, "additionalProperties": false, "description": "Represents a supplier Bill line to be saved to the financial system." }, "Contact": { "type": "object", "properties": { "salutation": { "type": "string", "description": "The personal title of the contact\r\n* ECI Financials: Contact.Salutation\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Contact.Salutation\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "title": { "type": "string", "description": "The position or function title of the contact\r\n* ECI Financials: Contact.Title\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Contact.Title\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "initials": { "type": "string", "description": "The initials of the contact\r\n* ECI Financials: Contact.Initials\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Contact.Initials\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Contact.Initials\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "firstName": { "type": "string", "description": "The first name of the contact\r\n* ECI Financials: Contact.FirstName\r\n* Xero: Contact.FirstName\r\n* TripleTex: Contact.DisplayName\r\n* AccountView: Contact.FirstName\r\n* PowerOfficeGo: Contact.FirstName\r\n* AfasSB: Contact.FirstName\r\n* Sage50Uk: Contact.Name\r\n* Adsolut: Contact.FirstName", "nullable": true }, "lastNamePrefix": { "type": "string", "description": "The prefix of the last name of the contact\r\n* ECI Financials: Contact.MiddleName\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Contact.MiddleName\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Contact.Prefix\r\n* Sage50Uk: Contact.Name\r\n* Adsolut: Contact.LastName (part of lastname)", "nullable": true }, "lastName": { "type": "string", "description": "The last name of the contact\r\n* ECI Financials: Contact.LastName\r\n* Xero: Contact.LastName\r\n* TripleTex: Contact.DisplayName\r\n* AccountView: Contact.LastName\r\n* PowerOfficeGo: Contact.LastName\r\n* AfasSB: Contact.LastName\r\n* Sage50Uk: Contact.Name\r\n* Adsolut: Contact.LastName" }, "dob": { "type": "string", "description": "Birthdate\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: Contact.DateOfBirth\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: Contact.DateOfBirth", "format": "date-time", "nullable": true }, "email": { "type": "string", "description": "The email address of the contact\r\n* ECI Financials: Contact.Email\r\n* Xero: Contact.Email\r\n* TripleTex: n/a\r\n* AccountView: Contact.Email\r\n* PowerOfficeGo: Contact.EmailAddress\r\n* AfasSB: Contact.EmailAddress\r\n* Sage50Uk: n/a\r\n* Adsolut: Contact.Email", "nullable": true }, "phonePrimary": { "type": "string", "description": "The primary phone number of the contact\r\n* ECI Financials: Contact.PhoneNr\r\n* Xero: Contact.PhoneTypeEnum.Default\r\n* TripleTex: Contact.PhoneNumberWork\r\n* AccountView: Contact.PhoneNr\r\n* PowerOfficeGo: Contact.PhoneNumber\r\n* AfasSB: Contact.PhoneNumber\r\n* Sage50Uk: Customer.Telephone/ Supplier.Telephone\r\n* Adsolut: Contact.Phone", "nullable": true }, "phoneMobile": { "type": "string", "description": "The mobile phone number of the contact\r\n* ECI Financials: n/a\r\n* Xero: Contact.PhoneTypeEnum.Mobile\r\n* TripleTex: Contact.PhoneNumberMobile\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: Contact.MobilePhone", "nullable": true }, "fax": { "type": "string", "description": "The fax number of the contact\r\n* ECI Financials: n/a\r\n* Xero: PhoneTypeEnum.Fax\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: Contact.Fax", "nullable": true }, "isMainContact": { "type": "boolean", "description": "Indicates wether this the default contact for this scope\r\n* ECI Financials: Contact.Default\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Contact.Default\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a" }, "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "Represents the contact details of a supplier or customer" }, "Customer": { "required": [ "name" ], "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the\r\nrecord.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "To be used when creditor and debtor are the same record in the financial package\r\n* ECI Financials: Company.Code\r\n* Xero:\r\n - id = Contact.Id \r\n - code = Contact.ContactNumber\r\n* TripleTex: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Code\r\n* TripleTex:\r\n - id = Customer.Id\r\n - code = Customer.CustomerNumber\r\n* PowerOfficeGo:\r\n - id = Customer.Id\r\n - code = Customer.ExternalCode\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "searchCode": { "type": "string", "description": "Optional field in ERP. If mandatory in AFM, copy the company code for the max number of characters of the AFM.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "name": { "type": "string", "description": "The name of the customer. Usually this is the company or organization name.\r\n* ECI Financials: Company.Name\r\n* Xero: Contact.Name\r\n* TripleTex: Customer.Name\r\n* AccountView: Company.Name\r\n* PowerOfficeGo: Customer.Name\r\n* AfasSB: Organisation.Tradename\r\n* Sage50Uk: Customer.Name\r\n* Adsolut: Customer.Name" }, "currencyCode": { "type": "string", "description": "The (ISO 4217) currency code for billing.\r\n* ECI Financials: Company.Currency\r\n* Xero: DefaultCurrency\r\n* TripleTex: Customer.Currency.Code\r\n* AccountView: Company.Currency\r\n* PowerOfficeGo: Customer.Currency.Code\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.CurrencyCode\r\n* Adsolut: n/a", "nullable": true }, "taxIdentifier": { "type": "string", "description": "The `VAT number` or `Tax identifier` of the company.\r\n* ECI Financials: Company.VatNumber\r\n* Xero: Contact.TaxNumber\r\n* TripleTex: n/a\r\n* AccountView: Company.VatNumber\r\n* PowerOfficeGo: Customer.VatNumber\r\n* AfasSB: Organisation.VatNumber\r\n* Sage50Uk: Customer.VATNumber\r\n* Adsolut: Customer.VatNumber", "nullable": true }, "taxCode": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "VAT Code.\r\n* ECI Financials: n/a\r\n* Xero: Contact.AccountsRecievableTaxType\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.DefTaxCode\r\n* Adsolut: Customer.VatPercentageId", "nullable": true }, "chamberOfCommerceNumber": { "type": "string", "description": "The chamber of commerce number of the company.\r\n* ECI Financials: Company.ChamberOfCommerceNr\r\n* Xero: Contact.CompanyNumber\r\n* TripleTex: Customer.OrganizationNumber\r\n* AccountView: Company.ChamberOfCommerceNr\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Organisation.CocNumber\r\n* Sage50Uk: Customer.EoriNumber\r\n* Adsolut: n/a", "nullable": true }, "language": { "type": "string", "description": "The language code of the customer. Should be filled\r\nwith `ISO code 639 - 2T`. \r\nAny conversion should be performed by ERP or AFM.\r\n* ECI Financials: Company.Language\r\n* Xero: n/a\r\n* TripleTex: Customer.Language (eng, nor)\r\n* AccountView: Company.Language\r\n* PowerOfficeGo: Customer.Language\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: Customer.Language", "nullable": true }, "email": { "type": "string", "description": "The main email address of the customer.\r\n* ECI Financials: Company.Email\r\n* Xero: n/a\r\n* TripleTex: Customer.Email\r\n* AccountView: Company.Email\r\n* PowerOfficeGo: Customer.EmailAddress\r\n* AfasSB: Organisation.EmailAddress\r\n* Sage50Uk: Customer.Email\r\n* Adsolut: Customer.Email", "nullable": true }, "fax": { "type": "string", "description": "The fax number of the customer. You never know when you\r\nmight need it.\r\n* ECI Financials: n/a\r\n* Xero: PhoneTypeEnum.Fax\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.Fax\r\n* Adsolut: Customer.Fax", "nullable": true }, "phonePrimary": { "type": "string", "description": "The primary phone number of the company.\r\n* ECI Financials: Company.Phone\r\n* Xero: PhoneTypeEnum.Default\r\n* TripleTex: Customer.PhoneNumber\r\n* AccountView: Company.Phone\r\n* PowerOfficeGo: Customer.PhoneNumber\r\n* AfasSB: Organisation.PhoneNumber\r\n* Sage50Uk: Customer.Telephone2\r\n* Adsolut: Customer.Phone", "nullable": true }, "webAddress": { "type": "string", "description": "The website address of the company.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: Customer.Website\r\n* AccountView: n/a\r\n* PowerOfficeGo: Customer.WebsiteUrl\r\n* AfasSB: Website\r\n* Sage50Uk: Customer.Www\r\n* Adsolut: n/a", "nullable": true }, "creditLimit": { "type": "number", "description": "The credit limit of the customer.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.CreditLimit\r\n* Adsolut: n/a", "format": "double" }, "salesDiscount": { "type": "number", "description": "The default discount when selling to this customer.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Customer.DiscountRate\r\n* Adsolut: Customer.FinancialDiscountPercentage", "format": "double" }, "paymentCondition": { "allOf": [ { "$ref": "#/components/schemas/PaymentCondition" } ], "description": "The payment term/condition details for this customer.", "nullable": true }, "blocked": { "type": "boolean", "description": "Customer is blocked, e.g. you cannot sell to this customer.\r\n* ECI Financials: Company.Status\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Status\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "billingAddress": { "allOf": [ { "$ref": "#/components/schemas/Address" } ], "description": "The address where all mail should be sent.\r\n* ECI Financials: Company.BillingAddress\r\n* Xero: AddressTypeEnum.POBOX\r\n* TripleTex: Customer.PostalAddress\r\n* AccountView: Company.BillingAddress\r\n* PowerOfficeGo: Customer.MailAddress\r\n* AfasSB: \r\n - City = Address.CityName\r\n - Country = Address.CountryCode\r\n - HouseNumber = Address.HouseNumber\r\n - HouseNumberExtension = Address.HouseNumberAddition\r\n - PostalCode = Address.PostalZone\r\n - StateProv = Address.State\r\n - Street = Address.StreetName\r\n - true = Address.PreferredBillingAddress\r\n* Sage50Uk: Customer.Address" }, "shippingAddress": { "allOf": [ { "$ref": "#/components/schemas/Address" } ], "description": "The address of the physical site or residence of the\r\ncompany or organization.\r\n* ECI Financials: Company.BusinessAddress\r\n* Xero: AddressTypeEnum.Street\r\n* TripleTex: Customer.PhysicalAddress\r\n* AccountView: Company.BusinessAddress\r\n* PowerOfficeGo: Customer.StreetAddress\r\n* AfasSB: \r\n - City = Address.CityName\r\n - Country = Address.CountryCode\r\n - HouseNumber = Address.HouseNumber\r\n - HouseNumberExtension = Address.HouseNumberAddition\r\n - PostalCode = Address.PostalZone\r\n - StateProv = Address.State\r\n - Street = Address.StreetName\r\n - true = Address.PreferredShippingAddress\r\n* Sage50Uk: Customer.DeliveryAddress\r\n* Adsolut: n/a" }, "mainContact": { "allOf": [ { "$ref": "#/components/schemas/Contact" } ], "description": "The main contact of this customer:\r\n* ECI Financials: Contacts collection\r\n* Xero:\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PrimairyPhone = Contact.PhoneTypeEnum.Default\r\n - Fax = Contact.PhoneTypeEnum.Fax\r\n - MobilePhone = Contact.PhoneTypeEnum.Mobile\r\n - Email = Contact.EmailAddress\r\n* TripleTex: \r\n - Id = Contact.Id\r\n - FirstName LastName = Contact.DisplayName\r\n - PhoneMobile = Contact.PhoneNumberMobile\r\n - PhonePrimairy = Contact.PhoneNumberWork\r\n* AccountView: Contacts collection\r\n* PowerOfficeGo:\r\n - Id = Contact.Id\r\n - code = Contact.ExternalCode\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PhonePrimary = Contact.PhoneNumber\r\n - Email = Contact.EmailAddress\r\n - Dob = Contact.DataOfBirth\r\n* AfasSB: \r\n - Id = Contact.Id\r\n - Code = Contact.ExternalId\r\n - Email = Contact.EmailAddress\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PhonePrimary = Contact.PhoneNumber\r\n - Initials = Contact.Initials\r\n - LastNamePrefix = Contact.Prefix\r\n* Sage50Uk: \r\n - FirstName = Contact.Name\r\n - LastNamePrefix = Contact.Name\r\n - LastName = Contact.Name\r\n - PhonePrimary = Contact.Telephone\r\n* Adsolut:\r\n - Id = Contact.Id\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PhonePrimary = Contact.PhonePrimary\r\n - PhoneMobile = Contact.ModiblePhone\r\n - Fax = Contact.Fax\r\n - Email = Contact.EmailAddress\r\n - Dob = Contact.DateOfBirth", "nullable": true }, "bankAccount": { "allOf": [ { "$ref": "#/components/schemas/BankAccount" } ], "description": "The bank account of this customer. \r\n* ECI Financials: Company properties\r\n* Xero: \r\n - BankAccountDetails = BankAccount.AccountNumber\r\n - BatchPayments.BankAccountNumber = BankAccount.Number;\r\n - BankAccountDetails = BankAccount.Number;\r\n - BatchPayments.BankAccountName = BankAccount.BankName;\r\n* TripleTex:\r\n - BankAccount.Bic = BankAccountPresentation.Bic\r\n - BankAccount.Iban = BankAccountPresentation.Iban \r\n - BankAccount.Country BankAccountPresentation.Country.IsoAlpha2Code\r\n* AccountView: Company properties\r\n* PowerOfficeGo:\r\n - BankAccount.Id = BankAccount.Id\r\n - BankAccount.Bic = BankAccount.BicSwift\r\n - BankAccount.Number = BankAccount.Code\r\n - BankAccount.Iban = BankAccount.Code\r\n - BankAccount.Country = BankAccount.CountryCode\r\n* AfasSB:\r\n - BankAccount.Iban = BankAccount.AccountNumber\r\n - BankAccount.BankName = BankAccount.BankId\r\n - BankAccount.Bic = BankAccount.Bic\r\n - BankAccount.Country = BankAccount.CountryCode\r\n - true = BankAccount.PreferredIncomingPayments\r\n - true = BankAccount.PreferredOutgoingPayments\r\n* Sage50Uk:\r\n - BankAccount.Number = Customer.BankAccountNumber\r\n - BankAccount.Bic = Customer.BicSwift\r\n - BankAccount.Iban = Customer.Iban\r\n* Adsolut:\r\n - BankAccount.Bic = BankAccount.BicCode\r\n - BankAccount.Iban = BankAccount.Iban", "nullable": true }, "frozenBankAccount": { "allOf": [ { "$ref": "#/components/schemas/BankAccount" } ], "description": "The frozen bank account of this customer. \r\n* ECI Financials: Company properties\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company properties\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "group": { "type": "string", "description": "The group the customer belongs to\r\n* ECI Financials: Company.Group\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Group\r\n* PowerOfficeGo: Customer.ContactGroup\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "Model for customer data, also known as debtor.\r\n* Code: \r\n + ECI Financials: Company.OldDebtorCode\r\n + Xero: Accountnumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Customer.CustomerNumber\r\n + AccountView: Company.OldDebtorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Customer.AccountRef\r\n + Adsolut: Customer.Code" }, "Entity": { "type": "object", "properties": { "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false }, "FinancialPackageFeatures": { "type": "object", "properties": { "addressModel": { "enum": [ "AddressLines", "StreetHousenumberExtension" ], "type": "integer", "description": "The address model used by the financial package.", "format": "int32" }, "hasOutstandingItems": { "type": "boolean", "description": "Does the financial package support outstanding items?" }, "hasPaymentStatusUpdate": { "type": "boolean", "description": "Does the financial package support updating payment status?" }, "hasInvoices": { "type": "boolean", "description": "Does the financial package support invoices?" }, "hasInvoiceAttachments": { "type": "boolean", "description": "Does the financial package support attachments for invoices?" }, "hasBills": { "type": "boolean", "description": "Does the financial package support bills?" }, "hasBillAttachments": { "type": "boolean", "description": "Does the financial package support attachments for bills?" }, "hasPurchaseJournalEntries": { "type": "boolean", "description": "Does the financial package support purchase journal entries?" }, "hasSalesJournalEntries": { "type": "boolean", "description": "Does the financial package support sales journal entries?" }, "hasGeneralJournalEntries": { "type": "boolean", "description": "Does the financial package support general journal entries?" }, "hasSalesFrozenAccounts": { "type": "boolean", "description": "Does the financial package support sales frozen accounts?" }, "hasPurchaseFrozenAccounts": { "type": "boolean", "description": "Does the financial package support purchase frozen accounts?" }, "hasOrders": { "type": "boolean", "description": "Does the financial package support orders?" }, "hasPurchasePaymentInfo": { "type": "boolean", "description": "Does the financial package support purchase payment info?" }, "hasSalesPaymentInfo": { "type": "boolean", "description": "Does the financial package support sales payment info?" }, "hasTaxCodes": { "type": "boolean", "description": "Does the financial package support taxes?" }, "maxFileSize": { "type": "integer", "description": "The maximum file size for attachments in bytes.", "format": "int32", "nullable": true } }, "additionalProperties": false }, "GeneralJournalEntry": { "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.\r\n* ECI Financials: JournalEntry.Stamp\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: JournalEntry.Stamp\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "The journal entry number\r\n* ECI Financials: JournalEntry.Number\r\n* Xero: ManualJournal.Narration\r\n* TripleTex: Voucher.ExternalVoucherNumber\r\n* AccountView: JournalEntry.Number\r\n* PowerOfficeGo: JournalEntry.Description\r\n* AfasSB: n/a\r\n* Sage50Uk: JournalEntry.InvRef\r\n* Adsolut: JournalEntry.InvoiceNumber", "nullable": true }, "description": { "type": "string", "description": "* ECI Financials: JournalEntry.Description\r\n* Xero: n/a\r\n* TripleTex: Voucher.Description\r\n* AccountView: JournalEntry.Description\r\n* PowerOfficeGo: n/a\r\n* AfasSB: FinancialJournalEntry.Description\r\n* Sage50Uk: n/a\r\n* Adsolut: JournalEntry.Description", "nullable": true }, "date": { "type": "string", "description": "The date of the journal entry. \r\n* ECI Financials: JournalEntry.Date\r\n* Xero: ManualJournal.Date\r\n* TripleTex: Voucher.Date\r\n* AccountView: JournalEntry.Date\r\n* PowerOfficeGo: JournalEntry.VoucherDate\r\n* AfasSB: FinancialJournalEntry.EntryDate\r\n* Sage50Uk: JournalEntry.Date\r\n* Adsolut: JournalEntry.DocumentDate", "format": "date-time", "nullable": true }, "period": { "type": "string", "description": "Financial period\r\n* ECI Financials: JournalEntry.Period\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: JournalEntry.Period\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: JournalEntry.AccountingPeriod", "nullable": true }, "year": { "type": "integer", "description": "Financial year\r\n* ECI Financials: JournalEntry.Year\r\n* Xero: n/a\r\n* TripleTex: Voucher.Year\r\n* AccountView: JournalEntry.Year\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: JournalEntry.Year", "format": "int32", "nullable": true }, "journal": { "type": "string", "description": "Journal code\r\n* ECI Financials: JournalEntry.Journal\r\n* Xero: n/a\r\n* TripleTex: Voucher.Number\r\n* AccountView: JournalEntry.Journal\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: JournalEntry.JournalCode", "nullable": true }, "lines": { "type": "array", "items": { "$ref": "#/components/schemas/JournalEntryLine" }, "description": "A collection of line information for the journal.\r\n* ECI Financials: JournalEntry.Lines\r\n* Xero: ManualJournal.Lines\r\n* TripleTex: n/a\r\n* AccountView: JournalEntry.Lines\r\n* PowerOfficeGo: JournalEntry.VoucherLines\r\n* AfasSB: FinancialJournalEntry.EntryLine\r\n* Sage50Uk: JournalEntry.Lines\r\n* Adsolut: JournalEntry.Lines", "nullable": true }, "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n* Id: Unique id of the journal. Provide when updating the record. \r\n + ECI Financials: JournalEntry.Id\r\n + Xero: ManualJournal.ManualJournalID\r\n + TripleTex: n/a\r\n + AccountView: JournalEntry.Id\r\n + PowerOfficeGo: JournalEntry.Id\r\n + AfasSB: n/a\r\n + Sage50Uk: n/a\r\n + Adsolut: n/a" }, "Invoice": { "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the\r\nrecord.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "Reference number for the transaction.\r\n* ECI Financials: SalesInvoice.ExternalId\r\n* Xero: Invoice.InvoiceNumber / CreditNote.CreditNoteNumber\r\n* TripleTex: Invoice.InvoiceNumber\r\n* AccountView: SalesInvoice.ExternalId\r\n* PowerOfficeGo: Invoice.InvoiceNo\r\n* Sage50Uk: Transaction.Details\r\n* Adsolut: n/a", "nullable": true }, "customer": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Customer Reference\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* PowerOfficeGo: n/a\r\n* TripleTex:\r\n - Id = Customer.Id\r\n - Code = Customer.CustomerNumber\r\n* AccountView: n/a\r\n* Sage50UK: \r\n - Id = n/a\r\n - Code = Customer.AccountRef\r\n* Adsolut: n/a", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "To be used when creditor and debtor are the same record in the financial package\r\n* ECI Financials: SalesInvoice.Customer\r\n* Xero:\r\n - Id = Contact.ContactID\r\n - Code = Contact.ContactNumber\r\n* TripleTex: n/a\r\n* TripleTex: n/a\r\n* AccountView: SalesInvoice.Customer\r\n* TripleTex: \r\n - Id = Customer.Id\r\n - Code = Customer.CustomerNumber\r\n* PowerOfficeGo:\r\n - Id = n/a\r\n - Code = Invoice.CustomerCode\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "currencyCode": { "type": "string", "description": "ISO 4217 currency code.\r\n* ECI Financials: SalesInvoice.Currency\r\n* Xero: Invoice.CurrencyCode / CreditNote.CurrencyCode\r\n* TripleTex: Invoice.Currency.Code\r\n* AccountView: SalesInvoice.Currency\r\n* PowerOfficeGo: Invoice.CurrencyCode\r\n* Sage50Uk: (Used in childe lines) TransactionLine.CurrencyCode\r\n* Adsolut: n/a", "nullable": true }, "baseCurrency": { "type": "string", "description": "Misc. field to determine if Currency code is home\r\ncurrency or foreign currency\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "invoiceDate": { "type": "string", "description": "The date of the invoice\r\n* ECI Financials: SalesInvoice.Date\r\n* Xero: Invoice.Date / CreditNote.Date\r\n* TripleTex: Invoice.InvoiceDate\r\n* AccountView: SalesInvoice.Date\r\n* PowerOfficeGo: Invoice.VoucherDate\r\n* Sage50Uk: Transaction.Date\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "Date when the payment of the transaction is due. If date is not provided, the number of days specified in SalesTermRef added the transaction date will be used.\r\n* ECI Financials: SalesInvoice.ExpiryDate\r\n* Xero: Invoice.DueDate / CreditNote.DueDate\r\n* TripleTex: Invoice.InvoiceDueDate\r\n* AccountView: SalesInvoice.ExpiryDate\r\n* PowerOfficeGo: Invoice.DueDate\r\n* Sage50Uk: Transaction.DueDate\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "paymentTerm": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Reference to the sales term associated with the transaction. Query the Term name list resource to determine the appropriate Term object for this reference.\r\n* ECI Financials: SalesInvoice.PaymentTerms\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: SalesInvoice.PaymentTerms\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "status": { "type": "string", "description": "Invoice Status\r\n* ECI Financials: n/a\r\n* Xero: Invoice.status / CreditNote.status\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "referenceNumber": { "type": "string", "description": "Payment Reference number for the invoice, e.g., customer purchase order number.\r\n* ECI Financials: SalesInvoice.Reference\r\n* Xero: Invoice.Reference / CreditNote.Reference\r\n* TripleTex: Invoice.Kid\r\n* AccountView: SalesInvoice.Reference\r\n* PowerOfficeGo: Invoice.CustomerReference\r\n* Sage50Uk: Used in childe lines) TransactionLine.ExRef\r\n* Adsolut: n/a", "nullable": true }, "shipAddr": { "allOf": [ { "$ref": "#/components/schemas/Address" } ], "description": "Shipping address of the invoice\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: Invoice.Order.DeliveryAddress\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a (automaticaly chosen based on customer address)\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "frozenAccountAmount": { "type": "number", "description": "A G-account is a frozen bank account that is used to pay payroll taxes or VAT payments to the Dutch Tax and Customs Administration.\r\nIt is a blocked bank account that is managed jointly by the employment agency and the Tax and Customs Administration.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "double" }, "lines": { "type": "array", "items": { "$ref": "#/components/schemas/InvoiceLine" }, "description": "An array of line invoice information\r\n* ECI Financials: SalesInvoice.Lines\r\n* Xero: Invoice.LineItems\r\n* TripleTex: Invoice.Order.OrderLines\r\n* AccountView: SalesInvoice.Lines\r\n* PowerOfficeGo: Invoice.OutgoingInvoiceLines\r\n* Sage50Uk: Transaction.Items\r\n* Adsolut: n/a", "nullable": true }, "journal": { "type": "string", "description": "Journal code\r\n* ECI Financials: SalesInvoice.Journal\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: SalesInvoice.Journal\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "description": { "type": "string", "description": "* ECI Financials: SalesInvoice.Title\r\n* Xero: n/a\r\n* TripleTex: Invoice.Comment\r\n* AccountView: SalesInvoice.Title\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "This class is used for sales invoices. \r\n* Id Unique id of the invoice. \r\n * Xero: Invoice.InvoiceId / CreditNote.CreditNoteId\r\n * TripleTex: Invoice.Id\r\n * PowerOfficeGo: Invoice.Id" }, "InvoiceLine": { "type": "object", "properties": { "amountExcludingTax": { "type": "number", "description": "Total amount of the line excluding tax/VAT.\r\n* ECI Financials: InvoiceLine.AmountExcl\r\n* Xero: LineItem.LineAmount\r\n* TripleTex: OrderLine.UnitPriceExcludingVatCurrency\r\n* AccountView: InvoiceLine.AmountExcl\r\n* PowerOfficeGo: InvoiceLine.UnitPrice\r\n* Sage50Uk: TransactionLine.ForeignAmount\r\n* Adsolut: n/a", "format": "double", "nullable": true }, "description": { "type": "string", "description": "Description text for the sale line.\r\n* ECI Financials: SalesInvoice.Title\r\n* Xero: LineItem.Description\r\n* TripleTex: OrderLine.Description\r\n* AccountView: SalesInvoice.Title\r\n* PowerOfficeGo: InvoiceLine.Description\r\n* Sage50Uk: TransactionLine.Details\r\n* Adsolut: n/a", "nullable": true }, "account": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The general ledger account for the line.\r\n* ECI Financials: InvoiceLine.Account\r\n* Xero:\r\n - Code = LineItem.AccountCode\r\n - Id = LineItem.AccountId\r\n* TripleTex: n/a\r\n* AccountView: InvoiceLine.Account\r\n* PowerOfficeGo: \r\n - Code = InvoiceLine.Account\r\n - Id = n/a\r\n* Sage50Uk: InvoiceItem.Account\r\n - Code = Account.NominalCode\r\n - Id = n/a\r\n* Adsolut: n/a", "nullable": true }, "taxCode": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Tax code reference. This is the tax or VAT code that is\r\nexpected by the AFM.\r\n* ECI Financials: InvoiceLine.VatRate\r\n* Xero:\r\n - Id = n/a\r\n - Code = LineItem.TaxType\r\n* TripleTex: \r\n - Id = VatType.Id\r\n - Code = VatType.Number\r\n* AccountView: InvoiceLine.VatRate\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: InvoiceItem.VatCode\r\n - Code = TaxCode\r\n - Id = n/a\r\n* Adsolut: n/a", "nullable": true }, "taxAmount": { "type": "number", "description": "VAT amount\r\n* ECI Financials: InvoiceLine.VatAmount\r\n* Xero: LineItem.TaxAmount\r\n* TripleTex: n/a\r\n* AccountView: InvoiceLine.VatAmount\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: TransactionLine.ForeignTaxAmount\r\n* Adsolut: n/a", "format": "double", "nullable": true }, "costCarrier": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Cost carrier\r\n* ECI Financials: InvoiceLine.CostCarrier\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: InvoiceLine.CostCarrier\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "costUnit": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Cost unit\r\n* ECI Financials: InvoiceLine.CostUnit\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: InvoiceLine.CostUnit\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "order": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Order\r\n* ECI Financials: PurchasesInvoiceLine.Order\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: PurchasesInvoiceLine.Order\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true } }, "additionalProperties": false, "description": "Line item details for customer invoices and credits." }, "JournalEntryLine": { "type": "object", "properties": { "id": { "type": "string", "description": "* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "amount": { "type": "number", "description": "Amount excluding VAT amount\r\n* ECI Financials: Lines.Amount / Lines.Debet / Lines.Credit\r\n* Xero: ManualJournalLine.LineAmount\r\n* TripleTex: Posting.AmountGross\r\n* AccountView: Lines.Amount / Lines.Debet / Lines.Credit\r\n* PowerOfficeGo: JournalEntryVoucherLine.Amount\r\n* AfasSB: InvoiceLine.AmountExcludingVat / InvoiceLine2.AmountIncludingVat / EntryLine.AmountCredit / EntryLine.AmountDebit\r\n* Sage50Uk: JournalEntryLine.NetAmount\r\n* Adsolut: JournalEntryLine.NetAmount", "format": "double" }, "account": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "* ECI Financials: Lines.Account\r\n* Xero:\r\n * Code = ManualJournalLine.AccountCode\r\n * Id = ManualJournalLine.AccountId\r\n* TripleTex:\r\n * Id = Posting.Account.Id\r\n * Code = Posting.Account.Number\r\n* AccountView: Lines.Account\r\n* PowerOfficeGo:\r\n * Id = n/a\r\n * Code = JournalEntryVoucherLine.DebitAccountCode / JournalEntryVoucherLine.CreditAccountCode\r\n* AfasSB: InvoiceLine.LedgerAccountId / InvoiceLine2.LedgerAccountId / EntryLine.LedgerAccountId\r\n* Sage50Uk: JournalEntryLine.Account\r\n - Code = Account.NominalCode\r\n - Id = n/a\r\n* Adsolut: JournalEntryLine.Account\r\n - Code = GeneralLedger.Code\r\n - Id = n/a", "nullable": true }, "taxAmount": { "type": "number", "description": "VAT amount\r\n* ECI Financials: n/a\r\n* Xero: ManualJournalLine.TaxAmount\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: InvoiceLine.AmountVat / InvoiceLine2.AmountVat\r\n* Sage50Uk: JournalEntryLine.TaxAmount\r\n* Adsolut: JournalEntryLine.VatAmount", "format": "double" }, "type": { "enum": [ 0, 1 ], "type": "integer", "description": "The balance side.\r\n* ECI Financials: Based on type either Lines.Debet or Lines.Credit is set\r\n* Xero: Calculated (based on ManualJournalLine.LineAmount)\r\n* TripleTex: n/a\r\n* AccountView: Based on type either Lines.Debet or Lines.Credit is set\r\n* PowerOfficeGo: JournalEntryVoucherLine.Type\r\n* AfasSB: n/a\r\n* Sage50Uk: JournalEntryLine.Type\r\n* Adsolut: Based on JournalEntryLineType either Credit or Debit", "format": "int32", "nullable": true }, "taxCode": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "* ECI Financials: n/a\r\n* Xero:\r\n * Code = ManualJournalLine.TaxType\r\n * Id = n/a\r\n* TripleTex:\r\n * Code = Posting.VatType.Number\r\n * Id = Posting.VatType.Id\r\n* Acountview: n/a\r\n* PowerOfficeGo:\r\n * Code = JournalEntryVoucherLine.DebitVatCode / JournalEntryVoucherLine.CreditVatCode\r\n * Id = n/a\r\n* AfasSB: \r\n * Id = n/a\r\n * Code = InvoiceLine.VatType / InvoiceLine2.VatType / EntryLine.VatType\r\n* Sage50Uk:\r\n * Code = JournalEntryLine.TaxCode\r\n * Id = n/a\r\n* Adsolut:\r\n * Code = JournalEntryLine.VatPercentage.Id\r\n * Id = n/a", "nullable": true }, "description": { "type": "string", "description": "* ECI Financials: Lines.Title\r\n* Xero: ManualJournalLine.Description\r\n* TripleTex: Posting.Description\r\n* AccountView: Lines.Title\r\n* PowerOfficeGo: JournalEntryVoucherLine.Description\r\n* AfasSB: InvoiceLine.Description / InvoiceLine2.Description / EntryLine.Description\r\n* Sage50Uk: JournalEntryLine.Details\r\n* Adsolut: JournalEntryLine.Description", "nullable": true }, "taxShifted": { "type": "boolean", "description": "Indicates whether the VAT is shifted (reverse charge).\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: InvoiceLine.VatShifted / InvoiceLine2.VatShifted\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "amountForeignCurrency": { "type": "number", "description": "Amount excluding VAT amount in foreign currency\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a", "format": "double", "nullable": true }, "taxAmountForeignCurrency": { "type": "number", "description": "Tax (Vat) Amount in foreign currency\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a", "format": "double", "nullable": true } }, "additionalProperties": false, "description": "Represents an individual line of a GL Journal to be saved to or existing in the financial system." }, "Links": { "type": "object", "properties": { "self": { "type": "string" }, "next": { "type": "string" }, "prev": { "type": "string" } }, "additionalProperties": false }, "ListContext": { "required": [ "links" ], "type": "object", "properties": { "links": { "allOf": [ { "$ref": "#/components/schemas/Links" } ] } }, "additionalProperties": false }, "Order": { "type": "object", "properties": { "description": { "type": "string", "description": "The description of the order.\r\n* ECI Financials: Project.Name\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.Name\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "status": { "type": "string", "description": "The status of the order.\r\n* ECI Financials: Project.Status\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.Status\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "startDate": { "type": "string", "description": "The start date of the order.\r\n* ECI Financials: Project.StartDate\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.StartDate\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "endDate": { "type": "string", "description": "The end date of the order.\r\n* ECI Financials: Project.EndDate\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.EndDate\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "The due date of the order.\r\n* ECI Financials: Project.DueDate\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.DueDate\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "active": { "type": "boolean", "description": "Is the project active or inactive?\r\n* ECI Financials: Project.Active\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.Active\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "customer": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Customer for which this order is.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "To be used when creditor and debtor are the same record in the financial package\r\n* ECI Financials: Project.Customer\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Project.Customer\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "syncToken": { "type": "string", "description": "The date/time stamp of the order. This value is\r\nrequired when sending a PUT request and its value must\r\nmatch the timestamp of the order in the database. If\r\nthe value is different it means the order has been\r\nmodified by another user.\r\n* ECI Financials: Project.Stamp\r\n* Xero: n/a\r\n* TripleTex: n/a \r\n* AccountView: Project.Stamp \r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "

An order object, sometimes also used for projects.

" }, "PaymentBlockStatus": { "type": "object", "properties": { "supplier": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The vendor/supplier to whom this debt is owed\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "Journal entry number\r\n* ECI Financials: AccountsPayable.ExternalId\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsPayable.ExternalId\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "paymentReference": { "type": "string", "description": "Reference to the bill\r\n* ECI Financials: yourInvoiceNr\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: yourInvoiceNr\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "block": { "type": "boolean", "description": "False if bill can be paid, true if it must not be paid\r\n* ECI Financials: AccountsPayable.Blocked\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsPayable.Blocked\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true } }, "additionalProperties": false, "description": "

The payable state.

\r\nAt least docNumber or billId should be filled, to be able to lookup the bill." }, "PaymentCondition": { "type": "object", "properties": { "paymentTerm": { "type": "integer", "description": "The number of days in which payment is due.\r\n* ECI Financials: n/a\r\n* Xero: PaymentTerm.Sales.Days\r\n* TripleTex: Customer.InvoucesDueIn\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a", "format": "int32", "nullable": true }, "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": { }, "description": "

Model for payment conditions

\r\n* code \r\n + ECI Financials: Customer.PaymentTerms / Supplier.PaymentTerms\r\n + Xero: n/a\r\n + TripleTex: n/a\r\n + AccountView: Customer.PaymentTerms / Supplier.PaymentTerms" }, "PaymentInfo": { "type": "object", "properties": { "docNumber": { "type": "string", "description": "Journal entry number\r\n* ECI Financials: AccountsReceivable.ExternalId or AccountsPayable.ExternalId\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsReceivable.ExternalId or AccountsPayable.ExternalId\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a" }, "datePaid": { "type": "string", "description": "The date when the invoice was paid.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* Sage50Uk: n/a", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "

Information about payment of an invoice

" }, "Problem": { "required": [ "detail", "title" ], "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string" }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string" }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": false, "description": "Definition of [RFC7807](https://tools.ietf.org/html/rfc7807) problem detail" }, "PurchaseJournalEntry": { "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "The journal entry number\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Purchasejournalentry.InvoiceNumber\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.InvoiceNumber", "nullable": true }, "description": { "type": "string", "description": "* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.Description", "nullable": true }, "date": { "type": "string", "description": "* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Purchasejournalentry.InvoiceDate\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.DocumentDate", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "Date when the payment of the transaction is due.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Purchasejournalentry.DueDate\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.DueDate", "format": "date-time", "nullable": true }, "period": { "type": "string", "description": "Financial period\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.AccountingPeriod.Number", "nullable": true }, "year": { "type": "integer", "description": "Financial year\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.Year", "format": "int32", "nullable": true }, "journal": { "type": "string", "description": "Journal code\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.JournalCode (2 letter code)", "nullable": true }, "exchangeRate": { "type": "number", "description": "The exchange rate\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "double", "nullable": true }, "paymentTerm": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The payment term associated with the transaction.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "paymentReference": { "type": "string", "description": "External payment reference.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Purchasejournalentry.Reference\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.SupplierInvoiceNumber", "nullable": true }, "supplier": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Reference to the supplier for this transaction\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Purchasejournalentry.RelationId\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.Supplier.Number", "nullable": true }, "lines": { "type": "array", "items": { "$ref": "#/components/schemas/JournalEntryLine" }, "description": "A collection of line information for the journal.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Purchasejournalentry.InvoiceLine\r\n* Sage50Uk: n/a\r\n* Adsolut: PurchaseJournalEntry.Lines", "nullable": true }, "currencyCode": { "type": "string", "description": "The (ISO 4217) currency code for the sales journal entry.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" }, "PurchaseOutstandingItem": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the outstanding item.\r\n* ECI Financials: AccountsPayable.Id\r\n* Xero: Invoice.InvoiceID\r\n* TripleTex: n/a\r\n* AccountView: AccountsPayable.Id\r\n* PowerOfficeGo: IncomingInvoiceListItem.Id\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "Journal entry number\r\n* ECI Financials: AccountsPayable.ExternalId or AccountsPayable.YourInvoiceNr or AccountsPayable.InvoiceNr or AccountsPayable.Id\r\n* Xero: Invoice.InvoiceNumber\r\n* TripleTex: Posting.InvoiceNumber\r\n* AccountView: AccountsPayable.ExternalId or AccountsPayable.YourInvoiceNr or AccountsPayable.InvoiceNr or AccountsPayable.Id\r\n* PowerOfficeGo: IncomingInvoiceListItem.PurchaseOrderReference\r\n* AfasSB: Creditorinvoicebalance.InternalInvoiceNumber\r\n* Sage50Uk: PurchaseInvoice.InvRef\r\n* Adsolut: OpenTransaction.DocumentNumber" }, "supplier": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The vendor/supplier to whom this debt is owed\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: \r\n - Id = Posting.Supplier.Id\r\n - Code = Posting.Supplier.SupplierNumber\r\n* AccountView: n/a\r\n* AfasSB:\r\n - Id = n/a\r\n - Code = Creditorinvoicebalance.RelationName\r\n* Sage50Uk:\r\n - Id = n/a\r\n - Code = PurchaseInvoice.AccountRef\r\n* Adsolut:\r\n - Id = n/a\r\n - Code = OpenTransaction.Supplier.Number", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Can be the same for creditor and debtor.\r\n* ECI Financials: AccountsPayable.Company.Code\r\n* Xero:\r\n - Id = Invoice.Contact.ContactID\r\n - Code = Invoice.Contact.ContactNumber\r\n* TripleTex: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsPayable.Company.Code\r\n* TripleTex:\r\n - Id = Posting.Customer.Id\r\n - Code = Posting.Customer.CustomerNumber\r\n* PowerOfficeGo:\r\n - Id = n/a\r\n - Code = IncomingInvoiceListItem.Supplier.ExternalCode\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "paymentReference": { "type": "string", "description": "Reference to the bill\r\n* ECI Financials: AccountsPayable.YourInvoiceNr\r\n* Xero: Invoice.Reference\r\n* TripleTex: Posting.ExternalRef\r\n* AccountView: AccountsPayable.YourInvoiceNr\r\n* PowerOfficeGo: IncomingInvoiceListItem.PurchaseOrderReference\r\n* AfasSB: Creditorinvoicebalance.CustomerReference / Creditorinvoicebalance.InvoiceNumber\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "billDate": { "type": "string", "description": "The transaction date.\r\n* ECI Financials: AccountsPayable.InvoiceDate\r\n* Xero: Invoice.Date\r\n* TripleTex: Posting.Date\r\n* AccountView: AccountsPayable.InvoiceDate\r\n* PowerOfficeGo: IncomingInvoiceListItem.VoucherDate\r\n* AfasSB: Creditorinvoicebalance.InvoiceDate\r\n* Sage50UK: PurchaseInvoice.DueDate\r\n* Adsolut: OpenTransaction.DocumentDate", "format": "date-time" }, "dueDate": { "type": "string", "description": "The invoice expiration date.\r\n* ECI Financials: AccountsPayable.ExpiryDate\r\n* Xero: Invoice.DueDate\r\n* TripleTex: Posting.TermOfPayment\r\n* AccountView: AccountsPayable.ExpiryDate\r\n* PowerOfficeGo: IncomingInvoiceListItem.DueDate\r\n* AfasSB: Creditorinvoicebalance.DueDate\r\n* Sage50Uk: PurchaseInvoice.DueDate\r\n* Adsolut: OpenTransaction.DueDate", "format": "date-time", "nullable": true }, "paymentDate": { "type": "string", "description": "The actual invoice payment date.\r\n* ECI Financials: n/a\r\n* Xero: Invoice.ExpectedPaymentDate\r\n* TripleTex: Posting.Date\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "blockPayment": { "type": "boolean", "description": "False if bill can be paid, true if it must not be paid\r\n* ECI Financials: AccountsPayable.Blocked\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsPayable.Blocked\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "baseBalance": { "type": "number", "description": "The outstanding liability in home currency\r\n* ECI Financials: AccountsPayable.Balance\r\n* Xero: Invoice.AmountDue\r\n* TripleTex: Posting.AmountGross\r\n* AccountView: AccountsPayable.Balance\r\n* PowerOfficeGo: IncomingInvoiceListItem.Balance / IncomingInvoiceListItem.CurrencyExchangeRate\r\n* AfasSB: Creditorinvoicebalance.OutstandingAmount\r\n* Sage50Uk: PurchaseInvoice.Outstanding\r\n* Adsolut: OpenTransaction.TotalAmount - OpenTransaction.PaidAmount", "format": "double" }, "foreignBalance": { "type": "number", "description": "The outstanding liability in foreign currency\r\n* ECI Financials: AccountsPayable.BalanceCur\r\n* Xero: n/a\r\n* TripleTex: Posting.AmountGrossCurrency\r\n* AccountView: AccountsPayable.BalanceCur\r\n* PowerOfficeGo: IncomingInvoiceListItem.Balance\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: OpenTransaction.CurrencyTotalAmount - OpenTransaction.CurrencyPaidAmount", "format": "double", "nullable": true }, "currencyCode": { "type": "string", "description": "The (ISO 4217) currency code for the foreign balance.\r\nFor V1 API, max chars: 36.\r\n* ECI Financials: AccountsPayable.Currency\r\n* Xero: Invoice.CurrencyCode\r\n* TripleTex: Posting.Currency.Code\r\n* AccountView: AccountsPayable.Currency\r\n* PowerOfficeGo: IncomingInvoiceListItem.CurrencyCode\r\n* AfasSB: n/a\r\n* Sage50Uk: PurchaseInvoice.Currency\r\n* Adsolut: OpenTransaction.Currency.Code.Id", "nullable": true }, "isFromFrozenAccount": { "type": "boolean", "description": "True if the outstanding amount is from a frozen account, otherwise false.\r\n* ECI Financials: AccountsPayable.PayrollTaxPart\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsPayable.PayrollTaxPart\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "billAmount": { "type": "number", "description": "The total amount of the bill in the home currency\r\n* ECI Financials: AccountsPayable.Amount\r\n* Xero: Invoice.Total\r\n* TripleTex: Posting.AmountGross\r\n* AccountView: AccountsPayable.Amount\r\n* PowerOfficeGo: IncomingInvoiceListItem.TotalAmount\r\n* AfasSB: Creditorinvoicebalance.TotalAmount\r\n* Sage50Uk: PurchaseInvoice.GrossAmount\r\n* Adsolut: OpenTransaction.TotalAmount", "format": "double" }, "foreignBillAmount": { "type": "number", "description": "The total amount of the bill in the foreign currency\r\n* ECI Financials: AccountsPayable.AmountCur\r\n* Xero: n/a\r\n* TripleTex: Posting.AmountGrossCurrency\r\n* AccountView: AccountsPayable.AmountCur\r\n* PowerOfficeGo: incomingInvoiceListItem.TotalAmount * incomingInvoiceListItem.CurrencyExchangeRate\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: OpenTransaction.CurrencyTotalAmount", "format": "double", "nullable": true } }, "additionalProperties": false, "description": "Outstanding expenses for vendors. These are the bills that still have to be paid by you. In the V1 API, this is called VendorCreditModel." }, "PurchaseOutstandingItemList": { "required": [ "data", "listContext" ], "type": "object", "properties": { "listContext": { "allOf": [ { "$ref": "#/components/schemas/ListContext" } ] }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/PurchaseOutstandingItem" } } }, "additionalProperties": false }, "SalesJournalEntry": { "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "The journal entry number\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Salesjournalentry.InvoiceNumber\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.InvoiceNumber", "nullable": true }, "description": { "type": "string", "description": "The description of the journal entry.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Salesjournalentry.Description\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "date": { "type": "string", "description": "* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Salesjournalentry.InvoiceDate\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.DocumentDate", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "Date when the payment of the transaction is due.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.DueDate", "format": "date-time", "nullable": true }, "period": { "type": "string", "description": "Financial period\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.AccountingPeriod.Number", "nullable": true }, "year": { "type": "integer", "description": "Financial year\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.Year", "format": "int32", "nullable": true }, "journal": { "type": "string", "description": "Journal code\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.JournalCode (2 letter code)", "nullable": true }, "exchangeRate": { "type": "number", "description": "The exchange rate \r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "double", "nullable": true }, "paymentTerm": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The payment term associated with the transaction.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "paymentReference": { "type": "string", "description": "External payment reference.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Salesjournalentry.Reference\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.ExternalDocumentId", "nullable": true }, "customer": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Customer Reference\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* PowerOfficeGo: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* AfasSB: Salesjournalentry.RelationId\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.Customer.Number", "nullable": true }, "lines": { "type": "array", "items": { "$ref": "#/components/schemas/JournalEntryLine" }, "description": "A collection of line information for the journal.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Salesjournalentry.InvoiceLine\r\n* Sage50Uk: n/a\r\n* Adsolut: SalesJournalEntry.Lines", "nullable": true }, "currencyCode": { "type": "string", "description": "The (ISO 4217) currency code for the purchase journal entry.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\n- Id: Unique id of the journal. Provide when updating the record. \r\n * ECI Financials: n/a\r\n * Xero: n/a\r\n * TripleTex: n/a\r\n * AccountView: n/a\r\n * PowerOfficeGo: n/a\r\n * AfasSB: n/a\r\n * Sage50Uk: n/a\r\n * Adsolut: n/a" }, "SalesOutstandingItem": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the outstanding item.\r\n* ECI Financials: AccountsReceivable.Id\r\n* Xero: Invoice.InvoiceID\r\n* TripleTex: Invoice.Id\r\n* AccountView: AccountsReceivable.Id\r\n* PowerOfficeGo: OutgoingInvoiceListItem.Id\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "docNumber": { "type": "string", "description": "Journal entry number\r\n* ECI Financials: AccountsReceivable.ExternalId or AccountsReceivable.YourInvoiceNr or AccountsReceivable.InvoiceNr or AccountsReceivable.Id\r\n* Xero: Invoice.InvoiceNumber\r\n* TripleTex: Invoice.InvoiceNumber\r\n* AccountView: AccountsReceivable.ExternalId or AccountsReceivable.YourInvoiceNr or AccountsReceivable.InvoiceNr or AccountsReceivable.Id\r\n* PowerOfficeGo: OutgoingInvoiceListItem.DocumentNo\r\n* AfasSB: Debtorinvoicebalance.InvoiceNumber\r\n* Sage50Uk: Invoice.Analysis1\r\n* Adsolut: OpenTransaction.DocumentNumber" }, "customer": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The customer who owes us this amount;\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* PowerOfficeGo: n/a\r\n* TripleTex:\r\n - Id = Invoice.Customer.Id\r\n - Code = Invoice.Customer.CustomerNumber\r\n* AccountView: n/a\r\n* AfasSB: \r\n - Id = n/a\r\n - Code = Debtorinvoicebalance.RelationName\r\n* Sage50Uk:\r\n - Id = n/a\r\n - Code = Invoice.AccountRef\r\n* Adsolut:\r\n - Id = n/a\r\n - Code = OpenTransaction.Customer.Number", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "Can be the same for creditor and debtor.\r\n* ECI Financials: AccountsReceivable.Company.Code\r\n* Xero:\r\n - Id = Invoice.Contact.ContactID\r\n - Code = Invoice.Contact.ContactNumber\r\n* TripleTex: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsReceivable.Company.Code\r\n* TripleTex:\r\n - Id = Invoice.Customer.Id\r\n - Code = Invoice.Customer.CustomerNumber\r\n* PowerOfficeGo:\r\n - Id = n/a\r\n - Code = OutgoingInvoiceListItem.Customer.ExternalCode\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "invoice": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The Invoice for which Credit Memo is issued.\r\n* ECI Financials: n/a\r\n* Xero:\r\n - Id = Invoice.InvoiceID\r\n - Code = Invoice.InvoiceNumber\r\n* TripleTex:\r\n - Id = Invoice.Id\r\n - Code = Invoice.InvoiceNumber\r\n* AccountView: n/a\r\n* PowerOfficeGo:\r\n - Id = n/a\r\n - Code = OutgoingInvoiceListItem.InvoiceNo\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* * Adsolut: n/a", "nullable": true }, "invoiceDate": { "type": "string", "description": "The invoice date.\r\n* ECI Financials: AccountsReceivable.InvoiceDate\r\n* Xero: Invoice.Date\r\n* TripleTex: Invoice.InvoiceDate\r\n* AccountView: AccountsReceivable.InvoiceDate\r\n* PowerOfficeGo: OutgoingInvoiceListItem.VoucherDate\r\n* AfasSB: Debtorinvoicebalance.InvoiceDate\r\n* Sage50Uk: Invoice.InvoiceDate\r\n* Adsolut: OpenTransaction.DocumentDate", "format": "date-time" }, "dueDate": { "type": "string", "description": "The invoice expiration date.\r\n* ECI Financials: AccountsReceivable.ExpiryDate\r\n* Xero: Invoice.DueDate\r\n* TripleTex: Invoice.InvoiceDueDate\r\n* AccountView: AccountsReceivable.ExpiryDate\r\n* PowerOfficeGo: OutgoingInvoiceListItem.DueDate\r\n* AfasSB: Debtorinvoicebalance.DueDate\r\n* Sage50Uk: Invoice.DueDate\r\n* Adsolut: OpenTransaction.DueDate", "format": "date-time", "nullable": true }, "expectedPaymentDate": { "type": "string", "description": "The expected or agreed payment date.\r\n* ECI Financials: AccountsReceivable.ReminderDate\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsReceivable.ReminderDate\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "paymentDate": { "type": "string", "description": "The actual invoice payment date. When not specified, the import date when the balance is 0 is to be used.\r\n* ECI Financials: n/a\r\n* Xero: Invoice.ExpectedPaymentDate\r\n* TripleTex: Invoice.Posting.Date (Max posting date is used)\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "date-time", "nullable": true }, "baseBalance": { "type": "number", "description": "The outstanding liability in home currency\r\n* ECI Financials: AccountsReceivable.Balance\r\n* Xero: Invoice.AmountDue\r\n* TripleTex: Invoice.amountOutstanding\r\n* AccountView: AccountsReceivable.Balance\r\n* PowerOfficeGo: OutgoingInvoiceListItem.Balance / OutgoingInvoiceListItem.CurrencyExchangeRate\r\n* AfasSB: Debtorinvoicebalance.OutstandingAmount\r\n* Sage50Uk: Invoice.Outstanding\r\n* Adsolut: OpenTransaction.TotalAmount - OpenTransaction.PaidAmount", "format": "double" }, "foreignBalance": { "type": "number", "description": "The outstanding liability in foreign currency\r\n* ECI Financials: AccountsReceivable.BalanceCur\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: AccountsReceivable.BalanceCur\r\n* PowerOfficeGo: OutgoingInvoiceListItem.Balance\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: OpenTransaction.CurrencyTotalAmount - OpenTransaction.CurrencyPaidAmount", "format": "double", "nullable": true }, "currencyCode": { "type": "string", "description": "The (ISO 4217) currency code for the foreign balance.\r\n* ECI Financials: AccountsReceivable.Currency\r\n* Xero: Invoice.CurrencyCode\r\n* TripleTex: Invoice.Currency.Code\r\n* AccountView: AccountsReceivable.Currency\r\n* PowerOfficeGo: OutgoingInvoiceListItem.CurrencyCode\r\n* AfasSB: n/a\r\n* Sage50Uk: Invoice.Currency.Code\r\n* Adsolut: OpenTransaction.Currency.Code.Id", "nullable": true }, "invoiceAmount": { "type": "number", "description": "The total amount of the invoice in the home currency\r\n* ECI Financials: AccountsReceivable.Amount\r\n* Xero: Invoice.Total\r\n* TripleTex: Invoice.Amount\r\n* AccountView: AccountsReceivable.Amount\r\n* PowerOfficeGo: OutgoingInvoiceListItem.TotalAmount\r\n* AfasSB: Debtorinvoicebalance.TotalAmount\r\n* Sage50Uk: Invoice.GrossAmount\r\n* Adsolut: OpenTransaction.TotalAmount", "format": "double" }, "foreignInvoiceAmount": { "type": "number", "description": "The total amount of the invoice in the foreign currency\r\n* ECI Financials: AccountsReceivable.AmountCur\r\n* Xero: n/a\r\n* TripleTex: Invoice.AmountCurrency\r\n* AccountView: AccountsReceivable.AmountCur\r\n* PowerOfficeGo: OutgoingInvoiceListItem.TotalAmount * OutgoingInvoiceListItem.CurrencyExchangeRate\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: OpenTransaction.CurrencyTotalAmount", "format": "double", "nullable": true } }, "additionalProperties": false, "description": "Outstanding liabilities for customers. These are the invoices that still have to be paid by customers. In the V1 API, this is called CreditMemoModel." }, "SalesOutstandingItemList": { "required": [ "data", "listContext" ], "type": "object", "properties": { "listContext": { "allOf": [ { "$ref": "#/components/schemas/ListContext" } ] }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/SalesOutstandingItem" } } }, "additionalProperties": false }, "Supplier": { "required": [ "name" ], "type": "object", "properties": { "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the\r\nrecord.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "company": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "To be used when creditor and debtor are the same record in the financial package\r\n* ECI Financials: Company.Code\r\n* Xero:\r\n - id = Contact.Id\r\n - code = Contact.ContactNumber\r\n* TripleTex: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Code\r\n* TripleTex:\r\n - id = Supplier.Id\r\n - code = Supplier.SupplierNumber\r\n* PowerOfficeGo:\r\n - id = Supplier.Id\r\n - code = Supplier.ExternalCode\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "searchCode": { "type": "string", "description": "Optional field in ERP. If mandatory in AFM, copy the company code for the max number of characters of the AFM.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "name": { "type": "string", "description": "The name of the supplier. Usually this is the company or\r\norganization name.\r\n* ECI Financials: Company.Name\r\n* Xero: Contact.Name\r\n* TripleTex: Supplier.Name\r\n* AccountView: Company.Name\r\n* PowerOfficeGo: Supplier.Name\r\n* AfasSB: Organisation.Tradename\r\n* Sage50Uk: n/a\r\n* Adsolut: Supplier.Name" }, "currencyCode": { "type": "string", "description": "The (ISO 4217) currency code for billing.\r\n* ECI Financials: Company.Currency\r\n* Xero: Contact.DefaultCurrency\r\n* TripleTex: Supplier.Currency.Code\r\n* AccountView: Company.Currency\r\n* PowerOfficeGo: Supplier.Currency.Code\r\n* AfasSB: n/a\r\n* Sage50Uk: Supplier.CurrencyCode\r\n* Adsolut: n/a", "nullable": true }, "taxIdentifier": { "type": "string", "description": "The `VAT number` or `Tax identifier` of the company.\r\n* ECI Financials: Company.VatNumber\r\n* Xero: Contact.TaxNumber\r\n* TripleTex: n/a\r\n* AccountView: Company.VatNumber\r\n* PowerOfficeGo: Supplier.VatNumber\r\n* AfasSB: Organisation.VatNumber\r\n* Sage50Uk: Supplier.VATNumber\r\n* Adsolut: Supplier.VatNumber", "nullable": true }, "taxCode": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "VAT Code.\r\n* ECI Financials: n/a\r\n* Xero: Customer.AccountsReceivableTaxType\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Supplier.DefTaxCode\r\n* Adsolut: Supplier.VatPercentageId", "nullable": true }, "chamberOfCommerceNumber": { "type": "string", "description": "The chamber of commerce number of the company.\r\n* ECI Financials: Company.ChamberOfCommerceNr\r\n* Xero: Contact.CompanyNumber\r\n* TripleTex: Supplier.OrganizationNumber\r\n* AccountView: Company.ChamberOfCommerceNr\r\n* PowerOfficeGo: n/a\r\n* AfasSB: Organisation.CocNumber\r\n* Sage50Uk: Supplier.EoriNumber\r\n* Adsolut: n/a", "nullable": true }, "language": { "type": "string", "description": "The language code of the supplier. Should be filled with `ISO code 639 - 2T`.\r\nAny conversion should be performed by ERP or AFM.\r\n* ECI Financials: Company.Language\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Language\r\n* PowerOfficeGo: Supplier.Language\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: Supplier.Language", "nullable": true }, "email": { "type": "string", "description": "The main email address of the supplier.\r\n* ECI Financials: Company.Email\r\n* Xero: n/a\r\n* TripleTex: Supplier.Email\r\n* AccountView: Company.Email\r\n* PowerOfficeGo: Supplier.EmailAddress\r\n* AfasSB: Organisation.EmailAddress\r\n* Sage50Uk: n/a\r\n* Adsolut: Supplier.Email", "nullable": true }, "fax": { "type": "string", "description": "The fax number of the supplier. You never know when you\r\nmight need it.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: Supplier.Fax", "nullable": true }, "phonePrimary": { "type": "string", "description": "The primary phone number of the company.\r\n* ECI Financials: Company.Phone\r\n* Xero: n/a\r\n* TripleTex: Supplier.PhoneNumber\r\n* AccountView: Company.Phone\r\n* PowerOfficeGo: Supplier.PhoneNumber\r\n* AfasSB: Organisation.PhoneNumber\r\n* Sage50Uk: Supplier.Telephone2\r\n* Adsolut: Supplier.Phone", "nullable": true }, "webAddress": { "type": "string", "description": "The website address of the company.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: Supplier.Website\r\n* AccountView: n/a\r\n* PowerOfficeGo: Supplier.WebsiteUrl\r\n* AfasSB: Website\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "creditLimit": { "type": "number", "description": "The credit limit of us at the supplier.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "format": "double" }, "purchaseDiscount": { "type": "number", "description": "The default discount when purchasing from this supplier.\r\n* ECI Financials: n/a\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: Supplier.DiscountRate\r\n* Adsolut: Supplier.FinancialDiscountPercentage", "format": "double" }, "paymentCondition": { "allOf": [ { "$ref": "#/components/schemas/PaymentCondition" } ], "description": "The payment term/condition details for this supplier.", "nullable": true }, "blocked": { "type": "boolean", "description": "Supplier is blocked, e.g. you cannot buy from this supplier.\r\n* ECI Financials: Company.Status\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Status\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "postalAddress": { "allOf": [ { "$ref": "#/components/schemas/Address" } ], "description": "The address where all mail should be sent.\r\n* ECI Financials: Company.BillingAddress & Company.PostalAddress\r\n* Xero: AddressTypeEnum.POBOX\r\n* TripleTex: Supplier.PostalAddress\r\n* AccountView: Company.BillingAddress & Company.PostalAddress\r\n* PowerOfficeGo: Supplier.MailAddress\r\n* AfasSB: \r\n - City = Address.CityName\r\n - Country = Address.CountryCode\r\n - HouseNumber = Address.HouseNumber\r\n - HouseNumberExtension = Address.HouseNumberAddition\r\n - PostalCode = Address.PostalZone\r\n - StateProv = Address.State\r\n - Street = Address.StreetName\r\n - true = Address.PreferredBillingAddress\r\n* Sage50Uk: Supplier.DefaultAddress\r\n* Adsolut: Supplier.PostalAddress" }, "visitingAddress": { "allOf": [ { "$ref": "#/components/schemas/Address" } ], "description": "The address of the physical site or residence of the\r\ncompany or organization.\r\n* ECI Financials: Company.BusinessAddress\r\n* Xero: AddressTypeEnum.Street\r\n* TripleTex: Supplier.PhysicalAddress\r\n* AccountView: Company.BusinessAddress\r\n* PowerOfficeGo: Supplier.StreetAddress\r\n* AfasSB: \r\n - City = Address.CityName\r\n - Country = Address.CountryCode\r\n - HouseNumber = Address.HouseNumber\r\n - HouseNumberExtension = Address.HouseNumberAddition\r\n - PostalCode = Address.PostalZone\r\n - StateProv = Address.State\r\n - Street = Address.StreetName\r\n - true = Address.PreferredSupplierAddress\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a" }, "mainContact": { "allOf": [ { "$ref": "#/components/schemas/Contact" } ], "description": "The main contact of this customer.\r\n* ECI Financials: Contacts collection\r\n* Xero:\r\n - FirstName = Supplier.FirstName\r\n - LastName = Supplier.LastName\r\n - PrimairyPhone = Supplier.PhoneTypeEnum.Default\r\n - Fax = Supplier.PhoneTypeEnum.Fax\r\n - MobilePhone = Supplier.PhoneTypeEnum.Mobile\r\n - Email = Supplier.EmailAddress\r\n* TripleTex: \r\n - Id = Contact.Id\r\n - FirstName LastName = Contact.DisplayName\r\n - PhoneMobile = Contact.PhoneNumberMobile\r\n - PhonePrimairy = Contact.PhoneNumberWork\r\n* AccountView: Contacts collection\r\n* PowerOfficeGo:\r\n - Id = Contact.Id\r\n - code = Contact.ExternalCode\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PhonePrimary = Contact.PhoneNumber\r\n - Email = Contact.EmailAddress\r\n - Dob = Contact.DataOfBirth\r\n* AfasSB: \r\n - Id = Contact.Id\r\n - Code = Contact.ExternalId\r\n - Email = Contact.EmailAddress\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PhonePrimary = Contact.PhoneNumber\r\n - Initials = Contact.Initials\r\n - LastNamePrefix = Contact.Prefix\r\n* Sage50Uk: \r\n - Id = Contact.ContactId\r\n - FirstName = Contact.Name\r\n - LastNamePrefix = Contact.Name\r\n - LastName = Contact.Name\r\n - PhonePrimary = Contact.Telephone\r\n* Adsolut:\r\n - Id = Contact.Id\r\n - FirstName = Contact.FirstName\r\n - LastName = Contact.LastName\r\n - PhonePrimary = Contact.PhonePrimary\r\n - PhoneMobile = Contact.ModiblePhone\r\n - Fax = Contact.Fax\r\n - Email = Contact.EmailAddress\r\n - Dob = Contact.DateOfBirth", "nullable": true }, "bankAccount": { "allOf": [ { "$ref": "#/components/schemas/BankAccount" } ], "description": "The bank account of this customer. \r\n* ECI Financials: Company properties\r\n* Xero: \r\n - BankAccountDetails = BankAccount.AccountNumber\r\n - BatchPayments.BankAccountNumber = BankAccount.Number;\r\n - BankAccountDetails = BankAccount.Number; \r\n - BatchPayments.BankAccountName = BankAccount.BankName;\r\n* TripleTex:\r\n - BankAccount.Bic = BankAccountPresentation.Bic\r\n - BankAccount.Iban = BankAccountPresentation.Iban \r\n - BankAccount.Country BankAccountPresentation.Country.IsoAlpha2Code\r\n* AccountView: Company properties\r\n* PowerOfficeGo:\r\n - BankAccount.Id = BankAccount.Id\r\n - BankAccount.Bic = BankAccount.BicSwift\r\n - BankAccount.Number = BankAccount.Code\r\n - BankAccount.Iban = BankAccount.Code\r\n - BankAccount.Country = BankAccount.CountryCode\r\n* AfasSB:\r\n - BankAccount.Iban = BankAccount.AccountNumber\r\n - BankAccount.BankName = BankAccount.BankId\r\n - BankAccount.Bic = BankAccount.Bic\r\n - BankAccount.Country = BankAccount.CountryCode\r\n - true = BankAccount.PreferredIncomingPayments\r\n - true = BankAccount.PreferredOutgoingPayments\r\n* Sage50Uk:\r\n - BankAccount.Number = Customer.BankAccountNumber\r\n - BankAccount.Bic = Customer.BicSwift\r\n - BankAccount.Iban = Customer.Iban\r\n* Adsolut:\r\n - BankAccount.Bic = BankAccount.BicCode\r\n - BankAccount.Iban = BankAccount.Iban", "nullable": true }, "frozenBankAccount": { "allOf": [ { "$ref": "#/components/schemas/BankAccount" } ], "description": "The frozen bank account of this customer. \r\n* ECI Financials: Company properties\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company properties\r\n* PowerOfficeGo: n/a\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "group": { "type": "string", "description": "The group the customer belongs to\r\n* ECI Financials: Company.Group\r\n* Xero: n/a\r\n* TripleTex: n/a\r\n* AccountView: Company.Group\r\n* PowerOfficeGo: Supplier.ContactGroup\r\n* AfasSB: n/a\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "code": { "type": "string", "description": "The natural key of this entity.", "nullable": true }, "id": { "type": "string", "description": "The unique Id of this entity.", "nullable": true } }, "additionalProperties": false, "description": "

Model for supplier data, also known as vendor or creditor.

\r\n\r\n* Code: \r\n + ECI Financials: Company.OldCreditorCode\r\n + Xero: Contact.AccountNumber\r\n + PowerOfficeGo: n/a\r\n + TripleTex: Supplier.SupplierNumber\r\n + AccountView: Company.OldCreditorCode\r\n + AfasSB: Organisation.Name\r\n + Sage50Uk: Supplier.AccountRef\r\n + Adsolut: Supplier.Code" }, "TaxCode": { "required": [ "code" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of the tax code.\r\n* ECI Financials: n/a\r\n* Xero: TaxCode.Name\r\n* TripleTex: n/a\r\n* AccountView: n/a\r\n* PowerOfficeGo: VatCode.Name\r\n* Sage50Uk: TaxCode.Description\r\n* Adsolut: TaxCode.Name", "nullable": true }, "isActive": { "type": "boolean", "description": "Indicates if the tax code is active.\r\n* ECI Financials: n/a\r\n* Xero: TaxCode.Status\r\n* TripleTex: Always True\r\n* AccountView: n/a\r\n* PowerOfficeGo: VatCode.IsActive\r\n* Sage50Uk: n/a\r\n* Adsolut: n/a", "nullable": true }, "code": { "allOf": [ { "$ref": "#/components/schemas/Entity" } ], "description": "The identifier of the tax rate.\r\n* ECI Financials: n/a\r\n* Xero: Code = TaxCode.TaxType\r\n* TripleTex: \r\n - Code = VatType.Number\r\n - Id = VatType.Id\r\n* AccountView: n/a\r\n* PowerOfficeGo:\r\n - Code = VatCode.Code\r\n - Id = VatCode.Id\r\n* Sage50Uk: Id = TaxCode.Index\r\n* Adsolut: Id = TaxCode.Id" }, "rates": { "type": "array", "items": { "$ref": "#/components/schemas/TaxRate" } } }, "additionalProperties": false, "description": "

Model for Tax data, also known as VAT.

" }, "TaxRate": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the tax rate.\r\n* ECI Financials: n/a\r\n* Xero: TaxRate.Name\r\n* TripleTex: VatType.DisplayName\r\n* AccountView: n/a\r\n* PowerOfficeGo: VatCode.Name\r\n* Sage50Uk: TaxRate.Description\r\n* Adsolut: TaxRate.Name", "nullable": true }, "rate": { "type": "number", "description": "VAT rate\r\n* ECI Financials: n/a\r\n* Xero: TaxRate.Rate\r\n* TripleTex: VatType.Percentage\r\n* AccountView: n/a\r\n* PowerOfficeGo: VatCode.Rate\r\n* Sage50Uk: TaxRate.Rate\r\n* Adsolut: TaxRate.Percentage", "format": "double", "nullable": true } }, "additionalProperties": false, "description": "

Model for Tax rate data, wich contains a name and a percentage.

" } }, "securitySchemes": { "Bearer": { "type": "oauth2", "description": "Use the Authentication API OAuth endpoints", "flows": { "clientCredentials": { "tokenUrl": "https://api-user.integrations.ecimanufacturing.com/oauth2/api-user/token", "scopes": { "openid": "openid" } } } } } }, "security": [ { "Bearer": [ ] } ] }