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)