openapi: 3.1.0 info: title: Sync for Expenses version: prealpha contact: name: Codat url: 'https://www.codat.io/' email: expenses@codat.io description: |- The API for Sync for Expenses. Sync for Expenses is an API and a set of supporting tools. It has been built to enable corporate card and expense management platforms to provide high-quality integrations with multiple accounting software through a standardized API. [Explore product](https://docs.codat.io/sync-for-expenses/overview) | [See our OpenAPI spec](https://github.com/codatio/oas) Not seeing the endpoints you're expecting? We've [reorganized our products](https://docs.codat.io/updates/230901-new-products), and you may be using a [different version of Sync for Expenses](https://docs.codat.io/sync-for-expenses-v1-api#/). --- ## Endpoints | Endpoints | Description | | :- |:- | | Companies | Create and manage your SMB users' companies. | | Connections | Create new and manage existing data connections for a company. | | Configuration | View and manage mapping configuration and defaults for expense transactions. | | Sync | Monitor the status of data syncs. | | Expenses | Create and update transactions that represent your customers' spend. | | Transfers | Create and update transactions that represent the movement of your customers' money. | | Reimbursements | Create and update transactions that represent your customers' repayable spend. | | Attachments | Attach receipts to a transaction for a complete audit trail. | | Transaction status | Monitor the status of individual transactions in data syncs. | | Manage data | Control and monitor the retrieval of data from an integration. | | Push operations | View historic push operations. | | Accounts | Create accounts and view account schemas. | | Customers | Get, create, and update customers. | | Suppliers | Get, create, and update suppliers. | termsOfService: 'https://www.codat.io/legals/' security: - auth_header: [] x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 408 - 429 - 5XX retryConnectionErrors: true x-speakeasy-name-override: - operationId: ^list-.*? methodNameOverride: list - operationId: ^list-.*?-attachments methodNameOverride: list-attachments - operationId: ^get-.*? methodNameOverride: get - operationId: ^get-create-.*?-model methodNameOverride: get-create-model - operationId: ^get-create-update.*?-model methodNameOverride: get-create-update-model - operationId: ^get-.*?-attachment methodNameOverride: get-attachment - operationId: ^update-.*? methodNameOverride: update - operationId: ^create-.*? methodNameOverride: create - operationId: ^delete-.*? methodNameOverride: delete - operationId: ^delete-.*?-attachment methodNameOverride: delete-attachment - operationId: ^download-.*?-attachment methodNameOverride: download-attachment - operationId: ^upload-.*?-attachment methodNameOverride: upload-attachment x-codat-docs-path: sync-for-expenses-api x-codat-keep-docs-paths-local: true x-codat-speakeasy-pagination: type: offsetLimit inputs: - name: page in: parameters type: page outputs: results: $.results tags: - name: Companies description: Create and manage your SMB users' companies. - name: Connections description: Create new and manage existing data connections for a company. - name: Configuration description: View and manage mapping configuration and defaults for expense transactions. - name: Sync description: Monitor the status of data syncs. - name: Expenses description: Create and update transactions that represent your customers' spend. - name: Transfers description: Create and update transactions that represent the movement of your customers' money. - name: Adjustments description: Create transactions that represent your adjustments to your customers' spend. - name: Reimbursements description: Create and update transactions that represent your customers' repayable spend. - name: Attachments description: Attach receipts to a transaction for a complete audit trail. - name: Transaction status description: Monitor the status of individual transactions in data syncs. - name: Manage data description: Control and monitor the retrieval of data from an integration. - name: Mapping options description: 'Get accounts, trackingCategories and taxRates that can be used in your create and update requests.' - name: Push operations description: View historic push operations. - name: Accounts description: Create accounts and view create account options. - name: Bank accounts description: Create bank accounts and view create bank account options. - name: Customers description: 'Get, create, and update customers.' - name: Suppliers description: 'Get, create, and update suppliers.' servers: - url: 'https://api.codat.io' paths: /companies: get: summary: List companies tags: - Companies responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Companies' examples: One company: value: results: - id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 name: My Test Company description: My Test Company make testing software platform: '' redirect: 'https://link.codat.io/company/3fa85f64-5717-4562-b3fc-2c963f66afa6' lastSync: '2022-01-01T12:30:00.000Z' dataConnections: - id: 51baa045-4836-4317-a42e-3542e991e581 integrationId: 1c312d69-e638-46d4-ad31-72e6c3ba8390 integrationKey: vjms sourceId: 396c3158-5dd7-481b-a7c4-a795ca31792b platformName: Pandle linkUrl: 'https://link-api.codat.io/companies/3fa85f64-5717-4562-b3fc-2c963f66afa6/connections/51baa045-4836-4317-a42e-3542e991e581/start' status: Linked lastSync: '2022-01-01T12:30:00.000Z' created: '2022-01-01T11:30:00Z' sourceType: Accounting created: '2022-01-01T11:30:00Z' createdByUserName: Mike Smith pageNumber: 1 pageSize: 100 totalResults: 1 _links: current: href: /companies?page=1&pageSize=100 self: href: /companies List of Companies: value: results: - id: d1568dde-adf6-11ed-afa1-0242ac120002 name: Technicalium description: 'Technology services, including web and app design and development' platform: '' redirect: 'https://link.codat.io/company/d1568dde-adf6-11ed-afa1-0242ac120002' lastSync: '2022-01-01T12:30:00.000Z' dataConnections: - id: 51baa045-4836-4317-a42e-3542e991e581 integrationId: 1c312d69-e638-46d4-ad31-72e6c3ba8390 integrationKey: vjms sourceId: 396c3158-5dd7-481b-a7c4-a795ca31792b platformName: Pandle linkUrl: 'https://link-api.codat.io/companies/d1568dde-adf6-11ed-afa1-0242ac120002/connections/51baa045-4836-4317-a42e-3542e991e581/start' status: Linked lastSync: '2022-01-01T12:30:00.000Z' created: '2022-01-01T11:30:00Z' sourceType: Accounting created: '2022-01-01T11:30:00Z' createdByUserName: Joe Bloggs - id: 096db70b-78de-4ff0-aa98-299cb5fe17a0 name: Godata description: A new digital agency with a passion for creating amazing digital experiences platform: '' redirect: 'https://link.codat.io/company/096db70b-78de-4ff0-aa98-299cb5fe17a0' lastSync: '2022-01-01T12:30:00.000Z' dataConnections: - id: a70bc148-dc21-46b2-a257-d9c58ac15cbb integrationId: 1c312d69-e638-46d4-ad31-72e6c3ba8390 integrationKey: vjms sourceId: 396c3158-5dd7-481b-a7c4-a795ca31792b platformName: Pandle linkUrl: 'https://link-api.codat.io/companies/096db70b-78de-4ff0-aa98-299cb5fe17a0/connections/a70bc148-dc21-46b2-a257-d9c58ac15cbb/start' status: Linked lastSync: '2022-01-01T12:30:00.000Z' created: '2022-01-01T11:30:00Z' sourceType: Accounting created: '2022-01-01T11:30:00Z' createdByUserName: Mike Smith pageNumber: 1 pageSize: 100 totalResults: 2 _links: current: href: /companies?page=1&pageSize=100 self: href: /companies '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' operationId: list-companies description: "\uFEFFThe *List companies* endpoint returns a list of [companies] associated to your instances.\n\nA [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) to different data sources, such as one connection to Xero for accounting data, two connections to Plaid for two bank accounts, and a connection to Zettle for POS data." parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' post: summary: Create company tags: - Companies operationId: create-company responses: '200': description: OK content: application/json: x-speakeasy-usage-example: true schema: $ref: '#/components/schemas/Company' examples: With no description: value: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Technicalium description: '' platform: '' redirect: 'https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0' dataConnections: [] created: '2022-11-10T10:45:18.1950523Z' createdByUserName: Dan Tzabar With a description: value: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Technicalium description: 'Technology services, including web and app design and development' platform: '' redirect: 'https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0' dataConnections: [] created: '2022-11-10T10:45:18.1950523Z' createdByUserName: Dan Tzabar With a tag: value: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Technicalium description: '' platform: '' redirect: 'https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0' dataConnections: [] created: '2022-11-10T10:45:18.1950523Z' createdByUserName: Dan Tzabar tags: region: us '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: "\uFEFFUse the *Create company* endpoint to create a new [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) that represents your customer in Codat. \n\nA [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) to different data sources, such as one connection to Xero for accounting data, two connections to Plaid for two bank accounts, and a connection to Zettle for POS data.\n\nIf forbidden characters (see `name` pattern) are present in the request, a company will be created with the forbidden characters removed. For example, `Company (Codat[1])` with be created as `Company Codat1`." requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyRequestBody' examples: With no description: value: name: Technicalium With a description: value: name: Technicalium description: 'Technology services, including web and app design and development' '/companies/{companyId}': put: summary: Update company description: "\uFEFFUse the *Update company* endpoint to update both the name and description of the company. \n\nA [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) to different data sources, such as one connection to Xero for accounting data, two connections to Plaid for two bank accounts, and a connection to Zettle for POS data." operationId: update-company parameters: - $ref: '#/components/parameters/companyId' tags: - Companies responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Company' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyRequestBody' examples: Update name: value: name: New Name Update description: value: name: Same name description: Additional documents required delete: summary: Delete a company operationId: delete-company parameters: - $ref: '#/components/parameters/companyId' description: "\uFEFFThe *Delete company* endpoint permanently deletes a [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company), its [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) and any cached data. This operation is irreversible.\n\nA [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) to different data sources, such as one connection to Xero for accounting data, two connections to Plaid for two bank accounts, and a connection to Zettle for POS data.\n" tags: - Companies responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' get: summary: Get company operationId: get-company description: "\uFEFFThe *Get company* endpoint returns a single company for a given `companyId`.\n\nA [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) to different data sources, such as one connection to Xero for accounting data, two connections to Plaid for two bank accounts, and a connection to Zettle for POS data.\n" parameters: - $ref: '#/components/parameters/companyId' tags: - Companies responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Company' examples: Simple company: value: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: My First Company description: '' platform: '' redirect: 'https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0' dataConnections: [] created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/connections': get: summary: List connections description: "\uFEFFList the connections for a company." operationId: list-connections tags: - Connections parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Connections' examples: Connections: value: results: - id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c integrationKey: dfxm sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee platformName: Basiq linkUrl: 'https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start' status: Linked lastSync: '2022-10-27T10:22:43.6464237Z' created: '2022-10-27T09:53:29Z' sourceType: Banking pageNumber: 0 pageSize: 0 totalResults: 0 _links: self: href: string current: href: string next: href: string previous: href: string '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' post: summary: Create connection description: "\uFEFFCreates a connection for the company by providing a valid `platformKey`. \n\nUse the [List Integrations](https://docs.codat.io/sync-for-expenses-api#/operations/list-integrations) endpoint to access valid platform keys. " parameters: - $ref: '#/components/parameters/companyId' tags: - Connections operationId: create-connection requestBody: content: application/json: schema: type: object properties: platformKey: type: string minLength: 4 maxLength: 4 pattern: '[a-z]{4}' example: gbol description: 'A unique 4-letter key to represent a platform in each integration. View [accounting](https://docs.codat.io/integrations/accounting/overview#platform-keys), [banking](https://docs.codat.io/integrations/banking/overview#platform-keys), and [commerce](https://docs.codat.io/integrations/commerce/overview#platform-keys) platform keys.' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Connection' examples: Connection: value: id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c integrationKey: dfxm sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee platformName: Basiq linkUrl: 'https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start' status: Linked lastSync: '2022-10-27T10:22:43.6464237Z' created: '2022-10-27T09:53:29Z' sourceType: Banking '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/connections/{connectionId}': get: summary: Get connection operationId: get-connection description: "\uFEFFReturns a specific connection for a company when valid identifiers are provided. If the identifiers are for a deleted company and/or connection, a not found response is returned." tags: - Connections parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Connection' examples: Connection: value: id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c integrationKey: dfxm sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee platformName: Basiq linkUrl: 'https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start' status: Linked lastSync: '2022-10-27T10:22:43.6464237Z' created: '2022-10-27T09:53:29Z' sourceType: Banking '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' delete: summary: Delete connection operationId: delete-connection description: "\uFEFFRevoke and remove a connection from a company.\nThis operation is not reversible. The end user would need to reauthorize a new data connection if you wish to view new data for this company." parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' tags: - Connections responses: '200': description: OK '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' patch: summary: Unlink connection description: "\uFEFFThis allows you to deauthorize a connection, without deleting it from Codat. This means you can still view any data that has previously been pulled into Codat, and also lets you re-authorize in future if your customer wishes to resume sharing their data." operationId: unlink-connection x-speakeasy-name-override: unlink tags: - Connections parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Connection' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: title: Update connection x-internal: true type: object properties: status: $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus' description: The current authorization status of the data connection. nullable: true additionalProperties: false examples: Example: value: status: Unlinked description: '' '/companies/{companyId}/sync/expenses/connections/partnerExpense': post: tags: - Connections description: Creates a partner expense data connection summary: Create partner expense connection operationId: create-partner-expense-connection x-speakeasy-name-override: create-partner-expense-connection parameters: - $ref: '#/components/parameters/companyId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Connection' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/sync/expenses/config': get: tags: - Configuration parameters: - $ref: '#/components/parameters/companyId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CompanyConfiguration' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: Get company configuration description: Gets a company's expense sync configuration operationId: get-company-configuration post: tags: - Configuration parameters: - $ref: '#/components/parameters/companyId' requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyConfiguration' examples: {} responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CompanyConfiguration' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: Set company configuration description: Sets a company's expense sync configuration operationId: set-company-configuration x-speakeasy-name-override: set parameters: - $ref: '#/components/parameters/companyId' '/companies/{companyId}/sync/expenses/mappingOptions': get: tags: - Mapping options parameters: - $ref: '#/components/parameters/companyId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MappingOptions' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: 'Gets the mapping options (accounts, trackingCategories and taxRates) for a company''s accounting software' summary: Mapping options operationId: get-mapping-options x-speakeasy-name-override: get-mapping-options parameters: - $ref: '#/components/parameters/companyId' '/companies/{companyId}/sync/expenses/syncs/lastSuccessful/status': get: tags: - Sync parameters: - $ref: '#/components/parameters/companyId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CompanySyncStatus' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: Gets the status of the last successful sync summary: Last successful sync operationId: get-last-successful-sync x-speakeasy-name-override: get-last-successful-sync parameters: - $ref: '#/components/parameters/companyId' '/companies/{companyId}/sync/expenses/syncs/latest/status': get: tags: - Sync parameters: - $ref: '#/components/parameters/companyId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CompanySyncStatus' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: Gets the latest sync status summary: Latest sync status operationId: get-latest-sync x-speakeasy-name-override: get-latest-sync parameters: - $ref: '#/components/parameters/companyId' '/companies/{companyId}/sync/expenses/syncs/list/status': parameters: - $ref: '#/components/parameters/companyId' get: tags: - Sync responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/CompanySyncStatus' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: List sync statuses description: Gets a list of sync statuses operationId: list-syncs '/companies/{companyId}/sync/expenses/syncs/{syncId}/status': get: tags: - Sync parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CompanySyncStatus' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: Get sync status description: Get the sync status for a specified sync operationId: get-sync-by-id parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions': get: parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Transactions' examples: {} '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' tags: - Transaction status summary: List sync transactions description: Gets the transactions and status for a sync operationId: list-sync-transactions parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions/{transactionId}': get: parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' - $ref: '#/components/parameters/transactionId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' tags: - Transaction status summary: Get sync transaction description: Gets the status of a transaction for a sync operationId: get-sync-transaction parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' - $ref: '#/components/parameters/transactionId' '/companies/{companyId}/sync/expenses/expense-transactions': parameters: - $ref: '#/components/parameters/companyId' post: summary: Create expense transaction operationId: create-expense-transaction description: |- The *Create expense* endpoint creates an [expense transaction](https://docs.codat.io/sync-for-expenses-api#/schemas/ExpenseTransaction) in the accounting software for a given company's connection. [Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/ExpenseTransaction) represent transactions made with a company debit or credit card. ### Supported Integrations | Integration | Supported | |-------------------------------|-----------| | Dynamics 365 Business Central | Yes | | FreeAgent | Yes | | QuickBooks Desktop | Yes | | QuickBooks Online | Yes | | Oracle NetSuite | Yes | | Xero | Yes | tags: - Expenses responses: '200': description: OK content: application/json: x-speakeasy-usage-example: true schema: $ref: '#/components/schemas/CreateExpenseResponse' examples: Example 1: value: syncId: cd937d46-8e41-43a9-9477-a79158ffd98a '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateExpenseRequest' examples: Payment: value: - id: 4d7c6929-7770-412b-91bb-44d3bc71d111 type: Payment issueDate: '2024-05-21T00:00:00+00:00' currency: GBP currencyRate: 1 contactRef: id: '430' type: Supplier bankAccountRef: id: '97' merchantName: Amazon UK notes: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: - netAmount: 100 taxAmount: 20 taxRateRef: id: 23_Bills accountRef: id: '35' trackingRefs: - id: DEPARTMENT_5 dataType: trackingCategories invoiceTo: id: '504' type: customer Refund: value: - id: 7008d3f2-aeb4-11ed-afa1-0242ac120002 type: Refund issueDate: '2024-02-17T00:00:00+00:00' currency: GBP contactRef: id: '430' type: Supplier bankAccountRef: id: '97' merchantName: Amazon UK notes: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: - netAmount: 100 taxAmount: 20 taxRateRef: id: 23_Bills accountRef: id: '42' trackingRefs: - id: DEPARTMENT_6 '/companies/{companyId}/sync/expenses/expense-transactions/{transactionId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/transactionId' put: summary: Update expense transactions tags: - Expenses responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/UpdateExpenseResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '422': $ref: '#/components/responses/Unprocessable-Content' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' operationId: update-expense-transaction description: |- The *Update expense* endpoint updates an existing [expense transaction](https://docs.codat.io/sync-for-expenses-api#/schemas/UpdateExpenseRequest) in the accounting software for a given company's connection. [Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/UpdateExpenseRequest) represent transactions made with a company debit or credit card. ### Supported Integrations The following integrations are supported for the [Payment](https://docs.codat.io/expenses/sync-process/expense-transactions#transaction-types) transaction `type` only: | Integration | Supported | |-----------------------|-----------| | FreeAgent | Yes | | QuickBooks Online | Yes | | Oracle NetSuite | Yes | | Xero | Yes | requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateExpenseRequest' examples: Payment: value: type: Payment issueDate: '2024-05-21T00:00:00+00:00' currency: GBP currencyRate: 1 contactRef: id: '430' type: Supplier bankAccountRef: id: '97' merchantName: Amazon UK notes: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: - netAmount: 100 taxAmount: 20 taxRateRef: id: 23_Bills accountRef: id: '35' trackingRefs: - id: DEPARTMENT_5 dataType: trackingCategories invoiceTo: id: '504' type: customer '/companies/{companyId}/sync/expenses/transfer-transactions/{transactionId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/transactionId' put: summary: Create transfer transaction operationId: create-transfer-transaction description: "Use the *Create transfer* endpoint to create or update a [transfer transaction](https://docs.codat.io/sync-for-expenses-api#/schemas/TransferTransactionRequest) in the accounting software for a given company's connection. \r\n\r\nTransfers record the movement of money between two bank accounts, or between a bank account and a nominal account. Use them to represent actions such as topping up a debit card account or a balance transfer to another credit card.\r\n\r\nThe `from.amount` and `to.amount` fields are in the native currency of the account.\r\n\r\n### Supported Integrations\r\n| Integration | Supported |\r\n|-----------------------|-----------|\r\n| FreeAgent | Yes |\r\n| QuickBooks Desktop | Yes |\r\n| QuickBooks Online | Yes |\r\n| Xero | Yes |" tags: - Transfers responses: '200': description: OK content: application/json: x-speakeasy-usage-example: true schema: $ref: '#/components/schemas/TransferTransactionResponse' examples: Example 1: value: syncId: cd937d46-8e41-43a9-9477-a79158ffd98a '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: $ref: '#/components/schemas/TransferTransactionRequest' examples: Create transfer: value: description: Sample transfer description date: '2021-05-21T00:00:00+00:00' from: accountRef: id: 787dfb37-5707-4dc0-8a86-8d74e4cc78ea amount: 100 to: accountRef: id: 777dfb37-5506-3dc0-6g86-8d34z4cc78ea amount: 100 '/companies/{companyId}/sync/expenses/adjustment-transactions': parameters: - $ref: '#/components/parameters/companyId' post: summary: Create adjustment transaction operationId: create-adjustment-transaction description: |- Use the *Create adjustment expense* endpoint to create an [adjustment](https://docs.codat.io/sync-for-expenses-api#/schemas/AdjustmentTransactionRequest) in the accounting software for a given company's connection. Adjustments represent write-offs and transaction alterations, such as foreign exchange adjustments, in the form of a journal entry. ### Supported Integrations | Integration | Supported | |-----------------------|-----------| | QuickBooks Desktop | Yes | tags: - Adjustments responses: '200': description: OK content: application/json: x-speakeasy-usage-example: true schema: $ref: '#/components/schemas/AdjustmentTransactionResponse' examples: Example 1: value: syncId: cd937d46-8e41-43a9-9477-a79158ffd98a '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAdjustmentRequest' examples: Create adjustment: value: - id: 3357b3df-5f2e-465d-b9ba-226519dbb8f1 date: '2024-05-21T00:00:00+00:00' currency: USD currencyRate: 1 reference: test reference lines: - amount: 50 accountRef: id: 80000018-1671793811 description: debit line trackingRefs: - id: 80000003-1674553958 dataType: trackingCategories invoiceTo: id: 80000002-1674552702 type: customer - amount: -50 accountRef: id: 80000028-1671794219 description: credit line trackingRefs: - id: 80000003-1674553958 dataType: trackingCategories '/companies/{companyId}/sync/expenses/reimbursable-expense-transactions': parameters: - $ref: '#/components/parameters/companyId' post: summary: Create reimbursable expense transaction operationId: create-reimbursable-expense-transaction description: "Use the *Create reimbursable expense* endpoint to submit an employee expense claim in the accounting platform for a given company's connection.\r\n\r\n[Reimbursable expense requests](https://docs.codat.io/sync-for-expenses-api#/schemas/ReimbursableExpenseTransactionRequest) are reflected in the accounting software in the form of **Bills** against an employee (who exists as a supplier in the accounting platform).\r\n\r\n### Supported Integrations\r\n| Integration | Supported |\r\n|-----------------------|-----------|\r\n| FreeAgent | Yes |\r\n| QuickBooks Desktop | Yes |\r\n| QuickBooks Online | Yes |\r\n| Oracle NetSuite | Yes |" tags: - Reimbursements responses: '200': description: OK content: application/json: x-speakeasy-usage-example: true schema: $ref: '#/components/schemas/CreateReimbursableExpenseResponse' examples: Example 1: value: syncId: cd937d46-8e41-43a9-9477-a79158ffd98a '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReimbursableExpenseTransactionRequest' examples: Create reimbursable expense: value: - id: 4d7c6929-7770-412b-91bb-44d3bc71d111 reference: expenses w/c 01/07 contactRef: id: '752' issueDate: '2024-05-21' dueDate: '2024-05-21' currency: GBP currencyRate: 1 notes: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: - description: Hotel netAmount: 100 taxAmount: 20 taxRateRef: id: 23_Bills accountRef: id: '35' trackingRefs: - id: DEPARTMENT_5 dataType: trackingCategories invoiceTo: id: '504' type: customer '/companies/{companyId}/sync/expenses/reimbursable-expense-transactions/{transactionId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/transactionId' put: summary: Update reimbursable expense transaction operationId: update-reimbursable-expense-transaction description: "The *Update reimbursable expense* endpoint updates an existing employee expense claim in the accounting platform for a given company's connection. \r\n\r\nUpdating an existing [reimbursable expense transaction](https://docs.codat.io/sync-for-expenses-api#/schemas/UpdateReimbursableExpenseTransactionRequest) will update the existing **bill** against an employee (who exists as a supplier in the accounting software).\r\n\r\n### Supported Integrations\r\n| Integration | Supported |\r\n|-----------------------|-----------|\r\n| FreeAgent | Yes |\r\n| QuickBooks Online | Yes |\r\n| Oracle NetSuite | Yes |" tags: - Reimbursements responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CreateReimbursableExpenseResponse' examples: Example 1: value: syncId: cd937d46-8e41-43a9-9477-a79158ffd98a '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateReimbursableExpenseTransactionRequest' examples: Update reimbursable expense: value: reference: expenses w/c 01/07 contactRef: id: '752' issueDate: '2024-05-21' dueDate: '2024-05-21' currency: GBP currencyRate: 1 notes: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: - description: Hotel netAmount: 100 taxAmount: 20 taxRateRef: id: 23_Bills accountRef: id: '35' trackingRefs: - id: DEPARTMENT_5 dataType: trackingCategories invoiceTo: id: '504' type: customer '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions/{transactionId}/attachments': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/syncId' - $ref: '#/components/parameters/transactionId' post: summary: Upload attachment operationId: upload-expense-attachment x-speakeasy-name-override: upload responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Attachment' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AttachmentUpload' tags: - Attachments description: |- The *Upload attachment* endpoint uploads an attachment in the accounting software against the given transactionId. [Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/ExpenseTransaction) represent transactions made with a company debit or credit card. Attachments for `Adjustment` and `Transfer` transaction types are not supported for any integrations. **Integration-specific behaviour** Each accounting software supports different file formats and sizes. | Integration | File size | File extension |Supported transaction type |-------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------|--------------| | **Xero** | 3 MB | 7Z, BMP, CSV, DOC, DOCX, EML, GIF, JPEG, JPG, KEYNOTE, MSG, NUMBERS, ODF, ODS, ODT, PAGES, PDF, PNG, PPT, PPTX, RAR, RTF, TIF, TIFF, TXT, XLS, XLSX, ZIP | All supported types | | **QuickBooks Online** | 100 MB | AI, CSV, DOC, DOCX, EPS, GIF, JPEG, JPG, ODS, PAGES, PDF, PNG, RTF, TIF, TXT, XLS, XLSX, XML | `ReimbursableExpenses`, `ExpensePayment`, `ExpenseRefund` | | **NetSuite** | 100 MB | BMP, CSV, XLS, XLSX, JSON, PDF, PJPG, PJPEG, PNG, TXT, SVG, TIF, TIFF, DOC, DOCX, ZIP |`ExpensePayment`, `ExpenseRefund` | | **Dynamics 365 Business Central** | 350 MB | [No explicit requirements outlined](https://learn.microsoft.com/en-gb/dynamics365/business-central/ui-how-add-link-to-record#to-attach-a-file-to-a-purchase-invoice) for text, image, and video files. | All supported types | **QuickBooks Desktop** | NA | Does not support attachment upload | N/A | | **FreeAgent** | 5MB | PNG, X-PNG, JPEG, PJG, GIF, X-PDF '/companies/{companyId}/data/all': parameters: - $ref: '#/components/parameters/companyId' post: summary: Refresh all data operationId: refresh-all-data-types responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: |- Refreshes all data types with `fetch on first link` set to `true` for a given company. This is an asynchronous operation, and will bring updated data into Codat from the linked integration for you to view. [Read more](https://docs.codat.io/core-concepts/data-type-settings) about data type settings and `fetch on first link`. tags: - Manage data '/companies/{companyId}/dataStatus': parameters: - $ref: '#/components/parameters/companyId' get: summary: Get data status operationId: get-data-status description: Get the state of each data type for a company tags: - Manage data responses: '200': description: OK content: application/json: schema: title: Data statuses x-internal: true type: object properties: accountTransactions: $ref: '#/components/schemas/DataStatus' nullable: true balanceSheet: $ref: '#/components/schemas/DataStatus' nullable: true bankAccounts: $ref: '#/components/schemas/DataStatus' nullable: true bankTransactions: $ref: '#/components/schemas/DataStatus' nullable: true billCreditNotes: $ref: '#/components/schemas/DataStatus' nullable: true billPayments: $ref: '#/components/schemas/DataStatus' nullable: true bills: $ref: '#/components/schemas/DataStatus' nullable: true cashFlowStatement: $ref: '#/components/schemas/DataStatus' nullable: true chartOfAccounts: $ref: '#/components/schemas/DataStatus' nullable: true company: $ref: '#/components/schemas/DataStatus' nullable: true creditNotes: $ref: '#/components/schemas/DataStatus' nullable: true customers: $ref: '#/components/schemas/DataStatus' nullable: true directCosts: $ref: '#/components/schemas/DataStatus' nullable: true directIncomes: $ref: '#/components/schemas/DataStatus' nullable: true invoices: $ref: '#/components/schemas/DataStatus' nullable: true itemReceipts: $ref: '#/components/schemas/DataStatus' nullable: true items: $ref: '#/components/schemas/DataStatus' nullable: true journalEntries: $ref: '#/components/schemas/DataStatus' nullable: true journals: $ref: '#/components/schemas/DataStatus' nullable: true paymentMethods: $ref: '#/components/schemas/DataStatus' nullable: true payments: $ref: '#/components/schemas/DataStatus' nullable: true profitAndLoss: $ref: '#/components/schemas/DataStatus' nullable: true purchaseOrders: $ref: '#/components/schemas/DataStatus' nullable: true salesOrders: $ref: '#/components/schemas/DataStatus' nullable: true suppliers: $ref: '#/components/schemas/DataStatus' nullable: true taxRates: $ref: '#/components/schemas/DataStatus' nullable: true trackingCategories: $ref: '#/components/schemas/DataStatus' nullable: true transfers: $ref: '#/components/schemas/DataStatus' nullable: true banking-accountBalances: $ref: '#/components/schemas/DataStatus' nullable: true banking-accounts: $ref: '#/components/schemas/DataStatus' nullable: true banking-transactionCategories: $ref: '#/components/schemas/DataStatus' nullable: true banking-transactions: $ref: '#/components/schemas/DataStatus' nullable: true commerce-companyInfo: $ref: '#/components/schemas/DataStatus' nullable: true commerce-customers: $ref: '#/components/schemas/DataStatus' nullable: true commerce-disputes: $ref: '#/components/schemas/DataStatus' nullable: true commerce-locations: $ref: '#/components/schemas/DataStatus' nullable: true commerce-orders: $ref: '#/components/schemas/DataStatus' nullable: true commerce-paymentMethods: $ref: '#/components/schemas/DataStatus' nullable: true commerce-payments: $ref: '#/components/schemas/DataStatus' nullable: true commerce-productCategories: $ref: '#/components/schemas/DataStatus' nullable: true commerce-products: $ref: '#/components/schemas/DataStatus' nullable: true commerce-taxComponents: $ref: '#/components/schemas/DataStatus' nullable: true commerce-transactions: $ref: '#/components/schemas/DataStatus' nullable: true examples: Example: value: accountTransactions: dataType: accountTransactions lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f balanceSheet: dataType: balanceSheet lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f bankAccounts: dataType: bankAccounts lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f bankTransactions: dataType: bankTransactions lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f billCreditNotes: dataType: billCreditNotes lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f billPayments: dataType: billPayments lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f bills: dataType: bills lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f cashFlowStatement: dataType: cashFlowStatement lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f chartOfAccounts: dataType: chartOfAccounts lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f company: dataType: company lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f creditNotes: dataType: creditNotes lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f customers: dataType: customers lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f directCosts: dataType: directCosts lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f directIncomes: dataType: directIncomes lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f invoices: dataType: invoices lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f itemReceipts: dataType: itemReceipts lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f items: dataType: items lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f journalEntries: dataType: journalEntries lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f journals: dataType: journals lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f paymentMethods: dataType: paymentMethods lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f payments: dataType: payments lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f profitAndLoss: dataType: profitAndLoss lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f purchaseOrders: dataType: purchaseOrders lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f salesOrders: dataType: salesOrders lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f suppliers: dataType: suppliers lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f taxRates: dataType: taxRates lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f trackingCategories: dataType: trackingCategories lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f transfers: dataType: transfers lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f banking-accountBalances: dataType: banking-accountBalances lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f banking-accounts: dataType: banking-accounts lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f banking-transactionCategories: dataType: banking-transactionCategories lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f banking-transactions: dataType: banking-transactions lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-companyInfo: dataType: commerce-companyInfo lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-customers: dataType: commerce-customers lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-disputes: dataType: commerce-disputes lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-locations: dataType: commerce-locations lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-orders: dataType: commerce-orders lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-paymentMethods: dataType: commerce-paymentMethods lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-payments: dataType: commerce-payments lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-productCategories: dataType: commerce-productCategories lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-products: dataType: commerce-products lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-taxComponents: dataType: commerce-taxComponents lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f commerce-transactions: dataType: commerce-transactions lastSuccessfulSync: '2022-01-01T00:00:00.000Z' currentStatus: Complete latestSyncId: d03b6979-eb3b-447a-a27a-13cf457a9f48 latestSuccessfulSyncId: 6883bba8-514d-423f-ba7f-c38285a80b7f '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/data/queue/{dataType}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/dataType' post: summary: Refresh data type operationId: refresh-data-type description: |- Refreshes a given data type for a given company. This is an asynchronous operation, and will bring updated data into Codat from the linked integration for you to view. tags: - Manage data parameters: - schema: type: string format: uuid in: query name: connectionId description: 'Optionally, provide a data connection id to only queue pull operations on that connection.' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PullOperation' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/data/history': parameters: - $ref: '#/components/parameters/companyId' get: summary: List pull operations tags: - Manage data operationId: list-pull-operations x-speakeasy-name-override: list-pull-operations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PullOperations' examples: Example: value: results: - id: 97d60846-f07a-4d42-b5a0-0bdcc6ebf56b companyId: 4645bd78-8988-45bc-ac9e-67ba5df6e4e5 connectionId: 51baa045-4836-4317-a42e-3542e991e581 dataType: invoices status: Initial requested: '2022-11-14T11:18:37.2798351Z' progress: 10 isCompleted: false isErrored: false _links: current: href: /companies/17129e41-5389-4f10-ac06-e0a37e47d177/data/history?page=1&pageSize=2 self: href: /companies/17129e41-5389-4f10-ac06-e0a37e47d177/data/history next: href: /companies/17129e41-5389-4f10-ac06-e0a37e47d177/data/history?page=2&pageSize=2 pageNumber: 0 pageSize: 0 totalResults: 0 '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: Gets the pull operation history (datasets) for a given company. parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' '/companies/{companyId}/data/history/{datasetId}': parameters: - $ref: '#/components/parameters/companyId' - name: datasetId in: path required: true schema: type: string format: uuid description: Unique identifier for the dataset that completed its sync. description: Unique identifier for the dataset that completed its sync. get: summary: Get pull operation operationId: get-pull-operation x-speakeasy-name-override: get-pull-operation tags: - Manage data responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PullOperation' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: Retrieve information about a single dataset or pull operation. '/companies/{companyId}/push': parameters: - $ref: '#/components/parameters/companyId' get: parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' summary: List push operations tags: - Push operations operationId: list-push-operations description: List push operation records. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PushOperations' examples: {} '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/push/{pushOperationKey}': parameters: - $ref: '#/components/parameters/companyId' - schema: type: string format: uuid name: pushOperationKey in: path required: true description: Push operation key. get: summary: Get push operation tags: - Push operations operationId: get-push-operation description: Retrieve push operation. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PushOperation' examples: {} '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' '/companies/{companyId}/connections/{connectionId}/push/accounts': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' post: tags: - Accounts summary: Create account parameters: - $ref: '#/components/parameters/timeoutInMinutes' - $ref: '#/components/parameters/allowSyncOnPushComplete' requestBody: content: application/json: schema: $ref: '#/components/schemas/Account/definitions/accountPrototype' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateAccountResponse' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: | The *Create account* endpoint creates a new [account](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) for a given company's connection. [Accounts](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) are the categories a business uses to record accounting transactions. **Integration-specific behaviour** Required data may vary by integration. To see what data to post, first call [Get create account model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-chartOfAccounts-model). Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=chartOfAccounts) for integrations that support creating an account. operationId: create-account '/companies/{companyId}/connections/{connectionId}/options/chartOfAccounts': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' get: summary: Get create account model tags: - Accounts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PushOption' examples: Exact (Netherlands): value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: [] information: - field: NominalCode details: Must be provided. name: type: String displayName: Name description: Name of the account required: true validation: warnings: [] information: - field: Name details: Must be provided. fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: Asset.Assets.Cash type: String displayName: Asset.Assets.Cash required: false - value: Asset.Assets.Bank type: String displayName: Asset.Assets.Bank required: false - value: Asset.Assets.PaymentServices type: String displayName: Asset.Assets.PaymentServices required: false - value: Asset.Assets.AccountsReceivable type: String displayName: Asset.Assets.AccountsReceivable required: false - value: Liability.EquityAndLiabilities.AccountsPayable type: String displayName: Liability.EquityAndLiabilities.AccountsPayable required: false - value: Asset.Assets.VAT type: String displayName: Asset.Assets.VAT required: false - value: Liability.EquityAndLiabilities.EmployeesPayable type: String displayName: Liability.EquityAndLiabilities.EmployeesPayable required: false - value: Asset.Assets.PrepaidExpenses type: String displayName: Asset.Assets.PrepaidExpenses required: false - value: Liability.EquityAndLiabilities.AccruedExpenses type: String displayName: Liability.EquityAndLiabilities.AccruedExpenses required: false - value: Liability.EquityAndLiabilities.IncomeTaxesPayable type: String displayName: Liability.EquityAndLiabilities.IncomeTaxesPayable required: false - value: Asset.Assets.FixedAssets type: String displayName: Asset.Assets.FixedAssets required: false - value: Asset.Assets.OtherAssets type: String displayName: Asset.Assets.OtherAssets required: false - value: Asset.Assets.AccumulatedDeprecation type: String displayName: Asset.Assets.AccumulatedDeprecation required: false - value: Asset.Assets.Inventory type: String displayName: Asset.Assets.Inventory required: false - value: Equity.EquityAndLiabilities.CapitalStock type: String displayName: Equity.EquityAndLiabilities.CapitalStock required: false - value: Equity.EquityAndLiabilities.RetainedEarnings type: String displayName: Equity.EquityAndLiabilities.RetainedEarnings required: false - value: Liability.EquityAndLiabilities.LongTermDebt type: String displayName: Liability.EquityAndLiabilities.LongTermDebt required: false - value: Liability.EquityAndLiabilities.CurrentPortionOfDebt type: String displayName: Liability.EquityAndLiabilities.CurrentPortionOfDebt required: false - value: Unknown.EquityAndLiabilities.Intercompany type: String displayName: Unknown.EquityAndLiabilities.Intercompany required: false - value: Unknown.General.General type: String displayName: Unknown.General.General required: false - value: Income.NetIncome.Revenue type: String displayName: Income.NetIncome.Revenue required: false - value: Expense.NetIncome.CostOfGoods type: String displayName: Expense.NetIncome.CostOfGoods required: false - value: Expense.NetIncome.OtherCosts type: String displayName: Expense.NetIncome.OtherCosts required: false - value: Expense.NetIncome.SalesGeneralAdministrativeExpenses type: String displayName: Expense.NetIncome.SalesGeneralAdministrativeExpenses required: false - value: Expense.NetIncome.DeprecationCosts type: String displayName: Expense.NetIncome.DeprecationCosts required: false - value: Expense.NetIncome.ResearchAndDevelopment type: String displayName: Expense.NetIncome.ResearchAndDevelopment required: false - value: Expense.NetIncome.EmployeeCosts type: String displayName: Expense.NetIncome.EmployeeCosts required: false - value: Expense.NetIncome.EmploymentCosts type: String displayName: Expense.NetIncome.EmploymentCosts required: false - value: Expense.ExceptionalIncome.ExceptionalCosts type: String displayName: Expense.ExceptionalIncome.ExceptionalCosts required: false - value: Income.ExceptionalIncome.ExceptionalIncome type: String displayName: Income.ExceptionalIncome.ExceptionalIncome required: false - value: Expense.ExceptionalIncome.IncomeTaxes type: String displayName: Expense.ExceptionalIncome.IncomeTaxes required: false - value: Income.ExceptionalIncome.InterestIncome type: String displayName: Income.ExceptionalIncome.InterestIncome required: false required: true validation: warnings: [] information: - field: FullyQualifiedCategory details: Must be provided. status: type: String displayName: Account Status description: The status of the account options: - value: Active type: String displayName: Active required: false - value: Pending type: String displayName: Pending required: false - value: Unknown type: String displayName: Unknown required: false required: true validation: warnings: [] information: - field: Status details: Must be provided. required: true Exact (UK): value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: [] information: - field: NominalCode details: Must be provided. name: type: String displayName: Name description: Name of the account required: true validation: warnings: [] information: - field: Name details: Must be provided. fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: Asset.Assets.Cash type: String displayName: Asset.Assets.Cash required: false - value: Asset.Assets.Bank type: String displayName: Asset.Assets.Bank required: false - value: Asset.Assets.PaymentServices type: String displayName: Asset.Assets.PaymentServices required: false - value: Asset.Assets.AccountsReceivable type: String displayName: Asset.Assets.AccountsReceivable required: false - value: Liability.EquityAndLiabilities.AccountsPayable type: String displayName: Liability.EquityAndLiabilities.AccountsPayable required: false - value: Asset.Assets.VAT type: String displayName: Asset.Assets.VAT required: false - value: Liability.EquityAndLiabilities.EmployeesPayable type: String displayName: Liability.EquityAndLiabilities.EmployeesPayable required: false - value: Asset.Assets.PrepaidExpenses type: String displayName: Asset.Assets.PrepaidExpenses required: false - value: Liability.EquityAndLiabilities.AccruedExpenses type: String displayName: Liability.EquityAndLiabilities.AccruedExpenses required: false - value: Liability.EquityAndLiabilities.IncomeTaxesPayable type: String displayName: Liability.EquityAndLiabilities.IncomeTaxesPayable required: false - value: Asset.Assets.FixedAssets type: String displayName: Asset.Assets.FixedAssets required: false - value: Asset.Assets.OtherAssets type: String displayName: Asset.Assets.OtherAssets required: false - value: Asset.Assets.AccumulatedDeprecation type: String displayName: Asset.Assets.AccumulatedDeprecation required: false - value: Asset.Assets.Inventory type: String displayName: Asset.Assets.Inventory required: false - value: Equity.EquityAndLiabilities.CapitalStock type: String displayName: Equity.EquityAndLiabilities.CapitalStock required: false - value: Equity.EquityAndLiabilities.RetainedEarnings type: String displayName: Equity.EquityAndLiabilities.RetainedEarnings required: false - value: Liability.EquityAndLiabilities.LongTermDebt type: String displayName: Liability.EquityAndLiabilities.LongTermDebt required: false - value: Liability.EquityAndLiabilities.CurrentPortionOfDebt type: String displayName: Liability.EquityAndLiabilities.CurrentPortionOfDebt required: false - value: Unknown.EquityAndLiabilities.Intercompany type: String displayName: Unknown.EquityAndLiabilities.Intercompany required: false - value: Unknown.General.General type: String displayName: Unknown.General.General required: false - value: Income.NetIncome.Revenue type: String displayName: Income.NetIncome.Revenue required: false - value: Expense.NetIncome.CostOfGoods type: String displayName: Expense.NetIncome.CostOfGoods required: false - value: Expense.NetIncome.OtherCosts type: String displayName: Expense.NetIncome.OtherCosts required: false - value: Expense.NetIncome.SalesGeneralAdministrativeExpenses type: String displayName: Expense.NetIncome.SalesGeneralAdministrativeExpenses required: false - value: Expense.NetIncome.DeprecationCosts type: String displayName: Expense.NetIncome.DeprecationCosts required: false - value: Expense.NetIncome.ResearchAndDevelopment type: String displayName: Expense.NetIncome.ResearchAndDevelopment required: false - value: Expense.NetIncome.EmployeeCosts type: String displayName: Expense.NetIncome.EmployeeCosts required: false - value: Expense.NetIncome.EmploymentCosts type: String displayName: Expense.NetIncome.EmploymentCosts required: false - value: Expense.ExceptionalIncome.ExceptionalCosts type: String displayName: Expense.ExceptionalIncome.ExceptionalCosts required: false - value: Income.ExceptionalIncome.ExceptionalIncome type: String displayName: Income.ExceptionalIncome.ExceptionalIncome required: false - value: Expense.ExceptionalIncome.IncomeTaxes type: String displayName: Expense.ExceptionalIncome.IncomeTaxes required: false - value: Income.ExceptionalIncome.InterestIncome type: String displayName: Income.ExceptionalIncome.InterestIncome required: false required: true validation: warnings: [] information: - field: FullyQualifiedCategory details: Must be provided. status: type: String displayName: Account Status description: The status of the account options: - value: Active type: String displayName: Active required: false - value: Pending type: String displayName: Pending required: false - value: Unknown type: String displayName: Unknown required: false required: true validation: warnings: [] information: - field: Status details: Must be provided. required: true MYOB AccountRight and Essentials: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: - field: NominalCode details: 'If alphanumeric is supported, must be between 1 and 10 characters. Otherwise format is x-xxxx' information: [] name: type: String displayName: Name description: Name of the account required: false validation: warnings: - field: Name details: Must have a length between 1 and 60 characters information: [] description: type: String displayName: Description description: Description of the account required: false validation: warnings: - field: Description details: Must have a length between 1 and 255 characters information: [] fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: Asset.Bank type: String displayName: Bank required: false - value: Asset.AccountReceivable type: String displayName: Accounts Receivable required: false - value: Asset.OtherCurrentAsset type: String displayName: Other Current Asset required: false - value: Asset.FixedAsset type: String displayName: Fixed Asset required: false - value: Asset.OtherAsset type: String displayName: Other Asset required: false - value: Asset.CashAndBank type: String displayName: Cash required: false - value: Asset.Property Plant and Equipment type: String displayName: Equipment Machinery required: false - value: Liability.CreditCard type: String displayName: Credit Card required: false - value: Liability.AccountsPayable type: String displayName: Accounts Payable required: false - value: Liability.OtherCurrentLiability type: String displayName: Other Current Liability required: false - value: Liability.LongTermLiability type: String displayName: Long Term Liability required: false - value: Liability.OtherLiability type: String displayName: Other Liability required: false - value: Equity type: String displayName: Equity required: false - value: Equity.Equity type: String displayName: Retained Earnings required: false - value: Equity.Equity.RetainedEarnings type: String displayName: Retained Earnings required: false - value: Equity.Owner's Equity type: String displayName: Retained Earnings required: false - value: Income type: String displayName: Income required: false - value: OtherIncome type: String displayName: Other Income required: false - value: Expense type: String displayName: Expense required: false - value: Expense.Expense type: String displayName: Sales Marketing required: false - value: Expense.Expense.Insurance type: String displayName: General Administrative required: false - value: Expense.Overhead type: String displayName: General Administrative required: false - value: Expense.Expense.RepairMaintenance type: String displayName: Repairs Maintenance required: false - value: OtherExpense type: String displayName: Other Expense required: false - value: CostOfSales type: String displayName: Cost of Sales required: false - value: Cost Of Goods Sold.Cost of Sales type: String displayName: Other required: false required: true status: type: String displayName: Account Status description: The status of the account options: - value: Active type: String displayName: Active required: false - value: Archived type: String displayName: Archived required: false required: true required: true QuickBooks Desktop: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: - field: NominalCode details: Max length of 7 characters. information: [] name: type: String displayName: Name description: Name of the account required: true validation: warnings: - field: Name details: Max length of 31 characters. information: [] description: type: String displayName: Description description: Description of the account required: false validation: warnings: - field: Description details: Max length of 200 characters. information: [] currency: type: String displayName: Currency description: The currency of the account required: false validation: warnings: - field: Currency details: 'The currency must match the base currency of the QuickBooks Desktop company unless the FullyQualifiedCategory is ''Asset.AccountsReceivable'',''Liability.AccountsPayable'' or ''Liability.CreditCard''' - field: Currency details: Must be a three letter ISO code that matches an existing active currency in the QuickBooks Desktop company - field: Currency details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled. information: - field: Currency details: 'If not set, will default to the base currency of the QuickBooks Desktop company' fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: Asset.AccountsReceivable type: String displayName: Account Receivable required: false - value: Asset.FixedAsset type: String displayName: Fixed Asset required: false - value: Asset.OtherCurrentAsset type: String displayName: Other Current Asset required: false - value: Asset.OtherAsset type: String displayName: Other Asset required: false - value: Income.Income type: String displayName: Income required: false - value: Income.OtherIncome type: String displayName: Other Income required: false - value: Liability.AccountsPayable type: String displayName: Accounts Payable required: false - value: Liability.CreditCard type: String displayName: Credit Card required: false - value: Liability.LongTermLiability type: String displayName: Long Term Liability required: false - value: Liability.OtherCurrentLiability type: String displayName: Other Current Liability required: false - value: Liability.CostOfGoodsSold type: String displayName: Cost Of Goods Sold required: false - value: Equity.Equity type: String displayName: Equity required: false - value: Expense.Expense type: String displayName: Expense required: false - value: Expense.OtherExpense type: String displayName: Other Expense required: false required: true currentBalance: type: Number displayName: Current Balance description: The current balance in the account required: false required: true QuickBooks Online Sandbox: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: false validation: warnings: [] information: - field: NominalCode details: If included must have a length between 1 and 7 characters name: type: String displayName: Name description: Name of the account required: true validation: warnings: - field: Name details: Must have a length between 1 and 100 characters information: [] currency: type: String displayName: Currency description: The currency of the account required: false validation: warnings: [] information: - field: Currency details: When not specified company base currency will be used fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: Asset.Bank.CashOnHand type: String displayName: Cash On Hand required: false - value: Asset.Bank.Checking type: String displayName: Checking required: false - value: Asset.Bank.MoneyMarket type: String displayName: Money Market required: false - value: Asset.Bank.RentsHeldInTrust type: String displayName: Rents Held In Trust required: false - value: Asset.Bank.Savings type: String displayName: Savings required: false - value: Asset.Bank.TrustAccounts type: String displayName: Trust Accounts required: false - value: Asset.Bank.CashAndCashEquivalents type: String displayName: Cash And Cash Equivalents required: false - value: Asset.Bank.OtherEarmarkedBankAccounts type: String displayName: Other Earmarked Bank Accounts required: false - value: Asset.Other Current Asset.AllowanceForBadDebts type: String displayName: Allowance For Bad Debts required: false - value: Asset.Other Current Asset.DevelopmentCosts type: String displayName: Development Costs required: false - value: Asset.Other Current Asset.EmployeeCashAdvances type: String displayName: Employee Cash Advances required: false - value: Asset.Other Current Asset.OtherCurrentAssets type: String displayName: Other Current Assets required: false - value: Asset.Other Current Asset.Inventory type: String displayName: Inventory required: false - value: Asset.Other Current Asset.Investment_MortgageRealEstateLoans type: String displayName: Investment Mortgage Real Estate Loans required: false - value: Asset.Other Current Asset.Investment_Other type: String displayName: Investment Other required: false - value: Asset.Other Current Asset.Investment_TaxExemptSecurities type: String displayName: Investment Tax Exempt Securities required: false - value: Asset.Other Current Asset.Investment_USGovernmentObligations type: String displayName: Investment US Government Obligations required: false - value: Asset.Other Current Asset.LoansToOfficers type: String displayName: Loans To Officers required: false - value: Asset.Other Current Asset.LoansToOthers type: String displayName: Loans To Others required: false - value: Asset.Other Current Asset.LoansToStockholders type: String displayName: Loans To Stockholders required: false - value: Asset.Other Current Asset.PrepaidExpenses type: String displayName: Prepaid Expenses required: false - value: Asset.Other Current Asset.Retainage type: String displayName: Retainage required: false - value: Asset.Other Current Asset.UndepositedFunds type: String displayName: Undeposited Funds required: false - value: Asset.Other Current Asset.AssetsAvailableForSale type: String displayName: Assets Available For Sale required: false - value: Asset.Other Current Asset.BalWithGovtAuthorities type: String displayName: Balance With Govt Authorities required: false - value: Asset.Other Current Asset.CalledUpShareCapitalNotPaid type: String displayName: Called Up Share Capital Not Paid required: false - value: Asset.Other Current Asset.ExpenditureAuthorisationsAndLettersOfCredit type: String displayName: Expenditure Authorisations And Letters Of Credit required: false - value: Asset.Other Current Asset.GlobalTaxDeferred type: String displayName: Global Tax Deferred required: false - value: Asset.Other Current Asset.GlobalTaxRefund type: String displayName: Global Tax Refund required: false - value: Asset.Other Current Asset.InternalTransfers type: String displayName: Internal Transfers required: false - value: Asset.Other Current Asset.OtherConsumables type: String displayName: Other Consumables required: false - value: Asset.Other Current Asset.ProvisionsCurrentAssets type: String displayName: Provisions Current Assets required: false - value: Asset.Other Current Asset.ShortTermInvestmentsInRelatedParties type: String displayName: Short Term Investments In Related Parties required: false - value: Asset.Other Current Asset.ShortTermLoansAndAdvancesToRelatedParties type: String displayName: Short Term Loans And Advances To Related Parties required: false - value: Asset.Other Current Asset.TradeAndOtherReceivables type: String displayName: Trade And Other Receivables required: false - value: Asset.Fixed Asset.AccumulatedDepletion type: String displayName: Accumulated Depletion required: false - value: Asset.Fixed Asset.AccumulatedDepreciation type: String displayName: Accumulated Depreciation required: false - value: Asset.Fixed Asset.DepletableAssets type: String displayName: Depletable Assets required: false - value: Asset.Fixed Asset.FixedAssetComputers type: String displayName: Fixed Asset Computers required: false - value: Asset.Fixed Asset.FixedAssetCopiers type: String displayName: Fixed Asset Copiers required: false - value: Asset.Fixed Asset.FixedAssetFurniture type: String displayName: Fixed Asset Furniture required: false - value: Asset.Fixed Asset.FixedAssetPhone type: String displayName: Fixed Asset Phone required: false - value: Asset.Fixed Asset.FixedAssetPhotoVideo type: String displayName: Fixed Asset Photo Video required: false - value: Asset.Fixed Asset.FixedAssetSoftware type: String displayName: Fixed Asset Software required: false - value: Asset.Fixed Asset.FixedAssetOtherToolsEquipment type: String displayName: Fixed Asset Other Tools Equipment required: false - value: Asset.Fixed Asset.FurnitureAndFixtures type: String displayName: Furniture And Fixtures required: false - value: Asset.Fixed Asset.Land type: String displayName: Land required: false - value: Asset.Fixed Asset.LeaseholdImprovements type: String displayName: Leasehold Improvements required: false - value: Asset.Fixed Asset.OtherFixedAssets type: String displayName: Other Fixed Assets required: false - value: Asset.Fixed Asset.AccumulatedAmortization type: String displayName: Accumulated Amortization required: false - value: Asset.Fixed Asset.Buildings type: String displayName: Buildings required: false - value: Asset.Fixed Asset.IntangibleAssets type: String displayName: Intangible Assets required: false - value: Asset.Fixed Asset.MachineryAndEquipment type: String displayName: Machinery And Equipment required: false - value: Asset.Fixed Asset.Vehicles type: String displayName: Vehicles required: false - value: Asset.Fixed Asset.AssetsInCourseOfConstruction type: String displayName: Assets In Course Of Construction required: false - value: Asset.Fixed Asset.CapitalWip type: String displayName: Capital Wip required: false - value: Asset.Fixed Asset.CumulativeDepreciationOnIntangibleAssets type: String displayName: Cumulative Depreciation On Intangible Assets required: false - value: Asset.Fixed Asset.IntangibleAssetsUnderDevelopment type: String displayName: Intangible Assets Under Development required: false - value: Asset.Fixed Asset.LandAsset type: String displayName: Land Asset required: false - value: Asset.Fixed Asset.NonCurrentAssets type: String displayName: Non Current Assets required: false - value: Asset.Fixed Asset.ParticipatingInterests type: String displayName: Participating Interests required: false - value: Asset.Fixed Asset.ProvisionsFixedAssets type: String displayName: Provisions Fixed Assets required: false - value: Asset.Other Asset.LeaseBuyout type: String displayName: Lease Buyout required: false - value: Asset.Other Asset.OtherLongTermAssets type: String displayName: Other Long Term Assets required: false - value: Asset.Other Asset.SecurityDeposits type: String displayName: Security Deposits required: false - value: Asset.Other Asset.AccumulatedAmortizationOfOtherAssets type: String displayName: Accumulated Amortization Of Other Assets required: false - value: Asset.Other Asset.Goodwill type: String displayName: Goodwill required: false - value: Asset.Other Asset.Licenses type: String displayName: Licenses required: false - value: Asset.Other Asset.OrganizationalCosts type: String displayName: Organizational Costs required: false - value: Asset.Other Asset.AssetsHeldForSale type: String displayName: Assets Held For Sale required: false - value: Asset.Other Asset.AvailableForSaleFinancialAssets type: String displayName: Available For Sale Financial Assets required: false - value: Asset.Other Asset.DeferredTax type: String displayName: Deferred Tax required: false - value: Asset.Other Asset.Investments type: String displayName: Investments required: false - value: Asset.Other Asset.LongTermInvestments type: String displayName: Long Term Investments required: false - value: Asset.Other Asset.LongTermLoansAndAdvancesToRelatedParties type: String displayName: Long Term Loans And Advances To Related Parties required: false - value: Asset.Other Asset.OtherIntangibleAssets type: String displayName: Other Intangible Assets required: false - value: Asset.Other Asset.OtherLongTermInvestments type: String displayName: Other Long Term Investments required: false - value: Asset.Other Asset.OtherLongTermLoansAndAdvances type: String displayName: Other Long Term Loans And Advances required: false - value: Asset.Other Asset.PrepaymentsAndAccruedIncome type: String displayName: Prepayments And Accrued Income required: false - value: Asset.Other Asset.ProvisionsNonCurrentAssets type: String displayName: Provisions Non-Current Assets required: false - value: Asset.Accounts Receivable.AccountsReceivable type: String displayName: Accounts Receivable required: false - value: Expense.Expense.AdvertisingPromotional type: String displayName: Advertising/Promotional required: false - value: Expense.Expense.BadDebts type: String displayName: Bad Debts required: false - value: Expense.Expense.BankCharges type: String displayName: Bank Charges required: false - value: Expense.Expense.CharitableContributions type: String displayName: Charitable Contributions required: false - value: Expense.Expense.CommissionsAndFees type: String displayName: Commissions And Fees required: false - value: Expense.Expense.Entertainment type: String displayName: Entertainment required: false - value: Expense.Expense.EntertainmentMeals type: String displayName: Entertainment Meals required: false - value: Expense.Expense.EquipmentRental type: String displayName: Equipment Rental required: false - value: Expense.Expense.FinanceCosts type: String displayName: Finance Costs required: false - value: Expense.Expense.GlobalTaxExpense type: String displayName: Global Tax Expense required: false - value: Expense.Expense.Insurance type: String displayName: Insurance required: false - value: Expense.Expense.InterestPaid type: String displayName: Interest Paid required: false - value: Expense.Expense.LegalProfessionalFees type: String displayName: Legal And Professional Fees required: false - value: Expense.Expense.OfficeExpenses type: String displayName: Office Expenses required: false - value: Expense.Expense.OfficeGeneralAdministrativeExpenses type: String displayName: Office/General Administrative Expenses required: false - value: Expense.Expense.OtherBusinessExpenses type: String displayName: Other Business Expenses required: false - value: Expense.Expense.OtherMiscellaneousServiceCost type: String displayName: Other Miscellaneous Service Cost required: false - value: Expense.Expense.PromotionalMeals type: String displayName: Promotional Meals required: false - value: Expense.Expense.RentOrLeaseOfBuildings type: String displayName: Rent Or Lease Of Buildings required: false - value: Expense.Expense.RepairMaintenance type: String displayName: Repair And Maintenance required: false - value: Expense.Expense.ShippingFreightDelivery type: String displayName: 'Shipping, Freight And Delivery' required: false - value: Expense.Expense.SuppliesMaterials type: String displayName: Supplies And Materials required: false - value: Expense.Expense.Travel type: String displayName: Travel required: false - value: Expense.Expense.TravelMeals type: String displayName: Travel Meals required: false - value: Expense.Expense.Utilities type: String displayName: Utilities required: false - value: Expense.Expense.Auto type: String displayName: Auto required: false - value: Expense.Expense.CostOfLabor type: String displayName: Cost Of Labor required: false - value: Expense.Expense.DuesSubscriptions type: String displayName: Dues And Subscriptions required: false - value: Expense.Expense.PayrollExpenses type: String displayName: Payroll Expenses required: false - value: Expense.Expense.TaxesPaid type: String displayName: Taxes Paid required: false - value: Expense.Expense.UnappliedCashBillPaymentExpense type: String displayName: Unapplied Cash Bill Payment Expense required: false - value: Expense.Expense.Utilities type: String displayName: Utilities required: false - value: Expense.Expense.AmortizationExpense type: String displayName: Amortization Expense required: false - value: Expense.Expense.AppropriationsToDepreciation type: String displayName: Appropriations To Depreciation required: false - value: Expense.Expense.BorrowingCost type: String displayName: Borrowing Cost required: false - value: Expense.Expense.CommissionsAndFees type: String displayName: Commissions And Fees required: false - value: Expense.Expense.DistributionCosts type: String displayName: Distribution Costs required: false - value: Expense.Expense.ExternalServices type: String displayName: External Services required: false - value: Expense.Expense.ExtraordinaryCharges type: String displayName: Extraordinary Charges required: false - value: Expense.Expense.IncomeTaxExpense type: String displayName: Income Tax Expense required: false - value: Expense.Expense.LossOnDiscontinuedOperationsNetOfTax type: String displayName: Loss On Discontinued Operations Net Of Tax required: false - value: Expense.Expense.ManagementCompensation type: String displayName: Management Compensation required: false - value: Expense.Expense.OtherCurrentOperatingCharges type: String displayName: Other Current Operating Charges required: false - value: Expense.Expense.OtherExternalServices type: String displayName: Other External Services required: false - value: Expense.Expense.OtherRentalCosts type: String displayName: Other Rental Costs required: false - value: Expense.Expense.OtherSellingExpenses type: String displayName: Other Selling Expenses required: false - value: Expense.Expense.ProjectStudiesSurveysAssessments type: String displayName: Project Studies Surveys Assessments required: false - value: Expense.Expense.PurchasesRebates type: String displayName: Purchases Rebates required: false - value: Expense.Expense.ShippingAndDeliveryExpense type: String displayName: Shipping And Delivery Expense required: false - value: Expense.Expense.StaffCosts type: String displayName: Staff Costs required: false - value: Expense.Expense.Sundry type: String displayName: Sundry required: false - value: Expense.Expense.TravelExpensesGeneralAndAdminExpenses type: String displayName: Travel Expenses General And Admin Expenses required: false - value: Expense.Expense.TravelExpensesSellingExpense type: String displayName: Travel Expenses Selling Expense required: false - value: Expense.Other Expense.Depreciation type: String displayName: Depreciation required: false - value: Expense.Other Expense.ExchangeGainOrLoss type: String displayName: Exchange Gain Or Loss required: false - value: Expense.Other Expense.OtherMiscellaneousExpense type: String displayName: Other Miscellaneous Expense required: false - value: Expense.Other Expense.PenaltiesSettlements type: String displayName: Penalties And Settlements required: false - value: Expense.Other Expense.Amortization type: String displayName: Amortization required: false - value: Expense.Other Expense.GasAndFuel type: String displayName: Gas And Fuel required: false - value: Expense.Other Expense.HomeOffice type: String displayName: Home Office required: false - value: Expense.Other Expense.HomeOwnerRentalInsurance type: String displayName: Home Owner Rental Insurance required: false - value: Expense.Other Expense.OtherHomeOfficeExpenses type: String displayName: Other Home Office Expenses required: false - value: Expense.Other Expense.MortgageInterest type: String displayName: Mortgage Interest required: false - value: Expense.Other Expense.RentAndLease type: String displayName: Rent And Lease required: false - value: Expense.Other Expense.RepairsAndMaintenance type: String displayName: Repairs And Maintenance required: false - value: Expense.Other Expense.ParkingAndTolls type: String displayName: Parking And Tolls required: false - value: Expense.Other Expense.Vehicle type: String displayName: Vehicle required: false - value: Expense.Other Expense.VehicleInsurance type: String displayName: Vehicle Insurance required: false - value: Expense.Other Expense.VehicleLease type: String displayName: Vehicle Lease required: false - value: Expense.Other Expense.VehicleLoanInterest type: String displayName: Vehicle Loan Interest required: false - value: Expense.Other Expense.VehicleLoan type: String displayName: Vehicle Loan required: false - value: Expense.Other Expense.VehicleRegistration type: String displayName: Vehicle Registration required: false - value: Expense.Other Expense.VehicleRepairs type: String displayName: Vehicle Repairs required: false - value: Expense.Other Expense.OtherVehicleExpenses type: String displayName: Other Vehicle Expenses required: false - value: Expense.Other Expense.Utilities type: String displayName: Utilities required: false - value: Expense.Other Expense.WashAndRoadServices type: String displayName: Wash And Road Services required: false - value: Expense.Other Expense.DeferredTaxExpense type: String displayName: Deferred Tax Expense required: false - value: Expense.Other Expense.Depletion type: String displayName: Depletion required: false - value: Expense.Other Expense.ExceptionalItems type: String displayName: Exceptional Items required: false - value: Expense.Other Expense.ExtraordinaryItems type: String displayName: Extraordinary Items required: false - value: Expense.Other Expense.IncomeTaxOtherExpense type: String displayName: Income Tax Other Expense required: false - value: Expense.Other Expense.MatCredit type: String displayName: Mat Credit required: false - value: Expense.Other Expense.PriorPeriodItems type: String displayName: Prior Period Items required: false - value: Expense.Other Expense.TaxRoundoffGainOrLoss type: String displayName: Tax Roundoff Gain Or Loss required: false - value: Expense.Cost of Goods Sold.EquipmentRentalCos type: String displayName: Equipment Rental - COS required: false - value: Expense.Cost of Goods Sold.OtherCostsOfServiceCos type: String displayName: Other Costs Of Sales - COS required: false - value: Expense.Cost of Goods Sold.ShippingFreightDeliveryCos type: String displayName: 'Shipping, Freight And Delivery - COS' required: false - value: Expense.Cost of Goods Sold.SuppliesMaterialsCogs type: String displayName: Supplies And Materials - COS required: false - value: Expense.Cost of Goods Sold.CostOfLaborCos type: String displayName: Cost Of Labor - COS required: false - value: Expense.Cost of Goods Sold.CostOfSales type: String displayName: Cost Of Sales required: false - value: Expense.Cost of Goods Sold.FreightAndDeliveryCost type: String displayName: Freight And Delivery Cost required: false - value: Income.Income.NonProfitIncome type: String displayName: Non Profit Income required: false - value: Income.Income.OtherPrimaryIncome type: String displayName: Other Primary Income required: false - value: Income.Income.SalesOfProductIncome type: String displayName: Sales Of ProductIncome required: false - value: Income.Income.ServiceFeeIncome type: String displayName: Service Fee Income required: false - value: Income.Income.DiscountsRefundsGiven type: String displayName: Discounts Refunds Given required: false - value: Income.Income.UnappliedCashPaymentIncome type: String displayName: Unapplied Cash Payment Income required: false - value: Income.Income.CashReceiptIncome type: String displayName: Cash Receipt Income required: false - value: Income.Income.OperatingGrants type: String displayName: Operating Grants required: false - value: Income.Income.OtherCurrentOperatingIncome type: String displayName: Other Current Operating Income required: false - value: Income.Income.OwnWorkCapitalized type: String displayName: Own Work Capitalized required: false - value: Income.Income.RevenueGeneral type: String displayName: Revenue General required: false - value: Income.Income.SalesRetail type: String displayName: Sales Retail required: false - value: Income.Income.SalesWholesale type: String displayName: Sales Wholesale required: false - value: Income.Income.SavingsByTaxScheme type: String displayName: Savings By Tax Scheme required: false - value: Income.Other Income.DividendIncome type: String displayName: Dividend Income required: false - value: Income.Other Income.InterestEarned type: String displayName: Interest Earned required: false - value: Income.Other Income.OtherInvestmentIncome type: String displayName: Other Investment Income required: false - value: Income.Other Income.OtherMiscellaneousIncome type: String displayName: Other Miscellaneous Income required: false - value: Income.Other Income.TaxExemptInterest type: String displayName: Tax Exempt Interest required: false - value: Income.Other Income.GainLossOnSaleOfFixedAssets type: String displayName: Gain Loss On Sale Of Fixed Assets required: false - value: Income.Other Income.GainLossOnSaleOfInvestments type: String displayName: Gain Loss On Sale Of Investments required: false - value: Income.Other Income.LossOnDisposalOfAssets type: String displayName: Loss On Disposal Of Assets required: false - value: Income.Other Income.OtherOperatingIncome type: String displayName: Other Operating Income required: false - value: Income.Other Income.UnrealisedLossOnSecuritiesNetOfTax type: String displayName: Unrealised Loss On Securities Net Of Tax required: false - value: Liability.Accounts Payable.AccountsPayable type: String displayName: Accounts Payable required: false - value: Liability.Accounts Payable.OutstandingDuesMicroSmallEnterprise type: String displayName: Outstanding Dues Micro Small Enterprise required: false - value: Liability.Accounts Payable.OutstandingDuesOtherThanMicroSmallEnterprise type: String displayName: Outstanding Dues Other Than Micro Small Enterprise required: false - value: Liability.Credit Card.CreditCard type: String displayName: Credit Card required: false - value: Liability.Long Term Liability.NotesPayable type: String displayName: Notes Payable required: false - value: Liability.Long Term Liability.OtherLongTermLiabilities type: String displayName: Other Long Term Liabilities required: false - value: Liability.Long Term Liability.ShareholderNotesPayable type: String displayName: Shareholder Notes Payable required: false - value: Liability.Long Term Liability.AccrualsAndDeferredIncome type: String displayName: Accruals And Deferred Income required: false - value: Liability.Long Term Liability.AccruedLongLermLiabilities type: String displayName: Accrued Long Lerm Liabilities required: false - value: Liability.Long Term Liability.AccruedVacationPayable type: String displayName: Accrued Vacation Payable required: false - value: Liability.Long Term Liability.BankLoans type: String displayName: Bank Loans required: false - value: Liability.Long Term Liability.DebtsRelatedToParticipatingInterests type: String displayName: Debts Related To Participating Interests required: false - value: Liability.Long Term Liability.DeferredTaxLiabilities type: String displayName: Deferred Tax Liabilities required: false - value: Liability.Long Term Liability.GovernmentAndOtherPublicAuthorities type: String displayName: Government And Other Public Authorities required: false - value: Liability.Long Term Liability.GroupAndAssociates type: String displayName: Group And Associates required: false - value: Liability.Long Term Liability.LiabilitiesRelatedToAssetsHeldForSale type: String displayName: Liabilities Related To Assets Held For Sale required: false - value: Liability.Long Term Liability.LongTermBorrowings type: String displayName: Long Term Borrowings required: false - value: Liability.Long Term Liability.LongTermDebit type: String displayName: Long Term Debit required: false - value: Liability.Long Term Liability.LongTermEmployeeBenefitObligations type: String displayName: Long Term Employee Benefit Obligations required: false - value: Liability.Long Term Liability.ObligationsUnderFinanceLeases type: String displayName: Obligations Under Finance Leases required: false - value: Liability.Long Term Liability.OtherLongTermProvisions type: String displayName: Other Long Term Provisions required: false - value: Liability.Long Term Liability.ProvisionForLiabilities type: String displayName: Provision For Liabilities required: false - value: Liability.Long Term Liability.ProvisionsNonCurrentLiabilities type: String displayName: Provisions Non Current Liabilities required: false - value: Liability.Long Term Liability.StaffAndRelatedLongTermLiabilityAccounts type: String displayName: Staff And Related Long Term Liability Accounts required: false - value: Liability.Other Current Liability.DirectDepositPayable type: String displayName: Direct Deposit Payable required: false - value: Liability.Other Current Liability.LineOfCredit type: String displayName: Line Of Credit required: false - value: Liability.Other Current Liability.LoanPayable type: String displayName: Loan Payable required: false - value: Liability.Other Current Liability.GlobalTaxPayable type: String displayName: Global Tax Payable required: false - value: Liability.Other Current Liability.GlobalTaxSuspense type: String displayName: Global Tax Suspense required: false - value: Liability.Other Current Liability.OtherCurrentLiabilities type: String displayName: Other Current Liabilities required: false - value: Liability.Other Current Liability.PayrollClearing type: String displayName: Payroll Clearing required: false - value: Liability.Other Current Liability.PayrollTaxPayable type: String displayName: Payroll Tax Payable required: false - value: Liability.Other Current Liability.PrepaidExpensesPayable type: String displayName: Prepaid Expenses Payable required: false - value: Liability.Other Current Liability.RentsInTrustLiability type: String displayName: Rents In Trust Liability required: false - value: Liability.Other Current Liability.TrustAccountsLiabilities type: String displayName: Trust Accounts Liabilities required: false - value: Liability.Other Current Liability.FederalIncomeTaxPayable type: String displayName: Federal Income Tax Payable required: false - value: Liability.Other Current Liability.InsurancePayable type: String displayName: Insurance Payable required: false - value: Liability.Other Current Liability.SalesTaxPayable type: String displayName: Sales Tax Payable required: false - value: Liability.Other Current Liability.StateLocalIncomeTaxPayable type: String displayName: State Local Income Tax Payable required: false - value: Liability.Other Current Liability.AccruedLiabilities type: String displayName: Accrued Liabilities required: false - value: Liability.Other Current Liability.CurrentLiabilities type: String displayName: Current Liabilities required: false - value: Liability.Other Current Liability.CurrentPortionEmployeeBenefitsObligations type: String displayName: Current Portion EmployeeBenefits Obligations required: false - value: Liability.Other Current Liability.CurrentPortionOfObligationsUnderFinanceLeases type: String displayName: Current Portion Of Obligations Under Finance Leases required: false - value: Liability.Other Current Liability.CurrentTaxLiability type: String displayName: Current Tax Liability required: false - value: Liability.Other Current Liability.DividendsPayable type: String displayName: Dividends Payable required: false - value: Liability.Other Current Liability.DutiesAndTaxes type: String displayName: Duties And Taxes required: false - value: Liability.Other Current Liability.InterestPayables type: String displayName: Interest Payables required: false - value: Liability.Other Current Liability.ProvisionForWarrantyObligations type: String displayName: Provision For Warranty Obligations required: false - value: Liability.Other Current Liability.ProvisionsCurrentLiabilities type: String displayName: Provisions Current Liabilities required: false - value: Liability.Other Current Liability.ShortTermBorrowings type: String displayName: Short Term Borrowings required: false - value: Liability.Other Current Liability.SocialSecurityAgencies type: String displayName: Social Security Agencies required: false - value: Liability.Other Current Liability.StaffAndRelatedLiabilityAccounts type: String displayName: Staff And Related Liability Accounts required: false - value: Liability.Other Current Liability.SundryDebtorsAndCreditors type: String displayName: Sundry Debtors And Creditors required: false - value: Liability.Other Current Liability.TradeAndOtherPayables type: String displayName: Trade And Other Payables required: false - value: Equity.Equity.OpeningBalanceEquity type: String displayName: Opening Balance Equity required: false - value: Equity.Equity.PartnersEquity type: String displayName: Partners Equity required: false - value: Equity.Equity.RetainedEarnings type: String displayName: Retained Earnings required: false - value: Equity.Equity.AccumulatedAdjustment type: String displayName: Accumulated Adjustment required: false - value: Equity.Equity.OwnersEquity type: String displayName: Owners Equity required: false - value: Equity.Equity.PaidInCapitalOrSurplus type: String displayName: Paid In Capital Or Surplus required: false - value: Equity.Equity.PartnerContributions type: String displayName: Partner Contributions required: false - value: Equity.Equity.PartnerDistributions type: String displayName: Partner Distributions required: false - value: Equity.Equity.PreferredStock type: String displayName: Preferred Stock required: false - value: Equity.Equity.CommonStock type: String displayName: Common Stock required: false - value: Equity.Equity.TreasuryStock type: String displayName: Treasury Stock required: false - value: Equity.Equity.EstimatedTaxes type: String displayName: Estimated Taxes required: false - value: Equity.Equity.Healthcare type: String displayName: Healthcare required: false - value: Equity.Equity.PersonalIncome type: String displayName: Personal Income required: false - value: Equity.Equity.PersonalExpense type: String displayName: Personal Expense required: false - value: Equity.Equity.AccumulatedOtherComprehensiveIncome type: String displayName: Accumulated Other Comprehensive Income required: false - value: Equity.Equity.CalledUpShareCapital type: String displayName: Called Up Share Capital required: false - value: Equity.Equity.CapitalReserves type: String displayName: Capital Reserves required: false - value: Equity.Equity.DividendDisbursed type: String displayName: Dividend Disbursed required: false - value: Equity.Equity.EquityInEarningsOfSubsiduaries type: String displayName: Equity In Earnings Of Subsiduaries required: false - value: Equity.Equity.InvestmentGrants type: String displayName: Investment Grants required: false - value: Equity.Equity.MoneyReceivedAgainstShareWarrants type: String displayName: Money Received Against Share Warrants required: false - value: Equity.Equity.OtherFreeReserves type: String displayName: Other Free Reserves required: false - value: Equity.Equity.ShareApplicationMoneyPendingAllotment type: String displayName: Share Application Money Pending Allotment required: false - value: Equity.Equity.ShareCapital type: String displayName: Share Capital required: false - value: Equity.Equity.Funds type: String displayName: Funds required: false required: true required: true QuickBooks Online: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: false validation: warnings: [] information: - field: NominalCode details: If included must have a length between 1 and 7 characters name: type: String displayName: Name description: Name of the account required: true validation: warnings: - field: Name details: Must have a length between 1 and 100 characters information: [] currency: type: String displayName: Currency description: The currency of the account required: false validation: warnings: [] information: - field: Currency details: When not specified company base currency will be used fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: Asset.Bank.CashOnHand type: String displayName: Cash On Hand required: false - value: Asset.Bank.Checking type: String displayName: Checking required: false - value: Asset.Bank.MoneyMarket type: String displayName: Money Market required: false - value: Asset.Bank.RentsHeldInTrust type: String displayName: Rents Held In Trust required: false - value: Asset.Bank.Savings type: String displayName: Savings required: false - value: Asset.Bank.TrustAccounts type: String displayName: Trust Accounts required: false - value: Asset.Bank.CashAndCashEquivalents type: String displayName: Cash And Cash Equivalents required: false - value: Asset.Bank.OtherEarmarkedBankAccounts type: String displayName: Other Earmarked Bank Accounts required: false - value: Asset.Other Current Asset.AllowanceForBadDebts type: String displayName: Allowance For Bad Debts required: false - value: Asset.Other Current Asset.DevelopmentCosts type: String displayName: Development Costs required: false - value: Asset.Other Current Asset.EmployeeCashAdvances type: String displayName: Employee Cash Advances required: false - value: Asset.Other Current Asset.OtherCurrentAssets type: String displayName: Other Current Assets required: false - value: Asset.Other Current Asset.Inventory type: String displayName: Inventory required: false - value: Asset.Other Current Asset.Investment_MortgageRealEstateLoans type: String displayName: Investment Mortgage Real Estate Loans required: false - value: Asset.Other Current Asset.Investment_Other type: String displayName: Investment Other required: false - value: Asset.Other Current Asset.Investment_TaxExemptSecurities type: String displayName: Investment Tax Exempt Securities required: false - value: Asset.Other Current Asset.Investment_USGovernmentObligations type: String displayName: Investment US Government Obligations required: false - value: Asset.Other Current Asset.LoansToOfficers type: String displayName: Loans To Officers required: false - value: Asset.Other Current Asset.LoansToOthers type: String displayName: Loans To Others required: false - value: Asset.Other Current Asset.LoansToStockholders type: String displayName: Loans To Stockholders required: false - value: Asset.Other Current Asset.PrepaidExpenses type: String displayName: Prepaid Expenses required: false - value: Asset.Other Current Asset.Retainage type: String displayName: Retainage required: false - value: Asset.Other Current Asset.UndepositedFunds type: String displayName: Undeposited Funds required: false - value: Asset.Other Current Asset.AssetsAvailableForSale type: String displayName: Assets Available For Sale required: false - value: Asset.Other Current Asset.BalWithGovtAuthorities type: String displayName: Balance With Govt Authorities required: false - value: Asset.Other Current Asset.CalledUpShareCapitalNotPaid type: String displayName: Called Up Share Capital Not Paid required: false - value: Asset.Other Current Asset.ExpenditureAuthorisationsAndLettersOfCredit type: String displayName: Expenditure Authorisations And Letters Of Credit required: false - value: Asset.Other Current Asset.GlobalTaxDeferred type: String displayName: Global Tax Deferred required: false - value: Asset.Other Current Asset.GlobalTaxRefund type: String displayName: Global Tax Refund required: false - value: Asset.Other Current Asset.InternalTransfers type: String displayName: Internal Transfers required: false - value: Asset.Other Current Asset.OtherConsumables type: String displayName: Other Consumables required: false - value: Asset.Other Current Asset.ProvisionsCurrentAssets type: String displayName: Provisions Current Assets required: false - value: Asset.Other Current Asset.ShortTermInvestmentsInRelatedParties type: String displayName: Short Term Investments In Related Parties required: false - value: Asset.Other Current Asset.ShortTermLoansAndAdvancesToRelatedParties type: String displayName: Short Term Loans And Advances To Related Parties required: false - value: Asset.Other Current Asset.TradeAndOtherReceivables type: String displayName: Trade And Other Receivables required: false - value: Asset.Fixed Asset.AccumulatedDepletion type: String displayName: Accumulated Depletion required: false - value: Asset.Fixed Asset.AccumulatedDepreciation type: String displayName: Accumulated Depreciation required: false - value: Asset.Fixed Asset.DepletableAssets type: String displayName: Depletable Assets required: false - value: Asset.Fixed Asset.FixedAssetComputers type: String displayName: Fixed Asset Computers required: false - value: Asset.Fixed Asset.FixedAssetCopiers type: String displayName: Fixed Asset Copiers required: false - value: Asset.Fixed Asset.FixedAssetFurniture type: String displayName: Fixed Asset Furniture required: false - value: Asset.Fixed Asset.FixedAssetPhone type: String displayName: Fixed Asset Phone required: false - value: Asset.Fixed Asset.FixedAssetPhotoVideo type: String displayName: Fixed Asset Photo Video required: false - value: Asset.Fixed Asset.FixedAssetSoftware type: String displayName: Fixed Asset Software required: false - value: Asset.Fixed Asset.FixedAssetOtherToolsEquipment type: String displayName: Fixed Asset Other Tools Equipment required: false - value: Asset.Fixed Asset.FurnitureAndFixtures type: String displayName: Furniture And Fixtures required: false - value: Asset.Fixed Asset.Land type: String displayName: Land required: false - value: Asset.Fixed Asset.LeaseholdImprovements type: String displayName: Leasehold Improvements required: false - value: Asset.Fixed Asset.OtherFixedAssets type: String displayName: Other Fixed Assets required: false - value: Asset.Fixed Asset.AccumulatedAmortization type: String displayName: Accumulated Amortization required: false - value: Asset.Fixed Asset.Buildings type: String displayName: Buildings required: false - value: Asset.Fixed Asset.IntangibleAssets type: String displayName: Intangible Assets required: false - value: Asset.Fixed Asset.MachineryAndEquipment type: String displayName: Machinery And Equipment required: false - value: Asset.Fixed Asset.Vehicles type: String displayName: Vehicles required: false - value: Asset.Fixed Asset.AssetsInCourseOfConstruction type: String displayName: Assets In Course Of Construction required: false - value: Asset.Fixed Asset.CapitalWip type: String displayName: Capital Wip required: false - value: Asset.Fixed Asset.CumulativeDepreciationOnIntangibleAssets type: String displayName: Cumulative Depreciation On Intangible Assets required: false - value: Asset.Fixed Asset.IntangibleAssetsUnderDevelopment type: String displayName: Intangible Assets Under Development required: false - value: Asset.Fixed Asset.LandAsset type: String displayName: Land Asset required: false - value: Asset.Fixed Asset.NonCurrentAssets type: String displayName: Non Current Assets required: false - value: Asset.Fixed Asset.ParticipatingInterests type: String displayName: Participating Interests required: false - value: Asset.Fixed Asset.ProvisionsFixedAssets type: String displayName: Provisions Fixed Assets required: false - value: Asset.Other Asset.LeaseBuyout type: String displayName: Lease Buyout required: false - value: Asset.Other Asset.OtherLongTermAssets type: String displayName: Other Long Term Assets required: false - value: Asset.Other Asset.SecurityDeposits type: String displayName: Security Deposits required: false - value: Asset.Other Asset.AccumulatedAmortizationOfOtherAssets type: String displayName: Accumulated Amortization Of Other Assets required: false - value: Asset.Other Asset.Goodwill type: String displayName: Goodwill required: false - value: Asset.Other Asset.Licenses type: String displayName: Licenses required: false - value: Asset.Other Asset.OrganizationalCosts type: String displayName: Organizational Costs required: false - value: Asset.Other Asset.AssetsHeldForSale type: String displayName: Assets Held For Sale required: false - value: Asset.Other Asset.AvailableForSaleFinancialAssets type: String displayName: Available For Sale Financial Assets required: false - value: Asset.Other Asset.DeferredTax type: String displayName: Deferred Tax required: false - value: Asset.Other Asset.Investments type: String displayName: Investments required: false - value: Asset.Other Asset.LongTermInvestments type: String displayName: Long Term Investments required: false - value: Asset.Other Asset.LongTermLoansAndAdvancesToRelatedParties type: String displayName: Long Term Loans And Advances To Related Parties required: false - value: Asset.Other Asset.OtherIntangibleAssets type: String displayName: Other Intangible Assets required: false - value: Asset.Other Asset.OtherLongTermInvestments type: String displayName: Other Long Term Investments required: false - value: Asset.Other Asset.OtherLongTermLoansAndAdvances type: String displayName: Other Long Term Loans And Advances required: false - value: Asset.Other Asset.PrepaymentsAndAccruedIncome type: String displayName: Prepayments And Accrued Income required: false - value: Asset.Other Asset.ProvisionsNonCurrentAssets type: String displayName: Provisions Non-Current Assets required: false - value: Asset.Accounts Receivable.AccountsReceivable type: String displayName: Accounts Receivable required: false - value: Expense.Expense.AdvertisingPromotional type: String displayName: Advertising/Promotional required: false - value: Expense.Expense.BadDebts type: String displayName: Bad Debts required: false - value: Expense.Expense.BankCharges type: String displayName: Bank Charges required: false - value: Expense.Expense.CharitableContributions type: String displayName: Charitable Contributions required: false - value: Expense.Expense.CommissionsAndFees type: String displayName: Commissions And Fees required: false - value: Expense.Expense.Entertainment type: String displayName: Entertainment required: false - value: Expense.Expense.EntertainmentMeals type: String displayName: Entertainment Meals required: false - value: Expense.Expense.EquipmentRental type: String displayName: Equipment Rental required: false - value: Expense.Expense.FinanceCosts type: String displayName: Finance Costs required: false - value: Expense.Expense.GlobalTaxExpense type: String displayName: Global Tax Expense required: false - value: Expense.Expense.Insurance type: String displayName: Insurance required: false - value: Expense.Expense.InterestPaid type: String displayName: Interest Paid required: false - value: Expense.Expense.LegalProfessionalFees type: String displayName: Legal And Professional Fees required: false - value: Expense.Expense.OfficeExpenses type: String displayName: Office Expenses required: false - value: Expense.Expense.OfficeGeneralAdministrativeExpenses type: String displayName: Office/General Administrative Expenses required: false - value: Expense.Expense.OtherBusinessExpenses type: String displayName: Other Business Expenses required: false - value: Expense.Expense.OtherMiscellaneousServiceCost type: String displayName: Other Miscellaneous Service Cost required: false - value: Expense.Expense.PromotionalMeals type: String displayName: Promotional Meals required: false - value: Expense.Expense.RentOrLeaseOfBuildings type: String displayName: Rent Or Lease Of Buildings required: false - value: Expense.Expense.RepairMaintenance type: String displayName: Repair And Maintenance required: false - value: Expense.Expense.ShippingFreightDelivery type: String displayName: 'Shipping, Freight And Delivery' required: false - value: Expense.Expense.SuppliesMaterials type: String displayName: Supplies And Materials required: false - value: Expense.Expense.Travel type: String displayName: Travel required: false - value: Expense.Expense.TravelMeals type: String displayName: Travel Meals required: false - value: Expense.Expense.Utilities type: String displayName: Utilities required: false - value: Expense.Expense.Auto type: String displayName: Auto required: false - value: Expense.Expense.CostOfLabor type: String displayName: Cost Of Labor required: false - value: Expense.Expense.DuesSubscriptions type: String displayName: Dues And Subscriptions required: false - value: Expense.Expense.PayrollExpenses type: String displayName: Payroll Expenses required: false - value: Expense.Expense.TaxesPaid type: String displayName: Taxes Paid required: false - value: Expense.Expense.UnappliedCashBillPaymentExpense type: String displayName: Unapplied Cash Bill Payment Expense required: false - value: Expense.Expense.Utilities type: String displayName: Utilities required: false - value: Expense.Expense.AmortizationExpense type: String displayName: Amortization Expense required: false - value: Expense.Expense.AppropriationsToDepreciation type: String displayName: Appropriations To Depreciation required: false - value: Expense.Expense.BorrowingCost type: String displayName: Borrowing Cost required: false - value: Expense.Expense.CommissionsAndFees type: String displayName: Commissions And Fees required: false - value: Expense.Expense.DistributionCosts type: String displayName: Distribution Costs required: false - value: Expense.Expense.ExternalServices type: String displayName: External Services required: false - value: Expense.Expense.ExtraordinaryCharges type: String displayName: Extraordinary Charges required: false - value: Expense.Expense.IncomeTaxExpense type: String displayName: Income Tax Expense required: false - value: Expense.Expense.LossOnDiscontinuedOperationsNetOfTax type: String displayName: Loss On Discontinued Operations Net Of Tax required: false - value: Expense.Expense.ManagementCompensation type: String displayName: Management Compensation required: false - value: Expense.Expense.OtherCurrentOperatingCharges type: String displayName: Other Current Operating Charges required: false - value: Expense.Expense.OtherExternalServices type: String displayName: Other External Services required: false - value: Expense.Expense.OtherRentalCosts type: String displayName: Other Rental Costs required: false - value: Expense.Expense.OtherSellingExpenses type: String displayName: Other Selling Expenses required: false - value: Expense.Expense.ProjectStudiesSurveysAssessments type: String displayName: Project Studies Surveys Assessments required: false - value: Expense.Expense.PurchasesRebates type: String displayName: Purchases Rebates required: false - value: Expense.Expense.ShippingAndDeliveryExpense type: String displayName: Shipping And Delivery Expense required: false - value: Expense.Expense.StaffCosts type: String displayName: Staff Costs required: false - value: Expense.Expense.Sundry type: String displayName: Sundry required: false - value: Expense.Expense.TravelExpensesGeneralAndAdminExpenses type: String displayName: Travel Expenses General And Admin Expenses required: false - value: Expense.Expense.TravelExpensesSellingExpense type: String displayName: Travel Expenses Selling Expense required: false - value: Expense.Other Expense.Depreciation type: String displayName: Depreciation required: false - value: Expense.Other Expense.ExchangeGainOrLoss type: String displayName: Exchange Gain Or Loss required: false - value: Expense.Other Expense.OtherMiscellaneousExpense type: String displayName: Other Miscellaneous Expense required: false - value: Expense.Other Expense.PenaltiesSettlements type: String displayName: Penalties And Settlements required: false - value: Expense.Other Expense.Amortization type: String displayName: Amortization required: false - value: Expense.Other Expense.GasAndFuel type: String displayName: Gas And Fuel required: false - value: Expense.Other Expense.HomeOffice type: String displayName: Home Office required: false - value: Expense.Other Expense.HomeOwnerRentalInsurance type: String displayName: Home Owner Rental Insurance required: false - value: Expense.Other Expense.OtherHomeOfficeExpenses type: String displayName: Other Home Office Expenses required: false - value: Expense.Other Expense.MortgageInterest type: String displayName: Mortgage Interest required: false - value: Expense.Other Expense.RentAndLease type: String displayName: Rent And Lease required: false - value: Expense.Other Expense.RepairsAndMaintenance type: String displayName: Repairs And Maintenance required: false - value: Expense.Other Expense.ParkingAndTolls type: String displayName: Parking And Tolls required: false - value: Expense.Other Expense.Vehicle type: String displayName: Vehicle required: false - value: Expense.Other Expense.VehicleInsurance type: String displayName: Vehicle Insurance required: false - value: Expense.Other Expense.VehicleLease type: String displayName: Vehicle Lease required: false - value: Expense.Other Expense.VehicleLoanInterest type: String displayName: Vehicle Loan Interest required: false - value: Expense.Other Expense.VehicleLoan type: String displayName: Vehicle Loan required: false - value: Expense.Other Expense.VehicleRegistration type: String displayName: Vehicle Registration required: false - value: Expense.Other Expense.VehicleRepairs type: String displayName: Vehicle Repairs required: false - value: Expense.Other Expense.OtherVehicleExpenses type: String displayName: Other Vehicle Expenses required: false - value: Expense.Other Expense.Utilities type: String displayName: Utilities required: false - value: Expense.Other Expense.WashAndRoadServices type: String displayName: Wash And Road Services required: false - value: Expense.Other Expense.DeferredTaxExpense type: String displayName: Deferred Tax Expense required: false - value: Expense.Other Expense.Depletion type: String displayName: Depletion required: false - value: Expense.Other Expense.ExceptionalItems type: String displayName: Exceptional Items required: false - value: Expense.Other Expense.ExtraordinaryItems type: String displayName: Extraordinary Items required: false - value: Expense.Other Expense.IncomeTaxOtherExpense type: String displayName: Income Tax Other Expense required: false - value: Expense.Other Expense.MatCredit type: String displayName: Mat Credit required: false - value: Expense.Other Expense.PriorPeriodItems type: String displayName: Prior Period Items required: false - value: Expense.Other Expense.TaxRoundoffGainOrLoss type: String displayName: Tax Roundoff Gain Or Loss required: false - value: Expense.Cost of Goods Sold.EquipmentRentalCos type: String displayName: Equipment Rental - COS required: false - value: Expense.Cost of Goods Sold.OtherCostsOfServiceCos type: String displayName: Other Costs Of Sales - COS required: false - value: Expense.Cost of Goods Sold.ShippingFreightDeliveryCos type: String displayName: 'Shipping, Freight And Delivery - COS' required: false - value: Expense.Cost of Goods Sold.SuppliesMaterialsCogs type: String displayName: Supplies And Materials - COS required: false - value: Expense.Cost of Goods Sold.CostOfLaborCos type: String displayName: Cost Of Labor - COS required: false - value: Expense.Cost of Goods Sold.CostOfSales type: String displayName: Cost Of Sales required: false - value: Expense.Cost of Goods Sold.FreightAndDeliveryCost type: String displayName: Freight And Delivery Cost required: false - value: Income.Income.NonProfitIncome type: String displayName: Non Profit Income required: false - value: Income.Income.OtherPrimaryIncome type: String displayName: Other Primary Income required: false - value: Income.Income.SalesOfProductIncome type: String displayName: Sales Of ProductIncome required: false - value: Income.Income.ServiceFeeIncome type: String displayName: Service Fee Income required: false - value: Income.Income.DiscountsRefundsGiven type: String displayName: Discounts Refunds Given required: false - value: Income.Income.UnappliedCashPaymentIncome type: String displayName: Unapplied Cash Payment Income required: false - value: Income.Income.CashReceiptIncome type: String displayName: Cash Receipt Income required: false - value: Income.Income.OperatingGrants type: String displayName: Operating Grants required: false - value: Income.Income.OtherCurrentOperatingIncome type: String displayName: Other Current Operating Income required: false - value: Income.Income.OwnWorkCapitalized type: String displayName: Own Work Capitalized required: false - value: Income.Income.RevenueGeneral type: String displayName: Revenue General required: false - value: Income.Income.SalesRetail type: String displayName: Sales Retail required: false - value: Income.Income.SalesWholesale type: String displayName: Sales Wholesale required: false - value: Income.Income.SavingsByTaxScheme type: String displayName: Savings By Tax Scheme required: false - value: Income.Other Income.DividendIncome type: String displayName: Dividend Income required: false - value: Income.Other Income.InterestEarned type: String displayName: Interest Earned required: false - value: Income.Other Income.OtherInvestmentIncome type: String displayName: Other Investment Income required: false - value: Income.Other Income.OtherMiscellaneousIncome type: String displayName: Other Miscellaneous Income required: false - value: Income.Other Income.TaxExemptInterest type: String displayName: Tax Exempt Interest required: false - value: Income.Other Income.GainLossOnSaleOfFixedAssets type: String displayName: Gain Loss On Sale Of Fixed Assets required: false - value: Income.Other Income.GainLossOnSaleOfInvestments type: String displayName: Gain Loss On Sale Of Investments required: false - value: Income.Other Income.LossOnDisposalOfAssets type: String displayName: Loss On Disposal Of Assets required: false - value: Income.Other Income.OtherOperatingIncome type: String displayName: Other Operating Income required: false - value: Income.Other Income.UnrealisedLossOnSecuritiesNetOfTax type: String displayName: Unrealised Loss On Securities Net Of Tax required: false - value: Liability.Accounts Payable.AccountsPayable type: String displayName: Accounts Payable required: false - value: Liability.Accounts Payable.OutstandingDuesMicroSmallEnterprise type: String displayName: Outstanding Dues Micro Small Enterprise required: false - value: Liability.Accounts Payable.OutstandingDuesOtherThanMicroSmallEnterprise type: String displayName: Outstanding Dues Other Than Micro Small Enterprise required: false - value: Liability.Credit Card.CreditCard type: String displayName: Credit Card required: false - value: Liability.Long Term Liability.NotesPayable type: String displayName: Notes Payable required: false - value: Liability.Long Term Liability.OtherLongTermLiabilities type: String displayName: Other Long Term Liabilities required: false - value: Liability.Long Term Liability.ShareholderNotesPayable type: String displayName: Shareholder Notes Payable required: false - value: Liability.Long Term Liability.AccrualsAndDeferredIncome type: String displayName: Accruals And Deferred Income required: false - value: Liability.Long Term Liability.AccruedLongLermLiabilities type: String displayName: Accrued Long Lerm Liabilities required: false - value: Liability.Long Term Liability.AccruedVacationPayable type: String displayName: Accrued Vacation Payable required: false - value: Liability.Long Term Liability.BankLoans type: String displayName: Bank Loans required: false - value: Liability.Long Term Liability.DebtsRelatedToParticipatingInterests type: String displayName: Debts Related To Participating Interests required: false - value: Liability.Long Term Liability.DeferredTaxLiabilities type: String displayName: Deferred Tax Liabilities required: false - value: Liability.Long Term Liability.GovernmentAndOtherPublicAuthorities type: String displayName: Government And Other Public Authorities required: false - value: Liability.Long Term Liability.GroupAndAssociates type: String displayName: Group And Associates required: false - value: Liability.Long Term Liability.LiabilitiesRelatedToAssetsHeldForSale type: String displayName: Liabilities Related To Assets Held For Sale required: false - value: Liability.Long Term Liability.LongTermBorrowings type: String displayName: Long Term Borrowings required: false - value: Liability.Long Term Liability.LongTermDebit type: String displayName: Long Term Debit required: false - value: Liability.Long Term Liability.LongTermEmployeeBenefitObligations type: String displayName: Long Term Employee Benefit Obligations required: false - value: Liability.Long Term Liability.ObligationsUnderFinanceLeases type: String displayName: Obligations Under Finance Leases required: false - value: Liability.Long Term Liability.OtherLongTermProvisions type: String displayName: Other Long Term Provisions required: false - value: Liability.Long Term Liability.ProvisionForLiabilities type: String displayName: Provision For Liabilities required: false - value: Liability.Long Term Liability.ProvisionsNonCurrentLiabilities type: String displayName: Provisions Non Current Liabilities required: false - value: Liability.Long Term Liability.StaffAndRelatedLongTermLiabilityAccounts type: String displayName: Staff And Related Long Term Liability Accounts required: false - value: Liability.Other Current Liability.DirectDepositPayable type: String displayName: Direct Deposit Payable required: false - value: Liability.Other Current Liability.LineOfCredit type: String displayName: Line Of Credit required: false - value: Liability.Other Current Liability.LoanPayable type: String displayName: Loan Payable required: false - value: Liability.Other Current Liability.GlobalTaxPayable type: String displayName: Global Tax Payable required: false - value: Liability.Other Current Liability.GlobalTaxSuspense type: String displayName: Global Tax Suspense required: false - value: Liability.Other Current Liability.OtherCurrentLiabilities type: String displayName: Other Current Liabilities required: false - value: Liability.Other Current Liability.PayrollClearing type: String displayName: Payroll Clearing required: false - value: Liability.Other Current Liability.PayrollTaxPayable type: String displayName: Payroll Tax Payable required: false - value: Liability.Other Current Liability.PrepaidExpensesPayable type: String displayName: Prepaid Expenses Payable required: false - value: Liability.Other Current Liability.RentsInTrustLiability type: String displayName: Rents In Trust Liability required: false - value: Liability.Other Current Liability.TrustAccountsLiabilities type: String displayName: Trust Accounts Liabilities required: false - value: Liability.Other Current Liability.FederalIncomeTaxPayable type: String displayName: Federal Income Tax Payable required: false - value: Liability.Other Current Liability.InsurancePayable type: String displayName: Insurance Payable required: false - value: Liability.Other Current Liability.SalesTaxPayable type: String displayName: Sales Tax Payable required: false - value: Liability.Other Current Liability.StateLocalIncomeTaxPayable type: String displayName: State Local Income Tax Payable required: false - value: Liability.Other Current Liability.AccruedLiabilities type: String displayName: Accrued Liabilities required: false - value: Liability.Other Current Liability.CurrentLiabilities type: String displayName: Current Liabilities required: false - value: Liability.Other Current Liability.CurrentPortionEmployeeBenefitsObligations type: String displayName: Current Portion EmployeeBenefits Obligations required: false - value: Liability.Other Current Liability.CurrentPortionOfObligationsUnderFinanceLeases type: String displayName: Current Portion Of Obligations Under Finance Leases required: false - value: Liability.Other Current Liability.CurrentTaxLiability type: String displayName: Current Tax Liability required: false - value: Liability.Other Current Liability.DividendsPayable type: String displayName: Dividends Payable required: false - value: Liability.Other Current Liability.DutiesAndTaxes type: String displayName: Duties And Taxes required: false - value: Liability.Other Current Liability.InterestPayables type: String displayName: Interest Payables required: false - value: Liability.Other Current Liability.ProvisionForWarrantyObligations type: String displayName: Provision For Warranty Obligations required: false - value: Liability.Other Current Liability.ProvisionsCurrentLiabilities type: String displayName: Provisions Current Liabilities required: false - value: Liability.Other Current Liability.ShortTermBorrowings type: String displayName: Short Term Borrowings required: false - value: Liability.Other Current Liability.SocialSecurityAgencies type: String displayName: Social Security Agencies required: false - value: Liability.Other Current Liability.StaffAndRelatedLiabilityAccounts type: String displayName: Staff And Related Liability Accounts required: false - value: Liability.Other Current Liability.SundryDebtorsAndCreditors type: String displayName: Sundry Debtors And Creditors required: false - value: Liability.Other Current Liability.TradeAndOtherPayables type: String displayName: Trade And Other Payables required: false - value: Equity.Equity.OpeningBalanceEquity type: String displayName: Opening Balance Equity required: false - value: Equity.Equity.PartnersEquity type: String displayName: Partners Equity required: false - value: Equity.Equity.RetainedEarnings type: String displayName: Retained Earnings required: false - value: Equity.Equity.AccumulatedAdjustment type: String displayName: Accumulated Adjustment required: false - value: Equity.Equity.OwnersEquity type: String displayName: Owners Equity required: false - value: Equity.Equity.PaidInCapitalOrSurplus type: String displayName: Paid In Capital Or Surplus required: false - value: Equity.Equity.PartnerContributions type: String displayName: Partner Contributions required: false - value: Equity.Equity.PartnerDistributions type: String displayName: Partner Distributions required: false - value: Equity.Equity.PreferredStock type: String displayName: Preferred Stock required: false - value: Equity.Equity.CommonStock type: String displayName: Common Stock required: false - value: Equity.Equity.TreasuryStock type: String displayName: Treasury Stock required: false - value: Equity.Equity.EstimatedTaxes type: String displayName: Estimated Taxes required: false - value: Equity.Equity.Healthcare type: String displayName: Healthcare required: false - value: Equity.Equity.PersonalIncome type: String displayName: Personal Income required: false - value: Equity.Equity.PersonalExpense type: String displayName: Personal Expense required: false - value: Equity.Equity.AccumulatedOtherComprehensiveIncome type: String displayName: Accumulated Other Comprehensive Income required: false - value: Equity.Equity.CalledUpShareCapital type: String displayName: Called Up Share Capital required: false - value: Equity.Equity.CapitalReserves type: String displayName: Capital Reserves required: false - value: Equity.Equity.DividendDisbursed type: String displayName: Dividend Disbursed required: false - value: Equity.Equity.EquityInEarningsOfSubsiduaries type: String displayName: Equity In Earnings Of Subsiduaries required: false - value: Equity.Equity.InvestmentGrants type: String displayName: Investment Grants required: false - value: Equity.Equity.MoneyReceivedAgainstShareWarrants type: String displayName: Money Received Against Share Warrants required: false - value: Equity.Equity.OtherFreeReserves type: String displayName: Other Free Reserves required: false - value: Equity.Equity.ShareApplicationMoneyPendingAllotment type: String displayName: Share Application Money Pending Allotment required: false - value: Equity.Equity.ShareCapital type: String displayName: Share Capital required: false - value: Equity.Equity.Funds type: String displayName: Funds required: false required: true required: true Sage Business Cloud Accounting: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: name: type: String displayName: Name description: Name of the account required: true validation: warnings: [] information: - field: Name details: Should not be longer than 200 characters. nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: [] information: - field: NominalCode details: Should be a number between 1 and 99999999. fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue options: - value: SALES type: String displayName: Sales required: false - value: OTHER_INCOME type: String displayName: Other Income required: false - value: DIRECT_EXPENSES type: String displayName: Direct Expenses required: false - value: OVERHEADS type: String displayName: Overheads required: false - value: DEPRECIATION type: String displayName: Depreciation required: false - value: CURRENT_ASSETS type: String displayName: Current Assets required: false - value: FIXED_ASSETS type: String displayName: Fixed Assets required: false - value: FUTURE_ASSETS type: String displayName: Future Assets required: false - value: BANK type: String displayName: Bank required: false - value: CURRENT_LIABILITY type: String displayName: Current Liability required: false - value: FUTURE_LIABILITY type: String displayName: Future Liability required: false - value: EQUITY type: String displayName: Equity required: false - value: LINE_OF_CREDIT type: String displayName: Credit Card / Loan required: false required: true required: true Sage Intacct: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: - field: NominalCode details: Must be unique within the entity. - field: NominalCode details: 'Must be at most 24 characters in length, although restrictions may vary between entities.' information: [] name: type: String displayName: Name description: Name of the account required: true status: type: String displayName: Account Status description: The status of the account options: - value: Active type: String displayName: Active required: false - value: Archived type: String displayName: Archived required: false required: true type: type: String displayName: Account Type description: 'The type, or base category, of the account' options: - value: Asset type: String displayName: Asset required: false - value: Equity type: String displayName: Equity required: false - value: Expense type: String displayName: Expense required: false - value: Income type: String displayName: Income required: false - value: Liability type: String displayName: Liability required: false required: true fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue required: true validation: warnings: [] information: - field: FullyQualifiedCategory details: 'Any category that is part of the hierarchy of one of: ''Assets'', ''Equity'', ''Liabilities'', ''Total Expenses'' and ''Total Income'' is permitted.' required: true Sandbox: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true name: type: String displayName: Name description: Name of the account required: true description: type: String displayName: Description description: Description of the account required: true fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: The full category of the account e.g. Liability.Current or Income.Revenue required: true fullyQualifiedName: type: String displayName: Fully Qualified Name description: The full name of the account e.g. Liability.Current.VAT or Income.Revenue.Sales required: true currency: type: String displayName: Currency description: The currency of the account required: true currentBalance: type: Number displayName: Current Balance description: The current balance in the account required: true type: type: String displayName: Account Type description: 'The type, or base category, of the account' required: true status: type: String displayName: Account Status description: The status of the account required: true isBankAccount: type: Boolean displayName: Is Bank Account? description: Confirms whether the nominal account represents a bank account or not required: true validDatatypeLinks: type: Array displayName: Valid Datatype Links description: Describes which fields on other data types are valid links to this account in the originating system properties: property: type: String displayName: Property description: The field on the source data type that other data types can link to required: true links: type: Array displayName: Links description: 'A collection of absolute names of fields from other data types, e.g. Invoice.LineItems.AccountRef.Id' required: true required: true metadata: type: Object displayName: Metadata description: Miscellaneous data about the item properties: isDeleted: type: Boolean displayName: IsDeleted description: A boolean to indicate whether the object has been deleted required: true required: true required: true Xero: value: type: Object displayName: Nominal Account description: Nominal Accounts are the categories a business uses to record transactions properties: nominalCode: type: String displayName: Nominal Code description: Identifier for the nominal account. required: true validation: warnings: - field: NominalCode details: Max length of 10 characters. information: [] name: type: String displayName: Name description: Name of account as it appears in the chart of accounts or general ledger. required: true validation: warnings: [] information: - field: Name details: Payments are enabled to this account if the name ends in .PaymentsEnabled. description: type: String displayName: Description description: Description for the nominal account. required: false fullyQualifiedCategory: type: String displayName: Fully Qualified Category description: Account type and category for nominal account. options: - value: Asset.Current type: String displayName: Current Asset required: false - value: Asset.Fixed type: String displayName: Fixed Asset required: false - value: Asset.Inventory type: String displayName: Inventory required: false - value: Asset.NonCurrent type: String displayName: Non-current Asset required: false - value: Asset.Prepayment type: String displayName: Prepayment required: false - value: Expense.DirectCosts type: String displayName: Direct Costs required: false - value: Expense.Expense type: String displayName: Expense required: false - value: Expense.Overhead type: String displayName: Overhead required: false - value: Expense.Superannuation type: String displayName: Superannuation required: false - value: Expense.Wages type: String displayName: Wages required: false - value: Income.Sales type: String displayName: Sales required: false - value: Income.Revenue type: String displayName: Revenue required: false - value: Income.Other type: String displayName: Other Income required: false - value: Liability.Current type: String displayName: Current Liability required: false - value: Liability.Depreciation type: String displayName: Depreciation required: false - value: Liability.Liability type: String displayName: Liability required: false - value: Liability.NonCurrent type: String displayName: Non Current Liability required: false - value: Liability.PayAsYouGo type: String displayName: Pay As You Go Liability required: false - value: Liability.Superannuation type: String displayName: Superannuation Liability required: false - value: Liability.WagesPayable type: String displayName: Wages Payable Liability required: false - value: Equity.Equity type: String displayName: Equity required: false required: true required: true '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' operationId: get-create-chartOfAccounts-model description: | The *Get create account model* endpoint returns the expected data for the request payload when creating an [account](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) for a given company and integration. [Accounts](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) are the categories a business uses to record accounting transactions. **Integration-specific behaviour** See the *response examples* for integration-specific indicative models. Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=chartOfAccounts) for integrations that support creating an account. '/companies/{companyId}/connections/{connectionId}/push/bankAccounts': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' post: tags: - Bank accounts parameters: - $ref: '#/components/parameters/timeoutInMinutes' - $ref: '#/components/parameters/allowSyncOnPushComplete' requestBody: content: application/json: schema: $ref: '#/components/schemas/BankAccount' examples: QuickBooks Online: value: accountName: GBP Bank Account accountType: Debit accountNumber: '12345678' currency: GBP status: Active Xero: value: accountName: Xero GBP Bank Account accountType: Debit sortCode: '445566' accountNumber: '12345678' currency: GBP status: Active responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateBankAccountResponse' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: Create bank account description: "The *Create bank account* endpoint creates a new [bank account](https://docs.codat.io/sync-for-expenses-api#/schemas/BankAccount) for a given company's connection.\r\n\r\n[Bank accounts](https://docs.codat.io/sync-for-expenses-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution.\r\n\r\n**Integration-specific behaviour**\r\n\r\nRequired data may vary by integration. To see what data to post, first call [Get create/update bank account model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-update-bankAccounts-model).\r\n\r\nCheck out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankAccounts) for integrations that support creating an account." operationId: create-bank-account '/companies/{companyId}/connections/{connectionId}/options/bankAccounts': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' get: summary: Get create bank account model tags: - Bank accounts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PushOption' examples: Dynamics 365 Business Central: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true validation: warnings: [] information: - field: AccountName details: 'Needs to be of the format ''{No.}-{Name}''' currency: type: String displayName: Currency description: The currency of the bank account required: true accountNumber: type: String displayName: Account Number description: The account number for the bank account required: false nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: false validation: warnings: [] information: - field: NominalCode details: Bank Account Posting Group with Nominal Account must exist sortCode: type: String displayName: Sort Code description: The sort code for the bank account required: false validation: warnings: [] information: - field: SortCode details: Must have a length between 0 and 20 characters iBan: type: String displayName: IBAN description: The international bank account number of the account. Often used when making or receiving international payments required: false overdraftLimit: type: Number displayName: Overdraft Limit description: The pre-arranged overdraft limit of the account required: false validation: warnings: [] information: - field: OverdraftLimit details: Default value is 0 required: true Exact (Netherlands): value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true accountNumber: type: String displayName: Account Number description: The account number for the bank account required: true validation: warnings: - field: AccountNumber details: Should not exceed the maximum length of 14 characters if the specified currency is GBP. information: [] sortCode: type: String displayName: Sort Code description: The sort code for the bank account required: false validation: warnings: - field: SortCode details: Must be 6 characters long if the specified currency is GBP. - field: SortCode details: Must be provided if the specified currency is GBP. information: [] currency: type: String displayName: Currency description: The currency of the bank account required: false nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: false required: true Exact (UK): value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true accountNumber: type: String displayName: Account Number description: The account number for the bank account required: true validation: warnings: - field: AccountNumber details: Should not exceed the maximum length of 14 characters if the specified currency is GBP. information: [] sortCode: type: String displayName: Sort Code description: The sort code for the bank account required: false validation: warnings: - field: SortCode details: Must be 6 characters long if the specified currency is GBP. - field: SortCode details: Must be provided if the specified currency is GBP. information: [] currency: type: String displayName: Currency description: The currency of the bank account required: false nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: false required: true FreeAgent: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true sortCode: type: String displayName: Sort Code description: The sort code for the bank account required: false validation: warnings: - field: SortCode details: Must have a length between 0 and 8 characters information: [] accountNumber: type: String displayName: Account Number description: The account number for the bank account required: false iBan: type: String displayName: IBAN description: The international bank account number of the account. Often used when making or receiving international payments required: false currency: type: String displayName: Currency description: The currency of the bank account options: - value: AED type: String displayName: AED required: false - value: AMD type: String displayName: AMD required: false - value: AOA type: String displayName: AOA required: false - value: ARS type: String displayName: ARS required: false - value: AUD type: String displayName: AUD required: false - value: AWG type: String displayName: AWG required: false - value: AZN type: String displayName: AZN required: false - value: BBD type: String displayName: BBD required: false - value: BDT type: String displayName: BDT required: false - value: BGN type: String displayName: BGN required: false - value: BRL type: String displayName: BRL required: false - value: BWP type: String displayName: BWP required: false - value: CAD type: String displayName: CAD required: false - value: CHF type: String displayName: CHF required: false - value: CLP type: String displayName: CLP required: false - value: CNY type: String displayName: CNY required: false - value: COP type: String displayName: COP required: false - value: CRC type: String displayName: CRC required: false - value: CUC type: String displayName: CUC required: false - value: CUP type: String displayName: CUP required: false - value: CZK type: String displayName: CZK required: false - value: DKK type: String displayName: DKK required: false - value: DOP type: String displayName: DOP required: false - value: EGP type: String displayName: EGP required: false - value: EUR type: String displayName: EUR required: false - value: FJD type: String displayName: FJD required: false - value: GBP type: String displayName: GBP required: false - value: GEL type: String displayName: GEL required: false - value: GHS type: String displayName: GHS required: false - value: GTQ type: String displayName: GTQ required: false - value: GYD type: String displayName: GYD required: false - value: HKD type: String displayName: HKD required: false - value: HNL type: String displayName: HNL required: false - value: HRK type: String displayName: HRK required: false - value: HUF type: String displayName: HUF required: false - value: IDR type: String displayName: IDR required: false - value: ILS type: String displayName: ILS required: false - value: INR type: String displayName: INR required: false - value: ISK type: String displayName: ISK required: false - value: JMD type: String displayName: JMD required: false - value: JPY type: String displayName: JPY required: false - value: KES type: String displayName: KES required: false - value: KRW type: String displayName: KRW required: false - value: KWD type: String displayName: KWD required: false - value: KYD type: String displayName: KYD required: false - value: KZT type: String displayName: KZT required: false - value: LAK type: String displayName: LAK required: false - value: LBP type: String displayName: LBP required: false - value: LKR type: String displayName: LKR required: false - value: LTL type: String displayName: LTL required: false - value: LVL type: String displayName: LVL required: false - value: MAD type: String displayName: MAD required: false - value: MDL type: String displayName: MDL required: false - value: MGA type: String displayName: MGA required: false - value: MUR type: String displayName: MUR required: false - value: MVR type: String displayName: MVR required: false - value: MWK type: String displayName: MWK required: false - value: MXN type: String displayName: MXN required: false - value: MYR type: String displayName: MYR required: false - value: MZN type: String displayName: MZN required: false - value: NAD type: String displayName: NAD required: false - value: NGN type: String displayName: NGN required: false - value: NOK type: String displayName: NOK required: false - value: NPR type: String displayName: NPR required: false - value: NZD type: String displayName: NZD required: false - value: OMR type: String displayName: OMR required: false - value: PEN type: String displayName: PEN required: false - value: PHP type: String displayName: PHP required: false - value: PKR type: String displayName: PKR required: false - value: PLN type: String displayName: PLN required: false - value: QAR type: String displayName: QAR required: false - value: RON type: String displayName: RON required: false - value: RSD type: String displayName: RSD required: false - value: RUB type: String displayName: RUB required: false - value: RWF type: String displayName: RWF required: false - value: SAR type: String displayName: SAR required: false - value: SCR type: String displayName: SCR required: false - value: SEK type: String displayName: SEK required: false - value: SGD type: String displayName: SGD required: false - value: THB type: String displayName: THB required: false - value: TND type: String displayName: TND required: false - value: TRY type: String displayName: TRY required: false - value: TTD type: String displayName: TTD required: false - value: TWD type: String displayName: TWD required: false - value: TZS type: String displayName: TZS required: false - value: UAH type: String displayName: UAH required: false - value: UGX type: String displayName: UGX required: false - value: USD type: String displayName: USD required: false - value: UYU type: String displayName: UYU required: false - value: VEF type: String displayName: VEF required: false - value: VND type: String displayName: VND required: false - value: VUV type: String displayName: VUV required: false - value: XAF type: String displayName: XAF required: false - value: XCD type: String displayName: XCD required: false - value: XOF type: String displayName: XOF required: false - value: ZAR type: String displayName: ZAR required: false - value: ZMK type: String displayName: ZMK required: false required: true balance: type: Number displayName: Balance description: The balance of the bank account required: false validation: warnings: [] information: - field: Balance details: 'The opening balance, in the account currency' institution: type: String displayName: Institution description: The institution of the bank account required: false required: true KashFlow: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Account Name description: Name of the bank account as it appears in Kashflow. required: true balance: type: Number displayName: Balance description: 'The opening balance, in the account currency.' required: false currency: type: String displayName: Currency description: The currency of the bank account. required: true required: true QuickBooks Desktop: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true validation: warnings: - field: NominalCode details: Max length of 7 characters. information: [] accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true validation: warnings: - field: AccountName details: Max length of 31 characters. information: [] currency: type: String displayName: Currency description: The currency of the bank account required: false validation: warnings: - field: Currency details: 'The currency must match the base currency of the QuickBooks Desktop company unless the FullyQualifiedCategory is ''Asset.AccountsReceivable'',''Liability.AccountsPayable'' or ''Liability.CreditCard''' - field: Currency details: Must be a three letter ISO code that matches an existing active currency in the QuickBooks Desktop company - field: Currency details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled. information: - field: Currency details: 'If not set, will default to the base currency of the QuickBooks Desktop company' balance: type: Number displayName: Balance description: The balance of the bank account required: false required: true QuickBooks Online Sandbox: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Account Name description: Name of account as it appears in the chart of accounts or general ledger. required: true accountNumber: type: String displayName: Account Number description: User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. required: true currency: type: String displayName: Currency description: Currency of the bank account. required: true required: true Sage Business Cloud Accounting: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true validation: warnings: [] information: - field: AccountName details: Must be provided. - field: AccountName details: Should not be longer than 50 characters. currency: type: String displayName: Currency description: The currency of the bank account required: true validation: warnings: [] information: - field: Currency details: Must be provided. - field: Currency details: Must match the company's base currency. sortCode: type: String displayName: Sort Code description: The sort code for the bank account required: false validation: warnings: [] information: - field: SortCode details: Should be a 6 digit number. accountNumber: type: String displayName: Account Number description: The account number for the bank account required: false validation: warnings: [] information: - field: AccountNumber details: Should not be longer than 25 characters. iBan: type: String displayName: IBAN description: The international bank account number of the account. Often used when making or receiving international payments required: false validation: warnings: [] information: - field: IBan details: Should be in the international bank account number format. nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: false validation: warnings: [] information: - field: NominalCode details: Should be a number between 1 and 99999999. required: true Sandbox: value: type: Object displayName: Bank Account description: An account that bank transactions may be recorded against properties: accountName: type: String displayName: Name description: The name of the bank account in the originating system required: true accountType: type: String displayName: Account Type description: The type of account required: true nominalCode: type: String displayName: Nominal Code description: The external reference given to each nominal account for a business required: true sortCode: type: String displayName: Sort Code description: The sort code for the bank account required: true accountNumber: type: String displayName: Account Number description: The account number for the bank account required: true iBan: type: String displayName: IBAN description: The international bank account number of the account. Often used when making or receiving international payments required: true currency: type: String displayName: Currency description: The currency of the bank account required: true balance: type: Number displayName: Balance description: The balance of the bank account required: true availableBalance: type: Number displayName: Available Balance description: The available balance of the bank account required: true overdraftLimit: type: Number displayName: Overdraft Limit description: The pre-arranged overdraft limit of the account required: true institution: type: String displayName: Institution description: The institution of the bank account required: true metadata: type: Object displayName: Metadata description: Miscellaneous data about the item properties: isDeleted: type: Boolean displayName: IsDeleted description: A boolean to indicate whether the object has been deleted required: true required: true required: true '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' operationId: get-create-bankAccounts-model description: "The *Get create/update bank account model* endpoint returns the expected data for the request payload when creating and updating a [bank account](https://docs.codat.io/sync-for-expenses-api#/schemas/BankAccount) for a given company and integration.\r\n\r\n[Bank accounts](https://docs.codat.io/sync-for-expenses-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution.\r\n\r\n**Integration-specific behaviour**\r\n\r\nSee the *response examples* for integration-specific indicative models.\r\n\r\nCheck out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankAccounts) for integrations that support creating and updating a bank account.\r\n" '/companies/{companyId}/data/customers': parameters: - $ref: '#/components/parameters/companyId' get: tags: - Customers summary: List customers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Customers' examples: Clear Books: value: results: - id: c8180244-74ac-40cf-a5df-6d83661c44d7 customerName: Arjun Kuvalis contactName: Werner Langworth emailAddress: Arjun34@hotmail.com defaultCurrency: GBP phone: 014605 64820 addresses: - type: Delivery line1: Suite 214 line2: 8439 Lueilwitz Passage city: Fernandohaven region: Northern Ireland country: United Kingdom postalCode: JG04 7PV - type: Delivery line1: Suite 096 line2: 864 Halie Course city: Juliochester region: England country: United Kingdom postalCode: DZ8 4BF - type: Delivery line1: Suite 001 line2: 416 Stokes Fords city: Naderborough region: Wales country: United Kingdom postalCode: XG25 0XX contacts: - name: Werner Langworth email: Werner_Langworth@hotmail.com phone: [] address: type: Delivery line1: Apt. 145 line2: 317 Williamson Freeway city: Hortenseville region: Scotland country: United Kingdom postalCode: CV4 2HR status: Active - name: Belle Glover email: Belle51@yahoo.com phone: [] address: type: Delivery line1: Suite 075 line2: 9921 Dickens Walk city: South Ali region: Scotland country: United Kingdom postalCode: TI04 4OO status: Active registrationNumber: NI7JEJVM taxNumber: '7505220209.583549' status: Active modifiedDate: '2023-04-26T12:38:16Z' sourceModifiedDate: '2022-07-03T01:27:00' metadata: isDeleted: false - id: 6d162ee4-47b4-46c6-a2e6-aa9edd0fe6b0 customerName: 'Breitenberg, Emard and Schiller' contactName: Miguel Hahn emailAddress: contact@BreitenbergEmardandSchiller.biz defaultCurrency: GBP phone: 0800 445 6957 addresses: - type: Billing line1: Apt. 184 line2: 60578 Louie Springs city: East Khalid region: Wales country: United Kingdom postalCode: XW89 7NT contacts: - name: Miguel Hahn email: Miguel.Hahn@gmail.com phone: - number: 018555 09614 type: Landline address: type: Delivery line1: Suite 400 line2: 21930 Milan Lane city: Reingerton region: Wales country: United Kingdom postalCode: QG10 2DL status: Active registrationNumber: KME0AMIL taxNumber: '8560920952.553111' status: Archived modifiedDate: '2023-04-26T12:38:16Z' sourceModifiedDate: '2022-12-03T11:05:01' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 20 _links: current: href: /companies/354a121b-855f-4d25-90ad-0905b498c1c0/data/customers?page=1&pageSize=2 self: href: /companies/354a121b-855f-4d25-90ad-0905b498c1c0/data/customers next: href: /companies/354a121b-855f-4d25-90ad-0905b498c1c0/data/customers?page=2&pageSize=2 Dynamics 365 Business Central: value: results: - id: 0e2f7751-7696-ed11-bff5-6045bd0d2ad6 customerName: '' contactName: '' emailAddress: '' defaultCurrency: GBP phone: '' addresses: - type: Billing line1: '' line2: '' city: '' region: '' country: '' postalCode: '' contacts: - name: '' email: '' phone: [] address: type: Billing line1: '' line2: '' city: '' region: '' country: '' postalCode: '' status: Active taxNumber: '' status: Active modifiedDate: '2023-03-27T14:21:25Z' sourceModifiedDate: '2023-01-17T14:50:54Z' metadata: isDeleted: false - id: 0ef95175-48c4-eb11-9f0a-0022481b4343 customerName: '' contactName: '' emailAddress: '' defaultCurrency: GBP phone: '' addresses: - type: Billing line1: '' line2: '' city: '' region: '' country: GB postalCode: '' contacts: - name: '' email: '' phone: [] address: type: Billing line1: '' line2: '' city: '' region: '' country: GB postalCode: '' status: Active taxNumber: '' status: Active modifiedDate: '2023-03-27T14:21:25Z' sourceModifiedDate: '2021-06-03T08:48:36Z' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 42 _links: current: href: /companies/d6849caf-c146-41be-8335-b73346e3bd84/data/customers?page=1&pageSize=2 self: href: /companies/d6849caf-c146-41be-8335-b73346e3bd84/data/customers next: href: /companies/d6849caf-c146-41be-8335-b73346e3bd84/data/customers?page=2&pageSize=2 Exact (Netherlands): value: results: - id: 555f8251-c65a-433a-a813-5dbe04321d1e customerName: Ab Netherlands defaultCurrency: EUR addresses: - type: Billing country: NL contacts: [] status: Active modifiedDate: '2022-10-26T13:32:05Z' sourceModifiedDate: '2021-06-14T15:26:37Z' - id: 9fd1f78e-67aa-4af7-8a10-df1fc5fb5841 customerName: anna test 2 defaultCurrency: EUR addresses: - type: Billing country: NL contacts: [] status: Active modifiedDate: '2022-10-26T13:32:05Z' sourceModifiedDate: '2022-05-24T11:53:21Z' pageNumber: 1 pageSize: 2 totalResults: 71 _links: current: href: /companies/b83b1923-4db6-45a8-a779-b4e320c15979/data/customers?page=1&pageSize=2 self: href: /companies/b83b1923-4db6-45a8-a779-b4e320c15979/data/customers next: href: /companies/b83b1923-4db6-45a8-a779-b4e320c15979/data/customers?page=2&pageSize=2 Exact (UK): value: results: - id: 5f20075a-a28e-434d-81a6-2db0dc170e87 customerName: Abdi 99 emailAddress: email@codat.io defaultCurrency: GBP addresses: - type: Billing line1: Ink Rooms city: London country: GB postalCode: WC1X 0BE contacts: [] registrationNumber: '123456789' taxNumber: GB339 0727 47 status: Active modifiedDate: '2022-10-26T13:33:08Z' sourceModifiedDate: '2020-02-26T11:23:50Z' - id: 1d9dc1a7-92d6-441b-93fd-42c9fb321b1c customerName: Abdulbasit Al-haj contactName: abeee emailAddress: a.alhaj@codat.io defaultCurrency: GBP addresses: - type: Billing country: GB contacts: - name: abeee phone: [] address: type: Unknown line1: '' country: 'GB ' status: Active modifiedDate: '2020-02-24T12:00:51.027Z' status: Active modifiedDate: '2022-10-26T13:33:08Z' sourceModifiedDate: '2020-02-24T12:00:50Z' pageNumber: 1 pageSize: 2 totalResults: 53 _links: current: href: /companies/d95030cd-22b2-482b-9c7b-2980dcc2b1ce/data/customers?page=1&pageSize=2 self: href: /companies/d95030cd-22b2-482b-9c7b-2980dcc2b1ce/data/customers next: href: /companies/d95030cd-22b2-482b-9c7b-2980dcc2b1ce/data/customers?page=2&pageSize=2 FreeAgent: value: results: - id: '11526230' customerName: '-' contactName: Test 1 addresses: - type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH contacts: - name: Test 1 phone: [] address: type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH status: Unknown status: Active modifiedDate: '2023-04-25T14:19:12Z' sourceModifiedDate: '2023-04-17T06:02:46Z' metadata: isDeleted: false - id: '9677150' customerName: '-' contactName: Test 1 addresses: - type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH contacts: - name: Test 1 phone: [] address: type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH status: Unknown status: Active modifiedDate: '2023-04-25T14:19:12Z' sourceModifiedDate: '2023-04-24T06:19:23Z' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 159 _links: current: href: /companies/071ad738-68f3-4561-afd0-69bab9df0803/data/customers?page=1&pageSize=2 self: href: /companies/071ad738-68f3-4561-afd0-69bab9df0803/data/customers next: href: /companies/071ad738-68f3-4561-afd0-69bab9df0803/data/customers?page=2&pageSize=2 FreshBooks: value: results: - id: '634509' customerName: A test customer 14 (updated) contactName: test person name emailAddress: test14@example.com defaultCurrency: GBP phone: 01876 541245 addresses: - type: Billing line1: Line 1 line2: Line 2 city: Some city region: A region country: Country 1 postalCode: SW1 2JQ contacts: - name: test person1 email: test14A@example.com phone: - number: '24681012' type: Primary - number: '121086420' type: Unknown status: Active - name: test person2 email: test14B@example.com phone: - number: 1234 56789 type: Primary - number: 9876 54321 type: Unknown status: Active - name: test person name email: test14@example.com phone: - number: 01876 541245 type: Unknown status: Active status: Active modifiedDate: '2023-03-24T16:07:23Z' sourceModifiedDate: '2022-05-18T09:23:56' metadata: isDeleted: false - id: '634486' customerName: A test customer name 2 contactName: test person name emailAddress: test8@example.com defaultCurrency: GBP phone: 01876 541245 addresses: - type: Billing line1: Line 1 line2: Line 2 city: Some city region: A region country: Country 1 postalCode: SW1 2JQ contacts: - name: test person1 email: test9@example.com phone: - number: '24681012' type: Primary - number: '121086420' type: Unknown status: Active - name: test person2 email: test10@example.com phone: - number: '123456789' type: Primary - number: '987654321' type: Unknown status: Active - name: test person name email: test8@example.com phone: - number: 01876 541245 type: Unknown status: Active status: Active modifiedDate: '2023-03-24T16:07:23Z' sourceModifiedDate: '2022-05-11T11:39:58' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 39 _links: current: href: /companies/3691c49e-0db4-4172-b3ab-e4084c365013/data/customers?page=1&pageSize=2 self: href: /companies/3691c49e-0db4-4172-b3ab-e4084c365013/data/customers next: href: /companies/3691c49e-0db4-4172-b3ab-e4084c365013/data/customers?page=2&pageSize=2 KashFlow: value: results: - id: '92227673' customerName: Chekko Customer Test 01 contactName: '' emailAddress: '' phone: '' addresses: [] contacts: - name: '' email: '' phone: [] status: Active taxNumber: '' status: Active modifiedDate: '2022-09-30T10:29:15Z' sourceModifiedDate: '0001-01-01T00:00:00' - id: '88459410' customerName: Diogo Sousa contactName: Mr Diogo Sousa emailAddress: diogomail@mail.com phone: '123123123' addresses: - type: Billing line1: Billing Address line2: Billing line 2 Billing line 3 city: Billing line 4 country: United Kingdom postalCode: '123321' - type: Delivery line1: Delivery Address line2: Delivery line2 Delivery line3 city: Delivery line4 country: United Kingdom postalCode: '123321' contacts: - name: Mr Diogo Sousa email: diogomail@mail.com phone: - number: '123123123' type: Landline - number: '321321321' type: Mobile address: type: Billing line1: Billing Address line2: Billing line 2 Billing line 3 city: Billing line 4 country: United Kingdom postalCode: '123321' status: Active - name: Mr Diogo Sousa phone: [] address: type: Delivery line1: Delivery Address line2: Delivery line2 Delivery line3 city: Delivery line4 country: United Kingdom postalCode: '123321' status: Active taxNumber: '' status: Active modifiedDate: '2022-09-30T10:29:15Z' sourceModifiedDate: '2021-05-04T13:22:19' pageNumber: 1 pageSize: 2 totalResults: 10 _links: current: href: /companies/3a707a99-89da-4b16-a5d6-595333a16352/data/customers?page=1&pageSize=2 self: href: /companies/3a707a99-89da-4b16-a5d6-595333a16352/data/customers next: href: /companies/3a707a99-89da-4b16-a5d6-595333a16352/data/customers?page=2&pageSize=2 Oracle NetSuite: value: results: - id: '773' customerName: 119 Test Customer contactName: Mr Test Customer defaultCurrency: GBP addresses: [] contacts: [] status: Active modifiedDate: '2023-01-30T14:48:02Z' sourceModifiedDate: '2022-01-11T12:28:49' - id: '172722' customerName: 1248 European Company contactName: European Company defaultCurrency: GBP addresses: [] contacts: [] status: Active modifiedDate: '2023-01-30T14:48:02Z' sourceModifiedDate: '2022-07-27T14:29:16' pageNumber: 1 pageSize: 2 totalResults: 4 _links: current: href: /companies/d5074b08-6a34-4b06-a742-236edf5dc4f1/data/customers?page=1&pageSize=2 self: href: /companies/d5074b08-6a34-4b06-a742-236edf5dc4f1/data/customers next: href: /companies/d5074b08-6a34-4b06-a742-236edf5dc4f1/data/customers?page=2&pageSize=2 QuickBooks Desktop: value: results: - id: 150000-933272658 customerName: 'Abercrombie, Kristy' contactName: Kristy Abercrombie emailAddress: kristy@samplename.com defaultCurrency: GBP phone: 415-555-6579 addresses: - type: Delivery line1: Kristy Abercrombie line2: 5647 Cypress Hill Rd city: Bayshore region: CA postalCode: '94326' - type: Billing line1: Kristy Abercrombie line2: 5647 Cypress Hill Rd city: Bayshore region: CA postalCode: '94326' contacts: - name: 'Abercrombie, Kristy' email: kristy@samplename.com phone: - number: 415-555-6579 type: Primary status: Active - name: Kristy Abercrombie phone: [] status: Active - name: Steve Darcangelo phone: [] status: Active status: Active modifiedDate: '2023-04-26T09:07:55Z' sourceModifiedDate: '2023-12-16T05:06:42' metadata: isDeleted: false - id: 800000D0-1182061376 customerName: 'Allard, Robert' contactName: Amanda Roberts emailAddress: rallard@myemail.com defaultCurrency: GBP phone: 650-555-3422 addresses: - type: Delivery line1: Robert Allard line2: 92834 Chandler St. city: Millbrae region: CA postalCode: '94030' - type: Billing line1: Robert Allard line2: 92834 Chandler St. city: Millbrae region: CA postalCode: '94030' contacts: - name: 'Allard, Robert' email: rallard@myemail.com phone: - number: 650-555-3422 type: Primary - number: 650-555-9804 type: Fax - number: 650-555-8349 type: Unknown status: Active - name: Robert Allard phone: [] status: Active - name: Rachel Fisher phone: [] status: Active status: Active modifiedDate: '2023-04-26T09:07:55Z' sourceModifiedDate: '2023-12-16T05:06:42' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 64 _links: current: href: /companies/fc72ba08-af13-4474-b28a-01dcfa6cfb51/data/customers?page=1&pageSize=2 self: href: /companies/fc72ba08-af13-4474-b28a-01dcfa6cfb51/data/customers next: href: /companies/fc72ba08-af13-4474-b28a-01dcfa6cfb51/data/customers?page=2&pageSize=2 QuickBooks Online: value: results: - id: '9' customerName: Abe contactName: Abraham's Company emailAddress: ab@email.com defaultCurrency: GBP addresses: [] contacts: - name: Abe email: ab@email.com phone: - number: '01111111111' type: Mobile status: Active registrationNumber: XXXX9900001 taxNumber: XXXX9900001 status: Active modifiedDate: '2023-01-18T11:02:35Z' sourceModifiedDate: '2022-12-08T15:42:59Z' - id: '49' customerName: adeel qbo child test contactName: Adeel test emailAddress: adeel@adeel.com defaultCurrency: GBP phone: '123456789' addresses: - type: Billing line1: 4 Privet Drive city: London country: United Kingdom postalCode: WD25 7LR - type: Delivery line1: 4 Privet Drive city: London country: United Kingdom postalCode: WD25 7LR contacts: - name: Adeel test email: adeel@adeel.com phone: - number: '123456789' type: Primary - number: '07546543216' type: Mobile address: type: Billing line1: 4 Privet Drive city: London country: United Kingdom postalCode: WD25 7LR status: Active status: Active modifiedDate: '2023-01-18T11:02:35Z' sourceModifiedDate: '2022-08-22T09:21:09Z' pageNumber: 1 pageSize: 2 totalResults: 40 _links: current: href: /companies/10818b5e-6e6a-4ed4-a1c5-3e3efe626e87/data/customers?page=1&pageSize=2 self: href: /companies/10818b5e-6e6a-4ed4-a1c5-3e3efe626e87/data/customers next: href: /companies/10818b5e-6e6a-4ed4-a1c5-3e3efe626e87/data/customers?page=2&pageSize=2 QuickBooks Online Sandbox: value: results: - id: '66' customerName: Abercrombie International Group contactName: Kristy Abercrombie defaultCurrency: GBP addresses: - type: Billing line1: 123 Main St city: 'New York, NY' contacts: - name: Abercrombie International Group (deleted) phone: [] address: type: Billing line1: 123 Main St city: 'New York, NY' status: Archived status: Archived modifiedDate: '2023-04-26T09:35:56Z' sourceModifiedDate: '2016-09-12T18:53:19Z' metadata: isDeleted: false - id: '67' customerName: Abercrombie International Group contactName: Natalie Watts emailAddress: n.watts@google.com defaultCurrency: USD addresses: - type: Billing - type: Delivery contacts: - name: Abercrombie International Group email: n.watts@google.com phone: [] address: type: Billing status: Active registrationNumber: XXXXVat123456 taxNumber: XXXXVat123456 status: Active modifiedDate: '2023-04-26T09:35:56Z' sourceModifiedDate: '2023-03-29T01:12:55Z' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 243 _links: current: href: /companies/5a7f3597-36e1-4216-86fe-289ad36088a6/data/customers?page=1&pageSize=2 self: href: /companies/5a7f3597-36e1-4216-86fe-289ad36088a6/data/customers next: href: /companies/5a7f3597-36e1-4216-86fe-289ad36088a6/data/customers?page=2&pageSize=2 Sage 200cloud: value: results: - id: A1D001 customerName: A1 Design Services contactName: Lee Dalkin emailAddress: newbusinessadvice@sage.com defaultCurrency: GBP phone: 01742 876 234 addresses: - type: Delivery line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: '' postalCode: BP12 7HT - type: Delivery line1: 23a Union Street line2: '' city: Manchester region: '' country: '' postalCode: M2 6JK - type: Billing line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: Great Britain postalCode: BP12 7HT contacts: - name: Lee Dalkin email: newbusinessadvice@sage.com phone: - number: 01742 876 234 type: Landline - number: 01742 876 235 type: Landline - number: 01742 876 236 type: Fax status: Active - name: Malcolm Leverret email: '' phone: [] status: Active - name: Jim Thomas email: Jim@a1designservices.co.uk phone: - number: 01742 876 234 type: Landline - number: 01742 876 235 type: Fax status: Active - name: Jullian Plawsworth email: Jullian@a1designservices.co.uk phone: - number: 0151 349 3939 type: Landline - number: 0151 349 3940 type: Fax status: Active registrationNumber: '' taxNumber: GB238 3839 38 status: Active modifiedDate: '2022-10-14T09:35:53Z' sourceModifiedDate: '2022-04-27T15:17:36Z' - id: A1D002 customerName: A2 Design Services contactName: Lee Dalkin emailAddress: newbusinessadvice@sage.com defaultCurrency: GBP phone: 01742 876 234 addresses: - type: Billing line1: 77a Station Road line2: '' city: Blackpool region: Lancashire country: Great Britain postalCode: BP12 7HT contacts: - name: Lee Dalkin email: newbusinessadvice@sage.com phone: - number: 01742 876 234 type: Landline - number: 01742 876 235 type: Landline - number: 01742 876 236 type: Fax status: Active - name: Malcolm Leverret email: '' phone: [] status: Active - name: Jim Thomas email: Jim@a1designservices.co.uk phone: - number: 01742 876 234 type: Landline - number: 01742 876 235 type: Fax status: Active - name: Jullian Plawsworth email: Jullian@a1designservices.co.uk phone: - number: 0151 349 3939 type: Landline - number: 0151 349 3940 type: Fax status: Active registrationNumber: '' taxNumber: GB238 3839 40 status: Active modifiedDate: '2022-10-14T09:35:53Z' sourceModifiedDate: '2020-09-23T10:28:58Z' pageNumber: 1 pageSize: 2 totalResults: 43 _links: current: href: /companies/93c21e2d-049c-4d24-b41b-57e61c30b69e/data/customers?page=1&pageSize=2 self: href: /companies/93c21e2d-049c-4d24-b41b-57e61c30b69e/data/customers next: href: /companies/93c21e2d-049c-4d24-b41b-57e61c30b69e/data/customers?page=2&pageSize=2 Sage 50 (UK): value: results: - id: A1D001 customerName: A1 Design Services contactName: Ian Cairns emailAddress: newbusinessadvice@sage.com defaultCurrency: GBP phone: 01742 876 234 addresses: - type: Delivery line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: GB postalCode: BP12 7HT - type: Delivery line1: 23a Union Street line2: '' city: Manchester region: '' country: GB postalCode: M2 6JK - type: Unknown line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: GB postalCode: BP12 7HT contacts: [] taxNumber: GB238 3839 38 status: Active modifiedDate: '2023-03-30T14:42:41Z' sourceModifiedDate: '2022-11-25T09:43:54Z' metadata: isDeleted: false - id: ABS001 customerName: ABS Garages Ltd contactName: Mike Hall emailAddress: newbusinessadvice@sage.com defaultCurrency: GBP phone: 0191 254 5909 addresses: - type: Delivery line1: Swanson Industries line2: Dukes Industrial Estate city: Whitley Bay region: North Tyneside country: GB postalCode: NE56 4ER - type: Delivery line1: Unit 34 line2: Holystone Ind Estate city: Hebburn region: Tyne & Wear country: GB postalCode: NE31 1VB - type: Unknown line1: Unit 34 line2: Holystone Ind Estate city: Hebburn region: Tyne & Wear country: GB postalCode: NE31 1VB contacts: [] taxNumber: GB745 4584 68 status: Active modifiedDate: '2023-03-30T14:42:41Z' sourceModifiedDate: '2022-11-25T09:43:54Z' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 30 _links: current: href: /companies/cf5f2a47-2990-4221-bae6-0c19c86ac304/data/customers?page=1&pageSize=2 self: href: /companies/cf5f2a47-2990-4221-bae6-0c19c86ac304/data/customers next: href: /companies/cf5f2a47-2990-4221-bae6-0c19c86ac304/data/customers?page=2&pageSize=2 Sage Business Cloud Accounting: value: results: - id: 260f6a3f94a243738f2d5e08496a41a8 customerName: 100 test name contactName: Main Contact emailAddress: email@codat.io defaultCurrency: GBP phone: contact phone number addresses: - type: Billing line1: Aruba Address line 1 line2: Aruba Address line 2 city: Aruba City region: Aruba Province country: Aruba (AW) postalCode: Aruba Post contacts: - phone: - number: contact mobile number type: Mobile - number: contact fax number type: Fax status: Unknown status: Active modifiedDate: '2022-10-24T14:52:54Z' sourceModifiedDate: '2021-05-10T16:31:51Z' - id: 44a5d9461d9e4f6d90a5ace251c5cf35 customerName: 100 test name DS contactName: Main Contact emailAddress: DCemail@codat.io defaultCurrency: GBP phone: contact phone number addresses: - type: Billing line1: POST - Aruba Address line 1 line2: POST - Aruba Address line 2 city: POST - Aruba City region: Aruba Province country: Aruba (AW) postalCode: Aruba Post contacts: [] status: Active modifiedDate: '2022-10-24T14:52:54Z' sourceModifiedDate: '2021-06-10T14:22:46Z' pageNumber: 1 pageSize: 2 totalResults: 168 _links: current: href: /companies/390083e2-351b-407c-a3be-55081c36c182/data/customers?page=1&pageSize=2 self: href: /companies/390083e2-351b-407c-a3be-55081c36c182/data/customers next: href: /companies/390083e2-351b-407c-a3be-55081c36c182/data/customers?page=2&pageSize=2 Sage Intacct: value: results: - id: '188' customerName: 33Across contactName: Yuna Conn defaultCurrency: USD phone: 520-393-4468 addresses: - type: Unknown line1: 155 Westend Point line2: '' city: Albuquerque region: NM country: United States postalCode: '87140' contacts: - name: 'Conn, Yuna' phone: - number: 520-393-4468 type: Primary address: type: Unknown line1: 155 Westend Point line2: '' city: Albuquerque region: NM country: United States postalCode: '87140' status: Unknown taxNumber: '' status: Active modifiedDate: '2023-04-04T16:32:21Z' sourceModifiedDate: '2022-09-06T12:58:27' metadata: isDeleted: false - id: '324' customerName: 3Way International Logistics contactName: Lauri O'Heagertie defaultCurrency: CAD phone: 410-309-3976 addresses: - type: Unknown line1: 7 Lerdahl Junction line2: '' city: Sparwood region: British Columbia country: Canada postalCode: L4R contacts: - name: 'O''Heagertie, Lauri' phone: - number: 410-309-3976 type: Primary address: type: Unknown line1: 7 Lerdahl Junction line2: '' city: Sparwood region: British Columbia country: Canada postalCode: L4R status: Unknown taxNumber: '' status: Active modifiedDate: '2023-04-04T16:32:21Z' sourceModifiedDate: '2020-10-20T05:01:49' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 530 _links: current: href: /companies/df02b289-cb16-4964-ac4d-9fd60b04538e/data/customers?page=1&pageSize=2 self: href: /companies/df02b289-cb16-4964-ac4d-9fd60b04538e/data/customers next: href: /companies/df02b289-cb16-4964-ac4d-9fd60b04538e/data/customers?page=2&pageSize=2 Wave: value: results: - id: QnVzaW5lc3M6ZTI0OGQyZDctMWE5Ni00YTk4LWFkOTEtMDdlMGYyMmNhNmE2O0N1c3RvbWVyOjMyMzkzNTA4 customerName: ABC Textiles contactName: '' emailAddress: c.taylor@codat.io defaultCurrency: USD addresses: [] contacts: [] status: Active modifiedDate: '2022-11-16T18:15:30Z' sourceModifiedDate: '2019-10-17T07:59:04Z' - id: QnVzaW5lc3M6ZTI0OGQyZDctMWE5Ni00YTk4LWFkOTEtMDdlMGYyMmNhNmE2O0N1c3RvbWVyOjM3MTUzNDI2 customerName: Coffee Cart contactName: Coffee Carl emailAddress: coffee.cart@example.com defaultCurrency: GBP phone: '0201111' addresses: - type: Billing line1: 11 Coffee Lane line2: Coffee Town city: Coffee City region: Hampshire country: United Kingdom postalCode: CC1 1CC contacts: - name: Coffee Carl phone: - number: '07733' type: Mobile status: Active status: Active modifiedDate: '2022-11-16T18:15:30Z' sourceModifiedDate: '2020-03-17T19:12:39Z' pageNumber: 1 pageSize: 2 totalResults: 10 _links: current: href: /companies/0b22b59d-b4e5-4c35-b03f-88bbbcb41256/data/customers?page=1&pageSize=2 self: href: /companies/0b22b59d-b4e5-4c35-b03f-88bbbcb41256/data/customers next: href: /companies/0b22b59d-b4e5-4c35-b03f-88bbbcb41256/data/customers?page=2&pageSize=2 Xero: value: results: - id: e4c9d0e2-c285-4e85-b579-6d28b180c730 customerName: 24 Locks emailAddress: '' addresses: [] contacts: [] status: Active modifiedDate: '2023-03-15T20:35:10Z' sourceModifiedDate: '2023-02-17T18:03:42' metadata: isDeleted: false - id: bab779bc-c5fb-42cb-a888-953e8309711c customerName: 7-Eleven emailAddress: '' addresses: [] contacts: [] status: Active modifiedDate: '2023-03-15T20:35:10Z' sourceModifiedDate: '2023-02-17T18:03:42' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 48 _links: current: href: /companies/5ced9667-a310-443a-a711-958d36377141/data/customers?page=1&pageSize=2 self: href: /companies/5ced9667-a310-443a-a711-958d36377141/data/customers next: href: /companies/5ced9667-a310-443a-a711-958d36377141/data/customers?page=2&pageSize=2 Zoho Books: value: results: - id: '104957000000032105' customerName: A B contactName: Contact (First Name) Contact (Last Name) emailAddress: contactperson@whateveryouwantidontcare12345.com defaultCurrency: GBP phone: Work Phone addresses: [] contacts: - name: Contact (First Name) Contact (Last Name) email: contactperson@whateveryouwantidontcare12345.com phone: - number: Work Phone type: Landline - number: Mobile type: Mobile status: Active status: Active modifiedDate: '2022-10-03T08:40:37Z' sourceModifiedDate: '2022-06-09T14:36:47' - id: '104957000000054050' customerName: 'Doe, John' contactName: John Doe emailAddress: '' defaultCurrency: GBP addresses: [] contacts: - name: John Doe email: '' phone: [] status: Active status: Active modifiedDate: '2022-10-03T08:40:37Z' sourceModifiedDate: '2022-09-28T15:09:22' pageNumber: 1 pageSize: 2 totalResults: 14 _links: current: href: /companies/d0b68840-db50-4bc3-b88c-96e225333fea/data/customers?page=1&pageSize=2 self: href: /companies/d0b68840-db50-4bc3-b88c-96e225333fea/data/customers next: href: /companies/d0b68840-db50-4bc3-b88c-96e225333fea/data/customers?page=2&pageSize=2 '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: |- The *List customers* endpoint returns a list of [customers](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) for a given company's connection. [Customers](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) are people or organizations that buy goods or services from the SMB. Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-company-data). operationId: list-customers '/companies/{companyId}/data/customers/{customerId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/customerId' get: tags: - Customers summary: Get customer responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Customer' examples: Clear Books: value: id: c8180244-74ac-40cf-a5df-6d83661c44d7 customerName: Arjun Kuvalis contactName: Werner Langworth emailAddress: Arjun34@hotmail.com defaultCurrency: GBP phone: 014605 64820 addresses: - type: Delivery line1: Suite 214 line2: 8439 Lueilwitz Passage city: Fernandohaven region: Northern Ireland country: United Kingdom postalCode: JG04 7PV - type: Delivery line1: Suite 096 line2: 864 Halie Course city: Juliochester region: England country: United Kingdom postalCode: DZ8 4BF - type: Delivery line1: Suite 001 line2: 416 Stokes Fords city: Naderborough region: Wales country: United Kingdom postalCode: XG25 0XX contacts: - name: Werner Langworth email: Werner_Langworth@hotmail.com phone: [] address: type: Delivery line1: Apt. 145 line2: 317 Williamson Freeway city: Hortenseville region: Scotland country: United Kingdom postalCode: CV4 2HR status: Active - name: Belle Glover email: Belle51@yahoo.com phone: [] address: type: Delivery line1: Suite 075 line2: 9921 Dickens Walk city: South Ali region: Scotland country: United Kingdom postalCode: TI04 4OO status: Active registrationNumber: NI7JEJVM taxNumber: '7505220209.583549' status: Active modifiedDate: '2023-04-26T12:38:16Z' sourceModifiedDate: '2022-07-03T01:27:00' metadata: isDeleted: false Dynamics 365 Business Central: value: id: 0e2f7751-7696-ed11-bff5-6045bd0d2ad6 customerName: '' contactName: '' emailAddress: '' defaultCurrency: GBP phone: '' addresses: - type: Billing line1: '' line2: '' city: '' region: '' country: '' postalCode: '' contacts: - name: '' email: '' phone: [] address: type: Billing line1: '' line2: '' city: '' region: '' country: '' postalCode: '' status: Active taxNumber: '' status: Active modifiedDate: '2023-03-27T14:21:25Z' sourceModifiedDate: '2023-01-17T14:50:54Z' metadata: isDeleted: false Exact (Netherlands): value: id: 555f8251-c65a-433a-a813-5dbe04321d1e customerName: Ab Netherlands defaultCurrency: EUR addresses: - type: Billing country: NL contacts: [] status: Active modifiedDate: '2022-10-26T13:32:05Z' sourceModifiedDate: '2021-06-14T15:26:37Z' Exact (UK): value: id: 5f20075a-a28e-434d-81a6-2db0dc170e87 customerName: Abdi 99 emailAddress: email@codat.io defaultCurrency: GBP addresses: - type: Billing line1: Ink Rooms city: London country: GB postalCode: WC1X 0BE contacts: [] registrationNumber: '123456789' taxNumber: GB339 0727 47 status: Active modifiedDate: '2022-10-26T13:33:08Z' sourceModifiedDate: '2020-02-26T11:23:50Z' FreeAgent: value: id: '11526230' customerName: '-' contactName: Test 1 addresses: - type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH contacts: - name: Test 1 phone: [] address: type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH status: Unknown status: Active modifiedDate: '2023-04-25T14:19:12Z' sourceModifiedDate: '2023-04-17T06:02:46Z' metadata: isDeleted: false FreshBooks: value: id: '634509' customerName: A test customer 14 (updated) contactName: test person name emailAddress: test14@example.com defaultCurrency: GBP phone: 01876 541245 addresses: - type: Billing line1: Line 1 line2: Line 2 city: Some city region: A region country: Country 1 postalCode: SW1 2JQ contacts: - name: test person1 email: test14A@example.com phone: - number: '24681012' type: Primary - number: '121086420' type: Unknown status: Active - name: test person2 email: test14B@example.com phone: - number: '123456789' type: Primary - number: '987654321' type: Unknown status: Active - name: test person name email: test14@example.com phone: - number: 01876 541245 type: Unknown status: Active status: Active modifiedDate: '2023-03-24T16:07:23Z' sourceModifiedDate: '2022-05-18T09:23:56' metadata: isDeleted: false KashFlow: value: id: '92227673' customerName: Chekko Customer Test 01 contactName: '' emailAddress: '' phone: '' addresses: [] contacts: - name: '' email: '' phone: [] status: Active taxNumber: '' status: Active modifiedDate: '2022-09-30T10:29:15Z' sourceModifiedDate: '0001-01-01T00:00:00' Oracle NetSuite: value: id: '773' customerName: 119 Test Customer contactName: Mr Test Customer defaultCurrency: GBP addresses: [] contacts: [] status: Active modifiedDate: '2023-01-30T14:48:02Z' sourceModifiedDate: '2022-01-11T12:28:49' QuickBooks Desktop: value: id: 150000-933272658 customerName: 'Abercrombie, Kristy' contactName: Kristy Abercrombie emailAddress: kristy@samplename.com defaultCurrency: GBP phone: 415-555-6579 addresses: - type: Delivery line1: Kristy Abercrombie line2: 5647 Cypress Hill Rd city: Bayshore region: CA postalCode: '94326' - type: Billing line1: Kristy Abercrombie line2: 5647 Cypress Hill Rd city: Bayshore region: CA postalCode: '94326' contacts: - name: 'Abercrombie, Kristy' email: kristy@samplename.com phone: - number: 415-555-6579 type: Primary status: Active - name: Kristy Abercrombie phone: [] status: Active - name: Steve Darcangelo phone: [] status: Active status: Active modifiedDate: '2023-04-26T09:07:55Z' sourceModifiedDate: '2023-12-16T05:06:42' metadata: isDeleted: false QuickBooks Online: value: id: '9' customerName: Abe contactName: Abraham's Company emailAddress: ab@email.com defaultCurrency: GBP addresses: [] contacts: - name: Abe email: ab@email.com phone: - number: '01111111111' type: Mobile status: Active registrationNumber: XXXX9900001 taxNumber: XXXX9900001 status: Active modifiedDate: '2023-01-18T11:02:35Z' sourceModifiedDate: '2022-12-08T15:42:59Z' QuickBooks Online Sandbox: value: id: '66' customerName: Abercrombie International Group contactName: Kristy Abercrombie defaultCurrency: GBP addresses: - type: Billing line1: 123 Main St city: 'New York, NY' contacts: - name: Abercrombie International Group (deleted) phone: [] address: type: Billing line1: 123 Main St city: 'New York, NY' status: Archived status: Archived modifiedDate: '2023-04-26T09:35:56Z' sourceModifiedDate: '2016-09-12T18:53:19Z' metadata: isDeleted: false Sage 200cloud: value: id: A1D001 customerName: A1 Design Services contactName: Lee Dalkin emailAddress: newbusinessadvice@sage.com defaultCurrency: GBP phone: 01742 876 234 addresses: - type: Delivery line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: '' postalCode: BP12 7HT - type: Delivery line1: 23a Union Street line2: '' city: Manchester region: '' country: '' postalCode: M2 6JK - type: Billing line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: Great Britain postalCode: BP12 7HT contacts: - name: Lee Dalkin email: newbusinessadvice@sage.com phone: - number: 01742 876 234 type: Landline - number: 01742 876 235 type: Landline - number: 01742 876 236 type: Fax status: Active - name: Malcolm Leverret email: '' phone: [] status: Active - name: Jim Thomas email: Jim@a1designservices.co.uk phone: - number: 01742 876 234 type: Landline - number: 01742 876 235 type: Fax status: Active - name: Jullian Plawsworth email: Jullian@a1designservices.co.uk phone: - number: 0151 349 3939 type: Landline - number: 0151 349 3940 type: Fax status: Active registrationNumber: '' taxNumber: GB238 3839 38 status: Active modifiedDate: '2022-10-14T09:35:53Z' sourceModifiedDate: '2022-04-27T15:17:36Z' Sage 50 (UK): value: id: A1D001 customerName: A1 Design Services contactName: Ian Cairns emailAddress: newbusinessadvice@sage.com defaultCurrency: GBP phone: 01742 876 234 addresses: - type: Delivery line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: GB postalCode: BP12 7HT - type: Delivery line1: 23a Union Street line2: '' city: Manchester region: '' country: GB postalCode: M2 6JK - type: Unknown line1: 67a Station Road line2: '' city: Blackpool region: Lancashire country: GB postalCode: BP12 7HT contacts: [] taxNumber: GB238 3839 38 status: Active modifiedDate: '2023-03-30T14:42:41Z' sourceModifiedDate: '2022-11-25T09:43:54Z' metadata: isDeleted: false Sage Business Cloud Accounting: value: id: 260f6a3f94a243738f2d5e08496a41a8 customerName: 100 test name contactName: Main Contact emailAddress: email@codat.io defaultCurrency: GBP phone: contact phone number addresses: - type: Billing line1: Aruba Address line 1 line2: Aruba Address line 2 city: Aruba City region: Aruba Province country: Aruba (AW) postalCode: Aruba Post contacts: - phone: - number: contact mobile number type: Mobile - number: contact fax number type: Fax status: Unknown status: Active modifiedDate: '2022-10-24T14:52:54Z' sourceModifiedDate: '2021-05-10T16:31:51Z' Sage Intacct: value: id: '188' customerName: 33Across contactName: Yuna Conn defaultCurrency: USD phone: 520-393-4468 addresses: - type: Unknown line1: 155 Westend Point line2: '' city: Albuquerque region: NM country: United States postalCode: '87140' contacts: - name: 'Conn, Yuna' phone: - number: 520-393-4468 type: Primary address: type: Unknown line1: 155 Westend Point line2: '' city: Albuquerque region: NM country: United States postalCode: '87140' status: Unknown taxNumber: '' status: Active modifiedDate: '2023-04-04T16:32:21Z' sourceModifiedDate: '2022-09-06T12:58:27' metadata: isDeleted: false Wave: value: id: QnVzaW5lc3M6ZTI0OGQyZDctMWE5Ni00YTk4LWFkOTEtMDdlMGYyMmNhNmE2O0N1c3RvbWVyOjMyMzkzNTA4 customerName: ABC Textiles contactName: '' emailAddress: c.taylor@codat.io defaultCurrency: USD addresses: [] contacts: [] status: Active modifiedDate: '2022-11-16T18:15:30Z' sourceModifiedDate: '2019-10-17T07:59:04Z' Xero: value: id: e4c9d0e2-c285-4e85-b579-6d28b180c730 customerName: 24 Locks emailAddress: '' addresses: [] contacts: [] status: Active modifiedDate: '2023-03-15T20:35:10Z' sourceModifiedDate: '2023-02-17T18:03:42' metadata: isDeleted: false Zoho Books: value: id: '104957000000032105' customerName: A B contactName: Contact (First Name) Contact (Last Name) emailAddress: contactperson@whateveryouwantidontcare12345.com defaultCurrency: GBP phone: Work Phone addresses: [] contacts: - name: Contact (First Name) Contact (Last Name) email: contactperson@whateveryouwantidontcare12345.com phone: - number: Work Phone type: Landline - number: Mobile type: Mobile status: Active status: Active modifiedDate: '2022-10-03T08:40:37Z' sourceModifiedDate: '2022-06-09T14:36:47' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: | The *Get customer* endpoint returns a single customer for a given customerId. [Customers](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) are people or organizations that buy goods or services from the SMB. Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers) for integrations that support getting a specific customer. Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-company-data). operationId: get-customer '/companies/{companyId}/connections/{connectionId}/push/customers': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' post: tags: - Customers summary: Create customer parameters: - $ref: '#/components/parameters/timeoutInMinutes' - $ref: '#/components/parameters/allowSyncOnPushComplete' requestBody: content: application/json: schema: $ref: '#/components/schemas/Customer' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateCustomerResponse' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' operationId: create-customer description: | The *Create customer* endpoint creates a new [customer](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) for a given company's connection. [Customers](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) are people or organizations that buy goods or services from the SMB. **Integration-specific behaviour** Required data may vary by integration. To see what data to post, first call [Get create/update customer model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-update-customers-model). Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers) for integrations that support creating an account. '/companies/{companyId}/connections/{connectionId}/push/customers/{customerId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' - $ref: '#/components/parameters/customerId' put: tags: - Customers summary: Update customer parameters: - $ref: '#/components/parameters/timeoutInMinutes' - $ref: '#/components/parameters/allowSyncOnPushComplete' - $ref: '#/components/parameters/forceUpdate' requestBody: content: application/json: schema: $ref: '#/components/schemas/Customer' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateCustomerResponse' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: | The *Update customer* endpoint updates an existing [customer](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) for a given company's connection. [Customers](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) are people or organizations that buy goods or services from the SMB. **Integration-specific behaviour** Required data may vary by integration. To see what data to post, first call [Get create/update customer model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-update-customers-model). Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers) for integrations that support creating an account. operationId: update-customer '/companies/{companyId}/data/suppliers': parameters: - $ref: '#/components/parameters/companyId' get: tags: - Suppliers summary: List suppliers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Suppliers' examples: Clear Books: value: results: - id: owQ2Gqgj9f supplierName: Abshire - Kshlerin contactName: Faye Hansen emailAddress: hello@Abshire-Kshlerin.info phone: 01338 858162 addresses: - type: Delivery line1: Suite 431 line2: 289 Giles Lake city: Cesarmouth region: Northern Ireland country: United Kingdom postalCode: BG40 9GP registrationNumber: VYL1XZXR taxNumber: '1396267523.0914588' status: Active modifiedDate: '2023-04-26T12:38:17Z' sourceModifiedDate: '1660-11-28T23:18:00' defaultCurrency: GBP metadata: isDeleted: false - id: FyUkHbZxhn supplierName: Arjun Kuvalis contactName: Werner Langworth emailAddress: Arjun34@hotmail.com phone: 0116 796 3163 addresses: - type: Delivery line1: Suite 214 line2: 8439 Lueilwitz Passage city: Fernandohaven region: Northern Ireland country: United Kingdom postalCode: JG04 7PV - type: Delivery line1: Suite 096 line2: 864 Halie Course city: Juliochester region: England country: United Kingdom postalCode: DZ8 4BF - type: Delivery line1: Suite 001 line2: 416 Stokes Fords city: Naderborough region: Wales country: United Kingdom postalCode: XG25 0XX registrationNumber: NI7JEJVM taxNumber: '7505220209.583549' status: Active modifiedDate: '2023-04-26T12:38:17Z' sourceModifiedDate: '0177-04-27T11:56:00' defaultCurrency: GBP metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 100 _links: current: href: /companies/354a121b-855f-4d25-90ad-0905b498c1c0/data/suppliers?page=1&pageSize=2 self: href: /companies/354a121b-855f-4d25-90ad-0905b498c1c0/data/suppliers next: href: /companies/354a121b-855f-4d25-90ad-0905b498c1c0/data/suppliers?page=2&pageSize=2 Dynamics 365 Business Central: value: results: - id: 78623f13-931e-eb11-bbf8-0022481b3585 supplierName: '' contactName: '' emailAddress: '' phone: '' addresses: - type: Billing line1: '' line2: '' city: '' region: '' country: GB postalCode: '' taxNumber: '' status: Active modifiedDate: '2023-03-27T14:21:12Z' sourceModifiedDate: '2020-11-04T11:44:22Z' defaultCurrency: GBP metadata: isDeleted: false - id: be49ec62-6754-ed11-946f-0022481b67d1 supplierName: '' contactName: '' emailAddress: '' phone: '' addresses: - type: Billing line1: '' line2: '' city: '' region: '' country: GB postalCode: '' taxNumber: '' status: Active modifiedDate: '2023-03-27T14:21:12Z' sourceModifiedDate: '2022-10-25T13:17:36Z' defaultCurrency: GBP metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 31 _links: current: href: /companies/d6849caf-c146-41be-8335-b73346e3bd84/data/suppliers?page=1&pageSize=2 self: href: /companies/d6849caf-c146-41be-8335-b73346e3bd84/data/suppliers next: href: /companies/d6849caf-c146-41be-8335-b73346e3bd84/data/suppliers?page=2&pageSize=2 Exact (Netherlands): value: results: - id: 3150917c-1d92-4d77-9018-31b5c4758ca9 supplierName: Abe contactName: Kelly's Contact Name emailAddress: sales@kellysupplies.com phone: 07999 999999 addresses: - type: Billing line1: Unit 51 city: Bakersfield region: California country: US postalCode: '933081' registrationNumber: '8409314368' status: Active modifiedDate: '2022-10-26T13:32:05Z' sourceModifiedDate: '2022-07-15T12:01:15Z' defaultCurrency: EUR - id: 00014c12-2616-481a-a2e8-31bdf2497775 supplierName: Ann's test supplier 2 contactName: Ann's contact name emailAddress: anna@anna888888.com phone: '55555555' addresses: - type: Billing line1: line1 line2: line2 city: city region: region country: RU postalCode: postal registrationNumber: '55566677788899944455' taxNumber: RU4444444 status: Active modifiedDate: '2022-10-26T13:32:05Z' sourceModifiedDate: '2021-06-09T12:04:08Z' defaultCurrency: USD pageNumber: 1 pageSize: 2 totalResults: 73 _links: current: href: /companies/b83b1923-4db6-45a8-a779-b4e320c15979/data/suppliers?page=1&pageSize=2 self: href: /companies/b83b1923-4db6-45a8-a779-b4e320c15979/data/suppliers next: href: /companies/b83b1923-4db6-45a8-a779-b4e320c15979/data/suppliers?page=2&pageSize=2 Exact (UK): value: results: - id: 0185fea2-0298-445b-909a-0db685118a9e supplierName: a addresses: - type: Billing country: GB status: Active modifiedDate: '2022-10-26T13:33:13Z' sourceModifiedDate: '2017-08-02T10:58:54Z' defaultCurrency: GBP - id: 64ae712f-4155-48bb-9fce-98232c51d979 supplierName: aa addresses: - type: Billing country: GB status: Active modifiedDate: '2022-10-26T13:33:13Z' sourceModifiedDate: '2020-05-01T14:05:46Z' defaultCurrency: GBP pageNumber: 1 pageSize: 2 totalResults: 118 _links: current: href: /companies/d95030cd-22b2-482b-9c7b-2980dcc2b1ce/data/suppliers?page=1&pageSize=2 self: href: /companies/d95030cd-22b2-482b-9c7b-2980dcc2b1ce/data/suppliers next: href: /companies/d95030cd-22b2-482b-9c7b-2980dcc2b1ce/data/suppliers?page=2&pageSize=2 FreeAgent: value: results: - id: '11526230' supplierName: '-' contactName: Test 1 addresses: - type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH status: Active modifiedDate: '2023-04-25T14:19:08Z' sourceModifiedDate: '2023-04-17T06:02:46' metadata: isDeleted: false - id: '9677150' supplierName: '-' contactName: Test 1 addresses: - type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH status: Active modifiedDate: '2023-04-25T14:19:08Z' sourceModifiedDate: '2023-04-24T06:19:23' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 159 _links: current: href: /companies/071ad738-68f3-4561-afd0-69bab9df0803/data/suppliers?page=1&pageSize=2 self: href: /companies/071ad738-68f3-4561-afd0-69bab9df0803/data/suppliers next: href: /companies/071ad738-68f3-4561-afd0-69bab9df0803/data/suppliers?page=2&pageSize=2 FreshBooks: value: results: - id: api vendor supplierName: api vendor addresses: [] status: Active modifiedDate: '2023-03-24T16:07:25Z' metadata: isDeleted: false - id: DUndsRykrmy8kFsc+FvYk29YkJze4zSjGecoF4YcUEhVU7auJ5JkQA0VjXptZ7XQ+D4n6WoxFIkaGY2V/t4flA== supplierName: 'Chekko Test merchant 100 - Test Very long name: ORIG CO NAME:AMERICAN EXPRESS ORIG ID:9493560001 DESC DATE:220307 CO ENTRY DESCR:ACH PMT SEC:CCD TRACE#:021000023255482 EED:220307 IND ID:A4670 IND NAME:Rick Sanchez' addresses: [] status: Active modifiedDate: '2023-03-24T16:07:25Z' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 7 _links: current: href: /companies/3691c49e-0db4-4172-b3ab-e4084c365013/data/suppliers?page=1&pageSize=2 self: href: /companies/3691c49e-0db4-4172-b3ab-e4084c365013/data/suppliers next: href: /companies/3691c49e-0db4-4172-b3ab-e4084c365013/data/suppliers?page=2&pageSize=2 KashFlow: value: results: - id: '6202387' supplierName: Dell contactName: '' emailAddress: '' phone: '' addresses: [] taxNumber: '' status: Unknown modifiedDate: '2022-09-30T10:29:15Z' sourceModifiedDate: '2017-05-09T00:00:00' - id: '9338173' supplierName: Home contactName: '' emailAddress: '' phone: '' addresses: [] taxNumber: '' status: Unknown modifiedDate: '2022-09-30T10:29:15Z' sourceModifiedDate: '1990-01-01T00:00:00' pageNumber: 1 pageSize: 2 totalResults: 7 _links: current: href: /companies/3a707a99-89da-4b16-a5d6-595333a16352/data/suppliers?page=1&pageSize=2 self: href: /companies/3a707a99-89da-4b16-a5d6-595333a16352/data/suppliers next: href: /companies/3a707a99-89da-4b16-a5d6-595333a16352/data/suppliers?page=2&pageSize=2 Oracle NetSuite: value: results: - id: '779' supplierName: Test Vendor contactName: Test Vendor emailAddress: '' phone: '' addresses: [] status: Active modifiedDate: '2023-01-30T14:47:02Z' sourceModifiedDate: '2022-02-04T14:24:43' defaultCurrency: GBP - id: '726' supplierName: Vendor -.A contactName: Vendor -.A emailAddress: '' phone: '' addresses: [] status: Active modifiedDate: '2023-01-30T14:47:02Z' sourceModifiedDate: '2021-03-26T09:53:15' defaultCurrency: GBP pageNumber: 1 pageSize: 2 totalResults: 6 _links: current: href: /companies/d5074b08-6a34-4b06-a742-236edf5dc4f1/data/suppliers?page=1&pageSize=2 self: href: /companies/d5074b08-6a34-4b06-a742-236edf5dc4f1/data/suppliers next: href: /companies/d5074b08-6a34-4b06-a742-236edf5dc4f1/data/suppliers?page=2&pageSize=2 QuickBooks Desktop: value: results: - id: A60000-1197760912 supplierName: A Cheung Limited contactName: Angela Cheung emailAddress: AC@CheungLimited.com phone: 510 555 5723 addresses: - type: Billing line1: 'A Cheung Limited, Angela Cheung' line2: 3818 Bear Rd. West city: Berkeley region: CA postalCode: '94688' status: Active modifiedDate: '2023-04-26T09:09:03Z' sourceModifiedDate: '2023-12-16T05:06:44' defaultCurrency: GBP metadata: isDeleted: false - id: A40000-1197774038 supplierName: Bank of Anycity contactName: Lisa D. Holzhauser emailAddress: lisah@samplename.com phone: 415-555-9135 addresses: - type: Billing line1: 'Bank of Anycity, Lisa Holzhauser' line2: 1935 Main Street city: Middlefield region: CA postalCode: '94482' status: Active modifiedDate: '2023-04-26T09:09:03Z' sourceModifiedDate: '2023-12-16T05:06:44' defaultCurrency: GBP metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 54 _links: current: href: /companies/fc72ba08-af13-4474-b28a-01dcfa6cfb51/data/suppliers?page=1&pageSize=2 self: href: /companies/fc72ba08-af13-4474-b28a-01dcfa6cfb51/data/suppliers next: href: /companies/fc72ba08-af13-4474-b28a-01dcfa6cfb51/data/suppliers?page=2&pageSize=2 QuickBooks Online: value: results: - id: '41' supplierName: AI Support contactName: AI Support addresses: - type: Billing line1: test region: string country: Djibouti status: Active modifiedDate: '2023-01-18T11:02:36Z' sourceModifiedDate: '2022-12-07T10:48:18Z' defaultCurrency: GBP - id: '42' supplierName: AI Support 2 contactName: AI Support 2 addresses: - type: Billing line1: test region: string country: DJ status: Active modifiedDate: '2023-01-18T11:02:36Z' sourceModifiedDate: '2021-08-31T08:45:02Z' defaultCurrency: GBP pageNumber: 1 pageSize: 2 totalResults: 23 _links: current: href: /companies/10818b5e-6e6a-4ed4-a1c5-3e3efe626e87/data/suppliers?page=1&pageSize=2 self: href: /companies/10818b5e-6e6a-4ed4-a1c5-3e3efe626e87/data/suppliers next: href: /companies/10818b5e-6e6a-4ed4-a1c5-3e3efe626e87/data/suppliers?page=2&pageSize=2 QuickBooks Online Sandbox: value: results: - id: '129' supplierName: Ally Johnson contactName: Miss Smith phone: 0728 38474 addresses: - type: Billing line1: 100 London Road line2: Angel city: London region: Greater London country: England postalCode: EC1M status: Active modifiedDate: '2023-04-26T09:35:55Z' sourceModifiedDate: '2023-04-13T01:51:08Z' defaultCurrency: GBP metadata: isDeleted: false - id: '88' supplierName: Andrew Haberbosch addresses: [] status: Active modifiedDate: '2023-04-26T09:35:55Z' sourceModifiedDate: '2022-07-06T15:55:28Z' defaultCurrency: GBP metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 64 _links: current: href: /companies/5a7f3597-36e1-4216-86fe-289ad36088a6/data/suppliers?page=1&pageSize=2 self: href: /companies/5a7f3597-36e1-4216-86fe-289ad36088a6/data/suppliers next: href: /companies/5a7f3597-36e1-4216-86fe-289ad36088a6/data/suppliers?page=2&pageSize=2 Sage 200cloud: value: results: - id: '776' supplierName: Aaren contactName: '' emailAddress: '' phone: '' addresses: - type: Unknown line1: '' line2: '' city: '' region: '' country: Great Britain postalCode: '' taxNumber: '' status: Archived modifiedDate: '2022-10-14T09:35:58Z' defaultCurrency: GBP metadata: isDeleted: true - id: '914' supplierName: Aaren contactName: '' emailAddress: '' phone: '' addresses: - type: Unknown line1: '' line2: '' city: '' region: '' country: Great Britain postalCode: '' taxNumber: '' status: Archived modifiedDate: '2022-10-14T09:35:58Z' defaultCurrency: GBP metadata: isDeleted: true pageNumber: 1 pageSize: 2 totalResults: 943 _links: current: href: /companies/93c21e2d-049c-4d24-b41b-57e61c30b69e/data/suppliers?page=1&pageSize=2 self: href: /companies/93c21e2d-049c-4d24-b41b-57e61c30b69e/data/suppliers next: href: /companies/93c21e2d-049c-4d24-b41b-57e61c30b69e/data/suppliers?page=2&pageSize=2 Sage 50 (UK): value: results: - id: CON001 supplierName: Concept Stationery Supplies contactName: Mark Ramsay emailAddress: newbusinessadvice@sage.com phone: 0191 643 4343 addresses: - type: Delivery line1: 66 New Street line2: Ridgeway city: Newcastle Upon Tyne region: '' country: GB postalCode: NE1 4GF - type: Unknown line1: 66 New Street line2: Ridgeway city: Newcastle upon Tyne region: '' country: GB postalCode: NE1 4GF taxNumber: GB988 3453 23 status: Active modifiedDate: '2023-03-30T14:42:38Z' sourceModifiedDate: '2022-11-25T09:43:54Z' defaultCurrency: GBP metadata: isDeleted: false - id: MCN001 supplierName: McNally Computer Supplies contactName: Stuart Lynn emailAddress: newbusinessadvice@sage.com phone: 0191 415 3434 addresses: - type: Delivery line1: Station Lane Ind Est line2: Birtley city: Chester le Street region: County Durham country: GB postalCode: DH1 3RG - type: Unknown line1: Station Lane Ind Est line2: Birtley city: Chester le Street region: County Durham country: GB postalCode: DH1 3RG taxNumber: GB455 2385 34 status: Active modifiedDate: '2023-03-30T14:42:38Z' sourceModifiedDate: '2022-12-05T13:37:26Z' defaultCurrency: GBP metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 15 _links: current: href: /companies/cf5f2a47-2990-4221-bae6-0c19c86ac304/data/suppliers?page=1&pageSize=2 self: href: /companies/cf5f2a47-2990-4221-bae6-0c19c86ac304/data/suppliers next: href: /companies/cf5f2a47-2990-4221-bae6-0c19c86ac304/data/suppliers?page=2&pageSize=2 Sage Business Cloud Accounting: value: results: - id: 65179671e9ef424caff8b9006cd111c8 supplierName: 5555 Abdul's Test Name contactName: Main Contact addresses: - type: Billing country: United Kingdom (GB) status: Active modifiedDate: '2022-10-24T14:52:54Z' sourceModifiedDate: '2020-02-25T17:23:33Z' defaultCurrency: GBP - id: cf7f44d693904944a6a7cf3de0887964 supplierName: Abdi Supplier contactName: Abdi emailAddress: abdisupplier@company.com addresses: - type: Billing line1: 1 Place House city: London country: United Kingdom (GB) postalCode: WC1X 1AH status: Active modifiedDate: '2022-10-24T14:52:54Z' sourceModifiedDate: '2020-02-13T10:38:19Z' defaultCurrency: GBP pageNumber: 1 pageSize: 2 totalResults: 64 _links: current: href: /companies/390083e2-351b-407c-a3be-55081c36c182/data/suppliers?page=1&pageSize=2 self: href: /companies/390083e2-351b-407c-a3be-55081c36c182/data/suppliers next: href: /companies/390083e2-351b-407c-a3be-55081c36c182/data/suppliers?page=2&pageSize=2 Sage Intacct: value: results: - id: '3' supplierName: ADP contactName: 'Jones, William' phone: 214-760-9491 addresses: - type: Unknown line1: 208 S Akard St line2: '' city: Dallas region: TX country: United States postalCode: '75265' registrationNumber: '' taxNumber: 85-3678274 status: Active modifiedDate: '2023-04-04T16:32:20Z' sourceModifiedDate: '2023-02-16T09:48:27' defaultCurrency: USD metadata: isDeleted: false - id: '29' supplierName: Advisor Printing contactName: 'Roach, Nathan' phone: 130-202-4796 addresses: - type: Unknown line1: 5 Carey Hill line2: '' city: Drayton Valley region: Alberta country: Canada postalCode: G8V registrationNumber: '' taxNumber: '' status: Active modifiedDate: '2023-04-04T16:32:20Z' sourceModifiedDate: '2022-06-15T11:38:29' defaultCurrency: CAD metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 77 _links: current: href: /companies/df02b289-cb16-4964-ac4d-9fd60b04538e/data/suppliers?page=1&pageSize=2 self: href: /companies/df02b289-cb16-4964-ac4d-9fd60b04538e/data/suppliers next: href: /companies/df02b289-cb16-4964-ac4d-9fd60b04538e/data/suppliers?page=2&pageSize=2 Wave: value: results: - id: QnVzaW5lc3M6ZTI0OGQyZDctMWE5Ni00YTk4LWFkOTEtMDdlMGYyMmNhNmE2O1ZlbmRvcjo2NjA0Nzk0 supplierName: Computer Shop contactName: '' emailAddress: '' addresses: [] status: Active modifiedDate: '2022-11-16T18:15:24Z' sourceModifiedDate: '2020-04-07T13:28:02Z' defaultCurrency: GBP - id: QnVzaW5lc3M6ZTI0OGQyZDctMWE5Ni00YTk4LWFkOTEtMDdlMGYyMmNhNmE2O1ZlbmRvcjo2NjA0NzQx supplierName: Flour Mill contactName: '' emailAddress: '' addresses: [] status: Active modifiedDate: '2022-11-16T18:15:24Z' sourceModifiedDate: '2020-04-07T13:12:40Z' defaultCurrency: GBP pageNumber: 1 pageSize: 2 totalResults: 9 _links: current: href: /companies/0b22b59d-b4e5-4c35-b03f-88bbbcb41256/data/suppliers?page=1&pageSize=2 self: href: /companies/0b22b59d-b4e5-4c35-b03f-88bbbcb41256/data/suppliers next: href: /companies/0b22b59d-b4e5-4c35-b03f-88bbbcb41256/data/suppliers?page=2&pageSize=2 Xero: value: results: - id: e4c9d0e2-c285-4e85-b579-6d28b180c730 supplierName: 24 Locks emailAddress: '' addresses: [] status: Active modifiedDate: '2023-03-15T20:36:09Z' sourceModifiedDate: '2023-02-17T18:03:42' metadata: isDeleted: false - id: bab779bc-c5fb-42cb-a888-953e8309711c supplierName: 7-Eleven emailAddress: '' addresses: [] status: Active modifiedDate: '2023-03-15T20:36:09Z' sourceModifiedDate: '2023-02-17T18:03:42' metadata: isDeleted: false pageNumber: 1 pageSize: 2 totalResults: 48 _links: current: href: /companies/5ced9667-a310-443a-a711-958d36377141/data/suppliers?page=1&pageSize=2 self: href: /companies/5ced9667-a310-443a-a711-958d36377141/data/suppliers next: href: /companies/5ced9667-a310-443a-a711-958d36377141/data/suppliers?page=2&pageSize=2 Zoho Books: value: results: - id: '104957000001494001' supplierName: Acme Corporation emailAddress: '' addresses: [] status: Active modifiedDate: '2022-10-03T08:40:37Z' sourceModifiedDate: '2022-09-16T13:09:56' defaultCurrency: GBP - id: '104957000000648001' supplierName: Cool company contactName: Dre emailAddress: '' addresses: [] status: Active modifiedDate: '2022-10-03T08:40:37Z' sourceModifiedDate: '2022-06-10T09:07:16' defaultCurrency: CAD pageNumber: 1 pageSize: 2 totalResults: 6 _links: current: href: /companies/d0b68840-db50-4bc3-b88c-96e225333fea/data/suppliers?page=1&pageSize=2 self: href: /companies/d0b68840-db50-4bc3-b88c-96e225333fea/data/suppliers next: href: /companies/d0b68840-db50-4bc3-b88c-96e225333fea/data/suppliers?page=2&pageSize=2 '400': $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: |- The *List suppliers* endpoint returns a list of [suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) for a given company's connection. [Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-company-data). operationId: list-suppliers '/companies/{companyId}/data/suppliers/{supplierId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/supplierId' get: tags: - Suppliers summary: Get supplier responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Supplier' examples: Clear Books: value: id: owQ2Gqgj9f supplierName: Abshire - Kshlerin contactName: Faye Hansen emailAddress: hello@Abshire-Kshlerin.info phone: 01338 858162 addresses: - type: Delivery line1: Suite 431 line2: 289 Giles Lake city: Cesarmouth region: Northern Ireland country: United Kingdom postalCode: BG40 9GP registrationNumber: VYL1XZXR taxNumber: '1396267523.0914588' status: Active modifiedDate: '2023-04-26T12:38:17Z' sourceModifiedDate: '1660-11-28T23:18:00' defaultCurrency: GBP metadata: isDeleted: false Dynamics 365 Business Central: value: id: 78623f13-931e-eb11-bbf8-0022481b3585 supplierName: '' contactName: '' emailAddress: '' phone: '' addresses: - type: Billing line1: '' line2: '' city: '' region: '' country: GB postalCode: '' taxNumber: '' status: Active modifiedDate: '2023-03-27T14:21:12Z' sourceModifiedDate: '2020-11-04T11:44:22Z' defaultCurrency: GBP metadata: isDeleted: false Exact (Netherlands): value: id: 3150917c-1d92-4d77-9018-31b5c4758ca9 supplierName: Abe contactName: Kelly's Contact Name emailAddress: sales@kellysupplies.com phone: 07999 999999 addresses: - type: Billing line1: Unit 51 city: Bakersfield region: California country: US postalCode: '933081' registrationNumber: '8409314368' status: Active modifiedDate: '2022-10-26T13:32:05Z' sourceModifiedDate: '2022-07-15T12:01:15Z' defaultCurrency: EUR Exact (UK): value: id: 0185fea2-0298-445b-909a-0db685118a9e supplierName: a addresses: - type: Billing country: GB status: Active modifiedDate: '2022-10-26T13:33:13Z' sourceModifiedDate: '2017-08-02T10:58:54Z' defaultCurrency: GBP FreeAgent: value: id: '11526230' supplierName: '-' contactName: Test 1 addresses: - type: Billing line1: 1 Place House line2: '' city: London country: United Kingdom postalCode: WC1X 1AH status: Active modifiedDate: '2023-04-25T14:19:08Z' sourceModifiedDate: '2023-04-17T06:02:46' metadata: isDeleted: false FreshBooks: value: id: api vendor supplierName: api vendor addresses: [] status: Active modifiedDate: '2023-03-24T16:07:25Z' metadata: isDeleted: false KashFlow: value: id: '6202387' supplierName: Dell contactName: '' emailAddress: '' phone: '' addresses: [] taxNumber: '' status: Unknown modifiedDate: '2022-09-30T10:29:15Z' sourceModifiedDate: '2017-05-09T00:00:00' Oracle NetSuite: value: id: '779' supplierName: Test Vendor contactName: Test Vendor emailAddress: '' phone: '' addresses: [] status: Active modifiedDate: '2023-01-30T14:47:02Z' sourceModifiedDate: '2022-02-04T14:24:43' defaultCurrency: GBP QuickBooks Desktop: value: id: A60000-1197760912 supplierName: A Cheung Limited contactName: Angela Cheung emailAddress: AC@CheungLimited.com phone: 510 555 5723 addresses: - type: Billing line1: 'A Cheung Limited, Angela Cheung' line2: 3818 Bear Rd. West city: Berkeley region: CA postalCode: '94688' status: Active modifiedDate: '2023-04-26T09:09:03Z' sourceModifiedDate: '2023-12-16T05:06:44' defaultCurrency: GBP metadata: isDeleted: false QuickBooks Online: value: id: '41' supplierName: AI Support contactName: AI Support addresses: - type: Billing line1: test region: string country: Djibouti status: Active modifiedDate: '2023-01-18T11:02:36Z' sourceModifiedDate: '2022-12-07T10:48:18Z' defaultCurrency: GBP QuickBooks Online Sandbox: value: id: '129' supplierName: Ally Johnson contactName: Miss Smith phone: 0728 38474 addresses: - type: Billing line1: 100 London Road line2: Angel city: London region: Greater London country: England postalCode: EC1M status: Active modifiedDate: '2023-04-26T09:35:55Z' sourceModifiedDate: '2023-04-13T01:51:08Z' defaultCurrency: GBP metadata: isDeleted: false Sage 200cloud: value: id: '776' supplierName: Aaren contactName: '' emailAddress: '' phone: '' addresses: - type: Unknown line1: '' line2: '' city: '' region: '' country: Great Britain postalCode: '' taxNumber: '' status: Archived modifiedDate: '2022-10-14T09:35:58Z' defaultCurrency: GBP metadata: isDeleted: true Sage 50 (UK): value: id: CON001 supplierName: Concept Stationery Supplies contactName: Mark Ramsay emailAddress: newbusinessadvice@sage.com phone: 0191 643 4343 addresses: - type: Delivery line1: 66 New Street line2: Ridgeway city: Newcastle Upon Tyne region: '' country: GB postalCode: NE1 4GF - type: Unknown line1: 66 New Street line2: Ridgeway city: Newcastle upon Tyne region: '' country: GB postalCode: NE1 4GF taxNumber: GB988 3453 23 status: Active modifiedDate: '2023-03-30T14:42:38Z' sourceModifiedDate: '2022-11-25T09:43:54Z' defaultCurrency: GBP metadata: isDeleted: false Sage Business Cloud Accounting: value: id: 65179671e9ef424caff8b9006cd111c8 supplierName: 5555 Abdul's Test Name contactName: Main Contact addresses: - type: Billing country: United Kingdom (GB) status: Active modifiedDate: '2022-10-24T14:52:54Z' sourceModifiedDate: '2020-02-25T17:23:33Z' defaultCurrency: GBP Sage Intacct: value: id: '3' supplierName: ADP contactName: 'Jones, William' phone: 214-760-9491 addresses: - type: Unknown line1: 208 S Akard St line2: '' city: Dallas region: TX country: United States postalCode: '75265' registrationNumber: '' taxNumber: 85-3678274 status: Active modifiedDate: '2023-04-04T16:32:20Z' sourceModifiedDate: '2023-02-16T09:48:27' defaultCurrency: USD metadata: isDeleted: false Wave: value: id: QnVzaW5lc3M6ZTI0OGQyZDctMWE5Ni00YTk4LWFkOTEtMDdlMGYyMmNhNmE2O1ZlbmRvcjo2NjA0Nzk0 supplierName: Computer Shop contactName: '' emailAddress: '' addresses: [] status: Active modifiedDate: '2022-11-16T18:15:24Z' sourceModifiedDate: '2020-04-07T13:28:02Z' defaultCurrency: GBP Xero: value: id: e4c9d0e2-c285-4e85-b579-6d28b180c730 supplierName: 24 Locks emailAddress: '' addresses: [] status: Active modifiedDate: '2023-03-15T20:36:09Z' sourceModifiedDate: '2023-02-17T18:03:42' metadata: isDeleted: false Zoho Books: value: id: '104957000001494001' supplierName: Acme Corporation emailAddress: '' addresses: [] status: Active modifiedDate: '2022-10-03T08:40:37Z' sourceModifiedDate: '2022-09-16T13:09:56' defaultCurrency: GBP '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' description: | The *Get supplier* endpoint returns a single supplier for a given supplierId. [Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers) for integrations that support getting a specific supplier. Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-company-data). operationId: get-supplier '/companies/{companyId}/connections/{connectionId}/push/suppliers': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' post: tags: - Suppliers parameters: - $ref: '#/components/parameters/timeoutInMinutes' - $ref: '#/components/parameters/allowSyncOnPushComplete' requestBody: content: application/json: schema: $ref: '#/components/schemas/Supplier' examples: Sage Intacct: value: id: '73593' supplierName: test 20230420 1004 contactName: Joe Bloggs status: Active responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateSupplierResponse' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: Create supplier description: "The *Create supplier* endpoint creates a new [supplier](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) for a given company's connection.\r\n\r\n[Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service.\r\n\r\n**Integration-specific behaviour**\r\n\r\nRequired data may vary by integration. To see what data to post, first call [Get create/update supplier model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-update-suppliers-model).\r\n\r\nCheck out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers) for integrations that support creating an account.\r\n" operationId: create-supplier '/companies/{companyId}/connections/{connectionId}/push/suppliers/{supplierId}': parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/connectionId' - $ref: '#/components/parameters/supplierId' put: tags: - Suppliers parameters: - $ref: '#/components/parameters/timeoutInMinutes' - $ref: '#/components/parameters/allowSyncOnPushComplete' - $ref: '#/components/parameters/forceUpdate' requestBody: content: application/json: schema: $ref: '#/components/schemas/Supplier' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateSupplierResponse' examples: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/Payment-Required' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '429': $ref: '#/components/responses/Too-Many-Requests' '500': $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' summary: Update supplier description: "The *Update supplier* endpoint updates an existing [supplier](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) for a given company's connection.\r\n\r\n[Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service.\r\n\r\n**Integration-specific behaviour**\r\n\r\nRequired data may vary by integration. To see what data to post, first call [Get create/update supplier model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-update-suppliers-model).\r\n\r\nCheck out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers) for integrations that support creating an account.\r\n" operationId: update-supplier webhooks: expenses.sync.successful: post: description: Called when an expense sync successfully completes without any errors or warnings. requestBody: content: application/json: schema: $ref: '#/components/schemas/ExpensesSyncWebhook' examples: Successful: value: id: ba29118f-5406-4e59-b05c-ba307ca38d01 eventType: expenses.sync.successful generatedDate: '2024-09-01T00:00:00Z' payload: referenceCompany: id: 0498e921-9b53-4396-a412-4f2f5983b0a2 name: Toft stores description: Syncing expenses syncId: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd transactions: - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 status: Completed errorMessage: null - id: e7f8a3d5-0c3c-4c9b-b5d3-56b4a43b62e4 status: Completed errorMessage: null responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. expenses.sync.unsuccessful: post: description: 'Called when an expense sync fails to complete successfully, resulting in at least one error or warning.' requestBody: content: application/json: schema: $ref: '#/components/schemas/ExpensesSyncWebhook' examples: Unsuccessful: value: id: ba29118f-5406-4e59-b05c-ba307ca38d01 eventType: expenses.sync.unsuccessful generatedDate: '2024-09-01T00:00:00Z' payload: referenceCompany: id: 0498e921-9b53-4396-a412-4f2f5983b0a2 name: Toft stores description: Syncing expenses syncId: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd transactions: - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 status: Completed errorMessage: null - id: e7f8a3d5-0c3c-4c9b-b5d3-56b4a43b62e4 status: Failed errorMessage: Insufficient funds responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. SyncCompleted: post: deprecated: true description: |- Triggered anytime an expense sync completes. Used for Sync for Expenses only. > This event type is deprecated. Use the `expenses.sync.successful` to get notified when an expense sync completes successfully. requestBody: content: application/json: schema: $ref: '#/components/schemas/SyncCompleteWebhook' responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. SyncFailed: post: deprecated: true description: |- Indicates a failure occurred during an expense sync. Used for Sync for Expenses only. > This event type is deprecated. Use the `expenses.sync.unsuccessful` to get notified when an expense sync completes unsuccessfully. requestBody: content: application/json: schema: $ref: '#/components/schemas/SyncFailedWebhook' responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. client.rateLimit.reached: post: description: Called when your client’s request count to Codat's API surpasses the allocated quota. requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientRateLimitWebhook' examples: Reached: value: id: 743ec94a-8aa4-44bb-8bd4-e1855ee0e74b eventType: client.rateLimit.reached generatedDate: '2024-09-01T00:00:00Z' payload: dailyQuota: 12000 quotaRemaining: 0 expiryDate: '2024-09-01T12:14:14Z' responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. client.rateLimit.reset: post: description: 'Called when your client''s rate limit quota is reset, allowing additional requests to Codat''s API.' requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientRateLimitWebhook' examples: Reset: value: id: 743ec94a-8aa4-44bb-8bd4-e1855ee0e74b eventType: client.rateLimit.reset generatedDate: '2024-09-01T00:00:00Z' payload: dailyQuota: 12000 quotaRemaining: 11993 expiryDate: '2024-09-01T23:59:99Z' responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. Client rate limit reached: post: deprecated: true description: |- Called when your client’s requests to Codat's API exceed the allocated quota. **Note: This event type is deprecated. Developers should now use the `client.rateLimit.reached` event for handling rate limit notifications.** requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientRateLimitReachedWebhook' responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. Client rate limit reset: post: deprecated: true description: |- Called when the rate limit quota has reset for the client, and more requests to Codat's API are available. Note: This event type is deprecated. Developers should now use the `client.rateLimit.reset` event for handling rate limit notifications. requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientRateLimitResetWebhook' responses: '200': description: Return a 200 status to indicate that the webhook was received successfully. components: schemas: Account: title: 'Accounting: Account' description: "\uFEFF> **Language tip:** Accounts are also referred to as **chart of accounts**, **nominal accounts**, and **general ledger**.\n\nView the coverage for accounts in the Data coverage explorer.\n\n## Overview\n\nAccounts are the categories a business uses to record accounting transactions. From the Accounts endpoints, you can retrieve a list of all accounts for a specified company.\n\nThe categories for an account include:\n* Asset\n* Expense\n* Income\n* Liability\n* Equity.\n\nThe same account may have a different category based on the integration it is used in. For example, a current account (known as checking in the US) should be categorized as `Asset.Current` for Xero, and `Asset.Bank.Checking` for QuickBooks Online.\n\nAt the same time, each integration may have its own requirements to the categories. For example, a Paypal account in Xero is of the `Asset.Bank` category and therefore requires additional properties to be provided.\n\nTo determine the list of allowed categories for a specific integration, you can:\n- Follow our [Create, update, delete data](https://docs.codat.io/using-the-api/push) guide and use the [Get create account model](https://docs.codat.io/sync-for-expenses-api#/operations/get-create-chartOfAccounts-model).\n- Refer to the integration's own documentation.\n\n> **Accounts with no category**\n>\n> If an account is pulled from the chart of accounts and its nominal code does not lie within the category layout for the company's accounts, then the **type** is `Unknown`. The **fullyQualifiedCategory** and **fullyQualifiedName** fields return `null`.\n>\n> This approach gives a true representation of the company's accounts whilst preventing distorting financials such as a company's profit and loss and balance sheet reports." allOf: - properties: id: type: string description: 'Identifier for the account, unique for the company.' example: 1b6266d1-1e44-46c5-8eb5-a8f98e03124e - $ref: '#/components/schemas/Account/definitions/accountPrototype' - properties: metadata: title: Metadata type: object x-internal: true properties: isDeleted: type: boolean description: Indicates whether the record has been deleted in the third-party system this record originated from. nullable: true - title: Modified dates x-internal: true allOf: - title: ModifiedDate x-internal: true type: object properties: modifiedDate: allOf: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: |- The date when the record was last fetched from the data source and updated in Codat’s data cache. Use it to identify and retrieve records that have changed since your last fetch. For example, filtering `modifiedDate` to today will provide new records updated in Codat today. This date is populated for all data types except for attachments, balance sheets, company information, and profit & loss reports ([read more](https://docs.codat.io/using-the-api/modified-dates#modified-date)). In Codat's data model, dates and times are represented using the ISO 8601 standard. - title: Source Modified Date x-internal: true type: object nullable: true properties: sourceModifiedDate: allOf: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: |- The date when a record was last modified in the source platform, usually by the business or a business process. For example, when payments are made against an invoice. It is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when: - Pulling attachments - The integration platform does not provide modification dates for a data type - A record has been deleted from the source platform and Codat doesn't have a record of when the deletion occurred - A record has been voided. For certain platforms that soft delete records, `isDeleted` metadata is used to identify void records In Codat's data model, dates and times are represented using the ISO 8601 standard. definitions: accountPrototype: title: Account prototype type: object properties: nominalCode: type: string nullable: true description: Reference given to each nominal account for a business. It ensures money is allocated to the correct account. This code isn't a unique identifier in the Codat system. example: '610' name: type: string nullable: true description: Name of the account. example: Accounts Receivable description: type: string nullable: true description: Description for the account. example: Invoices the business has issued but has not yet collected payment on. fullyQualifiedCategory: type: string nullable: true description: "Full category of the account. \r\n\r\nFor example, `Liability.Current` or `Income.Revenue`. To determine a list of possible categories for each integration, see our examples, follow our [Create, update, delete data](https://docs.codat.io/using-the-api/push) guide, or refer to the integration's own documentation." example: Asset.Current fullyQualifiedName: type: string nullable: true description: |- Full name of the account, for example: - `Cash On Hand` - `Rents Held In Trust` - `Fixed Asset` examples: - Cash On Hand - Fixed Asset currency: title: Currency x-internal: true type: string description: |- The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_. ## Unknown currencies In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction. There are only a very small number of edge cases where this currency code is returned by the Codat system. format: ISO4217 examples: - GBP - USD - EUR currentBalance: type: number format: decimal nullable: true description: Current balance in the account. example: 0 type: $ref: '#/components/schemas/Account/definitions/accountType' status: $ref: '#/components/schemas/Account/definitions/accountStatus' isBankAccount: type: boolean description: Confirms whether the account is a bank account or not. validDatatypeLinks: type: array nullable: true description: 'The validDatatypeLinks can be used to determine whether an account can be correctly mapped to another object; for example, accounts with a `type` of `income` might only support being used on an Invoice and Direct Income. For more information, see [Valid Data Type Links](/sync-for-expenses-api#/schemas/ValidDataTypeLinks).' items: title: Valid data type links description: |- When querying Codat's data model, some data types return `validDatatypeLinks` metadata in the JSON response. This indicates where that object can be used as a reference—a _valid link_—when creating or updating other data. For example, `validDatatypeLinks` might indicate the following references: - Which tax rates are valid to use on the line item of a bill. - Which items can be used when creating an invoice. You can use `validDatatypeLinks` to present your SMB customers with only valid choices when selecting objects from a list, for example. ## `validDatatypeLinks` example The following example uses the `Accounting.Accounts` data type. It shows that, on the linked integration, this account is valid as the account on a payment or bill payment; and as the account referenced on the line item of a direct income or direct cost. Because there is no valid link to Invoices or Bills, using this account on those data types will result in an error. ```json validDatatypeLinks for an account { "id": "bd9e85e0-0478-433d-ae9f-0b3c4f04bfe4", "nominalCode": "090", "name": "Business Bank Account", #... "validDatatypeLinks": [ { "property": "Id", "links": [ "Payment.AccountRef.Id", "BillPayment.AccountRef.Id", "DirectIncome.LineItems.AccountRef.Id", "DirectCost.LineItems.AccountRef.Id" ] } ] } ``` ## Support for `validDatatypeLinks` Codat currently supports `validDatatypeLinks` for some data types on our Xero, QuickBooks Online, QuickBooks Desktop, Exact (NL), and Sage Business Cloud integrations. If you'd like us to extend support to more data types or integrations, suggest or vote for this on our Product Roadmap. type: object properties: property: type: string nullable: true description: The property from the account that can be linked. links: type: array nullable: true description: Supported `dataTypes` that the record can be linked to. items: type: string supplementalData: $ref: '#/components/schemas/SupplementalData' accountRef: title: Account reference type: object description: 'Data types that reference an account, for example bill and invoice line items, use an accountRef that includes the ID and name of the linked account.' properties: id: type: string description: '''id'' from the Accounts data type.' name: type: string description: '''name'' from the Accounts data type.' accountType: title: Account type enum: - Unknown - Asset - Expense - Income - Liability - Equity type: string description: Type of account example: Asset accountStatus: title: Account status enum: - Unknown - Active - Archived - Pending type: string description: Status of the account example: Active type: object AccountMappingInfo: title: Account mapping info x-internal: true type: object additionalProperties: false x-examples: Example AccountInfo: id: 313a4dbe-b3a4-42f0-a5f5-43e382e62db9 nominalCode: '720' name: Travel currency: GBP accountType: Expense fullyQualifiedCategory: Expense.Overhead isBankAccount: false validTransactionTypes: - Payment - Refund properties: id: type: string description: Unique identifier of account. example: 127f3b99-8dc2-4b7e-854c-91ef9bd2757b nullable: false nominalCode: type: string description: Code used to identify each nominal account in the accounting software. example: '300' nullable: true name: type: string description: Name of the account as it appears in the company's accounting software. example: Purchases nullable: false currency: type: string description: Currency of the account. example: GBP nullable: false accountType: type: string description: Type of the account. example: Expense enum: - Asset - Liability - Income - Expense - Equity nullable: false fullyQualifiedCategory: type: string description: Full account type and category of the account example: Expense.DirectCosts nullable: false isBankAccount: type: boolean description: Confirms whether the account is a bank account or not. validTransactionTypes: $ref: '#/components/schemas/validTransactionTypes' description: Supported transaction types for the account. AdjustmentTransactionLine: x-internal: true title: Adjustment transaction line type: object properties: amount: type: number format: decimal example: 50 description: Amount of the line. A positive line represents a debit; a negative line represents a credit. accountRef: $ref: '#/components/schemas/RecordRef' description: type: string description: 'Any private, company notes about the transaction.' example: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' trackingRefs: type: array minItems: 1 maxItems: 10 nullable: true items: $ref: '#/components/schemas/TrackingRefAdjustmentTransaction' invoiceTo: $ref: '#/components/schemas/InvoiceTo' required: - amount - accountRef AdjustmentTransactionRequest: title: Adjustment transaction type: object properties: id: type: string format: uuid description: Your unique identifier for the transaction. date: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: Date of the transaction. currency: type: string description: Currency the transaction was recorded in. currencyRate: $ref: '#/components/schemas/ExpenseTransaction/properties/currencyRate' reference: type: string nullable: true description: User-friendly reference for the adjustment transaction. lines: type: array description: Array of transaction lines. minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/AdjustmentTransactionLine' required: - id - date - currency - lines AdjustmentTransactionResponse: title: Adjustment response x-internal: true type: object properties: syncId: type: string example: cd937d46-8e41-43a9-9477-a79158ffd98a format: uuid description: Unique id of sync created apAccountRef: x-internal: true type: object title: Accounts Payable account reference nullable: true properties: id: type: string example: 8000004C-1724173136 description: Unique identifier for the Accounts Payable account associated with the transaction. The `apAccountRef` object is currently supported only for QuickBooks Desktop. Attachment: title: Attachment type: object x-examples: Attachment Example: companyId: bf1e0242-5b7a-418b-a307-9e09dbf9f39a id: '1400000000122699154' transactionId: f8f00edd-ddb0-4ca5-b36b-8f932e6b5160 properties: companyId: type: string format: uuid description: Unique ID of company in Codat id: type: string description: Unique identifier of attachment transactionId: type: string description: Unique identifier of transaction AttachmentUpload: title: Attachment upload type: object x-internal: true required: - file properties: file: $ref: '#/components/schemas/AttachmentUpload/definitions/codatFile' definitions: codatFile: type: string description: The file to be uploaded as an attachment. format: binary BankAccount: title: 'Accounting: Bank account' description: |- > **Accessing Bank Accounts through Banking API** > > This datatype was originally used for accessing bank account data both in accounting integrations and open banking aggregators. > > To view bank account data through the Banking API, please refer to the new datatype [here](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) > View the coverage for bank accounts in the Data coverage explorer. ## Overview A list of bank accounts associated with a company and a specific data connection. Bank accounts data includes: * The name and ID of the account in the accounting software. * The currency and balance of the account. * The sort code and account number. type: object allOf: - properties: id: type: string description: 'Identifier for the account, unique for the company in the accounting software.' - $ref: '#/components/schemas/BankAccount/definitions/bankAccountPrototype' - properties: metadata: $ref: '#/components/schemas/Account/allOf/2/properties/metadata' supplementalData: $ref: '#/components/schemas/SupplementalData' - $ref: '#/components/schemas/Account/allOf/3' definitions: bankAccountPrototype: title: Bank account prototype type: object properties: accountName: type: string nullable: true description: Name of the bank account in the accounting software. accountType: title: Bank Account Type x-internal: true enum: - Unknown - Credit - Debit type: string description: |- The type of transactions and balances on the account. For Credit accounts, positive balances are liabilities, and positive transactions **reduce** liabilities. For Debit accounts, positive balances are assets, and positive transactions **increase** assets. nominalCode: type: string nullable: true description: Code used to identify each nominal account for a business. sortCode: type: string nullable: true description: |- Sort code for the bank account. Xero integrations The sort code is only displayed when the currency = GBP and the sort code and account number sum to 14 digits. For non-GBP accounts, this field is not populated. accountNumber: type: string nullable: true description: |- Account number for the bank account. Xero integrations Only a UK account number shows for bank accounts with GBP currency and a combined total of sort code and account number that equals 14 digits, For non-GBP accounts, the full bank account number is populated. FreeAgent integrations For Credit accounts, only the last four digits are required. For other types, the field is optional. iBan: type: string nullable: true description: International bank account number of the account. Often used when making or receiving international payments. currency: $ref: '#/components/schemas/Account/definitions/accountPrototype/properties/currency' description: Base currency of the bank account. balance: type: number format: decimal nullable: true description: Balance of the bank account. institution: type: string nullable: true description: The institution of the bank account. availableBalance: type: number format: decimal nullable: true description: Total available balance of the bank account as reported by the underlying data source. This may take into account overdrafts or pending transactions for example. overdraftLimit: type: number format: decimal nullable: true description: |- Pre-arranged overdraft limit of the account. The value is always positive. For example, an overdraftLimit of `1000` means that the balance of the account can go down to `-1000`. status: $ref: '#/components/schemas/BankAccount/definitions/bankAccountStatus' bankAccountCreateResponse: title: Create bank account response allOf: - properties: data: allOf: - $ref: '#/components/schemas/BankAccount' - deprecated: true - $ref: '#/components/schemas/PushOperation' bankAccountRef: title: Bank account reference type: object properties: id: type: string description: Bank account 'id' for the account transaction. name: type: string description: bank account 'name' for the account transaction. description: Links to the Account transactions data type. bankAccounts: title: 'Accounting: Bank accounts' allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/BankAccount' - $ref: '#/components/schemas/PagingInfo' bankAccountStatus: title: Account status enum: - Unknown - Active - Archived - Pending type: string description: Status of the bank account. example: Active ClientRateLimitReachedWebhook: title: Client rate limit reached webhook x-internal: true description: Webhook request body for a client that has reached their rate limit. type: object properties: ClientId: $ref: '#/components/schemas/SyncFailedWebhook/properties/ClientId' ClientName: $ref: '#/components/schemas/SyncFailedWebhook/properties/ClientName' RuleId: $ref: '#/components/schemas/SyncFailedWebhook/properties/RuleId' RuleType: $ref: '#/components/schemas/SyncFailedWebhook/properties/RuleType' AlertId: $ref: '#/components/schemas/SyncFailedWebhook/properties/AlertId' Message: $ref: '#/components/schemas/SyncFailedWebhook/properties/Message' Data: $ref: '#/components/schemas/ClientRateLimitReachedWebhook/definitions/ClientRateLimitReachedWebhookData' definitions: ClientRateLimitReachedWebhookData: type: object title: Client rate limit reached webhook data properties: DailyQuota: type: integer description: The number of available requests per day. ExpiresUtc: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: The date time in UTC when your daily quota is reset. examples: - ClientId: bae71d36-ff47-420a-b4a6-f8c9ddf41140 ClientName: Bank of Dave RuleId: 70af3071-65d9-4ec3-b3cb-5283e8d55dac RuleType: Rate Limit Reached AlertId: a9367074-b5c3-42c4-9be4-be129f43577e Message: The current daily rate limit quota of 1000 requests for bae71d36-ff47-420a-b4a6-f8c9ddf41140 has been reached. Data: DailyQuota: 1000 ExpiresUtc: '2023-05-03T00:00:00Z' ClientRateLimitResetWebhook: title: Client rate limit reset webhook x-internal: true description: Webhook request body for a client that has had their rate limit reset. type: object properties: ClientId: $ref: '#/components/schemas/SyncFailedWebhook/properties/ClientId' ClientName: $ref: '#/components/schemas/SyncFailedWebhook/properties/ClientName' RuleId: $ref: '#/components/schemas/SyncFailedWebhook/properties/RuleId' RuleType: $ref: '#/components/schemas/SyncFailedWebhook/properties/RuleType' AlertId: $ref: '#/components/schemas/SyncFailedWebhook/properties/AlertId' Message: $ref: '#/components/schemas/SyncFailedWebhook/properties/Message' Data: $ref: '#/components/schemas/ClientRateLimitResetWebhook/definitions/ClientRateLimitResetWebhookData' definitions: ClientRateLimitResetWebhookData: type: object title: Client rate limit reset webhook data properties: QuotaRemaining: type: integer description: Total number of requests remaining for your client. nullable: true ResetReason: type: string description: The reason for your rate limit quota being reset. DailyQuota: $ref: '#/components/schemas/ClientRateLimitReachedWebhook/definitions/ClientRateLimitReachedWebhookData/properties/DailyQuota' nullable: true ExpiresUtc: $ref: '#/components/schemas/ClientRateLimitReachedWebhook/definitions/ClientRateLimitReachedWebhookData/properties/ExpiresUtc' nullable: true examples: - ClientId: bae71d36-ff47-420a-b4a6-f8c9ddf41140 ClientName: Bank of Dave RuleId: 70af3071-65d9-4ec3-b3cb-5283e8d55dac RuleType: Rate Limit Reset AlertId: a9367074-b5c3-42c4-9be4-be129f43577e Message: The current daily rate limit quota for client 30e0f9d2-52c0-4c9f-a806-bcd98a3bcd7e has been reset to 1000 requests. Data: QuotaRemaining: 1000 ResetReason: The quota was reset because it is a new day. DailyQuota: 1000 ExpiresUtc: '2023-05-03T00:00:00Z' ClientRateLimitWebhook: title: Client rate limit webhook type: object properties: id: type: string format: uuid example: 743ec94a-8aa4-44bb-8bd4-e1855ee0e74b description: Unique identifier of the event. eventType: type: string description: The type of event. examples: - client.rateLimit.reset - client.rateLimit.reached generatedDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: The date time in UTC the event was generated in Codat. payload: $ref: '#/components/schemas/ClientRateLimitWebhook/definitions/clientRateLimitWebhookPayload' definitions: clientRateLimitWebhookPayload: title: Client rate limit webhook payload type: object properties: dailyQuota: type: integer description: The number of available requests per day. quotaRemaining: type: integer description: Total number of requests remaining for your client. expiryDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: The date time in UTC when your daily quota is reset. Companies: title: Companies x-internal: true allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/Company' - $ref: '#/components/schemas/PagingInfo' Company: title: Company description: "\uFEFFIn Codat, a company represents a business sharing access to their data. Each company can have multiple [connections](https://docs.codat.io/sync-for-expenses-api#/schemas/Connection) to different data sources such as one connection to [Xero](https://docs.codat.io/integrations/accounting/xero/accounting-xero) for accounting data, two connections to [Plaid](https://docs.codat.io/integrations/banking/plaid/banking-plaid) for two bank accounts and a connection to [Zettle](https://docs.codat.io/integrations/commerce/zettle/commerce-zettle) for POS data.\n\nTypically each company is one of your customers.\n\nWhen you create a company, you can specify a `name` and we will automatically generate a unique `id` for the company. You can also add a `description` to store any additional information about the company." type: object allOf: - $ref: '#/components/schemas/Company/definitions/companyDetails' - type: object properties: dataConnections: type: array items: $ref: '#/components/schemas/Connection' definitions: companyDetails: title: Company details type: object properties: id: $ref: '#/components/parameters/companyId/schema' name: type: string description: The name of the company example: Codat Ltd. description: $ref: '#/components/schemas/CompanyRequestBody/properties/description' nullable: true redirect: type: string format: uri description: 'The `redirect` [Link URL](https://docs.codat.io/auth-flow/authorize-hosted-link) enabling the customer to start their auth flow journey for the company.' example: 'https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739' lastSync: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' nullable: true created: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' createdByUserName: type: string description: Name of user that created the company in Codat. nullable: true products: type: array items: type: string description: An array of products that are currently enabled for the company. tags: type: object maxProperties: 10 propertyNames: pattern: '^.{1,27}$' additional properties: type: string maxLength: 100 description: A collection of user-defined key-value pairs that store custom metadata against the company. required: - id - name - redirect companyReference: title: Company reference type: object properties: id: $ref: '#/components/parameters/companyId/schema' name: $ref: '#/components/schemas/Company/definitions/companyDetails/properties/name' description: $ref: '#/components/schemas/Company/definitions/companyDetails/properties/description' links: type: object description: A collection of links for the company. properties: portal: type: string format: uri description: Link to the company page in the portal. tags: $ref: '#/components/schemas/Company/definitions/companyDetails/properties/tags' examples: - id: 0498e921-9b53-4396-a412-4f2f5983b0a2 name: string redirect: 'https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739' lastSync: '2022-01-01T12:00:00.000Z' created: '2022-01-01T12:00:00.000Z' createdByUserName: string tags: region: us uid: f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c dataConnections: - id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c integrationKey: dfxm sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee platformName: Basiq linkUrl: 'https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start' status: Linked lastSync: '2022-10-27T10:22:43.6464237Z' created: '2022-10-27T09:53:29Z' sourceType: Banking CompanyConfiguration: required: - bankAccount - supplier - customer title: Company configuration type: object x-examples: Config Example: bankAccount: id: '89' supplier: id: '124' customer: id: '140' properties: bankAccount: $ref: '#/components/schemas/CompanyConfiguration/definitions/BankAccountDetails' supplier: $ref: '#/components/schemas/CompanyConfiguration/definitions/SupplierDetails' customer: $ref: '#/components/schemas/CompanyConfiguration/definitions/CustomerDetails' definitions: BankAccountDetails: title: Bank account details type: object properties: id: type: string description: The id of the account from which purchases are made example: '32' SupplierDetails: title: Supplier details type: object properties: id: $ref: '#/components/schemas/Supplier/allOf/0/properties/id' CustomerDetails: title: Customer details type: object properties: id: $ref: '#/components/schemas/Customer/allOf/0/properties/id' CompanyRequestBody: title: Create company request x-internal: true type: object properties: name: type: string description: Name of company being connected. pattern: '^[A-Za-z0-9\s\-'',&@.,?!\s]+$' minLength: 1 example: Bank of Dave description: type: string example: Requested early access to the new financing scheme. description: 'Additional information about the company. This can be used to store foreign IDs, references, etc.' tags: $ref: '#/components/schemas/Company/definitions/companyDetails/properties/tags' required: - name CompanySyncStatus: title: Company sync status type: object additionalProperties: false x-examples: Success Data Pushed: companyId: 20803807-4e9a-4cb7-b67b-9f889a3916e1 syncId: aa4c9dfd-e945-4424-9628-9e724f14c267 syncStatusCode: 2000 syncStatus: Complete errorMessage: '' syncExceptionMessage: '' syncUtc: '2023-01-24T14:15:22Z' dataPushed: true Success No Data Pushed: companyId: 20803807-4e9a-4cb7-b67b-9f889a3916e1 syncId: aa4c9dfd-e945-4424-9628-9e724f14c267 syncStatusCode: 2040 syncStatus: Complete errorMessage: '' syncExceptionMessage: '' syncUtc: '2023-01-24T14:15:22Z' dataPushed: false properties: companyId: type: string description: Unique identifier for your SMB in Codat. example: d4d73051-ed31-42b6-99f6-d288cd940992 nullable: true syncId: type: string description: Unique identifier of the sync. example: a6a22aff-a43a-411d-a910-2dae73217cce nullable: true syncStatusCode: type: integer format: int32 description: Status code of the sync. example: 2000 syncStatus: type: string description: Text status of the sync. examples: - Complete - PushError - Started - NotStarted - Pushing nullable: true errorMessage: type: string description: Error message of the sync. nullable: true syncExceptionMessage: type: string description: Exception message of the sync. nullable: true syncUtc: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: Datetime of the sync. nullable: true dataPushed: type: boolean description: Boolean of whether the sync resulted in data being pushed. Connection: title: Connection description: "\uFEFFA connection represents a [company's](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) connection to a data source and allows you to synchronize data (pull and/or push) with that source.\n\nA company can have multiple data connections depending on the type of data source it is connecting to. For example, a single company can link to:\n\n- [Accounting data](https://docs.codat.io/accounting-api/overview) - 1 active connection.\n- [Banking data](https://docs.codat.io/banking-api/overview) - Multiple active connections.\n- [Commerce data](https://docs.codat.io/commerce-api/overview) - Multiple active connections.\nAny combination of accounting, banking, and commerce data connections is allowed.\n\nBefore you can use a data connection to pull or push data, the company must grant you access to their business data by [linking the connection](https://docs.codat.io/auth-flow/overview)." type: object properties: id: $ref: '#/components/parameters/connectionId/schema' integrationId: type: string format: uuid example: fd321cb6-7963-4506-b873-e99593a45e30 description: A Codat ID representing the integration. integrationKey: type: string description: A unique four-character ID that identifies the platform of the company's data connection. This ensures continuity if the platform changes its name in the future. sourceId: type: string format: uuid example: 35b92968-9851-4095-ad60-395c95cbcba4 description: 'A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`.' sourceType: title: Source Type description: The type of platform of the connection. type: string enum: - Accounting - Banking - BankFeed - Commerce - Expense - Other - Unknown example: Accounting platformName: type: string description: Name of integration connected to company. linkUrl: type: string format: uri description: The link URL your customers can use to authorize access to their business application. example: 'https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/2e2eb431-c1fa-4dc9-93fa-d29781c12bcd/start' status: $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus' lastSync: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' nullable: true created: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' dataConnectionErrors: type: array nullable: true items: $ref: '#/components/schemas/Connection/definitions/dataConnectionError' connectionInfo: type: object nullable: true additionalProperties: type: string additionalProperties: false required: - id - integrationId - integrationKey - sourceId - platformName - linkUrl - status - created - sourceType definitions: dataConnectionStatus: title: Data connection status description: The current authorization status of the data connection. type: string enum: - PendingAuth - Linked - Unlinked - Deauthorized dataConnectionError: title: Data connection error type: object properties: statusCode: type: string description: The HTTP status code returned by the source platform when the error occurred. statusText: type: string description: A non-numeric status code/text returned by the source platform when the error occurred. errorMessage: type: string description: A message about a error returned by Codat. erroredOnUtc: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' status: title: Error status description: The current status of a transient error. Null statuses indicate that the error is not transient. type: string nullable: true enum: - Active - Resolved resolvedOnUtc: description: The datetime in Utc that the error was resolved. nullable: true $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' dataConnectionSourceType: title: Source Type description: The type of platform of the connection. type: string enum: - Accounting - Banking - BankFeed - Commerce - Expense - Other - Unknown example: Accounting example: id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c integrationKey: dfxm sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee platformName: Basiq linkUrl: 'https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start' status: Linked lastSync: '2022-10-27T10:22:43.6464237Z' created: '2022-10-27T09:53:29Z' sourceType: Banking Connections: title: Connections x-internal: true allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/Connection' - $ref: '#/components/schemas/PagingInfo' CreateAccountResponse: title: Create account response x-internal: true allOf: - type: object properties: data: allOf: - $ref: '#/components/schemas/Account' - deprecated: true - $ref: '#/components/schemas/PushOperation' CreateAdjustmentRequest: title: Create adjustment request x-internal: true type: array minItems: 1 maxItems: 50 items: $ref: '#/components/schemas/AdjustmentTransactionRequest' CreateBankAccountResponse: title: Create bank account response x-internal: true allOf: - type: object properties: data: allOf: - $ref: '#/components/schemas/BankAccount' - deprecated: true - $ref: '#/components/schemas/PushOperation' CreateCustomerResponse: title: Create customer response x-internal: true allOf: - type: object properties: data: allOf: - $ref: '#/components/schemas/Customer' - deprecated: true - $ref: '#/components/schemas/PushOperation' CreateExpenseRequest: title: Create expense request x-internal: true type: array minItems: 1 maxItems: 50 items: $ref: '#/components/schemas/ExpenseTransaction' CreateExpenseResponse: title: Create expense response x-internal: true type: object properties: syncId: type: string example: cd937d46-8e41-43a9-9477-a79158ffd98a format: uuid description: Unique id of sync created CreateReimbursableExpenseResponse: title: Create reimbursable expense response x-internal: true type: object properties: syncId: type: string example: cd937d46-8e41-43a9-9477-a79158ffd98a format: uuid description: Unique id of sync created CreateSupplierResponse: title: Create supplier response x-internal: true allOf: - type: object properties: data: allOf: - $ref: '#/components/schemas/Supplier' - deprecated: true - $ref: '#/components/schemas/PushOperation' Customer: title: 'Accounting: Customer' description: | > View the coverage for customers in the Data coverage explorer. ## Overview A customer is a person or organisation that buys goods or services. From the Customers endpoints, you can retrieve a [list of all the customers of a company](https://api.codat.io/swagger/index.html#/Customers/get_companies__companyId__data_customers). Customers' data links to accounts receivable [invoices](https://docs.codat.io/sync-for-expenses-api#/schemas/Invoice). type: object allOf: - type: object properties: id: type: string description: 'Identifier for the customer, unique to the company in the accounting software.' customerName: type: string nullable: true description: 'Name of the customer as recorded in the accounting system, typically the company name.' contactName: type: string nullable: true description: Name of the main contact for the identified customer. emailAddress: type: string nullable: true description: Email address the customer can be contacted by. defaultCurrency: $ref: '#/components/schemas/Account/definitions/accountPrototype/properties/currency' description: Default currency the transactional data of the customer is recorded in. phone: type: string nullable: true description: Phone number the customer can be contacted by. addresses: type: array nullable: true description: An array of Addresses. items: title: 'Accounting: Address' x-internal: true type: object properties: type: $ref: '#/components/schemas/Customer/allOf/0/properties/addresses/items/definitions/accountingAddressType' line1: type: string nullable: true description: Line 1 of the customer address. line2: type: string nullable: true description: Line 2 of the customer address. city: type: string nullable: true description: City of the customer address. region: type: string nullable: true description: Region of the customer address. country: type: string nullable: true description: Country of the customer address. postalCode: type: string nullable: true description: Postal code or zip code. required: - type definitions: accountingAddressType: description: The type of the address type: string enum: - Unknown - Billing - Delivery contacts: type: array nullable: true description: An array of Contacts. items: $ref: '#/components/schemas/Customer/definitions/contact' registrationNumber: type: string nullable: true description: 'Company number. In the UK, this is typically the Companies House company registration number.' taxNumber: type: string nullable: true description: Company tax number. status: $ref: '#/components/schemas/Customer/definitions/customerStatus' description: Current state of the customer. metadata: $ref: '#/components/schemas/Account/allOf/2/properties/metadata' supplementalData: $ref: '#/components/schemas/SupplementalData' - $ref: '#/components/schemas/Account/allOf/3' required: - status definitions: accountingCustomerRef: type: object properties: id: minLength: 1 type: string description: '`id` from the Customers data type' companyName: type: string nullable: true description: '`customerName` from the Customer data type' required: - id customerStatus: description: Status of customer. type: string enum: - Unknown - Active - Archived contact: type: object properties: name: type: string nullable: true description: Name of a contact for a customer. email: type: string nullable: true description: Email of a contact for a customer. phone: type: array nullable: true description: An array of Phone numbers. items: title: Phone type: object x-internal: true properties: number: type: string nullable: true examples: - +44 25691 154789 - (877) 492-8687 - 01224 658 999 description: A phone number. type: $ref: '#/components/schemas/Customer/definitions/contact/properties/phone/items/definitions/phoneNumberType' required: - type definitions: phoneNumberType: description: The type of phone number type: string enum: - Primary - Landline - Mobile - Fax - Unknown address: $ref: '#/components/schemas/Customer/allOf/0/properties/addresses/items' description: An object of Address information. status: $ref: '#/components/schemas/Customer/definitions/customerStatus' modifiedDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' required: - status Customers: title: Customers x-internal: true allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/Customer' - $ref: '#/components/schemas/PagingInfo' DataStatus: title: Data status description: Describes the state of data in the Codat cache for a company and data type type: object required: - dataType - lastSuccessfulSync - currentStatus properties: dataType: title: Data types x-internal: true type: string description: Available data types enum: - accountTransactions - balanceSheet - bankAccounts - bankTransactions - billCreditNotes - billPayments - bills - cashFlowStatement - chartOfAccounts - company - creditNotes - customers - directCosts - directIncomes - invoices - itemReceipts - items - journalEntries - journals - paymentMethods - payments - profitAndLoss - purchaseOrders - salesOrders - suppliers - taxRates - trackingCategories - transfers - banking-accountBalances - banking-accounts - banking-transactionCategories - banking-transactions - commerce-companyInfo - commerce-customers - commerce-disputes - commerce-locations - commerce-orders - commerce-paymentMethods - commerce-payments - commerce-productCategories - commerce-products - commerce-taxComponents - commerce-transactions example: invoices lastSuccessfulSync: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' currentStatus: $ref: '#/components/schemas/PullOperation/properties/status' latestSyncId: type: string description: Unique identifier for most recent sync of data type. format: uuid example: ad474a37-2003-478e-baee-9af9f1ec2fe3 latestSuccessfulSyncId: type: string description: Unique identifier for the most recent successful sync of data type. format: uuid example: 8220fc90-55b6-47bc-9417-48ac6ea93101 examples: - dataType: string lastSuccessfulSync: '2022-01-01T13:00:00.000Z' currentStatus: string latestSyncId: ad474a37-2003-478e-baee-9af9f1ec2fe3 latestSuccessfulSyncId: 8220fc90-55b6-47bc-9417-48ac6ea93101 DataStatusResponse: x-internal: true title: Data status response type: object additionalProperties: $ref: '#/components/schemas/DataStatus' DataType: x-internal: true $ref: '#/components/schemas/DataStatus/properties/dataType' ErrorMessage: title: Error message type: object x-internal: true properties: statusCode: type: integer description: The HTTP status code returned by the error. service: type: string description: Codat's service the returned the error. error: type: string description: A brief description of the error. correlationId: type: string description: Unique identifier used to propagate to all downstream services and determine the source of the error. validation: $ref: '#/components/schemas/ErrorMessage/definitions/errorValidation' canBeRetried: type: string description: '`True` if the error occurred transiently and can be retried.' detailedErrorCode: type: integer description: Machine readable error code used to automate processes based on the code returned. definitions: errorValidation: title: Validation error type: object nullable: true description: 'A human-readable object describing validation decisions Codat has made. If an operation has failed because of validation errors, they will be detailed here.' properties: errors: type: array nullable: true items: $ref: '#/components/schemas/ErrorMessage/definitions/errorValidationItem' warnings: type: array nullable: true items: $ref: '#/components/schemas/ErrorMessage/definitions/errorValidationItem' errorValidationItem: title: Validation error item type: object properties: itemId: type: string nullable: true description: Unique identifier for a validation item. message: type: string nullable: true description: A message outlining validation item's issue. validatorName: type: string nullable: true description: Name of validator. ExpenseContactRef: type: object title: Supplier/customer reference x-internal: true properties: id: type: string example: 40e3e57c-2322-4898-966c-ca41adfd23fd description: Identifier of supplier or customer. type: type: string description: The type of contact. example: Supplier default: Supplier enum: - Supplier required: - id ExpensesSyncWebhook: title: Expenses sync webhook type: object properties: id: type: string format: uuid example: ba29118f-5406-4e59-b05c-ba307ca38d01 description: Unique identifier of the event. eventType: type: string description: The type of event. examples: - expenses.sync.successful - expenses.sync.unsuccessful generatedDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: The date time in UTC the event was generated in Codat. payload: $ref: '#/components/schemas/ExpensesSyncWebhook/definitions/expensesSyncWebhookPayload' definitions: transaction: title: Transaction type: object properties: id: type: string description: Unique identifier of the transaction. status: type: string enum: - Unknown - PushError - Completed - Failed - Pending description: Status of transaction. errorMessage: type: string nullable: true description: Error message for failed transaction. expensesSyncWebhookPayload: title: Expenses sync webhook payload type: object properties: referenceCompany: $ref: '#/components/schemas/Company/definitions/companyReference' syncId: type: string description: Unique identifier of the sync. transactions: type: array items: $ref: '#/components/schemas/ExpensesSyncWebhook/definitions/transaction' ExpenseTransaction: title: Expense transaction type: object properties: id: type: string example: 4d7c6929-7770-412b-91bb-44d3bc71d111 format: uuid description: Your unique identifier for the transaction. type: type: string example: Payment description: The type of transaction. enum: - Payment - Refund - Reward - Chargeback issueDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: Date of the transaction was recorded. currency: type: string example: GBP description: Currency the transaction was recorded in. currencyRate: title: Currency rate type: number format: decimal nullable: true description: |- Rate to convert the total amount of the payment into the base currency for the company at the time of the payment. Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit. It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR. Where the currency rate is provided by the underlying accounting software, it will be available from Codat with the same precision (up to a maximum of 9 decimal places). For accounting software which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places. ## Examples with base currency of GBP | Foreign Currency | Foreign Amount | Currency Rate | Base Currency Amount (GBP) | | :--------------- | :------------- | :------------ | :------------------------- | | **USD** | $20 | 0.781 | £15.62 | | **EUR** | €20 | 0.885 | £17.70 | | **RUB** | ₽20 | 0.011 | £0.22 | ## Examples with base currency of USD | Foreign Currency | Foreign Amount | Currency Rate | Base Currency Amount (USD) | | :--------------- | :------------- | :------------ | :------------------------- | | **GBP** | £20 | 1.277 | $25.54 | | **EUR** | €20 | 1.134 | $22.68 | | **RUB** | ₽20 | 0.015 | $0.30 | ### Integration-specific details | Integration | Scenario | System behavior | |-------------------|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------| | QuickBooks Online | Transaction currency differs from base currency | If currency rate value is left `null`, a rate of 1 will be used by QBO by default. To override this, specify a currencyRate in the request body. | contactRef: description: Supplier or customer for the purchase to be associated to. $ref: '#/components/schemas/ExpenseContactRef' bankAccountRef: type: object title: Bank account reference properties: id: type: string example: 787dfb37-5707-4dc0-8a86-8d74e4cc78ea description: Identifier of the bank account. reference: type: string nullable: true description: User-friendly reference for the expense transaction. merchantName: type: string example: Amazon UK description: Name of the merchant where the purchase took place lines: type: array description: Array of transaction lines. minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/ExpenseTransactionLine' notes: type: string description: 'Any private, company notes about the transaction.' example: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' postAsDraft: type: boolean nullable: true description: 'This optional property, when set to true, posts the transaction to a drafted state. Note that postAsDraft is only supported in Microsoft Dynamics 365 Business Central.' required: - id - type - issueDate - currency examples: - id: a44135b0-6882-489a-83fe-a0c57a4afb19 type: Payment issueDate: '2024-05-21T00:00:00+00:00' currency: GBP currencyRate: 1 contactRef: id: '430' type: Supplier bankAccountRef: id: '97' merchantName: Amazon UK notes: amazon purchase lines: - netAmount: 100 taxAmount: 20 taxRateRef: id: 23_Bills accountRef: id: '35' trackingRefs: - id: DEPARTMENT_3 - dataType: trackingCategories invoiceTo: id: '504' type: customer ExpenseTransactionLine: x-internal: true title: Expense transaction line type: object x-examples: ExpenseTransactionLine: netAmount: 100 taxAmount: 20 taxRateRef: id: 08d37c46-8d5d-441b-8bad-76286c43047e accountRef: id: 16989b16-96d4-401a-9054-f5c620c655a6 trackingRefs: - id: e9a1b63d-9ff0-40e7-8038-016354b987e6 invoiceTo: id: 80000002-1674552702 type: customer properties: netAmount: type: number format: decimal example: 100 description: 'Amount of the line, exclusive of tax.' taxAmount: type: number format: decimal example: 20 description: Amount of tax for the line. taxRateRef: $ref: '#/components/schemas/RecordRef' accountRef: description: The `accountRef` contains the `id` of the account the transaction is against. The `accountRef` object is required for all integrations except QBD which currently supports either itemRef or accountRef. $ref: '#/components/schemas/RecordRef' itemRef: $ref: '#/components/schemas/ItemRef' trackingRefs: type: array minItems: 1 maxItems: 10 nullable: true items: $ref: '#/components/schemas/TrackingRef' invoiceTo: $ref: '#/components/schemas/InvoiceTo' required: - netAmount IntegrationType: title: Integration type x-internal: true type: string description: Type of transaction that has been processed e.g. Expense or Bank Feed. enum: - expenses - bankfeeds default: expenses example: expenses nullable: true InvoiceTo: title: Billable customer reference x-internal: true type: object nullable: true description: Unique identifier for the customer billed for the transaction. The `invoiceTo` object is currently supported only for QuickBooks Online and QuickBooks Desktop. properties: id: type: string example: 80000002-1674552702 description: identifier of customer. type: type: string example: customer description: The type of contact. enum: - customer ItemRef: x-internal: true type: object title: Item reference nullable: true properties: id: type: string example: 80000002-1675158984 description: 'Unique identifier for the item associated with the transaction. The `itemRef` object is currently supported only for QuickBooks Desktop. You can specify either `itemRef` or `accountRef`, but not both.' MappingOptions: title: Mapping options type: object additionalProperties: false x-examples: {} properties: expenseProvider: type: string description: Name of the expense integration. example: Partner Expense nullable: true accounts: type: array description: Array of available accounts for mapping. nullable: true items: $ref: '#/components/schemas/AccountMappingInfo' trackingCategories: type: array description: Array of available tracking categories for mapping. nullable: true items: $ref: '#/components/schemas/TrackingCategoryMappingInfo' taxRates: type: array description: Array of available tax rates for mapping. nullable: true items: $ref: '#/components/schemas/TaxRateMappingInfo' PagingInfo: type: object title: Pagination information x-internal: true properties: pageNumber: type: integer description: Current page number. pageSize: type: integer description: Number of items to return in results array. maximum: 2000 totalResults: type: integer description: Total number of items. _links: $ref: '#/components/schemas/PagingInfo/definitions/links' definitions: links: title: Hal Links type: object required: - self - current properties: self: $ref: '#/components/schemas/PagingInfo/definitions/halRef' current: $ref: '#/components/schemas/PagingInfo/definitions/halRef' next: $ref: '#/components/schemas/PagingInfo/definitions/halRef' previous: $ref: '#/components/schemas/PagingInfo/definitions/halRef' examples: - self: href: /companies current: href: /companies?page=1&pageSize=10 halRef: title: Hypertext reference type: object properties: href: type: string format: uri-reference description: Uri hypertext reference. required: - pageNumber - pageSize - totalResults - _links examples: - pageNumber: 1 pageSize: 10 totalResults: 1 _links: self: href: '/companies/{id}/data/{dataType}' current: href: '/companies/{id}/data/{dataType}?page=1&pageSize=10' PullOperation: title: Pull operation description: |- Information about a queued, in progress or completed pull operation. *Formally called `dataset`* type: object properties: id: type: string format: uuid description: Unique identifier of the pull operation. example: 943accd0-4247-42d8-865b-363c8629e1da companyId: type: string format: uuid description: Unique identifier of the company associated to this pull operation. example: 22ece347-e5f6-4896-95e0-35a4c7f17023 connectionId: type: string format: uuid description: Unique identifier of the connection associated to this pull operation. example: 50830828-7d39-4367-b0eb-5ddb2de5faa5 dataType: title: Data types x-internal: true type: string description: The data type you are requesting in a pull operation. status: title: Dataset status type: string description: The current status of the dataset. enum: - Initial - Queued - Fetching - MapQueued - Mapping - Complete - FetchError - MapError - InternalError - ProcessingQueued - Processing - ProcessingError - ValidationQueued - Validating - ValidationError - AuthError - Cancelled - NotSupported - RateLimitError - PermissionsError - PrerequisiteNotMet statusDescription: type: string nullable: true description: Additional information about the dataset status. example: 'Paused until 2022-10-23T00:00:00.000Z' errorMessage: type: string nullable: true description: A message about a transient or persistent error returned by Codat or the source platform. requested: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' completed: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' progress: type: integer description: An integer signifying the progress of the pull operation. isCompleted: type: boolean description: '`True` if the pull operation is completed successfully. The `isCompleted` property is not queryable. To filter failed pull operations, query by `status!=Complete&&status!=NotSupported` instead.' isErrored: type: boolean description: '`True` if the pull operation entered an error state.' required: - id - companyId - connectionId - dataType - status - requested - progress - isCompleted - isErrored examples: - id: 97d60846-f07a-4d42-b5a0-0bdcc6ebf56b companyId: 4645bd78-8988-45bc-ac9e-67ba5df6e4e5 connectionId: 51baa045-4836-4317-a42e-3542e991e581 dataType: invoices status: Initial statusDescription: 'Paused until 2022-10-23T00:00:00.000Z' requested: '2022-11-14T11:18:37.2798351Z' progress: 10 isCompleted: false isErrored: false PullOperations: title: Pull operations x-internal: true allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/PullOperation' - $ref: '#/components/schemas/PagingInfo' PushOperation: title: Push operation type: object x-internal: true properties: changes: type: array nullable: true description: 'Contains a single entry that communicates which record has changed and the manner in which it changed. ' items: $ref: '#/components/schemas/PushOperation/definitions/pushOperationChange' dataType: $ref: '#/components/schemas/DataStatus/properties/dataType' description: 'The type of data being pushed, eg invoices, customers.' companyId: $ref: '#/components/parameters/companyId/schema' pushOperationKey: type: string format: uuid description: 'A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted.' dataConnectionKey: $ref: '#/components/parameters/connectionId/schema' requestedOnUtc: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: The datetime when the push was requested. completedOnUtc: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: 'The datetime when the push was completed, null if Pending.' timeoutInMinutes: type: integer format: int32 nullable: true description: Number of minutes the push operation must complete within before it times out. timeoutInSeconds: type: integer format: int32 nullable: true deprecated: true description: Number of seconds the push operation must complete within before it times out. status: $ref: '#/components/schemas/PushOperation/definitions/pushOperationStatus' errorMessage: type: string nullable: true description: A message about the error. validation: $ref: '#/components/schemas/PushOperation/definitions/validation' statusCode: type: integer description: Push status code. required: - companyId - pushOperationKey - dataConnectionKey - requestedOnUtc - status - statusCode definitions: validation: type: object title: Validation description: 'A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here.' properties: errors: type: array nullable: true items: $ref: '#/components/schemas/PushOperation/definitions/validationItem' warnings: type: array nullable: true items: $ref: '#/components/schemas/PushOperation/definitions/validationItem' validationItem: title: Validation item type: object properties: itemId: type: string nullable: true description: Unique identifier for a validation item. message: type: string nullable: true description: A message outlining validation item's issue. validatorName: type: string nullable: true description: Name of validator. additionalProperties: false pushChangeType: title: Push change type description: Type of change being applied to record in third party platform. type: string enum: - Unknown - Created - Modified - Deleted - AttachmentUploaded pushOperationRef: title: Push operation reference x-internal: true type: object properties: id: type: string description: Unique identifier for a push operation. dataType: $ref: '#/components/schemas/DataStatus/properties/dataType' nullable: true additionalProperties: false pushOperationStatus: title: Push operation status type: string enum: - Pending - Failed - Success - TimedOut description: The current status of the push operation. pushOperationChange: type: object properties: type: $ref: '#/components/schemas/PushOperation/definitions/pushChangeType' recordRef: $ref: '#/components/schemas/PushOperation/definitions/pushOperationRef' attachmentId: type: string description: Unique identifier for the attachment created otherwise null. nullable: true PushOperations: title: Push operations x-internal: true allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/PushOperation' - $ref: '#/components/schemas/PagingInfo' PushOption: title: Push option x-internal: true required: - displayName - required - type type: object properties: type: $ref: '#/components/schemas/PushOption/definitions/pushOptionType' displayName: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty/properties/displayName' description: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty/properties/description' required: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty/properties/required' properties: type: object additionalProperties: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty' nullable: true options: type: array items: $ref: '#/components/schemas/PushOption/definitions/pushOptionChoice' nullable: true validation: $ref: '#/components/schemas/PushOption/definitions/pushValidationInfo' nullable: true definitions: pushOptionProperty: title: Push Option Property required: - description - displayName - required - type type: object properties: type: $ref: '#/components/schemas/PushOption/definitions/pushOptionType' displayName: minLength: 1 type: string description: The property's display name. description: type: string description: A description of the property. required: type: boolean description: The property is required if `True`. properties: type: object additionalProperties: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty' nullable: true options: type: array items: $ref: '#/components/schemas/PushOption/definitions/pushOptionChoice' nullable: true validation: $ref: '#/components/schemas/PushOption/definitions/pushValidationInfo' pushValidationInfo: title: Push validation info type: object properties: warnings: type: array items: $ref: '#/components/schemas/PushOption/definitions/pushFieldValidation' nullable: true information: type: array items: $ref: '#/components/schemas/PushOption/definitions/pushFieldValidation' nullable: true additionalProperties: false pushFieldValidation: title: Push field validation required: - details type: object properties: field: type: string description: Field name that resulted in the validation issue. details: minLength: 1 type: string description: Details on the validation issue. ref: type: string format: uri nullable: true description: Unique reference identifier for the validation issue. additionalProperties: false pushOptionType: title: Option Type description: The option type. enum: - Array - Object - String - Number - Boolean - DateTime - File - MultiPart type: string pushOptionChoice: title: Push Option Choice type: object properties: value: type: string minLength: 1 description: Allowed value for field. type: $ref: '#/components/schemas/PushOption/definitions/pushOptionType' displayName: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty/properties/displayName' description: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty/properties/description' required: $ref: '#/components/schemas/PushOption/definitions/pushOptionProperty/properties/required' RecordRef: x-internal: true type: object title: Record reference properties: id: type: string example: 40e3e57c-2322-4898-966c-ca41adfd23fd description: Identifier of linked reference from mapping options. ReimbursableExpenseTransactionLine: x-internal: true title: Reimbursable expense transaction line type: object properties: description: type: string example: 2-night hotel stay description: line description netAmount: type: number format: decimal example: 100 description: 'Amount of the line, exclusive of tax.' taxAmount: type: number format: decimal example: 20 description: Amount of tax for the line. taxRateRef: $ref: '#/components/schemas/RecordRef' accountRef: description: The `accountRef` contains the `id` of the account the transaction is against. The `accountRef` object is required for all integrations except QBD which currently supports either itemRef or accountRef. $ref: '#/components/schemas/RecordRef' itemRef: $ref: '#/components/schemas/ItemRef' trackingRefs: type: array minItems: 1 maxItems: 10 nullable: true items: $ref: '#/components/schemas/TrackingRef' invoiceTo: $ref: '#/components/schemas/InvoiceTo' required: - netAmount ReimbursableExpenseTransactionRequest: title: Reimbursable expense transaction request type: array minItems: 1 maxItems: 50 items: $ref: '#/components/schemas/ReimbursableExpenseTransactionRequest/definitions/reimbursableExpenseTransaction' definitions: reimbursableExpenseTransaction: title: Reimbursable expense transaction type: object properties: id: type: string example: 4d7c6929-7770-412b-91bb-44d3bc71d111 format: uuid description: Your unique identifier for the transaction. reference: type: string nullable: true description: User-friendly reference for the reimbursable expense. contactRef: $ref: '#/components/schemas/ReimbursementContactRef' apAccountRef: $ref: '#/components/schemas/apAccountRef' issueDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: Date of the transaction was recorded. dueDate: description: Date the supplier is due to be paid. $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' currency: type: string example: GBP description: Currency the transaction was recorded in. currencyRate: $ref: '#/components/schemas/ExpenseTransaction/properties/currencyRate' notes: type: string description: 'Any private, company notes about the transaction.' example: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: type: array description: Array of transaction lines. minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/ReimbursableExpenseTransactionLine' required: - id - contactRef - issueDate - dueDate - currency ReimbursementContactRef: type: object title: Contact reference x-internal: true properties: id: type: string example: 40e3e57c-2322-4898-966c-ca41adfd23fd description: Identifier of contact. required: - id SupplementalData: title: Supplemental data type: object x-internal: true description: |- Supplemental data is additional data you can include in our standard data types. It is referenced as a configured dynamic key value pair that is unique to the accounting software. [Learn more](https://docs.codat.io/using-the-api/supplemental-data/overview) about supplemental data. properties: content: type: object additionalProperties: type: object additionalProperties: true nullable: true Supplier: title: 'Accounting: Supplier' description: |- > View the coverage for suppliers in the Data coverage explorer. ## Overview From the **Suppliers** endpoints, you can retrieve a list of [all the suppliers for a company](https://docs.codat.io/sync-for-expenses-api#/operations/list-suppliers). Suppliers' data links to accounts payable [bills](https://docs.codat.io/sync-for-expenses-api#/schemas/Bill). type: object allOf: - type: object properties: id: type: string description: 'Identifier for the supplier, unique to the company in the accounting software.' supplierName: type: string nullable: true description: 'Name of the supplier as recorded in the accounting system, typically the company name.' contactName: type: string nullable: true description: Name of the main contact for the supplier. emailAddress: type: string nullable: true description: Email address that the supplier may be contacted on. phone: type: string nullable: true description: Phone number that the supplier may be contacted on. examples: - +44 25691 154789 - (877) 492-8687 - 01224 658 999 addresses: type: array nullable: true description: An array of Addresses. items: $ref: '#/components/schemas/Customer/allOf/0/properties/addresses/items' registrationNumber: type: string nullable: true description: 'Company number of the supplier. In the UK, this is typically the company registration number issued by Companies House.' taxNumber: type: string nullable: true description: Supplier's company tax number. status: $ref: '#/components/schemas/Supplier/definitions/supplierStatus' defaultCurrency: type: string nullable: true description: Default currency the supplier's transactional data is recorded in. metadata: $ref: '#/components/schemas/Account/allOf/2/properties/metadata' supplementalData: $ref: '#/components/schemas/SupplementalData' - $ref: '#/components/schemas/Account/allOf/3' required: - status definitions: supplierRef: title: Supplier reference description: Reference to the supplier the record relates to. type: object properties: id: minLength: 1 type: string description: The supplier's unique ID supplierName: type: string nullable: true description: The supplier's name required: - id supplierStatus: description: Status of the supplier. type: string enum: - Unknown - Active - Archived examples: - id: C520FFD4-F6F6-4FC2-A6D2-5D7088B2B14F supplierName: Kelly's Industrial Supplies contactName: Kelly's Industrial Supplies emailAddress: sales@kellysupplies.com phone: 07999 999999 addresses: - type: Billing line1: Unit 51 line2: Bakersfield Industrial Estate city: Bakersfield region: California country: USA postalcode: '93308' registrationNumber: string taxNumber: string status: Unknown defaultCurrency: string metadata: isDeleted: true supplementalData: content: property1: property1: null property2: null property2: property1: null property2: null modifiedDate: '2022-10-23T00:00:00Z' sourceModifiedDate: '2022-10-23T00:00:00Z' Suppliers: title: Suppliers x-internal: true allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/Supplier' - $ref: '#/components/schemas/PagingInfo' SyncCompleteWebhook: title: Sync complete webhook x-internal: true description: Webhook request body used to notify that a sync has completed. type: object properties: ClientId: $ref: '#/components/schemas/SyncFailedWebhook/properties/ClientId' ClientName: $ref: '#/components/schemas/SyncFailedWebhook/properties/ClientName' CompanyId: $ref: '#/components/parameters/companyId/schema' RuleId: $ref: '#/components/schemas/SyncFailedWebhook/properties/RuleId' RuleType: $ref: '#/components/schemas/SyncFailedWebhook/properties/RuleType' AlertId: $ref: '#/components/schemas/SyncFailedWebhook/properties/AlertId' Message: $ref: '#/components/schemas/SyncFailedWebhook/properties/Message' Data: $ref: '#/components/schemas/SyncCompleteWebhook/definitions/SyncCompleteWebhookData' definitions: SyncCompleteWebhookData: type: object title: Sync complete webhook data properties: syncId: $ref: '#/components/schemas/SyncFailedWebhook/definitions/SyncFailedWebhookData/properties/syncId' syncType: $ref: '#/components/schemas/SyncFailedWebhook/definitions/SyncFailedWebhookData/properties/syncType' examples: - ClientId: 30e0f9d2-52c0-4c9f-a806-bcd98a3bcd7e ClientName: Expense Sync CompanyId: 1f9559e7-8368-48c9-bdf4-f158e16b8b85 AlertId: 33a4f8e9-09ae-4334-9b00-7bbe83024672 RuleId: 5c27631d-3b63-4b50-8228-ee502fd113eb RuleType: Sync Completed Message: Sync 321363b4-efa9-4fbc-b71c-0b58d62f3248 for company 1f9559e7-8368-48c9-bdf4-f158e16b8b85 of type Expense completed successfully. Data: syncId: 321363b4-efa9-4fbc-b71c-0b58d62f3248 syncType: Expense SyncFailedWebhook: title: Sync failed webhook x-internal: true description: Webhook request body used to notify that a sync has failed. type: object properties: ClientId: title: Client ID type: string format: uuid description: Unique identifier for your client in Codat. ClientName: type: string description: Name of your client in Codat. CompanyId: $ref: '#/components/parameters/companyId/schema' RuleId: type: string format: uuid description: Unique identifier for the rule. deprecated: true RuleType: type: string x-stoplight: id: 34d52a089f08a description: The type of rule. AlertId: type: string format: uuid description: Unique identifier of the webhook event. Message: type: string description: A human-readable message about the webhook. Data: $ref: '#/components/schemas/SyncFailedWebhook/definitions/SyncFailedWebhookData' definitions: SyncFailedWebhookData: type: object title: Sync failed webhook data properties: syncId: type: string format: uuid example: a9367074-b5c3-42c4-9be4-be129f43577e description: Unique identifier for the failed sync. syncType: type: string description: The type of sync being performed. FailureStage: type: string description: The stage of the job the sync failed. examples: - ClientId: 30e0f9d2-52c0-4c9f-a806-bcd98a3bcd7e ClientName: Expense Sync CompanyId: 1f9559e7-8368-48c9-bdf4-f158e16b8b85 RuleId: 289c80dc-2aee-4b71-afff-9acd8d051080 RuleType: Sync Failed AlertId: 72c1103b-7f17-4a3a-8db5-67c2d360a516 Message: Sync 3bead2a1-1b3d-4d90-8077-cddc5ca68b01 for company 1f9559e7-8368-48c9-bdf4-f158e16b8b85 of type Expense has failed at step Pushing. Data: syncId: 3bead2a1-1b3d-4d90-8077-cddc5ca68b01 syncType: Expense FailureStage: Pushing SyncInitiated: title: Sync initiated type: object properties: syncId: type: string format: uuid description: Unique identifier for the sync initiated. additionalProperties: false TaxRateMappingInfo: title: Tax rate mapping info x-internal: true type: object additionalProperties: false x-examples: UK Tax Rate: id: 23_Bills name: 20% Bill tax Bills code: 20% Bill tax effectiveTaxRate: 20 totalTaxRate: 20 validTransactionTypes: - Payment - Reward properties: id: type: string description: Unique identifier of tax rate. example: 23_Bills nullable: false name: type: string description: Name of the tax rate in the accounting software. example: 20% Bill tax Bills nullable: false code: type: string description: Code for the tax rate from the accounting software. example: 20% Bill tax nullable: true effectiveTaxRate: type: number format: decimal description: Effective tax rate. example: 20 totalTaxRate: type: number format: decimal description: Total (not compounded) sum of the components of a tax rate. example: 20 validTransactionTypes: $ref: '#/components/schemas/validTransactionTypes' description: Supported transaction types for the tax rate. TrackingCategoryMappingInfo: title: Tracking category mapping info x-internal: true type: object additionalProperties: false x-examples: Tracking Category with parentId: id: DEPARTMENT_1 name: TestLocation hasChildren: false parentId: DEPARTMENTS Parent Tracking Category: id: DEPARTMENTS name: Departments hasChildren: true properties: id: type: string description: Unique identifier of the tracking category. example: DEPARTMENT_2 nullable: false name: type: string description: Name of the tracking category as it appears in the accounting software. example: New York nullable: false hasChildren: type: boolean description: Boolean of whether the tracking category has child categories. parentId: type: string description: ID of the parent tracking category example: DEPARTMENTS nullable: true TrackingRef: type: object title: Tracking reference x-internal: true properties: id: type: string example: e9a1b63d-9ff0-40e7-8038-016354b987e6 description: Unique identifier of the linked reference from mapping options or the unique identifier of the linked customer. dataType: type: string example: trackingCategories default: trackingCategories description: The type of the linked reference enum: - trackingCategories - customers TrackingRefAdjustmentTransaction: type: object title: Tracking reference x-internal: true properties: id: type: string example: e9a1b63d-9ff0-40e7-8038-016354b987e6 description: Unique identifier of the linked reference from mapping options or the unique identifier of the linked customer or supplier. dataType: type: string example: trackingCategories default: trackingCategories description: The type of the linked reference enum: - trackingCategories - customers - suppliers Transaction: title: Transaction type: object additionalProperties: false properties: transactionId: type: string description: Your unique idenfier of the transaction. example: aa02271d-ed5f-47f5-be76-778d5905225a nullable: true status: $ref: '#/components/schemas/TransactionStatus' message: type: string description: Metadata such as validation errors or the resulting record created in the accounting software. nullable: true integrationType: $ref: '#/components/schemas/IntegrationType' x-examples: Successful Transaction: transactionId: 8fdba4ed-e327-4925-be1a-b7a2b04627f7 status: Completed integrationType: expense Unsuccessful Transaction: transactionId: 3d694cd1-4cd9-4136-91db-32408195c6fc status: ValidationError message: The line item total -208.10((-195.01 + -1.09) + (-10.01 + -1.99)) must equal the transaction total -1.1 integrationType: string TransactionResponse: title: Transaction response x-internal: true type: array items: $ref: '#/components/schemas/Transaction' Transactions: title: Transactions x-internal: true additionalProperties: false allOf: - type: object properties: results: type: array items: $ref: '#/components/schemas/Transaction' - $ref: '#/components/schemas/PagingInfo' x-examples: Example 1: results: - transactionId: aa02271d-ed5f-47f5-be76-778d5905225a status: Completed integrationType: expenses - transactionId: 730177a2-8505-410a-9ebc-c2dd52e4bea9 status: Completed integrationType: expenses pageNumber: 1 pageSize: 100 totalResults: 2 links: self: href: string current: href: string TransactionStatus: title: Transaction status x-internal: true type: string description: Status of the transaction. enum: - Unknown - Pending - ValidationError - Completed - PushError example: Completed nullable: true TransferTransactionRequest: title: Transfer type: object properties: description: type: string description: 'Any private, company notes about the transaction.' example: Transfer from bank account Y to bank account Z date: allOf: - description: Date of the transfer transaction as recorded in the accounting software. - title: Date time type: string examples: - 2022-10-23T00:00:00.000Z - 2022-10-23T00:00:00.000Z description: |- In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` 2020-10-08T22:40:50Z 2021-01-01T00:00:00 ``` When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - Unqualified local time: `2021-11-15T01:00:00` - UTC time offsets: `2021-11-15T01:00:00-05:00` > Time zones > > Not all dates from Codat will contain information about time zones. > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. from: type: object properties: accountRef: type: object title: Account reference description: Reference of the account you are transferring money from. properties: id: type: string description: '''id'' from the Accounts data type.' required: - id amount: type: number format: decimal description: Amount that has been transferred from the account in the native currency of the account. required: - accountRef - amount to: type: object properties: accountRef: type: object title: Account reference description: Reference of the account you are transferring money to. properties: id: type: string description: '''id'' from the Accounts data type.' required: - id amount: type: number format: decimal description: Amount that has been transferred to the account in the native currency of the account. required: - accountRef - amount required: - date - from - to TransferTransactionResponse: title: Create transfer response x-internal: true type: object properties: syncId: type: string example: cd937d46-8e41-43a9-9477-a79158ffd98a format: uuid description: Unique id of sync created UpdateCustomerResponse: title: Update customer response x-internal: true allOf: - type: object properties: data: allOf: - $ref: '#/components/schemas/Customer' - deprecated: true - $ref: '#/components/schemas/PushOperation' UpdateExpenseRequest: title: Updating expense transaction request type: object properties: type: type: string example: Payment description: The type of transaction. enum: - Payment - Refund - Reward - Chargeback issueDate: type: string description: Date the transaction was recorded. example: '2022-06-28T00:00:00.000Z' currency: type: string example: GBP description: Currency the transaction was recorded in. currencyRate: $ref: '#/components/schemas/ExpenseTransaction/properties/currencyRate' contactRef: description: Supplier or Customer for the purchase to be associated to. $ref: '#/components/schemas/ExpenseContactRef' bankAccountRef: type: object title: Bank account reference properties: id: type: string example: 787dfb37-5707-4dc0-8a86-8d74e4cc78ea description: Identifier of the bank account. merchantName: type: string description: Name of the merchant where the purchase took place example: Amazon UK lines: type: array description: Array of transaction lines. items: $ref: '#/components/schemas/ExpenseTransactionLine' notes: type: string description: 'Any private, company notes about the transaction.' example: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' required: - type - issueDate - currency UpdateExpenseResponse: title: Update expense response x-internal: true type: object properties: syncId: type: string description: Unique identifier for the update expense sync. examples: Example 1: syncId: 1ad0695c-4566-4715-918c-adbb03eac81e UpdateReimbursableExpenseTransactionRequest: title: Updating reimbursable expense transaction request type: object properties: reference: type: string nullable: true description: User-friendly reference for the reimbursable expense. contactRef: $ref: '#/components/schemas/ReimbursementContactRef' apAccountRef: $ref: '#/components/schemas/apAccountRef' issueDate: $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' description: Date of the transaction was recorded. dueDate: description: Date the supplier is due to be paid. $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' currency: type: string example: GBP description: Currency the transaction was recorded in. currencyRate: $ref: '#/components/schemas/ExpenseTransaction/properties/currencyRate' notes: type: string description: 'Any private, company notes about the transaction.' example: 'APPLE.COM/BILL - 09001077498 - Card Ending: 4590' lines: type: array description: Array of transaction lines. minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/ReimbursableExpenseTransactionLine' required: - contactRef - issueDate - dueDate - currency UpdateSupplierResponse: title: Update supplier response x-internal: true allOf: - type: object properties: data: allOf: - $ref: '#/components/schemas/Supplier' - deprecated: true - $ref: '#/components/schemas/PushOperation' validTransactionTypes: title: Valid transaction types x-internal: true type: array description: Supported transaction types for the account. nullable: false items: type: string enum: - Payment - Refund - Reward - Chargeback example: Payment parameters: syncId: name: syncId in: path required: true schema: type: string format: uuid example: 6fb40d5e-b13e-11ed-afa1-0242ac120002 description: Unique identifier for a sync. transactionId: name: transactionId in: path required: true schema: type: string format: uuid example: 336694d8-2dca-4cb5-a28d-3ccb83e55eee description: The unique identifier for your SMB's transaction. page: name: page in: query schema: type: integer format: int32 minimum: 1 example: 1 default: 1 description: 'Page number. [Read more](https://docs.codat.io/using-the-api/paging).' pageSize: name: pageSize in: query schema: type: integer format: int32 default: 100 example: 100 minimum: 1 maximum: 5000 description: 'Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging).' query: name: query in: query required: false schema: type: string example: id=e3334455-1aed-4e71-ab43-6bccf12092ee description: 'Codat query string. [Read more](https://docs.codat.io/using-the-api/querying).' orderBy: name: orderBy in: query required: false schema: type: string example: '-modifiedDate' description: 'Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).' companyId: name: companyId in: path required: true schema: type: string format: uuid example: 8a210b68-6988-11ed-a1eb-0242ac120002 description: Unique identifier for your SMB in Codat. description: Unique identifier for a company. connectionId: name: connectionId in: path required: true schema: type: string format: uuid example: 2e9d2c44-f675-40ba-8049-353bfcb5e171 description: Unique identifier for a company's data connection. description: Unique identifier for a connection. dataType: name: dataType description: The key of a Codat data type in: path required: true schema: $ref: '#/components/schemas/DataType' supplierId: name: supplierId in: path required: true schema: type: string examples: - 13d946f0-c5d5-42bc-b092-97ece17923ab - 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2 - 7110701885 - EILBDVJVNUAGVKRQ description: Unique identifier for a supplier. customerId: name: customerId in: path required: true schema: type: string examples: $ref: '#/components/parameters/supplierId/schema/examples' description: Unique identifier for a customer. timeoutInMinutes: name: timeoutInMinutes in: query schema: type: integer format: int32 description: Time limit for the push operation to complete before it is timed out. allowSyncOnPushComplete: name: allowSyncOnPushComplete in: query schema: type: boolean default: true description: Allow a sync upon push completion. forceUpdate: name: forceUpdate in: query schema: type: boolean default: false description: 'When updating data in the destination platform Codat checks the `sourceModifiedDate` against the `lastupdated` date from the accounting software, if they''re different Codat will return an error suggesting you should initiate another pull of the data. If this is set to `true` then the update will override this check.' responses: BadRequest: description: The request made is not valid. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Malformed query: value: statusCode: 400 service: PublicApi error: Error processing request - not valid. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Malformed-Query: description: Your `query` parameter was not correctly formed content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Malformed query: value: statusCode: 400 service: ClientsApi error: Error parsing query - Malformed query. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Unresolved property: value: statusCode: 400 service: PullApi error: Error parsing query - Could not resolve property isCompleted on Dataset correlationId: 98457fb9956b7f9b4b2fd4f6e23bb5c8 canBeRetried: Unknown detailedErrorCode: 0 Unauthorized: description: Your API request was not properly authorized. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Unauthorized: value: statusCode: 401 service: PublicApi error: Unauthorized correlationId: 7eb40d6b415d7bcd99ce658268284056 canBeRetried: Unknown detailedErrorCode: 0 Payment-Required: description: | An account limit has been exceeded. The type of limit is described in the error property: - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 429 service: PublicApi error: You have exceeded the 50-company limit that applies to a Free plan. We recommend that you delete any companies you no longer need and retry the request. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Forbidden: description: You are using an outdated API key or a key not associated with that resource. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 403 service: PublicApi error: You are using an outdated API key or a key not associated with that resource. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Not-Found: description: |- One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Data connection not found: value: statusCode: 404 service: PublicApi error: Data connection a22dd66b-564a-4832-9b37-7b3ce4aeb7de not found correlationId: 8fa2b5f4794970a4ee73758f612e8df0 canBeRetried: Unknown detailedErrorCode: 0 Company not found: value: statusCode: 404 service: ClientsApi error: No company was found with ID 846ed55c-974b-4392-a1f1-87b6fdbf3c5e correlationId: 0a40c2f31fc8f992fb88b0853e4166f3 canBeRetried: Unknown detailedErrorCode: 0 No data available: value: statusCode: 404 service: PublicApi error: No data available for accounts for ID e5889b459f544926ac5b8e6756df2s correlationId: 0a40c2f31fc8f992fb88b0853e4166f3 canBeRetried: Unknown detailedErrorCode: 0 Conflict: description: The data type's dataset has not been requested or is still syncing. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 409 service: PublicApi error: The data set has not been requested. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Unprocessable-Content: description: The requests made can't be processed. This may be due to differences in platform support. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 422 service: ExpenseSyncApi error: Expense transaction updates are not supported for platforms other than Xero. correlationId: 7c8e23841d211c87f49f30b248f70c93 canBeRetried: Unknown detailedErrorCode: 0 Too-Many-Requests: description: Too many requests were made in a given amount of time. Wait a short period and then try again. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 429 service: PublicApi error: You have made too many requests in a given amount of time; please retry later. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Internal-Server-Error: description: There is a problem with our server. Please try again later. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 500 service: PublicApi error: There is a problem with our server. Please try again later. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Service-Unavailable: description: The Codat API is temporarily offline for maintenance. Please try again later. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: Conflict: value: statusCode: 500 service: PublicApi error: The Codat API is temporarily offline for maintenance. Please try again later. correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 securitySchemes: auth_header: name: Authorization description: 'The word "Basic" followed by a space and your API key. [API keys](https://docs.codat.io/sync-for-expenses-api#/schemas/apiKeys) are tokens used to control access to the API. You can get an API key via [the Codat Portal](https://app.codat.io/developers/api-keys), via [the API](https://docs.codat.io/codat-api#/api-keys/api-keys-list), or [read more](https://docs.codat.io/using-the-api/authentication) about authentication at Codat.' type: apiKey in: header x-speakeasy-example: Basic BASE_64_ENCODED(API_KEY)