From 9d2b271f2f4afbcb2607c202c90bde790c8e6602 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Mon, 23 Mar 2026 11:37:11 +0000 Subject: [PATCH] ## Python SDK Changes: * `codat_sync_payables.suppliers.update()`: **Added** --- .speakeasy/logs/changes/changes.html | 29 +- .speakeasy/logs/changes/changes.md | 20 +- .speakeasy/logs/changes/new.openapi.yaml | 12979 ++-------------- .speakeasy/logs/changes/old.openapi.yaml | 12688 ++------------- .speakeasy/workflow.lock | 13 +- sync-for-payables/.speakeasy/gen.lock | 445 +- sync-for-payables/.speakeasy/gen.yaml | 6 +- sync-for-payables/README.md | 1 + sync-for-payables/RELEASES.md | 12 +- .../operations/updatesupplierrequest.md | 11 + .../docs/models/shared/accountstatus.md | 8 + .../docs/models/shared/address.md | 18 +- .../docs/models/shared/addresstype.md | 8 + .../docs/models/shared/bankaccountstatus.md | 8 + .../docs/models/shared/bankaccounttype.md | 8 + .../docs/models/shared/billstatus.md | 8 + .../models/shared/dataconnectionstatus.md | 8 + .../docs/models/shared/datatype.md | 8 + .../docs/models/shared/errorstatus.md | 8 + .../docs/models/shared/sourcetype.md | 8 + .../docs/models/shared/supplierstatus.md | 8 + .../docs/models/shared/taxratestatus.md | 8 + .../docs/sdks/bankaccounts/README.md | 29 + .../docs/sdks/suppliers/README.md | 177 +- sync-for-payables/pylintrc | 3 +- sync-for-payables/pyproject.toml | 2 +- .../src/codat_sync_for_payables/_version.py | 8 +- .../codat_sync_for_payables/bank_accounts.py | 4 +- .../codat_sync_for_payables/bill_payments.py | 4 +- .../src/codat_sync_for_payables/bills.py | 12 +- .../src/codat_sync_for_payables/companies.py | 8 +- .../codat_sync_for_payables/connections.py | 8 +- .../models/__init__.py | 20 + .../models/errors/__init__.py | 45 +- .../models/operations/__init__.py | 50 +- .../models/operations/create_bank_account.py | 2 +- .../models/operations/create_bill.py | 2 +- .../models/operations/create_bill_payment.py | 2 +- .../models/operations/create_connection.py | 10 +- .../models/operations/create_supplier.py | 2 +- .../operations/get_mapping_options_bills.py | 2 +- .../get_mapping_options_payments.py | 2 +- .../models/operations/list_bills.py | 2 +- .../models/operations/list_companies.py | 2 +- .../models/operations/list_connections.py | 2 +- .../models/operations/list_suppliers.py | 2 +- .../models/operations/replace_company.py | 2 +- .../models/operations/unlink_connection.py | 4 +- .../models/operations/update_bill.py | 2 +- .../models/operations/update_company.py | 2 +- .../models/operations/update_supplier.py | 70 + .../operations/upload_bill_attachment.py | 2 +- .../models/shared/__init__.py | 45 +- .../models/shared/accountmappingoption.py | 8 +- .../models/shared/address.py | 12 +- .../models/shared/attachment.py | 8 +- .../models/shared/bankaccount.py | 8 +- .../models/shared/bankaccountmappingoption.py | 8 +- .../models/shared/bankaccountprototype.py | 8 +- .../models/shared/bill.py | 8 +- .../models/shared/billaccountref.py | 2 +- .../models/shared/billlineitem.py | 8 +- .../models/shared/billmappingoptions.py | 8 +- .../models/shared/billpayment.py | 8 +- .../models/shared/billpaymentprototype.py | 8 +- .../models/shared/billprototype.py | 8 +- .../models/shared/bills.py | 2 +- .../models/shared/billtaxrateref.py | 2 +- .../models/shared/clientratelimitwebhook.py | 8 +- .../shared/clientratelimitwebhookpayload.py | 8 +- .../models/shared/codatfile.py | 2 +- .../models/shared/companies.py | 8 +- .../models/shared/company.py | 8 +- .../models/shared/companyinformation.py | 8 +- .../models/shared/companyreference.py | 4 +- .../models/shared/companyrequestbody.py | 2 +- .../models/shared/companyupdaterequest.py | 2 +- .../models/shared/connection.py | 8 +- .../models/shared/connections.py | 8 +- .../models/shared/dataconnectionerror.py | 8 +- .../models/shared/errorvalidation.py | 2 +- .../models/shared/errorvalidationitem.py | 8 +- .../models/shared/halref.py | 2 +- .../models/shared/links.py | 8 +- .../models/shared/pagination.py | 8 +- .../models/shared/paymentmappingoptions.py | 8 +- .../models/shared/supplier.py | 8 +- .../models/shared/supplierprototype.py | 8 +- .../models/shared/supplierref.py | 8 +- .../models/shared/suppliers.py | 2 +- .../models/shared/taxratemappingoption.py | 8 +- .../models/shared/trackingref.py | 8 +- .../src/codat_sync_for_payables/sdk.py | 2 +- .../src/codat_sync_for_payables/suppliers.py | 320 +- .../codat_sync_for_payables/utils/__init__.py | 44 +- .../utils/dynamic_imports.py | 54 + .../utils/eventstreaming.py | 41 +- .../codat_sync_for_payables/utils/retries.py | 14 +- 98 files changed, 4596 insertions(+), 22974 deletions(-) create mode 100644 sync-for-payables/docs/models/operations/updatesupplierrequest.md create mode 100644 sync-for-payables/src/codat_sync_for_payables/models/operations/update_supplier.py create mode 100644 sync-for-payables/src/codat_sync_for_payables/utils/dynamic_imports.py diff --git a/.speakeasy/logs/changes/changes.html b/.speakeasy/logs/changes/changes.html index a8d6d4524..90cfa76a3 100644 --- a/.speakeasy/logs/changes/changes.html +++ b/.speakeasy/logs/changes/changes.html @@ -98,34 +98,7 @@

Python SDK Changes:

\ No newline at end of file diff --git a/.speakeasy/logs/changes/changes.md b/.speakeasy/logs/changes/changes.md index c2f67237d..cf23ed8b7 100644 --- a/.speakeasy/logs/changes/changes.md +++ b/.speakeasy/logs/changes/changes.md @@ -1,20 +1,2 @@ ## Python SDK Changes: -* `codat_sync_expenses.connections.create_partner_expense_connection()`: `response.connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.companies.create()`: `response.data_connections[].connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.companies.get()`: `response.data_connections[].connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.companies.list()`: - * `request.tags` **Added** - * `response.results[].data_connections[].connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.companies.update()`: - * `request` **Changed** (Breaking ⚠️) - - `company_request_body` **Removed** (Breaking ⚠️) - - `company_update_request` **Added** - * `response.data_connections[].connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.connections.create()`: `response.connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.connections.get()`: `response.connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.connections.list()`: `response.results[].connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.connections.unlink()`: `response.connection_info.Map` **Changed** (Breaking ⚠️) -* `codat_sync_expenses.companies.replace()`: **Added** -* `codat_sync_expenses.manage_data.get()`: `response.account_transactions.last_successful_sync` **Changed** -* `codat_sync_expenses.manage_data.refresh_all_data_types()`: `error.status[400]` **Added** -* `codat_sync_expenses.manage_data.refresh_data_type()`: `error.status[400]` **Added** +* `codat_sync_payables.suppliers.update()`: **Added** diff --git a/.speakeasy/logs/changes/new.openapi.yaml b/.speakeasy/logs/changes/new.openapi.yaml index 2b0ee26d6..9eb8b91e3 100644 --- a/.speakeasy/logs/changes/new.openapi.yaml +++ b/.speakeasy/logs/changes/new.openapi.yaml @@ -1,21 +1,27 @@ openapi: 3.1.0 +servers: + - description: Production + url: 'https://api.codat.io' info: - title: Expenses - version: prealpha - contact: - name: Codat - url: 'https://www.codat.io/' - email: expenses@codat.io + title: Bill pay (synchronous solution) description: |- - The API for Codat's Expenses solution. + The API reference for the synchronous Bill Pay solution. + + The synchronous Bill Pay solution is an API and a set of supporting tools designed to integrate a bill pay flow into your app as quickly as possible. It's ideal for facilitating essential bill payment processes within your SMB's accounting software. - 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 solution](https://docs.codat.io/payables/overview) | [See OpenAPI spec](https://github.com/codatio/oas) - [Explore solution](https://docs.codat.io/sync-for-expenses/overview) | [See our OpenAPI spec](https://github.com/codatio/oas) + --- + ## Supported Integrations - Not seeing the endpoints you're expecting? We've [reorganized our solutions](https://docs.codat.io/updates/230901-new-products), and you may be using a [different version of Expenses](https://docs.codat.io/sync-for-expenses-v1-api#/). + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Oracle NetSuite | Yes | + | Sage Intacct | Yes | + | Xero | Yes | + | Zoho Books | Yes | --- @@ -25,19 +31,16 @@ info: | :- |:- | | 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. | + | Company information | View company profile from the source platform. | + | Bills | Get, create, and update Bills. | + | Bill payments | Get, create, and update Bill payments. | + | Suppliers | Get, create, and update Suppliers. | + | Bank accounts | Create a bank account for a given company's connection. | + version: 3.0.0 + contact: + name: Codat + email: support@codat.io termsOfService: 'https://www.codat.io/legals/' security: - auth_header: [] @@ -78,7 +81,7 @@ x-speakeasy-name-override: methodNameOverride: download-attachment - operationId: ^upload-.*?-attachment methodNameOverride: upload-attachment -x-codat-docs-path: sync-for-expenses-api +x-codat-docs-path: sync-for-payables-api x-codat-keep-docs-paths-local: true x-codat-speakeasy-pagination: type: offsetLimit @@ -93,40 +96,16 @@ tags: description: Create and manage your SMB users' companies. - name: Connections description: Create new and manage existing data connections for a company. - - name: Company info - description: View the company information of your customers' linked accounting software. - - 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: 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: Company information + description: View company profile from the source platform. + - name: Bills + description: 'Get, create, and update Bills.' + - name: Bill payments + description: 'Get, create, and update Bill payments.' - name: Suppliers - description: 'Get, create, and update suppliers.' - - name: Push operations - description: View historic push operations. - - name: Configuration - description: View and manage mapping configuration and defaults for expense transactions. - - name: Expenses - description: Create and update transactions that represent your customers' spend. - - name: Reimbursements - description: Create and update transactions that represent your customers' repayable 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: Attachments - description: Attach receipts to a transaction for a complete audit trail. - - name: Sync - description: Monitor the status of data syncs. - - name: Transaction status - description: Monitor the status of individual transactions in data syncs. -servers: - - url: 'https://api.codat.io' + description: 'Get, create, and update Suppliers.' + - name: Bank accounts + description: Create a bank account for a given company's connection. paths: /companies: get: @@ -296,7 +275,7 @@ paths: '503': $ref: '#/components/responses/Service-Unavailable' operationId: list-companies - description: "\uFEFFThe *List companies* endpoint returns a list of [companies](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) 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.\n\n## Filter by tags\n\nThe *List companies* endpoint supports the filtering of companies using [tags](https://docs.codat.io/using-the-api/managing-companies#add-metadata-to-a-company). It supports the following operators with [Codat’s query language](https://docs.codat.io/using-the-api/querying):\n\n- equals (`=`)\n- not equals (`!=`)\n- contains (`~`)\n\nFor example, you can use the querying to filter companies tagged with a specific foreign key, region, or owning team: \n- Foreign key: `uid = {yourCustomerId}`\n- Region: `region != uk`\n- Owning team and region: `region = uk && owningTeam = invoice-finance`" + description: "\uFEFFThe *List companies* endpoint returns a list of [companies](https://docs.codat.io/sync-for-payables-api#/schemas/Company) associated to your instances.\n\nA [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-payables-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\n## Filter by tags\n\nThe *List companies* endpoint supports the filtering of companies using [tags](https://docs.codat.io/using-the-api/managing-companies#add-metadata-to-a-company). It supports the following operators with [Codat’s query language](https://docs.codat.io/using-the-api/querying):\n\n- equals (`=`)\n- not equals (`!=`)\n- contains (`~`)\n\nFor example, you can use the querying to filter companies tagged with a specific foreign key, region, or owning team: \n- Foreign key: `uid = {yourCustomerId}`\n- Region: `region != uk`\n- Owning team and region: `region = uk && owningTeam = invoice-finance`" parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' @@ -377,7 +356,7 @@ paths: $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`." + description: "\uFEFFUse the *Create company* endpoint to create a new [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) that represents your customer in Codat. \n\nA [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-payables-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: @@ -394,7 +373,7 @@ paths: '/companies/{companyId}': put: summary: Replace company - description: "\uFEFFUse the *Replace company* endpoint to replace the existing name, description, and tags of the company. Calling the endpoint will replace existing values even if new values haven't been defined in the payload.\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." + description: "\uFEFFUse the *Replace company* endpoint to replace the existing name, description, and tags of the company. Calling the endpoint will replace existing values even if new values haven't been defined in the payload.\n\nA [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-payables-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: replace-company x-speakeasy-name-override: replace parameters: @@ -437,7 +416,7 @@ paths: description: Additional documents required patch: summary: Update company - description: "\uFEFFUse the *Update company* endpoint to update the name, description, or tags of the company.\n\nThe *Update company* endpoint doesn't have any required fields. If any of the fields provided are `null` or not provided, they won't be included in the update. \n\nA [company](https://docs.codat.io/sync-for-expenses-api#/schemas/Company) represents a business sharing access to their data." + description: "\uFEFFUse the *Update company* endpoint to update the name, description, or tags of the company.\n\nThe *Update company* endpoint doesn't have any required fields. If any of the fields provided are `null` or not provided, they won't be included in the update. \n\nA [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) represents a business sharing access to their data." operationId: update-company parameters: - $ref: '#/components/parameters/companyId' @@ -482,7 +461,7 @@ paths: 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" + description: "\uFEFFThe *Delete company* endpoint permanently deletes a [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company), its [connections](https://docs.codat.io/sync-for-payables-api#/schemas/Connection) and any cached data. This operation is irreversible.\n\nA [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-payables-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: @@ -505,7 +484,7 @@ paths: 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" + description: "\uFEFFThe *Get company* endpoint returns a single company for a given `companyId`.\n\nA [company](https://docs.codat.io/sync-for-payables-api#/schemas/Company) represents a business sharing access to their data.\nEach company can have multiple [connections](https://docs.codat.io/sync-for-payables-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: @@ -839,49 +818,18 @@ paths: 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}/data/info': + '/companies/{companyId}/connections/{connectionId}/payables/info': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' get: + summary: Get company information + description: |+ + Use the *Get company information* endpoint to return information about the company available from the underlying accounting software. + + operationId: get-company-information tags: - - Company info - summary: Get company info - description: Gets the latest basic info for a company. - operationId: get-company-info - parameters: - - $ref: '#/components/parameters/companyId' + - Company information responses: '200': description: Success @@ -890,43 +838,12 @@ paths: schema: $ref: '#/components/schemas/CompanyInformation' examples: - Example 1: + Company information: value: - companyName: Codat - accountingPlatformRef: 1700060034_ETD - companyLegalName: Codat Ltd - addresses: - - type: Billing - line1: 301 Ink Rooms - line2: 28 Easton Street - city: London - region: England - country: United Kingdom - postalCode: WC1X 0BE - - type: Delivery - line1: 28 Easton Street - city: London - country: UK - postalCode: WC1X 0BE - phoneNumbers: - - number: 02012 345678 - type: Landline - - number: 07123 456789 - type: Mobile - - number: 02012 345678 - type: Fax - webLinks: - - type: Website - url: 'https://www.codat.io/' - - type: Social - url: 'https://www.linkedin.com/company/codat-limited/' - registrationNumber: '5590111724' - taxNumber: '74111622555799035846' - financialYearStartDate: '2023-04-01T00:00:00' + companyName: Bank of Dave baseCurrency: GBP - sourceUrls: - Api: 'https://api.codat.io' - createdDate: '2020-03-09T15:19:26' + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -935,28 +852,56 @@ paths: $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' - '/companies/{companyId}/sync/expenses/config': + '/companies/{companyId}/connections/{connectionId}/payables/mappingOptions/bills': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' get: + summary: Get bill mapping options + description: "\uFEFFUse the *Get mapping options - Bills* endpoint to return a list of available mapping options for a given company's connection ID.\n\nBy default, this endpoint returns a list of active accounts and tax rates. You can use [querying](https://docs.codat.io/using-the-api/querying) to change that.\n\nMapping options are a set of accounts and tax rates used to configure the SMB's payables integration." + operationId: get-mapping-options-bills + x-speakeasy-name-override: get-bill-options tags: - - Configuration + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/continuationToken' + - $ref: '#/components/parameters/statusQuery' responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanyConfiguration' - examples: {} + $ref: '#/components/schemas/BillMappingOptions' + examples: + Mapping options: + value: + accounts: + - id: 1b6266d1-1e44-46c5-8eb5-a8f98e03124e + nominalCode: 879-i + name: Accounts payable + type: Liability + currency: GBP + status: Active + sourceModifiedDate: '2022-10-23T00:00:00.000Z' + taxRates: + - id: d2939064-dd3a-4c0f-9865-a238c2193515 + name: VAT @ 20% + code: VAT20 + effectiveTaxRate: 20 + totalTaxRate: 20 + status: Active + sourceModifiedDate: '2022-10-23T00:00:00.000Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -971,27 +916,42 @@ paths: $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: + '/companies/{companyId}/connections/{connectionId}/payables/mappingOptions/payments': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' + get: + summary: Get payment mapping options + description: "Use the *Get mapping options - Payments* endpoint to return a list of available mapping options for a given company's connection ID.\r\n\r\nBy default, this endpoint returns a list of active bank accounts. You can use [querying](https://docs.codat.io/using-the-api/querying) to change that.\r\n\r\nMapping options are a set of bank accounts used to configure the SMB's payables integration." + operationId: get-mapping-options-payments + x-speakeasy-name-override: get-payment-options tags: - - Configuration + - Bill payments parameters: - - $ref: '#/components/parameters/companyId' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CompanyConfiguration' - examples: {} + - $ref: '#/components/parameters/continuationToken' + - $ref: '#/components/parameters/statusQuery' responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanyConfiguration' + $ref: '#/components/schemas/PaymentMappingOptions' + examples: + Mapping options: + value: + bankAccounts: + - id: 3d5a8e00-d108-4045-8823-7f342676cffa + name: Bank of Dave current account + accountNumber: '12345678' + currency: GBP + nominalCode: '1234567' + sortCode: '123456' + status: Active + accountType: Debit + sourceModifiedDate: '2022-10-23T00:00:00.000Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== '400': $ref: '#/components/responses/BadRequest' '401': @@ -1008,26 +968,101 @@ paths: $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 + '/companies/{companyId}/connections/{connectionId}/payables/bills': parameters: - $ref: '#/components/parameters/companyId' - '/companies/{companyId}/sync/expenses/mappingOptions': + - $ref: '#/components/parameters/connectionId' get: + summary: List bills + description: |- + The *List bills* endpoint returns a list of [bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) for a given company's connection. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + + By default, the endpoint will return all bills with a status of 'Open' & 'PartiallyPaid' to show all oustanding bills. + operationId: list-bills tags: - - Mapping options + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/continuationToken' + - name: query + in: query + required: false + schema: + type: string + examples: + Status (open): + value: status=Open + Status (partially paid): + value: status=PartiallyPaid + Source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z' + Status (open) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Open' + Status (partially paid) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=PartiallyPaid' + description: 'Codat query string allows you to filter by `status` and `sourceModifiedDate`. Learn more about Codat''s query string [here](https://docs.codat.io/using-the-api/querying). Platfrom specfic statuses: Xero supports Open | PartiallyPaid | Paid | Void | Draft. Qbo supports Open | PartiallyPaid | Paid. FreeAgent supports Open | PartiallyPaid | Paid.' responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/MappingOptions' - examples: {} + $ref: '#/components/schemas/Bill/definitions/bills' + examples: + Bills: + value: + results: + - id: '18' + reference: '12' + supplierRef: + id: '4' + supplierName: BILLy elliot + issueDate: '2019-05-13T00:00:00' + dueDate: '2019-05-13T00:00:00' + currency: GBP + currencyRate: '1,' + lineItems: + - description: Dance shoes + unitAmount: 5 + quantity: 1 + taxAmount: 0 + accountRef: + id: '16' + taxRateRef: + id: NON + totalAmount: 5 + status: Open + totalAmount: 5 + amountDue: 0 + sourceModifiedDate: '2022-05-26T10:34:10Z' + - id: '22' + reference: '12' + supplierRef: + id: '4' + supplierName: BILLy elliot + issueDate: '2019-05-13T00:00:00' + dueDate: '2019-05-13T00:00:00' + currency: GBP + currencyRate: 1 + lineItems: + - description: Dance shoes + unitAmount: 5 + quantity: 1 + taxAmount: 0 + accountRef: + id: '16' + taxRateRef: + id: NON + totalAmount: 5 + status: Paid + totalAmount: 5 + amountDue: 0 + sourceModifiedDate: '2022-05-26T10:34:10Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== + '400': + $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1036,32 +1071,131 @@ paths: $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: '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: + post: + summary: Create bill + description: |- + The *Create bill* endpoint creates a new [bill](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) for a given company's connection. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + operationId: create-bill tags: - - Sync + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Bill/definitions/billPrototype' + examples: + Create bill: + value: + reference: bill_b8qmmj4ksf1suax + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + supplierName: DIISR - Small Business Services + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-04-23T00:00:00' + currency: GBP + currencyRate: 1 + lineItems: + - description: Half day training - Microsoft Office + unitAmount: 1800 + quantity: 1 + taxAmount: 360 + totalAmount: 2160 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone.Per month fixed fee for minimum 20 hours/month. + unitAmount: 4000 + quantity: 1 + taxAmount: 800 + totalAmount: 4800 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + - description: Stationery charges + unitAmount: 32 + quantity: 8 + taxAmount: 51.2 + totalAmount: 307.2 + accountRef: + id: cba6527d-f102-4538-b421-e483233e9d5a + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open responses: - '200': - description: Success + '201': + description: Created content: application/json: schema: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Bill' + examples: + Created bill: + value: + id: bill-1029932 + reference: bill_b8qmmj4ksf1suax + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + supplierName: DIISR - Small Business Services + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-04-23T00:00:00' + currency: GBP + lineItems: + - description: Half day training - Microsoft Office + unitAmount: 1800 + quantity: 1 + taxAmount: 360 + totalAmount: 2160 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone.Per month fixed fee for minimum 20 hours/month. + unitAmount: 4000 + quantity: 1 + taxAmount: 800 + totalAmount: 4800 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + - description: Stationery charges + unitAmount: 32 + quantity: 8 + taxAmount: 51.2 + totalAmount: 307.2 + accountRef: + id: cba6527d-f102-4538-b421-e483233e9d5a + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open + totalAmount: 7267.2 + amountDue: 7267.2 + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1070,32 +1204,128 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' + '409': + $ref: '#/components/responses/Idempotency-Conflict' '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 + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}': parameters: - $ref: '#/components/parameters/companyId' - '/companies/{companyId}/sync/expenses/syncs/latest/status': - get: + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + put: + summary: Update bill + description: | + The *Update bill* endpoint updates an existing [bill](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) for a given company's connection. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | No | + | Sage Intacct | No | + | Zoho Books | No | + operationId: update-bill tags: - - Sync + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Bill/definitions/billPrototype' + examples: + Update bill: + value: + reference: bill_updated_ref + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-05-23T00:00:00' + currency: GBP + currencyRate: 1 + lineItems: + - description: Updated line item - Microsoft Office training + unitAmount: 2000 + quantity: 1 + taxAmount: 400 + totalAmount: 2400 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone - updated rate + unitAmount: 4500 + quantity: 1 + taxAmount: 900 + totalAmount: 5400 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Bill' + examples: + Updated bill: + value: + id: bill-1029932 + reference: bill_updated_ref + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + supplierName: DIISR - Small Business Services + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-05-23T00:00:00' + currency: GBP + lineItems: + - description: Updated line item - Microsoft Office training + unitAmount: 2000 + quantity: 1 + taxAmount: 400 + totalAmount: 2400 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone - updated rate + unitAmount: 4500 + quantity: 1 + taxAmount: 900 + totalAmount: 5400 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open + totalAmount: 7800 + amountDue: 7800 + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1104,34 +1334,49 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' + '409': + $ref: '#/components/responses/Idempotency-Conflict' '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': + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}/attachments': parameters: - $ref: '#/components/parameters/companyId' - get: + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + post: + summary: Upload bill attachment + description: "The *Upload bill attachment* endpoint uploads an attachment and assigns it against a specific `billId`.\r\n\r\n[Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services." + operationId: upload-bill-attachment tags: - - Sync + - Bills + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/AttachmentUpload' responses: - '200': - description: Success + '201': + description: Created content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Attachment' + examples: + Attachment metadata: + value: + id: 422f093f-e556-4bf3-91c0-93af70c3e850 + name: receipt.png + contentType: image/png + dateCreated: '2022-10-23T00:00:00.000Z' + fileSize: 100 + includeWhenSent: true + sourceModifiedDate: '2022-05-26T10:34:10Z' + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1146,24 +1391,36 @@ paths: $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: + summary: List bill attachments + description: "The *List bill attachments* endpoint returns a list of attachments available to download for a given `billId`.\r\n\r\n[Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services." + operationId: list-bill-attachments tags: - - Sync - parameters: - - $ref: '#/components/parameters/companyId' - - $ref: '#/components/parameters/syncId' + - Bills responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Attachment/definitions/attachments' + examples: + Success: + value: + - id: 422f093f-e556-4bf3-91c0-93af70c3e850 + name: receipt.png + contentType: image/png + dateCreated: '2022-10-23T00:00:00.000Z' + fileSize: 100 + includeWhenSent: true + sourceModifiedDate: '2022-05-26T10:34:10Z' + - id: 20cfd269-2f0f-44ef-a28c-7b5f725cf1aa + name: another_receipt.png + contentType: image/png + dateCreated: '2022-10-24T00:00:00.000Z' + fileSize: 98 + includeWhenSent: true + sourceModifiedDate: '2022-05-27T12:38:10Z' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1172,35 +1429,40 @@ paths: $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' - summary: Get sync status - description: Get the sync status for a specified sync - operationId: get-sync-by-id + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}/attachments/{attachmentId}/download': parameters: - $ref: '#/components/parameters/companyId' - - $ref: '#/components/parameters/syncId' - '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions': + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + - $ref: '#/components/parameters/attachmentId' get: - parameters: - - $ref: '#/components/parameters/companyId' - - $ref: '#/components/parameters/syncId' - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/pageSize' + summary: Download bill attachment + description: | + The *Download bill attachment* endpoint downloads a specific attachment for a given `billId` and `attachmentId`. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + + Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bills) for integrations that support downloading a bill attachment. + operationId: download-bill-attachment + tags: + - Bills responses: '200': description: Success content: - application/json: + application/octet-stream: schema: - $ref: '#/components/schemas/Transactions' - examples: {} - '400': - $ref: '#/components/responses/Malformed-Query' + title: Data + type: string + format: binary '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1215,28 +1477,58 @@ paths: $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 + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}/payment': 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' + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string + post: + summary: Create bill payment + description: |- + The *Create bill payment* endpoint creates a new [bill payment](https://docs.codat.io/sync-for-payables-api#/schemas/BillPayment) for a given company's connection. + + [Bill payments](https://docs.codat.io/sync-for-payables-api#/schemas/BillPayment) are an allocation of money within any Accounts Payable account. + operationId: create-bill-payment + tags: + - Bill payments + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BillPayment/definitions/billPaymentPrototype' + examples: + Bill payment example: + value: + amount: 22 + currencyRate: 1 + date: '2022-10-23T00:00:00.000Z' + accountRef: + id: 7bda9f44sr56 + reference: Bill Payment against bill c13e37b6 dfaa-4894-b3be-9fe97bda9f44 responses: - '200': - description: Success + '201': + description: Created content: application/json: schema: - $ref: '#/components/schemas/TransactionResponse' - examples: {} + $ref: '#/components/schemas/BillPayment' + examples: + Bill payment: + value: + id: billPayment-1029932 + amount: 22 + currencyRate: 1 + date: '2022-10-23T00:00:00.000Z' + accountRef: + id: 7bda9f44sr56 + reference: Bill Payment against bill c13e37b6 dfaa-4894-b3be-9fe97bda9f44 + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1245,60 +1537,104 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' + '409': + $ref: '#/components/responses/Idempotency-Conflict' '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': + '/companies/{companyId}/connections/{connectionId}/payables/suppliers': 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. + - $ref: '#/components/parameters/connectionId' + get: + tags: + - Suppliers + summary: List suppliers + description: |- + The *List suppliers* endpoint returns a list of [suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection. + + [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. - [Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/ExpenseTransaction) represent transactions made with a company debit or credit card. + By default, this endpoint returns a list of active and archived suppliers. You can use [querying](https://docs.codat.io/using-the-api/querying) to change that. + + For example, to retrieve only active suppliers (i.e. `status=Active`) or suppliers created within the specified number of days (e.g. `sourceModifiedDate>2023-12-15T00:00:00.000Z`), query the endpoint as follows: `/payables/suppliers?query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`.For example, to retrieve active suppliers modified after a particular date use `query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`. ### Supported Integrations | Integration | Supported | |-------------------------------|-----------| - | Dynamics 365 Business Central | Yes | | FreeAgent | Yes | - | QuickBooks Desktop | Yes | | QuickBooks Online | Yes | + | Xero | Yes | | Oracle NetSuite | Yes | | Sage Intacct | Yes | - | Xero | Yes | | Zoho Books | Yes | - tags: - - Expenses + operationId: list-suppliers + parameters: + - $ref: '#/components/parameters/continuationToken' + - name: query + in: query + required: false + schema: + type: string + examples: + Source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z' + Status (active): + value: status=Active + Status (archived): + value: status=Archived + Status (active) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active' + Status (archived) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Archived' + description: 'Codat query string allows you to filter by `sourceModifiedDate` or if a supplier is `Active` or `Archived` in the accounting software. Learn more about Codat''s query string [here](https://docs.codat.io/using-the-api/querying).' responses: '200': - description: OK + description: Success content: application/json: - x-speakeasy-usage-example: true schema: - $ref: '#/components/schemas/CreateExpenseResponse' + $ref: '#/components/schemas/Supplier/definitions/suppliers' examples: - Example 1: + Suppliers: value: - syncId: cd937d46-8e41-43a9-9477-a79158ffd98a + results: + - id: c523e12f-8b74-4d3a-bbd8-32d7a2f598b4 + supplierName: City Limousines + contactName: Martin Dale + emailAddress: martyd@citylim.co + phone: 07999 999999 + addresses: + - type: Billing + line1: Unit 51 + line2: Bakersfield Industrial Estate + city: Bakersfield + region: California + country: USA + postalCode: '93308' + status: Active + balance: 100 + defaultCurrency: GBP + sourceModifiedDate: '2022-10-23T00:00:00Z' + - id: '41' + supplierName: AI Support + contactName: AI Support + addresses: + - type: Billing + line1: test + region: string + country: Djibouti + status: Active + defaultCurrency: GBP + sourceModifiedDate: '2022-12-07T10:48:18Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1307,82 +1643,75 @@ paths: $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' + post: + tags: + - Suppliers + summary: Create supplier + description: "The *Create supplier* endpoint creates a new [supplier](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection.\r\n\r\n[Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service.\r\n\r\n### Supported Integrations\r\n\r\n| Integration | Supported |\r\n|-------------------------------|-----------|\r\n| FreeAgent | Yes |\r\n| QuickBooks Online | Yes |\r\n| Xero | Yes |\r\n| Oracle NetSuite | Yes |\r\n| Sage Intacct | Yes |\r\n| Zoho Books | Yes |\r\n" + operationId: create-supplier + parameters: + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateExpenseRequest' + $ref: '#/components/schemas/Supplier/definitions/supplierPrototype' 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: + Suppliers: 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 + supplierName: Northridge Office Supplies + contactName: Sarah Johnson + emailAddress: sarah.johnson@northridgesupplies.co.uk + phone: +44 (0)1223 322410 + addresses: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GB + postalCode: EC1N 7TE + status: Active + defaultCurrency: GBP responses: - '202': - description: Accepted + '201': + description: Created content: application/json: schema: - $ref: '#/components/schemas/UpdateExpenseResponse' + $ref: '#/components/schemas/Supplier' + examples: + Suppliers: + value: + id: sup-10933920 + supplierName: Northridge Office Supplies + contactName: Sarah Johnson + emailAddress: sarah.johnson@northridgesupplies.co.uk + phone: +44 (0)1223 322410 + addresses: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GB + postalCode: EC1N 7TE + status: Active + balance: 0 + defaultCurrency: GBP + sourceModifiedDate: '2026-03-18T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': @@ -1393,91 +1722,103 @@ paths: $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. + '/companies/{companyId}/connections/{connectionId}/payables/suppliers/{supplierId}': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' + - name: supplierId + in: path + required: true + schema: + type: string + examples: + - 13d946f0-c5d5-42bc-b092-97ece17923ab + - 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2 + - 7110701885 + - EILBDVJVNUAGVKRQ + description: Unique identifier for a supplier. + put: + tags: + - Suppliers + summary: Update supplier + description: | + The *Update supplier* endpoint updates an existing [supplier](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection. + + [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + + This is a full-replace PUT endpoint. Any fields not included in the request body will be cleared on the supplier record. - [Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/UpdateExpenseRequest) represent transactions made with a company debit or credit card. + ### Supported Integrations - ### 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 Desktop | Yes | - | QuickBooks Online | Yes | - | Oracle NetSuite | Yes | - | Sage Intacct | Yes | - | Xero | Yes | - | Zoho Books | Yes | + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | No | + | Sage Intacct | No | + | Zoho Books | No | - #### Integration-specific behavior + ### Platform-specific behavior - | Integration | Specifics | - |-----------------------|-----------| - | Sage Intacct | To sync **debit card expenses**, map the debit card to a Credit Card with the account type set to `Debit`.| + - **Xero**: Archived suppliers cannot be updated (returns `400`). Suppliers must be unarchived manually in the Xero UI before updating. + - **QuickBooks Online**: Currency can only be set when creating a supplier, and cannot be changed via update. + operationId: update-supplier requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateExpenseRequest' + $ref: '#/components/schemas/Supplier/definitions/supplierPrototype' examples: - Payment: + Update supplier: 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 | Create transfer | Update transfer |\r\n|-----------------------|------------------|------------------|\r\n| Dynamics\t\t\t\t| No\t\t\t | No\t\t\t\t |\r\n| FreeAgent | Yes | Yes |\r\n| NetSuite | No | No |\r\n| QuickBooks Desktop | Yes | No |\r\n| QuickBooks Online | Yes | Yes |\r\n| Sage Intacct | No | No |\r\n| Xero | Yes | No |\r\n| Zoho Books | No | No |" - tags: - - Transfers + supplierName: Northridge Office Supplies + contactName: Sarah Johnson + emailAddress: sarah.johnson@northridgesupplies.co.uk + phone: +44 (0)1223 322410 + addresses: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GB + postalCode: EC1N 7TE + status: Active + defaultCurrency: GBP responses: '200': - description: OK + description: Success content: application/json: - x-speakeasy-usage-example: true schema: - $ref: '#/components/schemas/TransferTransactionResponse' + $ref: '#/components/schemas/Supplier' examples: - Example 1: + Updated supplier: value: - syncId: cd937d46-8e41-43a9-9477-a79158ffd98a + id: sup-10933920 + supplierName: Northridge Office Supplies + contactName: Sarah Johnson + emailAddress: sarah.johnson@northridgesupplies.co.uk + phone: +44 (0)1223 322410 + addresses: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GB + postalCode: EC1N 7TE + status: Active + balance: 0 + defaultCurrency: GBP + sourceModifiedDate: '2026-03-18T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': @@ -1494,122 +1835,53 @@ paths: $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': + '/companies/{companyId}/connections/{connectionId}/payables/bankAccounts': parameters: - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' 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' + - Bank accounts + summary: Create bank account + parameters: + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateAdjustmentRequest' + $ref: '#/components/schemas/BankAccount/definitions/bankAccountPrototype' examples: - Create adjustment: + Bank account example: 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 |\r\n| Zoho Books | Yes |\r\n| Sage Intacct | Yes |" - tags: - - Reimbursements + nominalCode: '22' + name: Plutus - Payables - Bank Account 12 + accountNumber: 0120 0440 + sortCode: 50-50-50 + currency: GBP + accountType: Debit responses: - '200': - description: OK + '201': + description: Created content: application/json: - x-speakeasy-usage-example: true schema: - $ref: '#/components/schemas/CreateReimbursableExpenseResponse' + $ref: '#/components/schemas/BankAccount' examples: - Example 1: + Created bank account: value: - syncId: cd937d46-8e41-43a9-9477-a79158ffd98a + id: fb623ab2-f6ff-4b22-b7d3-b7cc2a4aa0ea + nominalCode: '22' + name: Plutus - Payables - Bank Account 12 + accountNumber: 0120 0440 + sortCode: 50-50-50 + currency: GBP + accountType: Debit + status: Active + sourceModifiedDate: '2024-02-22T14:46:43.99Z' '400': $ref: '#/components/responses/BadRequest' '401': @@ -1626,9029 +1898,684 @@ paths: $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' + description: "The *Create bank account* endpoint creates a new [bank account](https://docs.codat.io/sync-for-payables-api#/schemas/BankAccount) for a given company's connection.\r\n\r\n[Bank accounts](https://docs.codat.io/sync-for-payables-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution." + operationId: create-bank-account +webhooks: + 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/ReimbursableExpenseTransactionRequest' + $ref: '#/components/schemas/ClientRateLimitWebhook' examples: - Create reimbursable expense: + Reached: 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 |\r\n| Zoho Books | Yes |\r\n\r\n" - tags: - - Reimbursements + 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: 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' + 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/UpdateReimbursableExpenseTransactionRequest' + $ref: '#/components/schemas/ClientRateLimitWebhook' examples: - Update reimbursable expense: + Reset: 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 + 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: 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. + description: Return a 200 status to indicate that the webhook was received successfully. +components: + schemas: + Address: + title: Address + x-internal: true + type: object + properties: + type: + $ref: '#/components/schemas/Address/definitions/addressType' + 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 address. We recommend using the 2-digit ISO 3166 country code (e.g. `GB`, `US`, `FR`) as this is accepted by all supported platforms.' + postalCode: + type: string + nullable: true + description: Postal code or zip code. + definitions: + addressType: + description: The type of the address + type: string + enum: + - Unknown + - Billing + - Delivery + Attachment: + title: Attachment metadata + description: |2- + The Codat API supports pulling and pushing of file attachments for invoices, bills, direct costs, and direct incomes. - [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. + > **Retrieving attachments** + > + > If a company is authorized, you can query the Codat API to read, download, and upload attachments without requiring a fresh sync of data. - **Integration-specific behavior** + Unlike other data types, Codat doesn't support [sync settings](https://docs.codat.io/knowledge-base/advanced-sync-settings) for attachments. - Each accounting software supports different file formats and sizes. + Note that different integrations have different requirements for file size and extension of attachments. - | Integration | File size | File extension | Supported transactions | - |-----------------------------------|-----------|-------------------------------------------------------|------------------------| - | **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 | `expense-transactions.Payment`, `expense-transactions.Refund`, `reimbursable-expense-transactions` | - | **NetSuite** | 100 MB | BMP, CSV, XLS, XLSX, JSON, PDF, PJPG, PJPEG, PNG, TXT, SVG, TIF, TIFF, DOC, DOCX, ZIP |`expense-transactions.Payment`, `expense-transactions.Refund` | - | **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 | `expense-transactions.Payment`, `reimbursable-expense-transactions` - | **Zoho Books** | 5MB | GIF, PNG, JPEG, JPG, BMP, PDF | `expense-transactions.Payment`, `reimbursable-expense-transactions` | - '/companies/{companyId}/data/all': - parameters: - - $ref: '#/components/parameters/companyId' - post: - summary: Refresh all data - operationId: refresh-all-data-types - responses: - '204': - description: No Content - '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: |- - Refreshes all data types with `fetch on first link` set to `true` for a given company. + | Integration | File size | File extension | + |-------------------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------| + | Xero | 4 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 | + | QuickBooks Online | 100 MB | AI, CSV, DOC, DOCX, EPS, GIF, JPEG, JPG, ODS, PAGES, PDF, PNG, RTF, TIF, TXT, XLS, XLSX, XML | + | NetSuite | 100 MB | BMP, CSV, XLS, XLSX, JSON, PDF, PJPG, PJPEG, PNG, TXT, SVG, TIF, TIFF, DOC, DOCX, ZIP | + | Dynamics 365 Business Central | 350 MB | Dynamics do not explicitly outline which file types are supported but they do state here that "You can attach any type of file, such as text, image, or video files". | + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the attachment, unique for the company in the accounting software.' + name: + type: string + nullable: true + description: Name of the attachment file. + contentType: + type: string + nullable: true + description: |- + File type of the attachment. This is represented by appending the file type to the [IETF standard file naming requirements](https://tools.ietf.org/html/rfc6838). For example, for a jpeg file the output is **image/jpeg**. - This is an asynchronous operation, and will bring updated data into Codat from the linked integration for you to view. + Supported file types vary per platform. + dateCreated: + $ref: '#/components/schemas/Connection/properties/created' + fileSize: + type: integer + format: int32 + nullable: true + description: 'File size in bytes. For example, if this reads **46153**, then the file size is 46kb.' + includeWhenSent: + type: boolean + description: 'If `true`, then the attachment is included with the associated invoice, bill or direct costs when it is printed, emailed, or sent to a customer, if the underlying accounting software allows this.' + sourceModifiedDate: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: |- + The date when a record was last modified in the accounting software, usually by the business or a business process. For example, when payments are made against an invoice. - [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. + It is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when: + - Pulling attachments + - The accounting software 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 - 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' - '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}/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: + In Codat's data model, dates and times are represented using the ISO 8601 standard. + definitions: + attachments: + title: Attachments + type: array + items: + $ref: '#/components/schemas/Attachment' + AttachmentUpload: + title: Attachment upload + type: object + x-internal: true + required: + - file + properties: + file: + $ref: '#/components/schemas/AttachmentUpload/definitions/codatFile' + definitions: + codatFile: 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 behavior** - - 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). - 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 behavior** - - See the *response examples* for integration-specific indicative models. - '/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 behavior**\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)." - 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 behavior**\r\n\r\nSee the *response examples* for integration-specific indicative models.\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. - - 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 behavior** - - 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). - '/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 behavior** - - 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). - 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. + description: The file to be uploaded as an attachment. + format: binary + BankAccount: + title: Bank accounts + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the bank account, unique for the company in the accounting software.' + nominalCode: + type: string + nullable: true + description: Code used to identify each nominal account for a business. + name: + type: string + nullable: true + description: Name of the bank account in the accounting software. + accountType: + $ref: '#/components/schemas/BankAccountType' + accountNumber: + type: string + nullable: true + description: |- + Account number for the bank account. - [Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + 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. + sortCode: + type: string + nullable: true + description: |- + Sort code for the bank account. This is relevant to UK bank accounts. - Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-all-data-types). + 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. + currency: + $ref: '#/components/schemas/Bill/properties/currency' + description: Base currency of the bank account. + status: + $ref: '#/components/schemas/BankAccount/definitions/bankAccountStatus' + - title: Source Modified Date + x-internal: true + type: object + nullable: true + properties: + sourceModifiedDate: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: |- + The date when a record was last modified in the accounting software, usually by the business or a business process. For example, when payments are made against an invoice. - ### Supported Integrations + It is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when: + - Pulling attachments + - The accounting software 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 - | Integration | Supported | - |-------------------------------|-----------| - | Dynamics 365 Business Central | Yes | - | FreeAgent | Yes | - | Oracle NetSuite | Yes | - | QuickBooks Desktop | Yes | - | QuickBooks Online | Yes | - | Sage Intacct | Yes | - | Xero | Yes | - | Zoho Books | Yes | - 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. + In Codat's data model, dates and times are represented using the ISO 8601 standard. + definitions: + bankAccountStatus: + type: string + description: The current status of the bank account. + enum: + - Active + - Archived + bankAccountPrototype: + title: Bank account prototype + type: object + properties: + nominalCode: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/nominalCode' + name: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/name' + accountType: + $ref: '#/components/schemas/BankAccountType' + accountNumber: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/accountNumber' + sortCode: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/sortCode' + currency: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/currency' + required: + - name + - accountType + - accountNumber + - currency + BankAccountType: + 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. + Bill: + title: Bill + description: "\uFEFFBills are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services." + type: object + properties: + id: + type: string + description: 'Identifier for the bill, unique for the company in the accounting software.' + reference: + type: string + nullable: true + description: User-friendly reference for the bill. + supplierRef: + $ref: '#/components/schemas/Supplier/definitions/supplierRef' + issueDate: + allOf: + - description: Date of the bill as recorded in the accounting software. + - $ref: '#/components/schemas/Connection/properties/created' + dueDate: + allOf: + - description: Date the supplier is due to be paid. + - $ref: '#/components/schemas/Connection/properties/created' + 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_. - [Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + ## Unknown currencies - Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-all-data-types). + In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction. - ### Supported Integrations + 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 + 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. - | Integration | Supported | - |-------------------------------|-----------| - | Dynamics 365 Business Central | Yes | - | FreeAgent | Yes | - | Oracle NetSuite | Yes | - | QuickBooks Desktop | Yes | - | QuickBooks Online | Yes | - | Sage Intacct | Yes | - | Xero | Yes | - | Zoho Books | Yes | - 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. + Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit. - [Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + 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. - **Integration-specific behavior** + 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). - Required 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). + 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. - ### Supported Integrations + ## Examples with base currency of GBP - | Integration | Supported | - |-------------------------------|-----------| - | Dynamics 365 Business Central | Yes | - | FreeAgent | Yes | - | Oracle NetSuite | Yes | - | QuickBooks Desktop | Yes | - | QuickBooks Online | Yes | - | Sage Intacct | Yes | - | Xero | Yes | - | Zoho Books | Yes | - 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. + | 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 | - [Suppliers](https://docs.codat.io/sync-for-expenses-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + ## Examples with base currency of USD - **Integration-specific behavior** + | 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 | - Required 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). - ### Supported Integrations + ### Integration-specific details - | Integration | Supported | - |-------------------|-----------| - | FreeAgent | Yes | - | QuickBooks Online | Yes | - | Xero | Yes | - 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. - 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. -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\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 + | 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. | + lineItems: + type: array + nullable: true + description: Array of Bill line items. + items: + $ref: '#/components/schemas/Bill/definitions/billLineItem' + status: + $ref: '#/components/schemas/Bill/definitions/billStatus' + totalAmount: + type: number + format: decimal + description: 'Amount of the bill, including tax.' + amountDue: + type: number + format: decimal + nullable: true + description: Amount outstanding on the bill. + sourceModifiedDate: 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 accounting software, commerce software, or open banking provider 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 accounting software, usually by the business or a business process. For example, when payments are made against an invoice. + - $ref: '#/components/schemas/Connection/properties/created' + - description: |- + The date when a record was last modified in the accounting software, 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 accounting software 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 + It is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when: + - Pulling attachments + - The accounting software 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. + In Codat's data model, dates and times are represented using the ISO 8601 standard. + required: + - supplierRef + - issueDate + - dueDate + - currency + - status definitions: - accountPrototype: - title: Account prototype + billPrototype: + title: Bill prototype + type: object + properties: + reference: + $ref: '#/components/schemas/Bill/properties/reference' + supplierRef: + $ref: '#/components/schemas/Supplier/definitions/supplierRef' + issueDate: + $ref: '#/components/schemas/Bill/properties/issueDate' + dueDate: + $ref: '#/components/schemas/Bill/properties/dueDate' + currency: + $ref: '#/components/schemas/Bill/properties/currency' + currencyRate: + $ref: '#/components/schemas/Bill/properties/currencyRate' + lineItems: + $ref: '#/components/schemas/Bill/properties/lineItems' + status: + $ref: '#/components/schemas/Bill/definitions/billStatus' + required: + - supplierRef + - issueDate + - dueDate + - currency + - status + billStatus: + description: Current state of the bill. If creating a bill the status must be `Open`. + type: string + enum: + - Unknown + - Open + - PartiallyPaid + - Paid + - Void + - Draft + example: Open + billLineItem: + title: Bill line item 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: + description: Friendly name of the goods or services received. + unitAmount: + type: number + format: decimal + description: Unit price of the goods or service. + quantity: + type: number + format: decimal + description: Number of units of goods or services received. + taxAmount: + type: number + format: decimal + description: Amount of tax applied to the line item. + accountRef: + $ref: '#/components/schemas/Bill/definitions/billAccountRef' + totalAmount: 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: + description: 'Total amount of the line, including tax.' + taxRateRef: + $ref: '#/components/schemas/Bill/definitions/billTaxRateRef' + trackingRefs: 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: + $ref: '#/components/schemas/Bill/definitions/trackingRef' + billAccountRef: 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.' + description: Reference to the account to which the line item is linked. properties: id: type: string description: '''id'' from the Accounts data type.' - name: + billTaxRateRef: + title: Tax rate reference + type: object + description: Reference to the tax rate to which the line item is linked. + properties: + id: 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 + description: Unique identifier for the tax rate in the accounting software. + bills: + title: Bills + type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/Bill' + pagination: + $ref: '#/components/schemas/Pagination' + trackingRef: + type: object + title: Tracking reference + properties: + id: + type: string + example: e9a1b63d-9ff0-40e7-8038-016354b987e6 + description: Unique identifier of the linked tracking category or the unique identifier of the linked customer. + dataType: + type: string + example: trackingCategories + description: The type of the linked reference. + enum: + - trackingCategories + - customers + isBillable: + type: boolean + description: If a customer has been set as the trackingRefs.id then this boolean can be used to set whether the line item is billable to the customer or not. + BillEventWebhook: x-internal: true + title: Bill event webhook 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 - validFor: - - expense-transactions.Payment - - expense-transactions.Refund - - reimbursable-expense-transactions 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: + format: uuid + description: Unique identifier of the bill event. + type: type: string - description: Type of the account. - example: Expense - enum: - - Asset - - Liability - - Income - - Expense - - Equity - nullable: false - fullyQualifiedCategory: + description: Type of webhook event. + example: payables.bill.created + createdDate: 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. - validFor: - $ref: '#/components/schemas/validFor' - description: Supported endpoints for the account. - AdjustmentTransactionLine: + description: The datetime in UTC of when the webhook event was produced by Codat. + examples: + - '2022-10-23T11:03:35Z' + payload: + $ref: '#/components/schemas/BillEventWebhook/definitions/billEventPayload' + definitions: + billEventPayload: + title: Bill event payload + type: object + properties: + companyId: + $ref: '#/components/parameters/companyId/schema' + connectionId: + $ref: '#/components/parameters/connectionId/schema' + pushOperationKey: + type: string + format: uuid + example: 2e9d2c44-f675-40ba-8049-353bfcb5e171 + description: Unique identifier for the push operation. + bill: + $ref: '#/components/schemas/Bill' + BillMappingOptions: x-internal: true - title: Adjustment transaction line + title: Mapping options bills + description: The bill mapping options for a company's accounting software. 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: + accounts: 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: + $ref: '#/components/schemas/BillMappingOptions/definitions/accountMappingOption' + taxRates: 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: + $ref: '#/components/schemas/BillMappingOptions/definitions/taxRateMappingOption' + pagination: + $ref: '#/components/schemas/Pagination' + definitions: + accountMappingOption: + title: Account mapping option + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the account, unique for the company.' + example: 1b6266d1-1e44-46c5-8eb5-a8f98e03124e + 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 Payable + type: + type: string + nullable: true + description: Type of account. + example: Liability + currency: + $ref: '#/components/schemas/Bill/properties/currency' + status: + $ref: '#/components/schemas/BillMappingOptions/definitions/accountStatus' + - $ref: '#/components/schemas/BankAccount/allOf/1' + taxRateMappingOption: + title: Tax rate mapping option + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the tax rate, unique for the company in the accounting software.' + example: d2939064-dd3a-4c0f-9865-a238c2193515 + name: + type: string + nullable: true + description: Codat-augmented name of the tax rate in the accounting software. + code: + type: string + nullable: true + description: Code for the tax rate from the accounting software. + effectiveTaxRate: + type: number + format: decimal + nullable: true + description: See Effective tax rates description. + totalTaxRate: + type: number + format: decimal + nullable: true + description: Total (not compounded) sum of the components of a tax rate. + status: + title: Tax rate status + type: string + enum: + - Active + - Archived + description: |- + Status of the tax rate in the accounting software. + - `Active` - An active tax rate in use by a company. + - `Archived` - A tax rate that has been archived or is inactive in the accounting software. + accountStatus: 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 + description: The current status of the account. + enum: + - Active + - Archived + example: Active + BillPayment: + title: Bill payment type: object - x-examples: - Attachment Example: - companyId: bf1e0242-5b7a-418b-a307-9e09dbf9f39a - id: '1400000000122699154' - transactionId: f8f00edd-ddb0-4ca5-b36b-8f932e6b5160 + description: '' 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: + description: 'Identifier for the bill payment, unique for the company in the accounting software.' + amount: + type: number + format: decimal + description: Amount of the payment in the bill currency. + example: 1329.54 + date: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: Date the bill payment was recorded in the accounting software. + reference: 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 [Banking: Account](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) data type. - - ## 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' + nullable: true + description: Additional information associated with the payment. + example: Bill Payment against bill c13e37b6-dfaa-4894-b3be-9fe97bda9f44 + accountRef: + $ref: '#/components/schemas/BillPayment/definitions/billPaymentAccountRef' + currencyRate: + $ref: '#/components/schemas/Bill/properties/currencyRate' definitions: - bankAccountPrototype: - title: Bank account prototype + billPaymentPrototype: + title: Bill payment 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 + amount: + $ref: '#/components/schemas/BillPayment/properties/amount' + date: + $ref: '#/components/schemas/BillPayment/properties/date' + reference: + $ref: '#/components/schemas/BillPayment/properties/reference' + accountRef: + $ref: '#/components/schemas/BillPayment/definitions/billPaymentAccountRef' + currencyRate: + $ref: '#/components/schemas/Bill/properties/currencyRate' + required: + - amount + - date + - accountRef + billPaymentAccountRef: + description: Reference to the bank account / credit card which you are using to pay the bill. 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 + description: Unique ID of the bank account / credit card + required: + - id + example: + amount: 22 + date: '2022-10-23T00:00:00.000Z' + reference: Bill Payment against bill c13e37b6 dfaa-4894-b3be-9fe97bda9f44 + accountRef: + id: 9e32cbf8-e7d5-4d4d-a593-08d550682aab + currencyRate: 1 ClientRateLimitWebhook: title: Client rate limit webhook type: object @@ -10665,7 +2592,7 @@ components: - client.rateLimit.reset - client.rateLimit.reached generatedDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: The date time in UTC the event was generated in Codat. payload: $ref: '#/components/schemas/ClientRateLimitWebhook/definitions/clientRateLimitWebhookPayload' @@ -10681,7 +2608,7 @@ components: type: integer description: Total number of requests remaining for your client. expiryDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: The date time in UTC when your daily quota is reset. Companies: title: Companies @@ -10696,7 +2623,7 @@ components: - $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." + 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-payables-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' @@ -10726,10 +2653,10 @@ components: 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' + $ref: '#/components/schemas/Connection/properties/created' nullable: true created: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' createdByUserName: type: string description: Name of user that created the company in Codat. @@ -10808,234 +2735,19 @@ components: products: - spend-insights - lending - 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' CompanyInformation: - title: 'Accounting: Company information' - description: |- - Company info provides standard details about a linked company such as their address, phone number, and company registration. - - > **Company information or companies?** - > - > Company information is standard information that is held in the accounting software about a company. `Companies` is an endpoint that lists businesses in the Codat system that have linked and shared their data sources. + title: Company information type: object + description: Gets the latest basic info for a company. properties: companyName: type: string nullable: true description: Name of the linked company. - accountingPlatformRef: - type: string - nullable: true - description: Identifier or reference for the company in the accounting software. - companyLegalName: - type: string - nullable: true - description: Registered legal name of the linked company. - addresses: - type: array - nullable: true - description: An array of Addresses. - items: - title: 'Accounting: Address' - x-internal: true - type: object - properties: - type: - $ref: '#/components/schemas/CompanyInformation/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 - phoneNumbers: - 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: - description: The type of phone number - type: string - enum: - - Primary - - Landline - - Mobile - - Fax - - Unknown - required: - - type - webLinks: - type: array - nullable: true - description: An array of weblinks. - items: - title: Weblink - description: Weblink associated with the company. - type: object - properties: - type: - description: The type of the weblink. - type: string - enum: - - Website - - Social - - Unknown - url: - description: The full URL for the weblink. - type: string - format: url - example: - type: Website - url: 'https://codat.io' - ledgerLockDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: 'If set in the accounting software, the date (in the ISO 8601 date/time format) after which accounting transactions cannot be edited. Commonly used when books are closed at year-end.' - registrationNumber: - type: string - nullable: true - description: Registration number given to the linked company by the companies authority in the country of origin. In the UK this is Companies House. - taxNumber: - type: string - nullable: true - description: Company tax number. - financialYearStartDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: Start date of the financial year for the company. baseCurrency: type: string nullable: true description: Currency set in the accounting software of the linked company. Used by the currency rate. - sourceUrls: - type: object - additionalProperties: - type: string - nullable: true - nullable: true - description: |- - URL addresses for the accounting source. - - For example, for Xero integrations two URLs are returned. These have many potential use cases, such as [deep linking](https://developer.xero.com/documentation/api-guides/deep-link-xero). - createdDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: Date the linked company was created in the accounting software. - supplementalData: - $ref: '#/components/schemas/SupplementalData' - examples: - - companyName: ACME Corporation - accountingPlatformRef: 4444e827-401b-4925-92cb-d79086bf3b6b - companyLegalName: ACME Corporation Ltd. - addresses: - - type: Billing - line1: Warner House - line2: 98 Theobald's Road - city: London - region: '' - country: United Kingdom - postalcode: WC1X 8WB - - type: Unknown - line1: 123 Sierra Way - line2: '' - city: San Pablo - region: CA - country: '' - postalCode: '87999' - phoneNumbers: - - number: 010 1234 5678 - type: Landline - webLinks: - - type: Website - url: 'https://www.wbsl.com/' - ledgerLockDate: '2019-03-04T12:08:01.881Z' - registrationNumber: '1234567890' - taxNumber: GB 123456789 - financialYearStartDate: '2019-04-01T00:00:00Z' - baseCurrency: USD - sourceUrls: - url1: 'https://go.xero.com/organisationlogin/default.aspx?shortcode=!rxs0Q' - url2: 'https://reporting.xero.com/!rxs0Q' - createdDate: '2020-02-03T16:42:02Z' CompanyRequestBody: title: Create company request x-internal: true @@ -11055,70 +2767,6 @@ components: $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. CompanyUpdateRequest: title: Update company request x-internal: true @@ -11136,7 +2784,7 @@ components: $ref: '#/components/schemas/Company/definitions/companyDetails/properties/tags' 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)." + description: "\uFEFFA connection represents a [company's](https://docs.codat.io/sync-for-payables-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: @@ -11178,295 +2826,117 @@ components: status: $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus' lastSync: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' 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: true - 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: + title: Date time 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: | - ## Overview + examples: + - '2022-10-23T00:00:00Z' + - '2022-10-23' + 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: - 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). + ``` + 2020-10-08T22:40:50Z + 2021-01-01T00:00:00 + ``` - 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: - $ref: '#/components/schemas/CompanyInformation/properties/addresses/items' - 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' + + + 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. + dataConnectionErrors: + type: array + nullable: true + items: + $ref: '#/components/schemas/Connection/definitions/dataConnectionError' + connectionInfo: + type: object + nullable: true + additionalProperties: true + additionalProperties: false required: + - id + - integrationId + - integrationKey + - sourceId + - platformName + - linkUrl - status + - created + - sourceType 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. + dataConnectionStatus: + title: Data connection status + description: The current authorization status of the data connection. type: string enum: - - Unknown - - Active - - Archived - contact: + - PendingAuth + - Linked + - Unlinked + - Deauthorized + dataConnectionError: + title: Data connection error type: object properties: - name: + statusCode: type: string - nullable: true - description: Name of a contact for a customer. - email: + 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/Connection/properties/created' + 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 - description: Email of a contact for a customer. - phone: - type: array + enum: + - Active + - Resolved + resolvedOnUtc: + description: The datetime in Utc that the error was resolved. nullable: true - description: An array of Phone numbers. - items: - $ref: '#/components/schemas/CompanyInformation/properties/phoneNumbers/items' - address: - $ref: '#/components/schemas/CompanyInformation/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 + $ref: '#/components/schemas/Connection/properties/created' + 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 @@ -11474,7 +2944,7 @@ components: results: type: array items: - $ref: '#/components/schemas/Customer' + $ref: '#/components/schemas/Connection' - $ref: '#/components/schemas/PagingInfo' DataStatus: title: Data status @@ -11535,7 +3005,7 @@ components: - commerce-transactions example: invoices lastSuccessfulSync: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' currentStatus: $ref: '#/components/schemas/PullOperation/properties/status' latestSyncId: @@ -11554,12 +3024,6 @@ components: 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' @@ -11621,319 +3085,14 @@ components: 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: + Pagination: + title: Pagination metadata 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: + continuationToken: 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' + description: 'A continuation token indicating there are more results to be fetched. Supply this value in the `continuationToken` query parameter in the next request to fetch the next set of results. Once no more results are available, the continuation token will not be present in the response.' PagingInfo: type: object title: Pagination information @@ -11994,6 +3153,69 @@ components: href: '/companies/{id}/data/{dataType}' current: href: '/companies/{id}/data/{dataType}?page=1&pageSize=10' + PaymentMappingOptions: + x-internal: true + title: Mapping Options Payments + description: Gets the bill payments mapping options for a company's accounting software + type: object + properties: + bankAccounts: + type: array + items: + $ref: '#/components/schemas/PaymentMappingOptions/definitions/bankAccountMappingOption' + pagination: + $ref: '#/components/schemas/Pagination' + definitions: + bankAccountMappingOption: + title: Bank account mapping option + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the account, unique for the company in the accounting software.' + example: 3d5a8e00-d108-4045-8823-7f342676cffa + name: + type: string + nullable: true + description: Name of the bank account in the accounting software. + example: Bank of Dave current account + 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. + 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. + currency: + type: string + nullable: true + description: The bank account's base currency. + status: + $ref: '#/components/schemas/PaymentMappingOptions/definitions/bankAccountStatus' + accountType: + $ref: '#/components/schemas/BankAccountType' + - $ref: '#/components/schemas/BankAccount/allOf/1' + bankAccountStatus: + type: string + description: The current status of the bank account. + enum: + - Active + - Archived + example: Active PullOperation: title: Pull operation description: |- @@ -12057,9 +3279,9 @@ components: 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' + $ref: '#/components/schemas/Connection/properties/created' completed: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' progress: type: integer description: An integer signifying the progress of the pull operation. @@ -12124,10 +3346,10 @@ components: dataConnectionKey: $ref: '#/components/parameters/connectionId/schema' requestedOnUtc: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: The datetime when the push was requested. completedOnUtc: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: 'The datetime when the push was completed, null if Pending.' timeoutInMinutes: type: integer @@ -12226,966 +3448,165 @@ components: 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: |- - ## 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/CompanyInformation/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 + $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' + Supplier: + title: Supplier + description: "\uFEFFSuppliers are people or organizations that provide something, such as a product or service. Use the [List suppliers](https://docs.codat.io/sync-for-payables-v2-api#/operations/list-suppliers) endpoint to retrieve a list of all suppliers for a company.\n\nSuppliers' data links to accounts payable [bills](https://docs.codat.io/sync-for-payables-v2-api#/schemas/Bill).\n " 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: + description: 'Identifier for the supplier, unique to the company in the accounting software.' + supplierName: type: string - description: Name of the tax rate in the accounting software. - example: 20% Bill tax Bills - nullable: false - code: + description: 'Name of the supplier as recorded in the accounting system, typically the company name.' + contactName: 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: + description: Name of the main contact for the supplier. + emailAddress: 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: + description: Email address that the supplier may be contacted on. + phone: type: string - description: Your unique idenfier of the transaction. - example: aa02271d-ed5f-47f5-be76-778d5905225a 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/Address' status: - $ref: '#/components/schemas/TransactionStatus' - message: - type: string - description: Metadata such as validation errors or the resulting record created in the accounting software. + $ref: '#/components/schemas/Supplier/definitions/supplierStatus' + balance: + type: number + format: decimal 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: + description: Amount outstanding against the supplier. + defaultCurrency: type: string - description: 'Any private, company notes about the transaction.' - example: Transfer from bank account Y to bank account Z - date: + nullable: true + description: Default currency the supplier's transactional data is recorded in. + sourceModifiedDate: allOf: - - description: Date of the transfer transaction as recorded in the accounting software. - - title: Date time - type: string - examples: - - '2022-10-23T00:00:00Z' - - '2022-10-23' - 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 - ``` - + - $ref: '#/components/schemas/Connection/properties/created' + - description: |- + The date when a record was last modified in the accounting software, 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 accounting software 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 - 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: + In Codat's data model, dates and times are represented using the ISO 8601 standard. + definitions: + supplierPrototype: + title: Supplier prototype 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. + supplierName: + $ref: '#/components/schemas/Supplier/properties/supplierName' + contactName: + $ref: '#/components/schemas/Supplier/properties/contactName' + emailAddress: + $ref: '#/components/schemas/Supplier/properties/emailAddress' + phone: + $ref: '#/components/schemas/Supplier/properties/phone' + addresses: + $ref: '#/components/schemas/Supplier/properties/addresses' + status: + $ref: '#/components/schemas/Supplier/definitions/supplierStatus' + balance: + $ref: '#/components/schemas/Supplier/properties/balance' + defaultCurrency: + $ref: '#/components/schemas/Supplier/properties/defaultCurrency' required: - - accountRef - - amount - to: + - supplierName + - status + supplierRef: + title: Supplier reference + description: Reference to the supplier the record relates 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. + id: + minLength: 1 + type: string + description: The supplier's unique ID + supplierName: + type: string + nullable: true + description: The supplier's name 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: + - id + supplierStatus: + description: Status of the supplier. 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: + - Unknown + - Active + - Archived + suppliers: + title: Suppliers 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. - example: 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' - validFor: - title: Valid endpoints - x-internal: true - type: array - description: Supported endpoints for the account. - nullable: false - items: - type: string - enum: - - expense-transactions.Payment - - expense-transactions.Refund - - expense-transactions.Reward - - expense-transactions.Chargeback - - reimbursable-expense-transactions - - transfer-transactions - - adjustment-transactions - example: expense-transactions.Payment - 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 + results: + type: array + items: + $ref: '#/components/schemas/Supplier' + pagination: + $ref: '#/components/schemas/Pagination' + examples: + - id: sup-10933920 + supplierName: Northridge Office Supplies + contactName: Sarah Johnson + emailAddress: sarah.johnson@northridgesupplies.co.uk + phone: +44 (0)1223 322410 + addresses: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GB + postalCode: EC1N 7TE + status: Active + balance: 0 + defaultCurrency: GBP + sourceModifiedDate: '2026-03-18T10:30:00Z' parameters: - syncId: - name: syncId + attachmentId: + name: attachmentId 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. + example: 8a210b68-6988-11ed-a1eb-0242ac120002 + description: Unique identifier for an attachment. page: name: page in: query @@ -13223,6 +3644,18 @@ components: type: string example: '-modifiedDate' description: 'Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).' + billId: + name: billId + in: path + required: true + schema: + type: string + examples: + - 13d946f0-c5d5-42bc-b092-97ece17923ab + - 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2 + - 7110701885 + - EILBDVJVNUAGVKRQ + description: Unique identifier for a bill. companyId: name: companyId in: path @@ -13243,58 +3676,22 @@ components: 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: - - 13d946f0-c5d5-42bc-b092-97ece17923ab - - 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2 - - 7110701885 - - EILBDVJVNUAGVKRQ - 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 + continuationToken: + name: continuationToken in: query + required: false schema: - type: boolean - default: true - description: Allow a sync upon push completion. - forceUpdate: - name: forceUpdate + type: string + example: continuationToken=eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== + description: Retrieve the next page of results using the continuation token from the previous response. + statusQuery: + name: statusQuery in: query + required: false 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.' + type: string + example: status=Archived + description: 'Codat query string allows you to filter by `status` (`status=Active||status=Archived`). [Learn more](https://docs.codat.io/using-the-api/querying) about Codat''s query string.' responses: BadRequest: description: The request made is not valid. @@ -13432,8 +3829,8 @@ components: 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. + Idempotency-Conflict: + description: A request is in progress with the same idempotency key. content: application/json: schema: @@ -13441,10 +3838,10 @@ components: examples: Conflict: value: - statusCode: 422 - service: ExpenseSyncApi - error: Expense transaction updates are not supported for platforms other than Xero. - correlationId: 7c8e23841d211c87f49f30b248f70c93 + statusCode: 409 + service: PublicApi + error: The data set has not been requested. + correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Too-Many-Requests: diff --git a/.speakeasy/logs/changes/old.openapi.yaml b/.speakeasy/logs/changes/old.openapi.yaml index 7a8bc7ccf..96267f7e1 100644 --- a/.speakeasy/logs/changes/old.openapi.yaml +++ b/.speakeasy/logs/changes/old.openapi.yaml @@ -1,43 +1,14 @@ openapi: 3.1.0 +servers: + - description: Production + url: 'https://api.codat.io' info: - title: Sync for Expenses - version: prealpha + title: Bill pay (synchronous solution) + description: "The API reference for the synchronous Bill Pay solution. \n\nThe synchronous Bill Pay solution is an API and a set of supporting tools designed to integrate a bill pay flow into your app as quickly as possible. It's ideal for facilitating essential bill payment processes within your SMB's accounting software.\n\n[Explore solution](https://docs.codat.io/payables/overview) | [See OpenAPI spec](https://github.com/codatio/oas)\n\n---\n## Supported Integrations\n\n| Integration | Supported |\n|-------------------------------|-----------|\n| FreeAgent | Yes |\n| QuickBooks Online | Yes |\n| Oracle NetSuite | Yes |\n| Sage Intacct | Yes |\n| Xero | Yes |\n| Zoho Books | Yes |\n\n---\n\n## Endpoints\n\n| Endpoints | Description |\n| :- |:- |\n| Companies | Create and manage your SMB users' companies. |\n| Connections | Create new and manage existing data connections for a company. |\n| Company information | View company profile from the source platform. |\n| Bills | Get, create, and update Bills. |\n| Bill payments | Get, create, and update Bill payments. |\n| Suppliers | Get, create, and update Suppliers. |\n| Bank accounts | Create a bank account for a given company's connection. |\n" + version: 3.0.0 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. | - + email: support@codat.io termsOfService: 'https://www.codat.io/legals/' security: - auth_header: [] @@ -78,7 +49,7 @@ x-speakeasy-name-override: methodNameOverride: download-attachment - operationId: ^upload-.*?-attachment methodNameOverride: upload-attachment -x-codat-docs-path: sync-for-expenses-api +x-codat-docs-path: sync-for-payables-api x-codat-keep-docs-paths-local: true x-codat-speakeasy-pagination: type: offsetLimit @@ -93,40 +64,16 @@ tags: description: Create and manage your SMB users' companies. - name: Connections description: Create new and manage existing data connections for a company. - - name: Company info - description: View the company information of your customers' linked accounting software. - - 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: 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: Company information + description: View company profile from the source platform. + - name: Bills + description: 'Get, create, and update Bills.' + - name: Bill payments + description: 'Get, create, and update Bill payments.' - name: Suppliers - description: 'Get, create, and update suppliers.' - - name: Push operations - description: View historic push operations. - - name: Configuration - description: View and manage mapping configuration and defaults for expense transactions. - - name: Expenses - description: Create and update transactions that represent your customers' spend. - - name: Reimbursements - description: Create and update transactions that represent your customers' repayable 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: Attachments - description: Attach receipts to a transaction for a complete audit trail. - - name: Sync - description: Monitor the status of data syncs. - - name: Transaction status - description: Monitor the status of individual transactions in data syncs. -servers: - - url: 'https://api.codat.io' + description: 'Get, create, and update Suppliers.' + - name: Bank accounts + description: Create a bank account for a given company's connection. paths: /companies: get: @@ -163,6 +110,11 @@ paths: sourceType: Accounting created: '2022-01-01T11:30:00Z' createdByUserName: Mike Smith + products: + - spend-insights + - lending + - expenses-v1 + - commerce referenceSubsidiaryCompanies: [] pageNumber: 1 pageSize: 100 @@ -194,6 +146,10 @@ paths: sourceType: Accounting created: '2022-01-01T11:30:00Z' createdByUserName: Joe Bloggs + products: + - spend-insights + - lending + - payables-v2 referenceSubsidiaryCompanies: [] - id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Toft stores @@ -201,6 +157,8 @@ paths: dataConnections: [] created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar + products: + - spend-insights referenceSubsidiaryCompanies: - id: c8d3af58-7011-47ce-b3f2-89faf300ef6d name: Toft stores UK @@ -226,6 +184,10 @@ paths: sourceType: Accounting created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar + products: + - lending + - spend-insights + - payables referenceParentCompany: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Toft stores @@ -248,6 +210,8 @@ paths: sourceType: Accounting created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar + products: + - spend-insights referenceParentCompany: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Toft stores @@ -279,12 +243,18 @@ paths: '503': $ref: '#/components/responses/Service-Unavailable' operationId: list-companies - description: "\uFEFF\x54\x68\x65\x20\x2A\x4C\x69\x73\x74\x20\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x73\x20\x61\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x74\x6F\x20\x79\x6F\x75\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65\x73\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E" + description: "\uFEFF\x54\x68\x65\x20\x2A\x4C\x69\x73\x74\x20\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x73\x20\x61\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x74\x6F\x20\x79\x6F\x75\x72\x20\x69\x6E\x73\x74\x61\x6E\x63\x65\x73\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n\n\x23\x23\x20\x46\x69\x6C\x74\x65\x72\x20\x62\x79\x20\x74\x61\x67\x73\n\n\x54\x68\x65\x20\x2A\x4C\x69\x73\x74\x20\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x73\x75\x70\x70\x6F\x72\x74\x73\x20\x74\x68\x65\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x6F\x66\x20\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x20\x75\x73\x69\x6E\x67\x20\x5B\x74\x61\x67\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x75\x73\x69\x6E\x67\x2D\x74\x68\x65\x2D\x61\x70\x69\x2F\x6D\x61\x6E\x61\x67\x69\x6E\x67\x2D\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x23\x61\x64\x64\x2D\x6D\x65\x74\x61\x64\x61\x74\x61\x2D\x74\x6F\x2D\x61\x2D\x63\x6F\x6D\x70\x61\x6E\x79\x29\x2E\x20\x49\x74\x20\x73\x75\x70\x70\x6F\x72\x74\x73\x20\x74\x68\x65\x20\x66\x6F\x6C\x6C\x6F\x77\x69\x6E\x67\x20\x6F\x70\x65\x72\x61\x74\x6F\x72\x73\x20\x77\x69\x74\x68\x20\x5B\x43\x6F\x64\x61\x74\u2019\x73\x20\x71\x75\x65\x72\x79\x20\x6C\x61\x6E\x67\x75\x61\x67\x65\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x75\x73\x69\x6E\x67\x2D\x74\x68\x65\x2D\x61\x70\x69\x2F\x71\x75\x65\x72\x79\x69\x6E\x67\x29\x3A\n\n\x2D\x20\x65\x71\x75\x61\x6C\x73\x20\x28\x60\x3D\x60\x29\n\x2D\x20\x6E\x6F\x74\x20\x65\x71\x75\x61\x6C\x73\x20\x28\x60\x21\x3D\x60\x29\n\x2D\x20\x63\x6F\x6E\x74\x61\x69\x6E\x73\x20\x28\x60\x7E\x60\x29\n\n\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x75\x73\x65\x20\x74\x68\x65\x20\x71\x75\x65\x72\x79\x69\x6E\x67\x20\x74\x6F\x20\x66\x69\x6C\x74\x65\x72\x20\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73\x20\x74\x61\x67\x67\x65\x64\x20\x77\x69\x74\x68\x20\x61\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x66\x6F\x72\x65\x69\x67\x6E\x20\x6B\x65\x79\x2C\x20\x72\x65\x67\x69\x6F\x6E\x2C\x20\x6F\x72\x20\x6F\x77\x6E\x69\x6E\x67\x20\x74\x65\x61\x6D\x3A\x20\n\x2D\x20\x46\x6F\x72\x65\x69\x67\x6E\x20\x6B\x65\x79\x3A\x20\x60\x75\x69\x64\x20\x3D\x20\x7B\x79\x6F\x75\x72\x43\x75\x73\x74\x6F\x6D\x65\x72\x49\x64\x7D\x60\n\x2D\x20\x52\x65\x67\x69\x6F\x6E\x3A\x20\x60\x72\x65\x67\x69\x6F\x6E\x20\x21\x3D\x20\x75\x6B\x60\n\x2D\x20\x4F\x77\x6E\x69\x6E\x67\x20\x74\x65\x61\x6D\x20\x61\x6E\x64\x20\x72\x65\x67\x69\x6F\x6E\x3A\x20\x60\x72\x65\x67\x69\x6F\x6E\x20\x3D\x20\x75\x6B\x20\x26\x26\x20\x6F\x77\x6E\x69\x6E\x67\x54\x65\x61\x6D\x20\x3D\x20\x69\x6E\x76\x6F\x69\x63\x65\x2D\x66\x69\x6E\x61\x6E\x63\x65\x60" parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/query' - $ref: '#/components/parameters/orderBy' + - name: tags + in: query + schema: + type: string + example: region=uk && team=invoice-finance + description: 'Filter companies by tags using the "equals" (=), "not equals" (!=), and "contains" (~) operators with [Codat’s query language](https://docs.codat.io/using-the-api/querying).' post: summary: Create company tags: @@ -309,6 +279,8 @@ paths: dataConnections: [] created: '2022-11-10T10:45:18.1950523Z' createdByUserName: Dan Tzabar + products: + - spend-insights referenceSubsidiaryCompanies: [] With a description: value: @@ -320,6 +292,8 @@ paths: dataConnections: [] created: '2022-11-10T10:45:18.1950523Z' createdByUserName: Dan Tzabar + products: + - spend-insights referenceSubsidiaryCompanies: [] With a tag: value: @@ -331,6 +305,8 @@ paths: dataConnections: [] created: '2022-11-10T10:45:18.1950523Z' createdByUserName: Dan Tzabar + products: + - spend-insights tags: region: us referenceSubsidiaryCompanies: [] @@ -348,7 +324,7 @@ paths: $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' - description: "\uFEFF\x55\x73\x65\x20\x74\x68\x65\x20\x2A\x43\x72\x65\x61\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x6E\x65\x77\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x74\x68\x61\x74\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x79\x6F\x75\x72\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x20\x69\x6E\x20\x43\x6F\x64\x61\x74\x2E\x20\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n\n\x49\x66\x20\x66\x6F\x72\x62\x69\x64\x64\x65\x6E\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x20\x28\x73\x65\x65\x20\x60\x6E\x61\x6D\x65\x60\x20\x70\x61\x74\x74\x65\x72\x6E\x29\x20\x61\x72\x65\x20\x70\x72\x65\x73\x65\x6E\x74\x20\x69\x6E\x20\x74\x68\x65\x20\x72\x65\x71\x75\x65\x73\x74\x2C\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x66\x6F\x72\x62\x69\x64\x64\x65\x6E\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x20\x72\x65\x6D\x6F\x76\x65\x64\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x60\x43\x6F\x6D\x70\x61\x6E\x79\x20\x28\x43\x6F\x64\x61\x74\x5B\x31\x5D\x29\x60\x20\x77\x69\x74\x68\x20\x62\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x61\x73\x20\x60\x43\x6F\x6D\x70\x61\x6E\x79\x20\x43\x6F\x64\x61\x74\x31\x60\x2E" + description: "\uFEFF\x55\x73\x65\x20\x74\x68\x65\x20\x2A\x43\x72\x65\x61\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x6E\x65\x77\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x74\x68\x61\x74\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x79\x6F\x75\x72\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x20\x69\x6E\x20\x43\x6F\x64\x61\x74\x2E\x20\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n\n\x49\x66\x20\x66\x6F\x72\x62\x69\x64\x64\x65\x6E\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x20\x28\x73\x65\x65\x20\x60\x6E\x61\x6D\x65\x60\x20\x70\x61\x74\x74\x65\x72\x6E\x29\x20\x61\x72\x65\x20\x70\x72\x65\x73\x65\x6E\x74\x20\x69\x6E\x20\x74\x68\x65\x20\x72\x65\x71\x75\x65\x73\x74\x2C\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x66\x6F\x72\x62\x69\x64\x64\x65\x6E\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x20\x72\x65\x6D\x6F\x76\x65\x64\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x60\x43\x6F\x6D\x70\x61\x6E\x79\x20\x28\x43\x6F\x64\x61\x74\x5B\x31\x5D\x29\x60\x20\x77\x69\x74\x68\x20\x62\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x61\x73\x20\x60\x43\x6F\x6D\x70\x61\x6E\x79\x20\x43\x6F\x64\x61\x74\x31\x60\x2E" requestBody: content: application/json: @@ -364,9 +340,10 @@ paths: description: 'Technology services, including web and app design and development' '/companies/{companyId}': put: - summary: Update company - description: "\uFEFF\x55\x73\x65\x20\x74\x68\x65\x20\x2A\x55\x70\x64\x61\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x75\x70\x64\x61\x74\x65\x20\x62\x6F\x74\x68\x20\x74\x68\x65\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x20\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E" - operationId: update-company + summary: Replace company + description: "\uFEFF\x55\x73\x65\x20\x74\x68\x65\x20\x2A\x52\x65\x70\x6C\x61\x63\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x72\x65\x70\x6C\x61\x63\x65\x20\x74\x68\x65\x20\x65\x78\x69\x73\x74\x69\x6E\x67\x20\x6E\x61\x6D\x65\x2C\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x2C\x20\x61\x6E\x64\x20\x74\x61\x67\x73\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x20\x43\x61\x6C\x6C\x69\x6E\x67\x20\x74\x68\x65\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x77\x69\x6C\x6C\x20\x72\x65\x70\x6C\x61\x63\x65\x20\x65\x78\x69\x73\x74\x69\x6E\x67\x20\x76\x61\x6C\x75\x65\x73\x20\x65\x76\x65\x6E\x20\x69\x66\x20\x6E\x65\x77\x20\x76\x61\x6C\x75\x65\x73\x20\x68\x61\x76\x65\x6E\x27\x74\x20\x62\x65\x65\x6E\x20\x64\x65\x66\x69\x6E\x65\x64\x20\x69\x6E\x20\x74\x68\x65\x20\x70\x61\x79\x6C\x6F\x61\x64\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E" + operationId: replace-company + x-speakeasy-name-override: replace parameters: - $ref: '#/components/parameters/companyId' tags: @@ -405,12 +382,54 @@ paths: value: name: Same name description: Additional documents required + patch: + summary: Update company + description: "\uFEFF\x55\x73\x65\x20\x74\x68\x65\x20\x2A\x55\x70\x64\x61\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x75\x70\x64\x61\x74\x65\x20\x74\x68\x65\x20\x6E\x61\x6D\x65\x2C\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x2C\x20\x6F\x72\x20\x74\x61\x67\x73\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\n\n\x54\x68\x65\x20\x2A\x55\x70\x64\x61\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x68\x61\x76\x65\x20\x61\x6E\x79\x20\x72\x65\x71\x75\x69\x72\x65\x64\x20\x66\x69\x65\x6C\x64\x73\x2E\x20\x49\x66\x20\x61\x6E\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x66\x69\x65\x6C\x64\x73\x20\x70\x72\x6F\x76\x69\x64\x65\x64\x20\x61\x72\x65\x20\x60\x6E\x75\x6C\x6C\x60\x20\x6F\x72\x20\x6E\x6F\x74\x20\x70\x72\x6F\x76\x69\x64\x65\x64\x2C\x20\x74\x68\x65\x79\x20\x77\x6F\x6E\x27\x74\x20\x62\x65\x20\x69\x6E\x63\x6C\x75\x64\x65\x64\x20\x69\x6E\x20\x74\x68\x65\x20\x75\x70\x64\x61\x74\x65\x2E\x20\x20\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E" + 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/CompanyUpdateRequest' + examples: + Update tags: + value: + tags: + refrence: new reference + Update name: + value: + name: New Name delete: summary: Delete a company operationId: delete-company parameters: - $ref: '#/components/parameters/companyId' - description: "\uFEFF\x54\x68\x65\x20\x2A\x44\x65\x6C\x65\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x70\x65\x72\x6D\x61\x6E\x65\x6E\x74\x6C\x79\x20\x64\x65\x6C\x65\x74\x65\x73\x20\x61\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x2C\x20\x69\x74\x73\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x61\x6E\x64\x20\x61\x6E\x79\x20\x63\x61\x63\x68\x65\x64\x20\x64\x61\x74\x61\x2E\x20\x54\x68\x69\x73\x20\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E\x20\x69\x73\x20\x69\x72\x72\x65\x76\x65\x72\x73\x69\x62\x6C\x65\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n" + description: "\uFEFF\x54\x68\x65\x20\x2A\x44\x65\x6C\x65\x74\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x70\x65\x72\x6D\x61\x6E\x65\x6E\x74\x6C\x79\x20\x64\x65\x6C\x65\x74\x65\x73\x20\x61\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x2C\x20\x69\x74\x73\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x61\x6E\x64\x20\x61\x6E\x79\x20\x63\x61\x63\x68\x65\x64\x20\x64\x61\x74\x61\x2E\x20\x54\x68\x69\x73\x20\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E\x20\x69\x73\x20\x69\x72\x72\x65\x76\x65\x72\x73\x69\x62\x6C\x65\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n" tags: - Companies responses: @@ -433,7 +452,7 @@ paths: get: summary: Get company operationId: get-company - description: "\uFEFF\x54\x68\x65\x20\x2A\x47\x65\x74\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x66\x6F\x72\x20\x61\x20\x67\x69\x76\x65\x6E\x20\x60\x63\x6F\x6D\x70\x61\x6E\x79\x49\x64\x60\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n" + description: "\uFEFF\x54\x68\x65\x20\x2A\x47\x65\x74\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x66\x6F\x72\x20\x61\x20\x67\x69\x76\x65\x6E\x20\x60\x63\x6F\x6D\x70\x61\x6E\x79\x49\x64\x60\x2E\n\n\x41\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\n\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x58\x65\x72\x6F\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x50\x6C\x61\x69\x64\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5A\x65\x74\x74\x6C\x65\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n" parameters: - $ref: '#/components/parameters/companyId' tags: @@ -456,6 +475,11 @@ paths: dataConnections: [] created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar + products: + - spend-insights + - lending + - expenses-v1 + - commerce referenceSubsidiaryCompanies: [] Parent multi-entity company: value: @@ -467,6 +491,11 @@ paths: dataConnections: [] created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar + products: + - spend-insights + - lending + - expenses-v1 + - commerce referenceSubsidiaryCompanies: - id: c8d3af58-7011-47ce-b3f2-89faf300ef6d name: Toft stores UK @@ -496,6 +525,11 @@ paths: sourceType: Accounting created: '2022-11-10T10:45:18Z' createdByUserName: Dan Tzabar + products: + - spend-insights + - lending + - expenses-v1 + - commerce referenceParentCompany: id: ab12c58d-a678-4ebf-a159-ae99e1807bd0 name: Toft stores @@ -752,24 +786,30 @@ paths: value: status: Unlinked description: '' - '/companies/{companyId}/sync/expenses/connections/partnerExpense': - post: + '/companies/{companyId}/connections/{connectionId}/payables/info': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' + get: + summary: Get company information + description: |+ + Use the *Get company information* endpoint to return information about the company available from the underlying accounting software. + + operationId: get-company-information 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' + - Company information responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/Connection' - examples: {} + $ref: '#/components/schemas/CompanyInformation' + examples: + Company information: + value: + companyName: Bank of Dave + baseCurrency: GBP '400': $ref: '#/components/responses/BadRequest' '401': @@ -786,60 +826,50 @@ paths: $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' - '/companies/{companyId}/data/info': + '/companies/{companyId}/connections/{connectionId}/payables/mappingOptions/bills': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' get: + summary: Get bill mapping options + description: "\uFEFF\x55\x73\x65\x20\x74\x68\x65\x20\x2A\x47\x65\x74\x20\x6D\x61\x70\x70\x69\x6E\x67\x20\x6F\x70\x74\x69\x6F\x6E\x73\x20\x2D\x20\x42\x69\x6C\x6C\x73\x2A\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x72\x65\x74\x75\x72\x6E\x20\x61\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x20\x6D\x61\x70\x70\x69\x6E\x67\x20\x6F\x70\x74\x69\x6F\x6E\x73\x20\x66\x6F\x72\x20\x61\x20\x67\x69\x76\x65\x6E\x20\x63\x6F\x6D\x70\x61\x6E\x79\x27\x73\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x49\x44\x2E\n\n\x42\x79\x20\x64\x65\x66\x61\x75\x6C\x74\x2C\x20\x74\x68\x69\x73\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x73\x20\x61\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x61\x63\x74\x69\x76\x65\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x6E\x64\x20\x74\x61\x78\x20\x72\x61\x74\x65\x73\x2E\x20\x59\x6F\x75\x20\x63\x61\x6E\x20\x75\x73\x65\x20\x5B\x71\x75\x65\x72\x79\x69\x6E\x67\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x75\x73\x69\x6E\x67\x2D\x74\x68\x65\x2D\x61\x70\x69\x2F\x71\x75\x65\x72\x79\x69\x6E\x67\x29\x20\x74\x6F\x20\x63\x68\x61\x6E\x67\x65\x20\x74\x68\x61\x74\x2E\n\n\x4D\x61\x70\x70\x69\x6E\x67\x20\x6F\x70\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20\x61\x20\x73\x65\x74\x20\x6F\x66\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x6E\x64\x20\x74\x61\x78\x20\x72\x61\x74\x65\x73\x20\x75\x73\x65\x64\x20\x74\x6F\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x20\x74\x68\x65\x20\x53\x4D\x42\x27\x73\x20\x70\x61\x79\x61\x62\x6C\x65\x73\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E" + operationId: get-mapping-options-bills + x-speakeasy-name-override: get-bill-options tags: - - Company info - summary: Get company info - description: Gets the latest basic info for a company. - operationId: get-company-info + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/continuationToken' + - $ref: '#/components/parameters/statusQuery' responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanyInformation' + $ref: '#/components/schemas/BillMappingOptions' examples: - Example 1: + Mapping options: value: - companyName: Codat - accountingPlatformRef: 1700060034_ETD - companyLegalName: Codat Ltd - addresses: - - type: Billing - line1: 301 Ink Rooms - line2: 28 Easton Street - city: London - region: England - country: United Kingdom - postalCode: WC1X 0BE - - type: Delivery - line1: 28 Easton Street - city: London - country: UK - postalCode: WC1X 0BE - phoneNumbers: - - number: 02012 345678 - type: Landline - - number: 07123 456789 - type: Mobile - - number: 02012 345678 - type: Fax - webLinks: - - type: Website - url: 'https://www.codat.io/' - - type: Social - url: 'https://www.linkedin.com/company/codat-limited/' - registrationNumber: '5590111724' - taxNumber: '74111622555799035846' - financialYearStartDate: '2023-04-01T00:00:00' - baseCurrency: GBP - sourceUrls: - Api: 'https://api.codat.io' - createdDate: '2020-03-09T15:19:26' + accounts: + - id: 1b6266d1-1e44-46c5-8eb5-a8f98e03124e + nominalCode: 879-i + name: Accounts payable + type: Liability + currency: GBP + status: Active + sourceModifiedDate: '2022-10-23T00:00:00.000Z' + taxRates: + - id: d2939064-dd3a-4c0f-9865-a238c2193515 + name: VAT @ 20% + code: VAT20 + effectiveTaxRate: 20 + totalTaxRate: 20 + status: Active + sourceModifiedDate: '2022-10-23T00:00:00.000Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -848,28 +878,50 @@ paths: $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' - '/companies/{companyId}/sync/expenses/config': + '/companies/{companyId}/connections/{connectionId}/payables/mappingOptions/payments': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' get: + summary: Get payment mapping options + description: "Use the *Get mapping options - Payments* endpoint to return a list of available mapping options for a given company's connection ID.\r\n\r\nBy default, this endpoint returns a list of active bank accounts. You can use [querying](https://docs.codat.io/using-the-api/querying) to change that.\r\n\r\nMapping options are a set of bank accounts used to configure the SMB's payables integration." + operationId: get-mapping-options-payments + x-speakeasy-name-override: get-payment-options tags: - - Configuration + - Bill payments parameters: - - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/continuationToken' + - $ref: '#/components/parameters/statusQuery' responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanyConfiguration' - examples: {} + $ref: '#/components/schemas/PaymentMappingOptions' + examples: + Mapping options: + value: + bankAccounts: + - id: 3d5a8e00-d108-4045-8823-7f342676cffa + name: Bank of Dave current account + accountNumber: '12345678' + currency: GBP + nominalCode: '1234567' + sortCode: '123456' + status: Active + accountType: Debit + sourceModifiedDate: '2022-10-23T00:00:00.000Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -884,29 +936,101 @@ paths: $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: + '/companies/{companyId}/connections/{connectionId}/payables/bills': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' + get: + summary: List bills + description: |- + The *List bills* endpoint returns a list of [bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) for a given company's connection. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + + By default, the endpoint will return all bills with a status of 'Open' & 'PartiallyPaid' to show all oustanding bills. + operationId: list-bills tags: - - Configuration + - Bills parameters: - - $ref: '#/components/parameters/companyId' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CompanyConfiguration' - examples: {} + - $ref: '#/components/parameters/continuationToken' + - name: query + in: query + required: false + schema: + type: string + examples: + Status (open): + value: status=Open + Status (partially paid): + value: status=PartiallyPaid + Source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z' + Status (open) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Open' + Status (partially paid) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=PartiallyPaid' + description: 'Codat query string allows you to filter by `status` and `sourceModifiedDate`. Learn more about Codat''s query string [here](https://docs.codat.io/using-the-api/querying). Platfrom specfic statuses: Xero supports Open | PartiallyPaid | Paid | Void | Draft. Qbo supports Open | PartiallyPaid | Paid. FreeAgent supports Open | PartiallyPaid | Paid.' responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanyConfiguration' + $ref: '#/components/schemas/Bill/definitions/bills' + examples: + Bills: + value: + results: + - id: '18' + reference: '12' + supplierRef: + id: '4' + supplierName: BILLy elliot + issueDate: '2019-05-13T00:00:00' + dueDate: '2019-05-13T00:00:00' + currency: GBP + currencyRate: '1,' + lineItems: + - description: Dance shoes + unitAmount: 5 + quantity: 1 + taxAmount: 0 + accountRef: + id: '16' + taxRateRef: + id: NON + totalAmount: 5 + status: Open + totalAmount: 5 + amountDue: 0 + sourceModifiedDate: '2022-05-26T10:34:10Z' + - id: '22' + reference: '12' + supplierRef: + id: '4' + supplierName: BILLy elliot + issueDate: '2019-05-13T00:00:00' + dueDate: '2019-05-13T00:00:00' + currency: GBP + currencyRate: 1 + lineItems: + - description: Dance shoes + unitAmount: 5 + quantity: 1 + taxAmount: 0 + accountRef: + id: '16' + taxRateRef: + id: NON + totalAmount: 5 + status: Paid + totalAmount: 5 + amountDue: 0 + sourceModifiedDate: '2022-05-26T10:34:10Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -915,32 +1039,131 @@ paths: $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' - 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: + post: + summary: Create bill + description: |- + The *Create bill* endpoint creates a new [bill](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) for a given company's connection. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + operationId: create-bill tags: - - Mapping options + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Bill/definitions/billPrototype' + examples: + Create bill: + value: + reference: bill_b8qmmj4ksf1suax + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + supplierName: DIISR - Small Business Services + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-04-23T00:00:00' + currency: GBP + currencyRate: 1 + lineItems: + - description: Half day training - Microsoft Office + unitAmount: 1800 + quantity: 1 + taxAmount: 360 + totalAmount: 2160 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone.Per month fixed fee for minimum 20 hours/month. + unitAmount: 4000 + quantity: 1 + taxAmount: 800 + totalAmount: 4800 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + - description: Stationery charges + unitAmount: 32 + quantity: 8 + taxAmount: 51.2 + totalAmount: 307.2 + accountRef: + id: cba6527d-f102-4538-b421-e483233e9d5a + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open responses: - '200': - description: Success + '201': + description: Created content: application/json: schema: - $ref: '#/components/schemas/MappingOptions' - examples: {} + $ref: '#/components/schemas/Bill' + examples: + Created bill: + value: + id: bill-1029932 + reference: bill_b8qmmj4ksf1suax + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + supplierName: DIISR - Small Business Services + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-04-23T00:00:00' + currency: GBP + lineItems: + - description: Half day training - Microsoft Office + unitAmount: 1800 + quantity: 1 + taxAmount: 360 + totalAmount: 2160 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone.Per month fixed fee for minimum 20 hours/month. + unitAmount: 4000 + quantity: 1 + taxAmount: 800 + totalAmount: 4800 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + - description: Stationery charges + unitAmount: 32 + quantity: 8 + taxAmount: 51.2 + totalAmount: 307.2 + accountRef: + id: cba6527d-f102-4538-b421-e483233e9d5a + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open + totalAmount: 7267.2 + amountDue: 7267.2 + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -949,32 +1172,128 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' + '409': + $ref: '#/components/responses/Idempotency-Conflict' '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 + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}': parameters: - $ref: '#/components/parameters/companyId' - '/companies/{companyId}/sync/expenses/syncs/lastSuccessful/status': - get: + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + put: + summary: Update bill + description: | + The *Update bill* endpoint updates an existing [bill](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) for a given company's connection. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | No | + | Sage Intacct | No | + | Zoho Books | No | + operationId: update-bill tags: - - Sync + - Bills parameters: - - $ref: '#/components/parameters/companyId' + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Bill/definitions/billPrototype' + examples: + Update bill: + value: + reference: bill_updated_ref + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-05-23T00:00:00' + currency: GBP + currencyRate: 1 + lineItems: + - description: Updated line item - Microsoft Office training + unitAmount: 2000 + quantity: 1 + taxAmount: 400 + totalAmount: 2400 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone - updated rate + unitAmount: 4500 + quantity: 1 + taxAmount: 900 + totalAmount: 5400 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open responses: '200': description: Success content: application/json: schema: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Bill' + examples: + Updated bill: + value: + id: bill-1029932 + reference: bill_updated_ref + supplierRef: + id: 1262c350-fe0f-40ec-aeff-41c95b4a45af + supplierName: DIISR - Small Business Services + issueDate: '2023-04-23T00:00:00' + dueDate: '2023-05-23T00:00:00' + currency: GBP + lineItems: + - description: Updated line item - Microsoft Office training + unitAmount: 2000 + quantity: 1 + taxAmount: 400 + totalAmount: 2400 + accountRef: + id: 46f9461e-788b-4906-8b74-d1ea17f6dc10 + taxRateRef: + id: INPUT2 + - description: Desktop/network support via email & phone - updated rate + unitAmount: 4500 + quantity: 1 + taxAmount: 900 + totalAmount: 5400 + accountRef: + id: f96c9458-d724-47bf-8f74-a9d5726465ce + taxRateRef: + id: INPUT2 + trackingRefs: + - id: dba3d4da-f9ed-4eee-8e0b-452d11fdb1fa + dataType: trackingCategories + status: Open + totalAmount: 7800 + amountDue: 7800 + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -983,32 +1302,49 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' + '409': + $ref: '#/components/responses/Idempotency-Conflict' '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 + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}/attachments': parameters: - $ref: '#/components/parameters/companyId' - '/companies/{companyId}/sync/expenses/syncs/latest/status': - get: + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + post: + summary: Upload bill attachment + description: "The *Upload bill attachment* endpoint uploads an attachment and assigns it against a specific `billId`.\r\n\r\n[Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services." + operationId: upload-bill-attachment tags: - - Sync - parameters: - - $ref: '#/components/parameters/companyId' + - Bills + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/AttachmentUpload' responses: - '200': - description: Success + '201': + description: Created content: application/json: schema: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Attachment' + examples: + Attachment metadata: + value: + id: 422f093f-e556-4bf3-91c0-93af70c3e850 + name: receipt.png + contentType: image/png + dateCreated: '2022-10-23T00:00:00.000Z' + fileSize: 100 + includeWhenSent: true + sourceModifiedDate: '2022-05-26T10:34:10Z' + '400': + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1023,28 +1359,36 @@ paths: $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: + summary: List bill attachments + description: "The *List bill attachments* endpoint returns a list of attachments available to download for a given `billId`.\r\n\r\n[Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services." + operationId: list-bill-attachments tags: - - Sync + - Bills responses: '200': description: Success content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + $ref: '#/components/schemas/Attachment/definitions/attachments' + examples: + Success: + value: + - id: 422f093f-e556-4bf3-91c0-93af70c3e850 + name: receipt.png + contentType: image/png + dateCreated: '2022-10-23T00:00:00.000Z' + fileSize: 100 + includeWhenSent: true + sourceModifiedDate: '2022-05-26T10:34:10Z' + - id: 20cfd269-2f0f-44ef-a28c-7b5f725cf1aa + name: another_receipt.png + contentType: image/png + dateCreated: '2022-10-24T00:00:00.000Z' + fileSize: 98 + includeWhenSent: true + sourceModifiedDate: '2022-05-27T12:38:10Z' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1053,30 +1397,40 @@ paths: $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' - summary: List sync statuses - description: Gets a list of sync statuses - operationId: list-syncs - '/companies/{companyId}/sync/expenses/syncs/{syncId}/status': + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}/attachments/{attachmentId}/download': + parameters: + - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + - $ref: '#/components/parameters/attachmentId' get: + summary: Download bill attachment + description: | + The *Download bill attachment* endpoint downloads a specific attachment for a given `billId` and `attachmentId`. + + [Bills](https://docs.codat.io/sync-for-payables-api#/schemas/Bill) are invoices that represent the SMB's financial obligations to their supplier for a purchase of goods or services. + + Check out our [coverage explorer](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bills) for integrations that support downloading a bill attachment. + operationId: download-bill-attachment tags: - - Sync - parameters: - - $ref: '#/components/parameters/companyId' - - $ref: '#/components/parameters/syncId' + - Bills responses: '200': description: Success content: - application/json: + application/octet-stream: schema: - $ref: '#/components/schemas/CompanySyncStatus' - examples: {} + title: Data + type: string + format: binary '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1091,29 +1445,58 @@ paths: $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 + '/companies/{companyId}/connections/{connectionId}/payables/bills/{billId}/payment': 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' + - $ref: '#/components/parameters/connectionId' + - $ref: '#/components/parameters/billId' + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string + post: + summary: Create bill payment + description: |- + The *Create bill payment* endpoint creates a new [bill payment](https://docs.codat.io/sync-for-payables-api#/schemas/BillPayment) for a given company's connection. + + [Bill payments](https://docs.codat.io/sync-for-payables-api#/schemas/BillPayment) are an allocation of money within any Accounts Payable account. + operationId: create-bill-payment + tags: + - Bill payments + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BillPayment/definitions/billPaymentPrototype' + examples: + Bill payment example: + value: + amount: 22 + currencyRate: 1 + date: '2022-10-23T00:00:00.000Z' + accountRef: + id: 7bda9f44sr56 + reference: Bill Payment against bill c13e37b6 dfaa-4894-b3be-9fe97bda9f44 responses: - '200': - description: Success + '201': + description: Created content: application/json: schema: - $ref: '#/components/schemas/Transactions' - examples: {} + $ref: '#/components/schemas/BillPayment' + examples: + Bill payment: + value: + id: billPayment-1029932 + amount: 22 + currencyRate: 1 + date: '2022-10-23T00:00:00.000Z' + accountRef: + id: 7bda9f44sr56 + reference: Bill Payment against bill c13e37b6 dfaa-4894-b3be-9fe97bda9f44 '400': - $ref: '#/components/responses/Malformed-Query' + $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1122,80 +1505,86 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' + '409': + $ref: '#/components/responses/Idempotency-Conflict' '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 + '/companies/{companyId}/connections/{connectionId}/payables/suppliers': parameters: - $ref: '#/components/parameters/companyId' - - $ref: '#/components/parameters/syncId' - '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions/{transactionId}': + - $ref: '#/components/parameters/connectionId' get: + tags: + - Suppliers + summary: List suppliers + description: "The *List suppliers* endpoint returns a list of [suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection.\n\n[Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service.\n\nBy default, this endpoint returns a list of active and archived suppliers. You can use [querying](https://docs.codat.io/using-the-api/querying) to change that. \n\nFor example, to retrieve only active suppliers (i.e. `status=Active`) or suppliers created within the specified number of days (e.g. `sourceModifiedDate>2023-12-15T00:00:00.000Z`), query the endpoint as follows: `/payables/suppliers?query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`.For example, to retrieve active suppliers modified after a particular date use `query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`." + operationId: list-suppliers parameters: - - $ref: '#/components/parameters/companyId' - - $ref: '#/components/parameters/syncId' - - $ref: '#/components/parameters/transactionId' + - $ref: '#/components/parameters/continuationToken' + - name: query + in: query + required: false + schema: + type: string + examples: + Source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z' + Status (active): + value: status=Active + Status (archived): + value: status=Archived + Status (active) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active' + Status (archived) & source modified date: + value: 'sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Archived' + description: 'Codat query string allows you to filter by `sourceModifiedDate` or if a supplier is `Active` or `Archived` in the accounting software. Learn more about Codat''s query string [here](https://docs.codat.io/using-the-api/querying).' 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. \n\n[Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/ExpenseTransaction) represent transactions made with a company debit or credit card. \n\n### Supported Integrations\n\n| Integration | Supported |\n|-------------------------------|-----------|\n| Dynamics 365 Business Central | Yes |\n| FreeAgent | Yes |\n| QuickBooks Desktop | Yes |\n| QuickBooks Online | Yes |\n| Oracle NetSuite | Yes |\n| Xero | Yes |" - tags: - - Expenses - responses: - '200': - description: OK - content: - application/json: - x-speakeasy-usage-example: true - schema: - $ref: '#/components/schemas/CreateExpenseResponse' + $ref: '#/components/schemas/Supplier/definitions/suppliers' examples: - Example 1: + Suppliers: value: - syncId: cd937d46-8e41-43a9-9477-a79158ffd98a + results: + - id: c523e12f-8b74-4d3a-bbd8-32d7a2f598b4 + supplierName: City Limousines + contactName: Martin Dale + emailAddress: martyd@citylim.co + phone: 07999 999999 + addresses: + - type: Billing + line1: Unit 51 + line2: Bakersfield Industrial Estate + city: Bakersfield + region: California + country: USA + postalcode: '93308' + status: Active + balance: 100 + defaultCurrency: GBP + sourceModifiedDate: '2022-10-23T00:00:00Z' + - id: '41' + supplierName: AI Support + contactName: AI Support + addresses: + - type: Billing + line1: test + region: string + country: Djibouti + status: Active + defaultCurrency: GBP + sourceModifiedDate: '2022-12-07T10:48:18Z' + pagination: + continuationToken: eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/Malformed-Query' '401': $ref: '#/components/responses/Unauthorized' '402': @@ -1204,156 +1593,73 @@ paths: $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' - 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 + post: 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. \n\n[Expense transactions](https://docs.codat.io/sync-for-expenses-api#/schemas/UpdateExpenseRequest) represent transactions made with a company debit or credit card. \n\n### Supported Integrations\nThe following integrations are supported for the [Payment](https://docs.codat.io/expenses/sync-process/expense-transactions#transaction-types) transaction `type` only: \n| Integration | Supported |\n|-----------------------|-----------|\n| FreeAgent | Yes |\n| QuickBooks Online | Yes |\n| Oracle NetSuite | Yes |\n| Xero | Yes |" + - Suppliers + summary: Create supplier + description: "The *Create supplier* endpoint creates a new [supplier](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection.\r\n\r\n[Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service.\r\n" + operationId: create-supplier + parameters: + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateExpenseRequest' + $ref: '#/components/schemas/Supplier/definitions/supplierPrototype' examples: - Payment: + Suppliers: 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 + supplierName: Greggs + contactName: Greg Greggs + emailAddress: greg@greggs.com + phone: +44 (0)1223 322410 + addresses: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GBR + postalCode: EC1N 7TE + status: Active + defaultCurrency: GBP responses: - '200': - description: OK + '201': + description: Created content: application/json: - x-speakeasy-usage-example: true schema: - $ref: '#/components/schemas/TransferTransactionResponse' + $ref: '#/components/schemas/Supplier' examples: - Example 1: - value: - syncId: cd937d46-8e41-43a9-9477-a79158ffd98a + Suppliers: + value: + id: sup-10933920 + supplierName: Greggs + contactName: Greg Greggs + emailAddress: greg@greggs.com + phone: +44 (0)1223 322410 + address: + - type: Billing + line1: Flat 1 + line2: 2 Dennis Avenue + city: London + region: Camden + country: GBR + postalCode: EC1N 7TE + status: Active + defaultCurrency: GBP '400': $ref: '#/components/responses/BadRequest' '401': @@ -1370,113 +1676,45 @@ paths: $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': + '/companies/{companyId}/connections/{connectionId}/payables/bankAccounts': parameters: - $ref: '#/components/parameters/companyId' + - $ref: '#/components/parameters/connectionId' 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. \n\nAdjustments represent write-offs and transaction alterations, such as foreign exchange adjustments, in the form of a journal entry. \n\n### Supported Integrations\n\n| Integration | Supported |\n|-----------------------|-----------|\n| 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' + - Bank accounts + summary: Create bank account + parameters: + - in: header + name: Idempotency-Key + description: A unique identifier to ensure idempotent behaviour for subsequent requests. + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateAdjustmentRequest' + $ref: '#/components/schemas/BankAccount/definitions/bankAccountPrototype' examples: - Create adjustment: + Bank account example: 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 + id: fb623ab2-f6ff-4b22-b7d3-b7cc2a4aa0ea + nominalCode: '22' + name: Plutus - Payables - Bank Account 12 + accountNumber: 0120 0440 + sortCode: 50-50-50 + currency: GBP + accountType: Debit + status: Active + sourceModifiedDate: '2024-02-22T14:46:43.99Z' responses: - '200': - description: OK + '201': + description: Created content: application/json: - x-speakeasy-usage-example: true schema: - $ref: '#/components/schemas/CreateReimbursableExpenseResponse' - examples: - Example 1: - value: - syncId: cd937d46-8e41-43a9-9477-a79158ffd98a + $ref: '#/components/schemas/BankAccount' + examples: {} '400': $ref: '#/components/responses/BadRequest' '401': @@ -1493,9004 +1731,596 @@ paths: $ref: '#/components/responses/Internal-Server-Error' '503': $ref: '#/components/responses/Service-Unavailable' + description: "The *Create bank account* endpoint creates a new [bank account](https://docs.codat.io/sync-for-payables-api#/schemas/BankAccount) for a given company's connection.\r\n\r\n[Bank accounts](https://docs.codat.io/sync-for-payables-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution." + operationId: create-bank-account +webhooks: + 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/ReimbursableExpenseTransactionRequest' + $ref: '#/components/schemas/ClientRateLimitWebhook' examples: - Create reimbursable expense: + Reached: 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 + 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: 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' + 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/UpdateReimbursableExpenseTransactionRequest' + $ref: '#/components/schemas/ClientRateLimitWebhook' examples: - Update reimbursable expense: + Reset: 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. \n\n[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.\n\n**Integration-specific behaviour**\n\nEach accounting software supports different file formats and sizes.\n\n| Integration | File size | File extension |Supported transaction type\n|-------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------|--------------|\n| **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 |\n| **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` |\n| **NetSuite** | 100 MB | BMP, CSV, XLS, XLSX, JSON, PDF, PJPG, PJPEG, PNG, TXT, SVG, TIF, TIFF, DOC, DOCX, ZIP |`ExpensePayment`, `ExpenseRefund` |\n| **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\n| **QuickBooks Desktop** | NA | Does not support attachment upload | N/A |\n| **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). - 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. - '/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)." - 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" - '/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.\n\n[Customers](https://docs.codat.io/sync-for-expenses-api#/schemas/Customer) are people or organizations that buy goods or services from the SMB.\n\nBefore using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-company-data).\n " - 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. - - 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). - '/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). - 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.\n\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.\n\nBefore using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/sync-for-expenses-api#/operations/refresh-company-data).\n " - 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. - - 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" - 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)." - 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. \n\n**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' + 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. components: schemas: - Account: - title: 'Accounting: Account' - description: "\uFEFF\x3E\x20\x2A\x2A\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x74\x69\x70\x3A\x2A\x2A\x20\x41\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x72\x65\x20\x61\x6C\x73\x6F\x20\x72\x65\x66\x65\x72\x72\x65\x64\x20\x74\x6F\x20\x61\x73\x20\x2A\x2A\x63\x68\x61\x72\x74\x20\x6F\x66\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2A\x2A\x2C\x20\x2A\x2A\x6E\x6F\x6D\x69\x6E\x61\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2A\x2A\x2C\x20\x61\x6E\x64\x20\x2A\x2A\x67\x65\x6E\x65\x72\x61\x6C\x20\x6C\x65\x64\x67\x65\x72\x2A\x2A\x2E\n\n\x23\x23\x20\x4F\x76\x65\x72\x76\x69\x65\x77\n\n\x41\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x72\x65\x20\x74\x68\x65\x20\x63\x61\x74\x65\x67\x6F\x72\x69\x65\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x75\x73\x65\x73\x20\x74\x6F\x20\x72\x65\x63\x6F\x72\x64\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E\x73\x2E\x20\x46\x72\x6F\x6D\x20\x74\x68\x65\x20\x41\x63\x63\x6F\x75\x6E\x74\x73\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x73\x2C\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x72\x65\x74\x72\x69\x65\x76\x65\x20\x61\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x61\x6C\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x66\x6F\x72\x20\x61\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\n\n\x54\x68\x65\x20\x63\x61\x74\x65\x67\x6F\x72\x69\x65\x73\x20\x66\x6F\x72\x20\x61\x6E\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x69\x6E\x63\x6C\x75\x64\x65\x3A\n\x2A\x20\x41\x73\x73\x65\x74\n\x2A\x20\x45\x78\x70\x65\x6E\x73\x65\n\x2A\x20\x49\x6E\x63\x6F\x6D\x65\n\x2A\x20\x4C\x69\x61\x62\x69\x6C\x69\x74\x79\n\x2A\x20\x45\x71\x75\x69\x74\x79\x2E\n\n\x54\x68\x65\x20\x73\x61\x6D\x65\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x6D\x61\x79\x20\x68\x61\x76\x65\x20\x61\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x63\x61\x74\x65\x67\x6F\x72\x79\x20\x62\x61\x73\x65\x64\x20\x6F\x6E\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x69\x74\x20\x69\x73\x20\x75\x73\x65\x64\x20\x69\x6E\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x61\x20\x63\x75\x72\x72\x65\x6E\x74\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x28\x6B\x6E\x6F\x77\x6E\x20\x61\x73\x20\x63\x68\x65\x63\x6B\x69\x6E\x67\x20\x69\x6E\x20\x74\x68\x65\x20\x55\x53\x29\x20\x73\x68\x6F\x75\x6C\x64\x20\x62\x65\x20\x63\x61\x74\x65\x67\x6F\x72\x69\x7A\x65\x64\x20\x61\x73\x20\x60\x41\x73\x73\x65\x74\x2E\x43\x75\x72\x72\x65\x6E\x74\x60\x20\x66\x6F\x72\x20\x58\x65\x72\x6F\x2C\x20\x61\x6E\x64\x20\x60\x41\x73\x73\x65\x74\x2E\x42\x61\x6E\x6B\x2E\x43\x68\x65\x63\x6B\x69\x6E\x67\x60\x20\x66\x6F\x72\x20\x51\x75\x69\x63\x6B\x42\x6F\x6F\x6B\x73\x20\x4F\x6E\x6C\x69\x6E\x65\x2E\n\n\x41\x74\x20\x74\x68\x65\x20\x73\x61\x6D\x65\x20\x74\x69\x6D\x65\x2C\x20\x65\x61\x63\x68\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x6D\x61\x79\x20\x68\x61\x76\x65\x20\x69\x74\x73\x20\x6F\x77\x6E\x20\x72\x65\x71\x75\x69\x72\x65\x6D\x65\x6E\x74\x73\x20\x74\x6F\x20\x74\x68\x65\x20\x63\x61\x74\x65\x67\x6F\x72\x69\x65\x73\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x61\x20\x50\x61\x79\x70\x61\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x69\x6E\x20\x58\x65\x72\x6F\x20\x69\x73\x20\x6F\x66\x20\x74\x68\x65\x20\x60\x41\x73\x73\x65\x74\x2E\x42\x61\x6E\x6B\x60\x20\x63\x61\x74\x65\x67\x6F\x72\x79\x20\x61\x6E\x64\x20\x74\x68\x65\x72\x65\x66\x6F\x72\x65\x20\x72\x65\x71\x75\x69\x72\x65\x73\x20\x61\x64\x64\x69\x74\x69\x6F\x6E\x61\x6C\x20\x70\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x20\x74\x6F\x20\x62\x65\x20\x70\x72\x6F\x76\x69\x64\x65\x64\x2E\n\n\x54\x6F\x20\x64\x65\x74\x65\x72\x6D\x69\x6E\x65\x20\x74\x68\x65\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x61\x6C\x6C\x6F\x77\x65\x64\x20\x63\x61\x74\x65\x67\x6F\x72\x69\x65\x73\x20\x66\x6F\x72\x20\x61\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2C\x20\x79\x6F\x75\x20\x63\x61\x6E\x3A\n\x2D\x20\x46\x6F\x6C\x6C\x6F\x77\x20\x6F\x75\x72\x20\x5B\x43\x72\x65\x61\x74\x65\x2C\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x64\x65\x6C\x65\x74\x65\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x75\x73\x69\x6E\x67\x2D\x74\x68\x65\x2D\x61\x70\x69\x2F\x70\x75\x73\x68\x29\x20\x67\x75\x69\x64\x65\x20\x61\x6E\x64\x20\x75\x73\x65\x20\x74\x68\x65\x20\x5B\x47\x65\x74\x20\x63\x72\x65\x61\x74\x65\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x6D\x6F\x64\x65\x6C\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E\x73\x2F\x67\x65\x74\x2D\x63\x72\x65\x61\x74\x65\x2D\x63\x68\x61\x72\x74\x4F\x66\x41\x63\x63\x6F\x75\x6E\x74\x73\x2D\x6D\x6F\x64\x65\x6C\x29\x2E\n\x2D\x20\x52\x65\x66\x65\x72\x20\x74\x6F\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x27\x73\x20\x6F\x77\x6E\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x61\x74\x69\x6F\x6E\x2E\n\n\x3E\x20\x2A\x2A\x41\x63\x63\x6F\x75\x6E\x74\x73\x20\x77\x69\x74\x68\x20\x6E\x6F\x20\x63\x61\x74\x65\x67\x6F\x72\x79\x2A\x2A\n\x3E\n\x3E\x20\x49\x66\x20\x61\x6E\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x69\x73\x20\x70\x75\x6C\x6C\x65\x64\x20\x66\x72\x6F\x6D\x20\x74\x68\x65\x20\x63\x68\x61\x72\x74\x20\x6F\x66\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x6E\x64\x20\x69\x74\x73\x20\x6E\x6F\x6D\x69\x6E\x61\x6C\x20\x63\x6F\x64\x65\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x6C\x69\x65\x20\x77\x69\x74\x68\x69\x6E\x20\x74\x68\x65\x20\x63\x61\x74\x65\x67\x6F\x72\x79\x20\x6C\x61\x79\x6F\x75\x74\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x27\x73\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x2C\x20\x74\x68\x65\x6E\x20\x74\x68\x65\x20\x2A\x2A\x74\x79\x70\x65\x2A\x2A\x20\x69\x73\x20\x60\x55\x6E\x6B\x6E\x6F\x77\x6E\x60\x2E\x20\x54\x68\x65\x20\x2A\x2A\x66\x75\x6C\x6C\x79\x51\x75\x61\x6C\x69\x66\x69\x65\x64\x43\x61\x74\x65\x67\x6F\x72\x79\x2A\x2A\x20\x61\x6E\x64\x20\x2A\x2A\x66\x75\x6C\x6C\x79\x51\x75\x61\x6C\x69\x66\x69\x65\x64\x4E\x61\x6D\x65\x2A\x2A\x20\x66\x69\x65\x6C\x64\x73\x20\x72\x65\x74\x75\x72\x6E\x20\x60\x6E\x75\x6C\x6C\x60\x2E\n\x3E\n\x3E\x20\x54\x68\x69\x73\x20\x61\x70\x70\x72\x6F\x61\x63\x68\x20\x67\x69\x76\x65\x73\x20\x61\x20\x74\x72\x75\x65\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x61\x74\x69\x6F\x6E\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x27\x73\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x77\x68\x69\x6C\x73\x74\x20\x70\x72\x65\x76\x65\x6E\x74\x69\x6E\x67\x20\x64\x69\x73\x74\x6F\x72\x74\x69\x6E\x67\x20\x66\x69\x6E\x61\x6E\x63\x69\x61\x6C\x73\x20\x73\x75\x63\x68\x20\x61\x73\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x27\x73\x20\x70\x72\x6F\x66\x69\x74\x20\x61\x6E\x64\x20\x6C\x6F\x73\x73\x20\x61\x6E\x64\x20\x62\x61\x6C\x61\x6E\x63\x65\x20\x73\x68\x65\x65\x74\x20\x72\x65\x70\x6F\x72\x74\x73\x2E" + Address: + title: Address + x-internal: true + type: object + properties: + type: + $ref: '#/components/schemas/Address/definitions/addressType' + 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''s address. For NetSuite, use the 2-digit [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) country code.' + postalCode: + type: string + nullable: true + description: Postal code or zip code. + definitions: + addressType: + description: The type of the address + type: string + enum: + - Unknown + - Billing + - Delivery + Attachment: + title: Attachment metadata + description: " The Codat API supports pulling and pushing of file attachments for invoices, bills, direct costs, and direct incomes.\n\n > **Retrieving attachments**\n > \n > If a company is authorized, you can query the Codat API to read, download, and upload attachments without requiring a fresh sync of data.\n\n Unlike other data types, Codat doesn't support [sync settings](https://docs.codat.io/knowledge-base/advanced-sync-settings) for attachments.\n\n Note that different integrations have different requirements for file size and extension of attachments.\n\n | Integration | File size | File extension |\n |-------------------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | Xero | 4 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 |\n | QuickBooks Online | 100 MB | AI, CSV, DOC, DOCX, EPS, GIF, JPEG, JPG, ODS, PAGES, PDF, PNG, RTF, TIF, TXT, XLS, XLSX, XML |\n | NetSuite | 100 MB | BMP, CSV, XLS, XLSX, JSON, PDF, PJPG, PJPEG, PNG, TXT, SVG, TIF, TIFF, DOC, DOCX, ZIP |\n | Dynamics 365 Business Central | 350 MB | Dynamics do not explicitly outline which file types are supported but they do state here that \"You can attach any type of file, such as text, image, or video files\". |" + type: object 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' + description: 'Identifier for the attachment, unique for the company in the accounting software.' + name: + type: string + nullable: true + description: Name of the attachment file. + contentType: + type: string + nullable: true + description: |- + File type of the attachment. This is represented by appending the file type to the [IETF standard file naming requirements](https://tools.ietf.org/html/rfc6838). For example, for a jpeg file the output is **image/jpeg**. + + Supported file types vary per platform. + dateCreated: + $ref: '#/components/schemas/Connection/properties/created' + fileSize: + type: integer + format: int32 + nullable: true + description: 'File size in bytes. For example, if this reads **46153**, then the file size is 46kb.' + includeWhenSent: + type: boolean + description: 'If `true`, then the attachment is included with the associated invoice, bill or direct costs when it is printed, emailed, or sent to a customer, if the underlying accounting software allows this.' + sourceModifiedDate: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: "The date when a record was last modified in the accounting software, usually by the business or a business process. For example, when payments are made against an invoice. \n\nIt is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when:\n - Pulling attachments\n - The accounting software does not provide modification dates for a data type\n - A record has been deleted from the source platform and Codat doesn't have a record of when the deletion occurred\n - A record has been voided. For certain platforms that soft delete records, `isDeleted` metadata is used to identify void records\n\nIn Codat's data model, dates and times are represented using the ISO 8601 standard." + definitions: + attachments: + title: Attachments + type: array + items: + $ref: '#/components/schemas/Attachment' + 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: Bank accounts + type: object + allOf: - 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 + id: + type: string + description: 'Identifier for the bank account, unique for the company in the accounting software.' + nominalCode: + type: string + nullable: true + description: Code used to identify each nominal account for a business. + name: + type: string + nullable: true + description: Name of the bank account in the accounting software. + accountType: + $ref: '#/components/schemas/BankAccountType' + 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. + sortCode: + type: string + nullable: true + description: |- + Sort code for the bank account. This is relevant to UK bank accounts. + + 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. + currency: + $ref: '#/components/schemas/Bill/properties/currency' + description: Base currency of the bank account. + status: + $ref: '#/components/schemas/BankAccount/definitions/bankAccountStatus' + - title: Source Modified Date 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. \n\nUse 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.\n\nThis 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)).\n\nIn 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. \n\nIt is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when:\n - Pulling attachments\n - The integration platform does not provide modification dates for a data type\n - A record has been deleted from the source platform and Codat doesn't have a record of when the deletion occurred\n - A record has been voided. For certain platforms that soft delete records, `isDeleted` metadata is used to identify void records\n\nIn Codat's data model, dates and times are represented using the ISO 8601 standard." + type: object + nullable: true + properties: + sourceModifiedDate: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: "The date when a record was last modified in the accounting software, usually by the business or a business process. For example, when payments are made against an invoice. \n\nIt is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when:\n - Pulling attachments\n - The accounting software does not provide modification dates for a data type\n - A record has been deleted from the source platform and Codat doesn't have a record of when the deletion occurred\n - A record has been voided. For certain platforms that soft delete records, `isDeleted` metadata is used to identify void records\n\nIn Codat's data model, dates and times are represented using the ISO 8601 standard." definitions: - accountPrototype: - title: Account prototype + bankAccountStatus: + type: string + description: The current status of the bank account. + enum: + - Active + - Archived + bankAccountPrototype: + title: Bank 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' + $ref: '#/components/schemas/BankAccount/allOf/0/properties/nominalCode' 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 + $ref: '#/components/schemas/BankAccount/allOf/0/properties/name' + accountType: + $ref: '#/components/schemas/BankAccountType' + accountNumber: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/accountNumber' + sortCode: + $ref: '#/components/schemas/BankAccount/allOf/0/properties/sortCode' 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_.\n\n## Unknown currencies\n\nIn line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction. \n\nThere 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.\n\nFor example, `validDatatypeLinks` might indicate the following references:\n\n- Which tax rates are valid to use on the line item of a bill.\n- Which items can be used when creating an invoice. \n\nYou can use `validDatatypeLinks` to present your SMB customers with only valid choices when selecting objects from a list, for example.\n\n## `validDatatypeLinks` example\n\nThe 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.\n\n```json validDatatypeLinks for an account\n{\n \"id\": \"bd9e85e0-0478-433d-ae9f-0b3c4f04bfe4\",\n \"nominalCode\": \"090\",\n \"name\": \"Business Bank Account\",\n #...\n \"validDatatypeLinks\": [\n {\n \"property\": \"Id\",\n \"links\": [\n \"Payment.AccountRef.Id\",\n \"BillPayment.AccountRef.Id\",\n \"DirectIncome.LineItems.AccountRef.Id\",\n \"DirectCost.LineItems.AccountRef.Id\"\n ]\n }\n ]\n }\n```\n\n\n\n## Support for `validDatatypeLinks`\n\nCodat currently supports `validDatatypeLinks` for some data types on our Xero, QuickBooks Online, QuickBooks Desktop, Exact (NL), and Sage Business Cloud integrations. \n\nIf 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 + $ref: '#/components/schemas/BankAccount/allOf/0/properties/currency' + required: + - name + - accountType + - accountNumber + - currency + BankAccountType: + title: Bank Account Type x-internal: true + enum: + - Unknown + - Credit + - Debit + type: string + description: "The type of transactions and balances on the account. \nFor Credit accounts, positive balances are liabilities, and positive transactions **reduce** liabilities. \nFor Debit accounts, positive balances are assets, and positive transactions **increase** assets." + Bill: + title: Bill + description: "\uFEFF\x42\x69\x6C\x6C\x73\x20\x61\x72\x65\x20\x69\x6E\x76\x6F\x69\x63\x65\x73\x20\x74\x68\x61\x74\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x20\x74\x68\x65\x20\x53\x4D\x42\x27\x73\x20\x66\x69\x6E\x61\x6E\x63\x69\x61\x6C\x20\x6F\x62\x6C\x69\x67\x61\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x73\x75\x70\x70\x6C\x69\x65\x72\x20\x66\x6F\x72\x20\x61\x20\x70\x75\x72\x63\x68\x61\x73\x65\x20\x6F\x66\x20\x67\x6F\x6F\x64\x73\x20\x6F\x72\x20\x73\x65\x72\x76\x69\x63\x65\x73\x2E" 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 - validFor: - - expense-transactions.Payment - - expense-transactions.Refund - - reimbursable-expense-transactions properties: id: type: string - description: Unique identifier of account. - example: 127f3b99-8dc2-4b7e-854c-91ef9bd2757b - nullable: false - nominalCode: + description: 'Identifier for the bill, unique for the company in the accounting software.' + reference: 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 + description: User-friendly reference for the bill. + supplierRef: + $ref: '#/components/schemas/Supplier/definitions/supplierRef' + issueDate: + allOf: + - description: Date of the bill as recorded in the accounting software. + - $ref: '#/components/schemas/Connection/properties/created' + dueDate: + allOf: + - description: Date the supplier is due to be paid. + - $ref: '#/components/schemas/Connection/properties/created' currency: + title: Currency + x-internal: true 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. - validFor: - $ref: '#/components/schemas/validFor' - description: Supported endpoints for the account. - AdjustmentTransactionLine: - x-internal: true - title: Adjustment transaction line - type: object - properties: - amount: + description: "The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.\n\n## Unknown currencies\n\nIn line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction. \n\nThere 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 + currencyRate: + title: Currency rate 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: + 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.\n\nCurrency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit. \n\nIt 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.\n\nWhere 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). \n\nFor accounting software which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.\n\n## Examples with base currency of GBP\n\n| Foreign Currency | Foreign Amount | Currency Rate | Base Currency Amount (GBP) |\n| :--------------- | :------------- | :------------ | :------------------------- |\n| **USD** | $20 | 0.781 | £15.62 |\n| **EUR** | €20 | 0.885 | £17.70 |\n| **RUB** | ₽20 | 0.011 | £0.22 |\n\n## Examples with base currency of USD\n\n| Foreign Currency | Foreign Amount | Currency Rate | Base Currency Amount (USD) |\n| :--------------- | :------------- | :------------ | :------------------------- |\n| **GBP** | £20 | 1.277 | $25.54 |\n| **EUR** | €20 | 1.134 | $22.68 |\n| **RUB** | ₽20 | 0.015 | $0.30 |\n\n\n### Integration-specific details\n\n| Integration | Scenario | System behavior |\n|-------------------|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 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. |" + lineItems: type: array - minItems: 1 - maxItems: 10 nullable: true + description: Array of Bill line items. 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 + $ref: '#/components/schemas/Bill/definitions/billLineItem' + status: + $ref: '#/components/schemas/Bill/definitions/billStatus' + totalAmount: + type: number + format: decimal + description: 'Amount of the bill, including tax.' + amountDue: + type: number + format: decimal 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 + description: Amount outstanding on the bill. + sourceModifiedDate: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: "The date when a record was last modified in the accounting software, usually by the business or a business process. For example, when payments are made against an invoice. \n\nIt is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when:\n - Pulling attachments\n - The accounting software does not provide modification dates for a data type\n - A record has been deleted from the source platform and Codat doesn't have a record of when the deletion occurred\n - A record has been voided. For certain platforms that soft delete records, `isDeleted` metadata is used to identify void records\n\nIn Codat's data model, dates and times are represented using the ISO 8601 standard." required: - - file - properties: - file: - $ref: '#/components/schemas/AttachmentUpload/definitions/codatFile' + - supplierRef + - issueDate + - dueDate + - currency + - status definitions: - codatFile: + billPrototype: + title: Bill prototype + type: object + properties: + reference: + $ref: '#/components/schemas/Bill/properties/reference' + supplierRef: + $ref: '#/components/schemas/Supplier/definitions/supplierRef' + issueDate: + $ref: '#/components/schemas/Bill/properties/issueDate' + dueDate: + $ref: '#/components/schemas/Bill/properties/dueDate' + currency: + $ref: '#/components/schemas/Bill/properties/currency' + currencyRate: + $ref: '#/components/schemas/Bill/properties/currencyRate' + lineItems: + $ref: '#/components/schemas/Bill/properties/lineItems' + status: + $ref: '#/components/schemas/Bill/definitions/billStatus' + required: + - supplierRef + - issueDate + - dueDate + - currency + - status + billStatus: + description: Current state of the bill. If creating a bill the status must be `Open`. 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**\n> \n> This datatype was originally used for accessing bank account data both in accounting integrations and open banking aggregators. \n> \n> To view bank account data through the Banking API, please refer to the new [Banking: Account](https://docs.codat.io/sync-for-expenses-api#/schemas/Account) data type.\n\n## Overview\n\nA list of bank accounts associated with a company and a specific data connection.\n\nBank accounts data includes:\n* The name and ID of the account in the accounting software.\n* The currency and balance of the account.\n* 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 + enum: + - Unknown + - Open + - PartiallyPaid + - Paid + - Void + - Draft + example: Open + billLineItem: + title: Bill line item 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. \nFor Credit accounts, positive balances are liabilities, and positive transactions **reduce** liabilities. \nFor 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: + description: 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: + description: Friendly name of the goods or services received. + unitAmount: 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: + description: Unit price of the goods or service. + quantity: 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: + description: Number of units of goods or services received. + taxAmount: + type: number + format: decimal + description: Amount of tax applied to the line item. + accountRef: + $ref: '#/components/schemas/Bill/definitions/billAccountRef' + totalAmount: 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 + description: 'Total amount of the line, including tax.' + taxRateRef: + $ref: '#/components/schemas/Bill/definitions/billTaxRateRef' + trackingRefs: + type: array + nullable: true + items: + $ref: '#/components/schemas/Bill/definitions/trackingRef' + billAccountRef: + title: Account reference type: object + description: Reference to the account to which the line item is linked. properties: id: type: string - description: Bank account 'id' for the account transaction. - name: + description: '''id'' from the Accounts data type.' + billTaxRateRef: + title: Tax rate reference + type: object + description: Reference to the tax rate to which the line item is linked. + properties: + id: 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 + description: Unique identifier for the tax rate in the accounting software. + bills: + title: Bills + type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/Bill' + pagination: + $ref: '#/components/schemas/Pagination' + trackingRef: + type: object + title: Tracking reference + properties: + id: + type: string + example: e9a1b63d-9ff0-40e7-8038-016354b987e6 + description: Unique identifier of the linked tracking category or the unique identifier of the linked customer. + dataType: + type: string + example: trackingCategories + description: The type of the linked reference. + enum: + - trackingCategories + - customers + isBillable: + type: boolean + description: If a customer has been set as the trackingRefs.id then this boolean can be used to set whether the line item is billable to the customer or not. + BillEventWebhook: x-internal: true - description: Webhook request body for a client that has reached their rate limit. + title: Bill event webhook 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' + id: + type: string + format: uuid + description: Unique identifier of the bill event. + type: + type: string + description: Type of webhook event. + example: payables.bill.created + createdDate: + type: string + description: The datetime in UTC of when the webhook event was produced by Codat. + examples: + - '2022-10-23T11:03:35Z' + payload: + $ref: '#/components/schemas/BillEventWebhook/definitions/billEventPayload' definitions: - ClientRateLimitReachedWebhookData: + billEventPayload: + title: Bill event payload 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 + companyId: + $ref: '#/components/parameters/companyId/schema' + connectionId: + $ref: '#/components/parameters/connectionId/schema' + pushOperationKey: + type: string + format: uuid + example: 2e9d2c44-f675-40ba-8049-353bfcb5e171 + description: Unique identifier for the push operation. + bill: + $ref: '#/components/schemas/Bill' + BillMappingOptions: x-internal: true - description: Webhook request body for a client that has had their rate limit reset. + title: Mapping options bills + description: The bill mapping options for a company's accounting software. + type: object + properties: + accounts: + type: array + items: + $ref: '#/components/schemas/BillMappingOptions/definitions/accountMappingOption' + taxRates: + type: array + items: + $ref: '#/components/schemas/BillMappingOptions/definitions/taxRateMappingOption' + pagination: + $ref: '#/components/schemas/Pagination' + definitions: + accountMappingOption: + title: Account mapping option + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the account, unique for the company.' + example: 1b6266d1-1e44-46c5-8eb5-a8f98e03124e + 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 Payable + type: + type: string + nullable: true + description: Type of account. + example: Liability + currency: + $ref: '#/components/schemas/Bill/properties/currency' + status: + $ref: '#/components/schemas/BillMappingOptions/definitions/accountStatus' + - $ref: '#/components/schemas/BankAccount/allOf/1' + taxRateMappingOption: + title: Tax rate mapping option + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the tax rate, unique for the company in the accounting software.' + example: d2939064-dd3a-4c0f-9865-a238c2193515 + name: + type: string + nullable: true + description: Codat-augmented name of the tax rate in the accounting software. + code: + type: string + nullable: true + description: Code for the tax rate from the accounting software. + effectiveTaxRate: + type: number + format: decimal + nullable: true + description: See Effective tax rates description. + totalTaxRate: + type: number + format: decimal + nullable: true + description: Total (not compounded) sum of the components of a tax rate. + status: + title: Tax rate status + type: string + enum: + - Active + - Archived + description: "Status of the tax rate in the accounting software. \n- `Active` - An active tax rate in use by a company. \n- `Archived` - A tax rate that has been archived or is inactive in the accounting software. " + accountStatus: + type: string + description: The current status of the account. + enum: + - Active + - Archived + example: Active + BillPayment: + title: Bill payment type: object + description: '' 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' + id: + type: string + description: 'Identifier for the bill payment, unique for the company in the accounting software.' + amount: + type: number + format: decimal + description: Amount of the payment in the bill currency. + example: 1329.54 + date: + allOf: + - $ref: '#/components/schemas/Connection/properties/created' + - description: Date the bill payment was recorded in the accounting software. + reference: + type: string + nullable: true + description: Additional information associated with the payment. + example: Bill Payment against bill c13e37b6-dfaa-4894-b3be-9fe97bda9f44 + accountRef: + $ref: '#/components/schemas/BillPayment/definitions/billPaymentAccountRef' + currencyRate: + $ref: '#/components/schemas/Bill/properties/currencyRate' definitions: - ClientRateLimitResetWebhookData: + billPaymentPrototype: + title: Bill payment prototype 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: + amount: + $ref: '#/components/schemas/BillPayment/properties/amount' + date: + $ref: '#/components/schemas/BillPayment/properties/date' + reference: + $ref: '#/components/schemas/BillPayment/properties/reference' + accountRef: + $ref: '#/components/schemas/BillPayment/definitions/billPaymentAccountRef' + currencyRate: + $ref: '#/components/schemas/Bill/properties/currencyRate' + required: + - amount + - date + - accountRef + billPaymentAccountRef: + description: Reference to the bank account / credit card which you are using to pay the bill. + type: object + properties: + id: 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' + description: Unique ID of the bank account / credit card + required: + - id + example: + amount: 22 + date: '2022-10-23T00:00:00.000Z' + reference: Bill Payment against bill c13e37b6 dfaa-4894-b3be-9fe97bda9f44 + accountRef: + id: 9e32cbf8-e7d5-4d4d-a593-08d550682aab + currencyRate: 1 ClientRateLimitWebhook: title: Client rate limit webhook type: object @@ -10507,7 +2337,7 @@ components: - client.rateLimit.reset - client.rateLimit.reached generatedDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: The date time in UTC the event was generated in Codat. payload: $ref: '#/components/schemas/ClientRateLimitWebhook/definitions/clientRateLimitWebhookPayload' @@ -10523,7 +2353,7 @@ components: type: integer description: Total number of requests remaining for your client. expiryDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: The date time in UTC when your daily quota is reset. Companies: title: Companies @@ -10538,7 +2368,7 @@ components: - $ref: '#/components/schemas/PagingInfo' Company: title: Company - description: "\uFEFF\x49\x6E\x20\x43\x6F\x64\x61\x74\x2C\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\x20\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5B\x58\x65\x72\x6F\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2F\x78\x65\x72\x6F\x2F\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2D\x78\x65\x72\x6F\x29\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x5B\x50\x6C\x61\x69\x64\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x62\x61\x6E\x6B\x69\x6E\x67\x2F\x70\x6C\x61\x69\x64\x2F\x62\x61\x6E\x6B\x69\x6E\x67\x2D\x70\x6C\x61\x69\x64\x29\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5B\x5A\x65\x74\x74\x6C\x65\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x63\x6F\x6D\x6D\x65\x72\x63\x65\x2F\x7A\x65\x74\x74\x6C\x65\x2F\x63\x6F\x6D\x6D\x65\x72\x63\x65\x2D\x7A\x65\x74\x74\x6C\x65\x29\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n\n\x54\x79\x70\x69\x63\x61\x6C\x6C\x79\x20\x65\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x69\x73\x20\x6F\x6E\x65\x20\x6F\x66\x20\x79\x6F\x75\x72\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x73\x2E\n\n\x57\x68\x65\x6E\x20\x79\x6F\x75\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2C\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x73\x70\x65\x63\x69\x66\x79\x20\x61\x20\x60\x6E\x61\x6D\x65\x60\x20\x61\x6E\x64\x20\x77\x65\x20\x77\x69\x6C\x6C\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x63\x61\x6C\x6C\x79\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x20\x61\x20\x75\x6E\x69\x71\x75\x65\x20\x60\x69\x64\x60\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x20\x59\x6F\x75\x20\x63\x61\x6E\x20\x61\x6C\x73\x6F\x20\x61\x64\x64\x20\x61\x20\x60\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x60\x20\x74\x6F\x20\x73\x74\x6F\x72\x65\x20\x61\x6E\x79\x20\x61\x64\x64\x69\x74\x69\x6F\x6E\x61\x6C\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x20\x61\x62\x6F\x75\x74\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E" + description: "\uFEFF\x49\x6E\x20\x43\x6F\x64\x61\x74\x2C\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x73\x68\x61\x72\x69\x6E\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x64\x61\x74\x61\x2E\x20\x45\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x5B\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x29\x20\x74\x6F\x20\x64\x69\x66\x66\x65\x72\x65\x6E\x74\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x73\x20\x73\x75\x63\x68\x20\x61\x73\x20\x6F\x6E\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5B\x58\x65\x72\x6F\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2F\x78\x65\x72\x6F\x2F\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2D\x78\x65\x72\x6F\x29\x20\x66\x6F\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x2C\x20\x74\x77\x6F\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x74\x6F\x20\x5B\x50\x6C\x61\x69\x64\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x62\x61\x6E\x6B\x69\x6E\x67\x2F\x70\x6C\x61\x69\x64\x2F\x62\x61\x6E\x6B\x69\x6E\x67\x2D\x70\x6C\x61\x69\x64\x29\x20\x66\x6F\x72\x20\x74\x77\x6F\x20\x62\x61\x6E\x6B\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x61\x6E\x64\x20\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x5B\x5A\x65\x74\x74\x6C\x65\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x63\x6F\x6D\x6D\x65\x72\x63\x65\x2F\x7A\x65\x74\x74\x6C\x65\x2F\x63\x6F\x6D\x6D\x65\x72\x63\x65\x2D\x7A\x65\x74\x74\x6C\x65\x29\x20\x66\x6F\x72\x20\x50\x4F\x53\x20\x64\x61\x74\x61\x2E\n\n\x54\x79\x70\x69\x63\x61\x6C\x6C\x79\x20\x65\x61\x63\x68\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x69\x73\x20\x6F\x6E\x65\x20\x6F\x66\x20\x79\x6F\x75\x72\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x73\x2E\n\n\x57\x68\x65\x6E\x20\x79\x6F\x75\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2C\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x73\x70\x65\x63\x69\x66\x79\x20\x61\x20\x60\x6E\x61\x6D\x65\x60\x20\x61\x6E\x64\x20\x77\x65\x20\x77\x69\x6C\x6C\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x63\x61\x6C\x6C\x79\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x20\x61\x20\x75\x6E\x69\x71\x75\x65\x20\x60\x69\x64\x60\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x20\x59\x6F\x75\x20\x63\x61\x6E\x20\x61\x6C\x73\x6F\x20\x61\x64\x64\x20\x61\x20\x60\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x60\x20\x74\x6F\x20\x73\x74\x6F\x72\x65\x20\x61\x6E\x79\x20\x61\x64\x64\x69\x74\x69\x6F\x6E\x61\x6C\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x20\x61\x62\x6F\x75\x74\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E" type: object allOf: - $ref: '#/components/schemas/Company/definitions/companyDetails' @@ -10568,10 +2398,10 @@ components: 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' + $ref: '#/components/schemas/Connection/properties/created' nullable: true created: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' createdByUserName: type: string description: Name of user that created the company in Codat. @@ -10647,232 +2477,22 @@ components: 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' + products: + - spend-insights + - lending CompanyInformation: - title: 'Accounting: Company information' - description: "Company info provides standard details about a linked company such as their address, phone number, and company registration.\n\n> **Company information or companies?**\n> \n> Company information is standard information that is held in the accounting software about a company. `Companies` is an endpoint that lists businesses in the Codat system that have linked and shared their data sources." + title: Company information type: object + description: Gets the latest basic info for a company. properties: companyName: type: string nullable: true description: Name of the linked company. - accountingPlatformRef: - type: string - nullable: true - description: Identifier or reference for the company in the accounting software. - companyLegalName: - type: string - nullable: true - description: Registered legal name of the linked company. - addresses: - type: array - nullable: true - description: An array of Addresses. - items: - title: 'Accounting: Address' - x-internal: true - type: object - properties: - type: - $ref: '#/components/schemas/CompanyInformation/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 - phoneNumbers: - 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/CompanyInformation/properties/phoneNumbers/items/definitions/phoneNumberType' - required: - - type - definitions: - phoneNumberType: - description: The type of phone number - type: string - enum: - - Primary - - Landline - - Mobile - - Fax - - Unknown - webLinks: - type: array - nullable: true - description: An array of weblinks. - items: - title: Weblink - description: Weblink associated with the company. - type: object - properties: - type: - description: The type of the weblink. - type: string - enum: - - Website - - Social - - Unknown - url: - description: The full URL for the weblink. - type: string - format: url - example: - type: Website - url: 'https://codat.io' - ledgerLockDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: 'If set in the accounting software, the date (in the ISO 8601 date/time format) after which accounting transactions cannot be edited. Commonly used when books are closed at year-end.' - registrationNumber: - type: string - nullable: true - description: Registration number given to the linked company by the companies authority in the country of origin. In the UK this is Companies House. - taxNumber: - type: string - nullable: true - description: Company tax number. - financialYearStartDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: Start date of the financial year for the company. - baseCurrency: - type: string - nullable: true - description: Currency set in the accounting software of the linked company. Used by the currency rate. - sourceUrls: - type: object - additionalProperties: - type: string - nullable: true - nullable: true - description: |- - URL addresses for the accounting source. - - For example, for Xero integrations two URLs are returned. These have many potential use cases, such as [deep linking](https://developer.xero.com/documentation/api-guides/deep-link-xero). - createdDate: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' - description: Date the linked company was created in the accounting software. - supplementalData: - $ref: '#/components/schemas/SupplementalData' - examples: - - companyName: ACME Corporation - accountingPlatformRef: 4444e827-401b-4925-92cb-d79086bf3b6b - companyLegalName: ACME Corporation Ltd. - addresses: - - type: Billing - line1: Warner House - line2: 98 Theobald's Road - city: London - region: '' - country: United Kingdom - postalcode: WC1X 8WB - - type: Unknown - line1: 123 Sierra Way - line2: '' - city: San Pablo - region: CA - country: '' - postalCode: '87999' - phoneNumbers: - - number: 010 1234 5678 - type: Landline - webLinks: - - type: Website - url: 'https://www.wbsl.com/' - ledgerLockDate: '2019-03-04T12:08:01.881Z' - registrationNumber: '1234567890' - taxNumber: GB 123456789 - financialYearStartDate: '2019-04-01T00:00:00Z' - baseCurrency: USD - sourceUrls: - url1: 'https://go.xero.com/organisationlogin/default.aspx?shortcode=!rxs0Q' - url2: 'https://reporting.xero.com/!rxs0Q' - createdDate: '2020-02-03T16:42:02Z' + baseCurrency: + type: string + nullable: true + description: Currency set in the accounting software of the linked company. Used by the currency rate. CompanyRequestBody: title: Create company request x-internal: true @@ -10892,73 +2512,24 @@ components: $ref: '#/components/schemas/Company/definitions/companyDetails/properties/tags' required: - name - CompanySyncStatus: - title: Company sync status + CompanyUpdateRequest: + title: Update company request + x-internal: true 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: + name: 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. + description: Name of company being connected. + pattern: '^[A-Za-z0-9\s\-'',&@.,?!\s]+$' + minLength: 1 + example: Bank of Dave + description: + $ref: '#/components/schemas/CompanyRequestBody/properties/description' + tags: + $ref: '#/components/schemas/Company/definitions/companyDetails/properties/tags' Connection: title: Connection - description: "\uFEFF\x41\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x27\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x65\x78\x70\x65\x6E\x73\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x61\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x20\x61\x6E\x64\x20\x61\x6C\x6C\x6F\x77\x73\x20\x79\x6F\x75\x20\x74\x6F\x20\x73\x79\x6E\x63\x68\x72\x6F\x6E\x69\x7A\x65\x20\x64\x61\x74\x61\x20\x28\x70\x75\x6C\x6C\x20\x61\x6E\x64\x2F\x6F\x72\x20\x70\x75\x73\x68\x29\x20\x77\x69\x74\x68\x20\x74\x68\x61\x74\x20\x73\x6F\x75\x72\x63\x65\x2E\n\n\x41\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x64\x61\x74\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x64\x65\x70\x65\x6E\x64\x69\x6E\x67\x20\x6F\x6E\x20\x74\x68\x65\x20\x74\x79\x70\x65\x20\x6F\x66\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x20\x69\x74\x20\x69\x73\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67\x20\x74\x6F\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x6C\x69\x6E\x6B\x20\x74\x6F\x3A\n\n\x2D\x20\x5B\x41\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2D\x61\x70\x69\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x20\x2D\x20\x31\x20\x61\x63\x74\x69\x76\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\n\x2D\x20\x5B\x42\x61\x6E\x6B\x69\x6E\x67\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x62\x61\x6E\x6B\x69\x6E\x67\x2D\x61\x70\x69\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x20\x2D\x20\x4D\x75\x6C\x74\x69\x70\x6C\x65\x20\x61\x63\x74\x69\x76\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x2E\n\x2D\x20\x5B\x43\x6F\x6D\x6D\x65\x72\x63\x65\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x63\x6F\x6D\x6D\x65\x72\x63\x65\x2D\x61\x70\x69\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x20\x2D\x20\x4D\x75\x6C\x74\x69\x70\x6C\x65\x20\x61\x63\x74\x69\x76\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x2E\n\x41\x6E\x79\x20\x63\x6F\x6D\x62\x69\x6E\x61\x74\x69\x6F\x6E\x20\x6F\x66\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2C\x20\x62\x61\x6E\x6B\x69\x6E\x67\x2C\x20\x61\x6E\x64\x20\x63\x6F\x6D\x6D\x65\x72\x63\x65\x20\x64\x61\x74\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x69\x73\x20\x61\x6C\x6C\x6F\x77\x65\x64\x2E\n\n\x42\x65\x66\x6F\x72\x65\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x75\x73\x65\x20\x61\x20\x64\x61\x74\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x70\x75\x6C\x6C\x20\x6F\x72\x20\x70\x75\x73\x68\x20\x64\x61\x74\x61\x2C\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x6D\x75\x73\x74\x20\x67\x72\x61\x6E\x74\x20\x79\x6F\x75\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x64\x61\x74\x61\x20\x62\x79\x20\x5B\x6C\x69\x6E\x6B\x69\x6E\x67\x20\x74\x68\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x61\x75\x74\x68\x2D\x66\x6C\x6F\x77\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x2E" + description: "\uFEFF\x41\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x72\x65\x70\x72\x65\x73\x65\x6E\x74\x73\x20\x61\x20\x5B\x63\x6F\x6D\x70\x61\x6E\x79\x27\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x43\x6F\x6D\x70\x61\x6E\x79\x29\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x61\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x20\x61\x6E\x64\x20\x61\x6C\x6C\x6F\x77\x73\x20\x79\x6F\x75\x20\x74\x6F\x20\x73\x79\x6E\x63\x68\x72\x6F\x6E\x69\x7A\x65\x20\x64\x61\x74\x61\x20\x28\x70\x75\x6C\x6C\x20\x61\x6E\x64\x2F\x6F\x72\x20\x70\x75\x73\x68\x29\x20\x77\x69\x74\x68\x20\x74\x68\x61\x74\x20\x73\x6F\x75\x72\x63\x65\x2E\n\n\x41\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x68\x61\x76\x65\x20\x6D\x75\x6C\x74\x69\x70\x6C\x65\x20\x64\x61\x74\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x64\x65\x70\x65\x6E\x64\x69\x6E\x67\x20\x6F\x6E\x20\x74\x68\x65\x20\x74\x79\x70\x65\x20\x6F\x66\x20\x64\x61\x74\x61\x20\x73\x6F\x75\x72\x63\x65\x20\x69\x74\x20\x69\x73\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67\x20\x74\x6F\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x63\x61\x6E\x20\x6C\x69\x6E\x6B\x20\x74\x6F\x3A\n\n\x2D\x20\x5B\x41\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2D\x61\x70\x69\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x20\x2D\x20\x31\x20\x61\x63\x74\x69\x76\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\n\x2D\x20\x5B\x42\x61\x6E\x6B\x69\x6E\x67\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x62\x61\x6E\x6B\x69\x6E\x67\x2D\x61\x70\x69\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x20\x2D\x20\x4D\x75\x6C\x74\x69\x70\x6C\x65\x20\x61\x63\x74\x69\x76\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x2E\n\x2D\x20\x5B\x43\x6F\x6D\x6D\x65\x72\x63\x65\x20\x64\x61\x74\x61\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x63\x6F\x6D\x6D\x65\x72\x63\x65\x2D\x61\x70\x69\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x20\x2D\x20\x4D\x75\x6C\x74\x69\x70\x6C\x65\x20\x61\x63\x74\x69\x76\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x2E\n\x41\x6E\x79\x20\x63\x6F\x6D\x62\x69\x6E\x61\x74\x69\x6F\x6E\x20\x6F\x66\x20\x61\x63\x63\x6F\x75\x6E\x74\x69\x6E\x67\x2C\x20\x62\x61\x6E\x6B\x69\x6E\x67\x2C\x20\x61\x6E\x64\x20\x63\x6F\x6D\x6D\x65\x72\x63\x65\x20\x64\x61\x74\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73\x20\x69\x73\x20\x61\x6C\x6C\x6F\x77\x65\x64\x2E\n\n\x42\x65\x66\x6F\x72\x65\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x75\x73\x65\x20\x61\x20\x64\x61\x74\x61\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x74\x6F\x20\x70\x75\x6C\x6C\x20\x6F\x72\x20\x70\x75\x73\x68\x20\x64\x61\x74\x61\x2C\x20\x74\x68\x65\x20\x63\x6F\x6D\x70\x61\x6E\x79\x20\x6D\x75\x73\x74\x20\x67\x72\x61\x6E\x74\x20\x79\x6F\x75\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6F\x20\x74\x68\x65\x69\x72\x20\x62\x75\x73\x69\x6E\x65\x73\x73\x20\x64\x61\x74\x61\x20\x62\x79\x20\x5B\x6C\x69\x6E\x6B\x69\x6E\x67\x20\x74\x68\x65\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x61\x75\x74\x68\x2D\x66\x6C\x6F\x77\x2F\x6F\x76\x65\x72\x76\x69\x65\x77\x29\x2E" type: object properties: id: @@ -11000,10 +2571,15 @@ components: status: $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus' lastSync: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' nullable: true created: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + title: Date time + type: string + examples: + - '2022-10-23T00:00:00Z' + - '2022-10-23' + 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:\n\n```\n2020-10-08T22:40:50Z\n2021-01-01T00:00:00\n```\n\n\n\nWhen syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:\n\n- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`\n- Unqualified local time: `2021-11-15T01:00:00`\n- UTC time offsets: `2021-11-15T01:00:00-05:00`\n\n> Time zones\n> \n> Not all dates from Codat will contain information about time zones. \n> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced." dataConnectionErrors: type: array nullable: true @@ -11012,8 +2588,7 @@ components: connectionInfo: type: object nullable: true - additionalProperties: - type: string + additionalProperties: true additionalProperties: false required: - id @@ -11049,7 +2624,7 @@ components: type: string description: A message about a error returned by Codat. erroredOnUtc: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' status: title: Error status description: The current status of a transient error. Null statuses indicate that the error is not transient. @@ -11061,7 +2636,7 @@ components: resolvedOnUtc: description: The datetime in Utc that the error was resolved. nullable: true - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' dataConnectionSourceType: title: Source Type description: The type of platform of the connection. @@ -11097,215 +2672,12 @@ components: 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: | - ## 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: - $ref: '#/components/schemas/CompanyInformation/properties/addresses/items' - 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: - $ref: '#/components/schemas/CompanyInformation/properties/phoneNumbers/items' - address: - $ref: '#/components/schemas/CompanyInformation/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: @@ -11359,7 +2731,7 @@ components: - commerce-transactions example: invoices lastSuccessfulSync: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' currentStatus: $ref: '#/components/schemas/PullOperation/properties/status' latestSyncId: @@ -11378,12 +2750,6 @@ components: 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' @@ -11445,287 +2811,14 @@ components: 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.\n\nCurrency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit. \n\nIt 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.\n\nWhere 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). \n\nFor accounting software which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.\n\n## Examples with base currency of GBP\n\n| Foreign Currency | Foreign Amount | Currency Rate | Base Currency Amount (GBP) |\n| :--------------- | :------------- | :------------ | :------------------------- |\n| **USD** | $20 | 0.781 | £15.62 |\n| **EUR** | €20 | 0.885 | £17.70 |\n| **RUB** | ₽20 | 0.011 | £0.22 |\n\n## Examples with base currency of USD\n\n| Foreign Currency | Foreign Amount | Currency Rate | Base Currency Amount (USD) |\n| :--------------- | :------------- | :------------ | :------------------------- |\n| **GBP** | £20 | 1.277 | $25.54 |\n| **EUR** | €20 | 1.134 | $22.68 |\n| **RUB** | ₽20 | 0.015 | $0.30 |\n\n\n### Integration-specific details\n\n| Integration | Scenario | System behavior |\n|-------------------|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 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: + Pagination: + title: Pagination metadata 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: + continuationToken: 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' + description: 'A continuation token indicating there are more results to be fetched. Supply this value in the `continuationToken` query parameter in the next request to fetch the next set of results. Once no more results are available, the continuation token will not be present in the response.' PagingInfo: type: object title: Pagination information @@ -11786,6 +2879,69 @@ components: href: '/companies/{id}/data/{dataType}' current: href: '/companies/{id}/data/{dataType}?page=1&pageSize=10' + PaymentMappingOptions: + x-internal: true + title: Mapping Options Payments + description: Gets the bill payments mapping options for a company's accounting software + type: object + properties: + bankAccounts: + type: array + items: + $ref: '#/components/schemas/PaymentMappingOptions/definitions/bankAccountMappingOption' + pagination: + $ref: '#/components/schemas/Pagination' + definitions: + bankAccountMappingOption: + title: Bank account mapping option + type: object + allOf: + - properties: + id: + type: string + description: 'Identifier for the account, unique for the company in the accounting software.' + example: 3d5a8e00-d108-4045-8823-7f342676cffa + name: + type: string + nullable: true + description: Name of the bank account in the accounting software. + example: Bank of Dave current account + 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. + 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. + currency: + type: string + nullable: true + description: The bank account's base currency. + status: + $ref: '#/components/schemas/PaymentMappingOptions/definitions/bankAccountStatus' + accountType: + $ref: '#/components/schemas/BankAccountType' + - $ref: '#/components/schemas/BankAccount/allOf/1' + bankAccountStatus: + type: string + description: The current status of the bank account. + enum: + - Active + - Archived + example: Active PullOperation: title: Pull operation description: |- @@ -11849,9 +3005,9 @@ components: 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' + $ref: '#/components/schemas/Connection/properties/created' completed: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' progress: type: integer description: An integer signifying the progress of the pull operation. @@ -11916,10 +3072,10 @@ components: dataConnectionKey: $ref: '#/components/parameters/connectionId/schema' requestedOnUtc: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: The datetime when the push was requested. completedOnUtc: - $ref: '#/components/schemas/TransferTransactionRequest/properties/date/allOf/1' + $ref: '#/components/schemas/Connection/properties/created' description: 'The datetime when the push was completed, null if Pending.' timeoutInMinutes: type: integer @@ -12018,946 +3174,156 @@ components: 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. \n\nIt 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: |- - ## 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/CompanyInformation/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: + $ref: '#/components/schemas/PushOperation/definitions/pushChangeType' + recordRef: + $ref: '#/components/schemas/PushOperation/definitions/pushOperationRef' + attachmentId: 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 + 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' + Supplier: + title: Supplier + description: "\uFEFF\x53\x75\x70\x70\x6C\x69\x65\x72\x73\x20\x61\x72\x65\x20\x70\x65\x6F\x70\x6C\x65\x20\x6F\x72\x20\x6F\x72\x67\x61\x6E\x69\x7A\x61\x74\x69\x6F\x6E\x73\x20\x74\x68\x61\x74\x20\x70\x72\x6F\x76\x69\x64\x65\x20\x73\x6F\x6D\x65\x74\x68\x69\x6E\x67\x2C\x20\x73\x75\x63\x68\x20\x61\x73\x20\x61\x20\x70\x72\x6F\x64\x75\x63\x74\x20\x6F\x72\x20\x73\x65\x72\x76\x69\x63\x65\x2E\x20\x55\x73\x65\x20\x74\x68\x65\x20\x5B\x4C\x69\x73\x74\x20\x73\x75\x70\x70\x6C\x69\x65\x72\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x76\x32\x2D\x61\x70\x69\x23\x2F\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E\x73\x2F\x6C\x69\x73\x74\x2D\x73\x75\x70\x70\x6C\x69\x65\x72\x73\x29\x20\x65\x6E\x64\x70\x6F\x69\x6E\x74\x20\x74\x6F\x20\x72\x65\x74\x72\x69\x65\x76\x65\x20\x61\x20\x6C\x69\x73\x74\x20\x6F\x66\x20\x61\x6C\x6C\x20\x73\x75\x70\x70\x6C\x69\x65\x72\x73\x20\x66\x6F\x72\x20\x61\x20\x63\x6F\x6D\x70\x61\x6E\x79\x2E\n\n\x53\x75\x70\x70\x6C\x69\x65\x72\x73\x27\x20\x64\x61\x74\x61\x20\x6C\x69\x6E\x6B\x73\x20\x74\x6F\x20\x61\x63\x63\x6F\x75\x6E\x74\x73\x20\x70\x61\x79\x61\x62\x6C\x65\x20\x5B\x62\x69\x6C\x6C\x73\x5D\x28\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x63\x73\x2E\x63\x6F\x64\x61\x74\x2E\x69\x6F\x2F\x73\x79\x6E\x63\x2D\x66\x6F\x72\x2D\x70\x61\x79\x61\x62\x6C\x65\x73\x2D\x76\x32\x2D\x61\x70\x69\x23\x2F\x73\x63\x68\x65\x6D\x61\x73\x2F\x42\x69\x6C\x6C\x29\x2E\n\x20" 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: + description: 'Identifier for the supplier, unique to the company in the accounting software.' + supplierName: type: string - description: Name of the tax rate in the accounting software. - example: 20% Bill tax Bills - nullable: false - code: + description: 'Name of the supplier as recorded in the accounting system, typically the company name.' + contactName: 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: + description: Name of the main contact for the supplier. + emailAddress: 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: + description: Email address that the supplier may be contacted on. + phone: type: string - description: Your unique idenfier of the transaction. - example: aa02271d-ed5f-47f5-be76-778d5905225a 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/Address' status: - $ref: '#/components/schemas/TransactionStatus' - message: - type: string - description: Metadata such as validation errors or the resulting record created in the accounting software. + $ref: '#/components/schemas/Supplier/definitions/supplierStatus' + balance: + type: number + format: decimal 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: + description: Amount outstanding against the supplier. + defaultCurrency: type: string - description: 'Any private, company notes about the transaction.' - example: Transfer from bank account Y to bank account Z - date: + nullable: true + description: Default currency the supplier's transactional data is recorded in. + sourceModifiedDate: 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:\n\n```\n2020-10-08T22:40:50Z\n2021-01-01T00:00:00\n```\n\n\n\nWhen syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:\n\n- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`\n- Unqualified local time: `2021-11-15T01:00:00`\n- UTC time offsets: `2021-11-15T01:00:00-05:00`\n\n> Time zones\n> \n> Not all dates from Codat will contain information about time zones. \n> 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: + - $ref: '#/components/schemas/Connection/properties/created' + - description: "The date when a record was last modified in the accounting software, usually by the business or a business process. For example, when payments are made against an invoice. \n\nIt is not populated ([read more](https://docs.codat.io/using-the-api/modified-dates#source-modified-date)) when:\n - Pulling attachments\n - The accounting software does not provide modification dates for a data type\n - A record has been deleted from the source platform and Codat doesn't have a record of when the deletion occurred\n - A record has been voided. For certain platforms that soft delete records, `isDeleted` metadata is used to identify void records\n\nIn Codat's data model, dates and times are represented using the ISO 8601 standard." + definitions: + supplierPrototype: + title: Supplier prototype 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. + supplierName: + $ref: '#/components/schemas/Supplier/properties/supplierName' + contactName: + $ref: '#/components/schemas/Supplier/properties/contactName' + emailAddress: + $ref: '#/components/schemas/Supplier/properties/emailAddress' + phone: + $ref: '#/components/schemas/Supplier/properties/phone' + addresses: + $ref: '#/components/schemas/Supplier/properties/addresses' + status: + $ref: '#/components/schemas/Supplier/definitions/supplierStatus' + balance: + $ref: '#/components/schemas/Supplier/properties/balance' + defaultCurrency: + $ref: '#/components/schemas/Supplier/properties/defaultCurrency' required: - - accountRef - - amount - to: + - supplierName + - status + supplierRef: + title: Supplier reference + description: Reference to the supplier the record relates 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. + id: + minLength: 1 + type: string + description: The supplier's unique ID + supplierName: + type: string + nullable: true + description: The supplier's name 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: + - id + supplierStatus: + description: Status of the supplier. 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: + - Unknown + - Active + - Archived + suppliers: + title: Suppliers 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. + results: + type: array + items: + $ref: '#/components/schemas/Supplier' + pagination: + $ref: '#/components/schemas/Pagination' 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' - validFor: - title: Valid endpoints - x-internal: true - type: array - description: Supported endpoints for the account. - nullable: false - items: - type: string - enum: - - expense-transactions.Payment - - expense-transactions.Refund - - expense-transactions.Reward - - expense-transactions.Chargeback - - reimbursable-expense-transactions - - transfer-transactions - - adjustment-transactions - example: expense-transactions.Payment - 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 + - id: C520FFD4-F6F6-4FC2-A6D2-5D7088B2B14F + supplierName: Kelly's Industrial Supplies + contactName: Kelly Ipsum + 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' + status: Active + amount: 100 + defaultCurrency: GBP + sourceModifiedDate: '2022-10-23T00:00:00Z' parameters: - syncId: - name: syncId + attachmentId: + name: attachmentId 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. + example: 8a210b68-6988-11ed-a1eb-0242ac120002 + description: Unique identifier for an attachment. page: name: page in: query @@ -12995,6 +3361,18 @@ components: type: string example: '-modifiedDate' description: 'Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).' + billId: + name: billId + in: path + required: true + schema: + type: string + examples: + - 13d946f0-c5d5-42bc-b092-97ece17923ab + - 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2 + - 7110701885 + - EILBDVJVNUAGVKRQ + description: Unique identifier for a bill. companyId: name: companyId in: path @@ -13015,58 +3393,22 @@ components: 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: - - 13d946f0-c5d5-42bc-b092-97ece17923ab - - 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2 - - 7110701885 - - EILBDVJVNUAGVKRQ - 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 + continuationToken: + name: continuationToken in: query + required: false schema: - type: boolean - default: true - description: Allow a sync upon push completion. - forceUpdate: - name: forceUpdate + type: string + example: continuationToken=eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ== + description: Retrieve the next page of results using the continuation token from the previous response. + statusQuery: + name: statusQuery in: query + required: false 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.' + type: string + example: status=Archived + description: 'Codat query string allows you to filter by `status` (`status=Active||status=Archived`). [Learn more](https://docs.codat.io/using-the-api/querying) about Codat''s query string.' responses: BadRequest: description: The request made is not valid. @@ -13204,8 +3546,8 @@ components: 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. + Idempotency-Conflict: + description: A request is in progress with the same idempotency key. content: application/json: schema: @@ -13213,10 +3555,10 @@ components: examples: Conflict: value: - statusCode: 422 - service: ExpenseSyncApi - error: Expense transaction updates are not supported for platforms other than Xero. - correlationId: 7c8e23841d211c87f49f30b248f70c93 + statusCode: 409 + service: PublicApi + error: The data set has not been requested. + correlationId: bc997528a9d7abb9161ef45f05d38599 canBeRetried: Unknown detailedErrorCode: 0 Too-Many-Requests: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index c0e2fca45..852fda50c 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.750.0 +speakeasyVersion: 1.759.1 sources: accounting-source: sourceNamespace: accounting-source @@ -83,11 +83,10 @@ sources: - prealpha sync-for-payables-source: sourceNamespace: sync-for-payables-source - sourceRevisionDigest: sha256:9bd9e36fdb60e3d73fe7cc209c24ce0325919a523acec3edd84ee2f26420bedc - sourceBlobDigest: sha256:59b5c9d3aa1a43fa4186c6ae1bf1108bf40d44d22f65ed6118b763574e0cf669 + sourceRevisionDigest: sha256:ee10928721af392894e08438793212efd7a6b75bbdee31aed74521b3b8c94140 + sourceBlobDigest: sha256:1b409571a17993221df3a8ee7fff2170733baceb19a51740c47ffcc1ee7a31fd tags: - latest - - speakeasy-sdk-regen-1770645503 - 3.0.0 sync-for-payables-version-1-source: sourceNamespace: sync-for-payables-version-1-source @@ -165,10 +164,10 @@ targets: sync-for-payables-library: source: sync-for-payables-source sourceNamespace: sync-for-payables-source - sourceRevisionDigest: sha256:9bd9e36fdb60e3d73fe7cc209c24ce0325919a523acec3edd84ee2f26420bedc - sourceBlobDigest: sha256:59b5c9d3aa1a43fa4186c6ae1bf1108bf40d44d22f65ed6118b763574e0cf669 + sourceRevisionDigest: sha256:ee10928721af392894e08438793212efd7a6b75bbdee31aed74521b3b8c94140 + sourceBlobDigest: sha256:1b409571a17993221df3a8ee7fff2170733baceb19a51740c47ffcc1ee7a31fd codeSamplesNamespace: sync-for-payables-source-python-code-samples - codeSamplesRevisionDigest: sha256:11e61ee9fcccdc977591687b180bc770563288e40fab86f70914cf7312df184d + codeSamplesRevisionDigest: sha256:84575811630fe65d8450f180cc068a6bf069134e57d1c8de1af248cc041ee255 sync-for-payables-version-1-library: source: sync-for-payables-version-1-source sourceNamespace: sync-for-payables-version-1-source diff --git a/sync-for-payables/.speakeasy/gen.lock b/sync-for-payables/.speakeasy/gen.lock index cb06efb24..29d5809a1 100644 --- a/sync-for-payables/.speakeasy/gen.lock +++ b/sync-for-payables/.speakeasy/gen.lock @@ -1,40 +1,40 @@ lockVersion: 2.0.0 id: 0722f07c-657c-4062-93f1-39ee3fe757d0 management: - docChecksum: 2c97e4172eda0b5a31c6dc31f428235d + docChecksum: 66b675d1d723d12ccffb437a1e3793aa docVersion: 3.0.0 - speakeasyVersion: 1.709.1 - generationVersion: 2.812.2 - releaseVersion: 9.0.0 - configChecksum: 678339eae8c9d3fd396e8b997badc659 + speakeasyVersion: 1.759.1 + generationVersion: 2.869.10 + releaseVersion: 9.0.1 + configChecksum: de9a217f3430843f1a133462179b6aba repoURL: https://github.com/codatio/client-sdk-python.git repoSubDirectory: sync-for-payables installationURL: https://github.com/codatio/client-sdk-python.git#subdirectory=sync-for-payables published: true persistentEdits: - generation_id: 26ca609b-a663-4d2b-8693-a9ab4801007d - pristine_commit_hash: 7669a2d4e5e8745ff352d913c99a440e738e491e - pristine_tree_hash: 32756ec7019b491a6a5cd578646ac0b4db873843 + generation_id: 66102a79-af79-456d-b932-bcd1f943ee15 + pristine_commit_hash: ca2606c5face54e4524a2a890c4ed887844d0e92 + pristine_tree_hash: f08ed44c3289c9da253f763830166d6a6a985107 features: python: additionalDependencies: 1.0.0 - constsAndDefaults: 1.0.6 - core: 6.0.4 + constsAndDefaults: 1.0.7 + core: 6.0.20 decimal: 1.0.0 defaultEnabledRetries: 0.2.0 downloadStreams: 1.0.1 - enumUnions: 0.1.0 + enumUnions: 0.1.1 envVarSecurityUsage: 0.3.2 - examples: 3.0.2 + examples: 3.0.3 globalSecurity: 3.0.5 globalSecurityCallbacks: 1.0.0 - globalServerURLs: 3.2.0 + globalServerURLs: 3.2.1 methodArguments: 1.0.2 multipartFileContentType: 1.0.0 - nameOverrides: 3.0.1 + nameOverrides: 3.0.3 nullables: 1.0.2 responseFormat: 1.1.0 - retries: 3.0.3 + retries: 3.0.4 sdkHooks: 1.2.1 serverEventsSentinels: 0.1.0 uploadStreams: 1.0.0 @@ -152,6 +152,10 @@ trackedFiles: id: 8d0c2e6362d6 last_write_checksum: sha1:be91cfd4b67e08879309ffcfe76805508161ad72 pristine_git_object: d2d812198486c616edb02b5791f8f3a7511c7f0a + docs/models/operations/updatesupplierrequest.md: + id: b7f6cf235793 + last_write_checksum: sha1:24497e2ae050fe9d12be918ad0747c96ef0ea2b7 + pristine_git_object: 9a051fa2f4878a3eb957c28ced8ad2d441f44923 docs/models/operations/uploadbillattachmentrequest.md: id: 0aa2c6974fce last_write_checksum: sha1:7431c2098c566e0fa493c09a3d2fb951fdcef01b @@ -162,16 +166,16 @@ trackedFiles: pristine_git_object: 1c1d6008832fcfb74b00b356eeebbb027378e417 docs/models/shared/accountstatus.md: id: 4cde87c0bb51 - last_write_checksum: sha1:02d874ca35623d94c0157ba9d2dd795d0ede877f - pristine_git_object: 25850a47c26263a7cbd0bb589f07a55bb0fb93fd + last_write_checksum: sha1:724f5ce3748e39f887a1aa010a59dc9fa7cbe9fd + pristine_git_object: 25d7260e098f93057f4f1763c8493e18fe23a89a docs/models/shared/address.md: id: 788f11abd93f - last_write_checksum: sha1:cf1330926875df173ba876a662b995a7a1e74d1b - pristine_git_object: 5772213eb7d02dfda9099f352a06e024e63a1f89 + last_write_checksum: sha1:205b86f8ba7316611920917bb94b6693d9d80c93 + pristine_git_object: 331efc47cfbd3a06acc5fd957c0f0514f7057bbc docs/models/shared/addresstype.md: id: 03af29105952 - last_write_checksum: sha1:572e6a019a91981ca3bd3ecb3f04579b2e0004d3 - pristine_git_object: 5de1e6e1a3d3a1454efd5f68e641bff5d3e78d44 + last_write_checksum: sha1:67937b11719c72d20adc3a264aa0bff5e75a54ea + pristine_git_object: 496df553c395d32c1ba99f3883eb7da2e647205f docs/models/shared/attachment.md: id: 3e31336af04a last_write_checksum: sha1:669d7ca89b320bee1ad17ccdf8fe3bd1142eeb7a @@ -194,12 +198,12 @@ trackedFiles: pristine_git_object: a16edf50bec68f8fa1069eb7654d0d7c452459be docs/models/shared/bankaccountstatus.md: id: 021a83bbf7b9 - last_write_checksum: sha1:fd78426a22650e15f139e399186d04ca2ea4ea11 - pristine_git_object: 86abe214ab650673bc547d47bf52f34c2fed86c8 + last_write_checksum: sha1:8077204654d0a439d0c06c9861af0570e551f640 + pristine_git_object: 5917acb4c233715171fe32516f5ca154a930242d docs/models/shared/bankaccounttype.md: id: 9b7d8afc1f13 - last_write_checksum: sha1:7d649798a5f314651af3ac2e77f3cf409822a464 - pristine_git_object: a995a4e524bdd3256b0050ede93802c91fbf53ce + last_write_checksum: sha1:89af36af8a146439c7f1c59ae848f3a1df9ebbe2 + pristine_git_object: 7186a1bf557e7dbe2d89bf09f15eb1e0ef12d325 docs/models/shared/bill.md: id: 2d735f223ca0 last_write_checksum: sha1:f2ff59c23bb2d515361eee2b7f01bd8c4e6c2b57 @@ -238,8 +242,8 @@ trackedFiles: pristine_git_object: 58122acd20eec65770f8885149b8b0631671c97d docs/models/shared/billstatus.md: id: 0f98505d2835 - last_write_checksum: sha1:29d93aea2465786717c5b59c062a7d2e6455906b - pristine_git_object: 61bf740c222cb102b9825709e43a6b8a3a8e5fbe + last_write_checksum: sha1:8bbed619b0591766174d617e53e0112c5e10c757 + pristine_git_object: f3991cbb0e6d422052f1a88435e2d4355a83a995 docs/models/shared/billtaxrateref.md: id: d83ee0d22ada last_write_checksum: sha1:bbf08dc0016f96dfd9e6d60da991c20fdb680348 @@ -298,16 +302,16 @@ trackedFiles: pristine_git_object: e381d128ee7df286c9fd54b4c932daf5ffeae586 docs/models/shared/dataconnectionstatus.md: id: 4703bf7d9519 - last_write_checksum: sha1:8ae1df338192f7af309a68358a7c6f4782181e70 - pristine_git_object: 4e79f5d5a49ea486f8c200c95d6a3e96c462b055 + last_write_checksum: sha1:c235510647e0bb881830723304f5ba200244961a + pristine_git_object: fd6fe9193361d56ef253554d09a81b611bf3a781 docs/models/shared/datatype.md: id: b71835d2a72b - last_write_checksum: sha1:823b4f90ed6b0ebe9807648b58feb6071cbbd0d9 - pristine_git_object: 1eef426e28199930c27127bb98a887edafab8a04 + last_write_checksum: sha1:1598709ce41ecd77deb4c1178bdd164182966473 + pristine_git_object: f526e4580f2a68f1b922ac6bead8d09959749520 docs/models/shared/errorstatus.md: id: 080dc9ade2a1 - last_write_checksum: sha1:c834679da809f9e78d098bac835d4f7a50f366e0 - pristine_git_object: 02c0ec3d937eb4f4f3eb91cce15adacf83e689e8 + last_write_checksum: sha1:0c898dab71a22cea3b41f827df251b176203c241 + pristine_git_object: 0518d7fde5fba8f22c5598ab64492c978896a250 docs/models/shared/errorvalidation.md: id: 16c1cb223d2f last_write_checksum: sha1:95c0612deeeffbcdad88e43e6ac3b9c5a27dbc5b @@ -338,8 +342,8 @@ trackedFiles: pristine_git_object: 2b68bd0e737786201357cb36c00787f0689e6bbf docs/models/shared/sourcetype.md: id: 89991911fb97 - last_write_checksum: sha1:d51207165a69ba6f7a95db1068d52a3a487a9eb8 - pristine_git_object: 2daec8ef3f42428cf294b01a5c06796dfa5d8d60 + last_write_checksum: sha1:2897e33a2384db6eaa5ee1bc20bf9004ac9f1e18 + pristine_git_object: b904d62d7a2adaf21fc9160e900f119adf47d6c9 docs/models/shared/supplier.md: id: f468b19e04fe last_write_checksum: sha1:66a864e4850aa023fd52d01b43185bd794a2059c @@ -358,16 +362,16 @@ trackedFiles: pristine_git_object: e7cd1343801e1c25ff6cf95a2bcca9264f97b293 docs/models/shared/supplierstatus.md: id: fb4ad50793c3 - last_write_checksum: sha1:45be7e03ec068a7a45068a4b937a32fd461ca801 - pristine_git_object: 0374ea9e014e0f0e866fc79ac80390c5d8e30a3e + last_write_checksum: sha1:7c1686c79f16af5fd44b5f6978651d371e68f73b + pristine_git_object: db5a33fb9ecfeac4796ac0ec37307eb4ee6c9a9a docs/models/shared/taxratemappingoption.md: id: 63a29f7a5231 last_write_checksum: sha1:fff2669dd4bfa5695ff0a290df48fa86a0125572 pristine_git_object: 3d41d03650c3ff989ae4378d1fcc176a1d84ee3e docs/models/shared/taxratestatus.md: id: 893cf5a95186 - last_write_checksum: sha1:ecceeada1e1953415a39fd5730679db722f7eae9 - pristine_git_object: dbdebfe1bf0e07750105584dc9bb5e524a2ce880 + last_write_checksum: sha1:eb12b88c79e6b7068d849e07074c599b0a8cd38e + pristine_git_object: ce18ae57cf6eaeeaf034680a02ae9d605f085d2e docs/models/shared/trackingref.md: id: 2ec0eb719b40 last_write_checksum: sha1:fef3b2a768fd1120032dfac0081ab82c840a699f @@ -378,8 +382,8 @@ trackedFiles: pristine_git_object: 69dd549ec7f5f885101d08dd502e25748183aebf docs/sdks/bankaccounts/README.md: id: 510ffee224ea - last_write_checksum: sha1:1f506a4a2b5de2da35ea97685f6f36ff540fe53c - pristine_git_object: 821d9513a7dc760ec4e83c3c1ad3492b48430d51 + last_write_checksum: sha1:af376f87349edec4ffe9ce0627d03436c2f3c05d + pristine_git_object: 6e6cbfda69496d969af2e55b0d4fcd69e1da2c46 docs/sdks/billpayments/README.md: id: 9436cf9c44bd last_write_checksum: sha1:09e3a33311fcdfd4b697eeb2594c8748b5f3cfbc @@ -402,8 +406,8 @@ trackedFiles: pristine_git_object: 9dce0e2b9388d83ab5d1cf0622575d0eb2f6bd8c docs/sdks/suppliers/README.md: id: 85867190cd79 - last_write_checksum: sha1:b98a17a2c565250a04c5395dae3400b29d722949 - pristine_git_object: f0c1eb59a7f0d3cf30cbb8f0280dd4333901b97a + last_write_checksum: sha1:f1699631483f95648151564b3feba8774c7e92e7 + pristine_git_object: 051ccf6a7225b5c2a11b15bb6df222badc6a86a2 poetry.toml: id: a81ade82122a last_write_checksum: sha1:2242305e29dc6921bdf5b200aea5d4bf67830230 @@ -414,12 +418,12 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pylintrc: id: 7ce8b9f946e6 - last_write_checksum: sha1:0e10638ea7d22a917f716f609a4c05ca0cd18e91 - pristine_git_object: ba6a998b82e6e5fce3f37f2c3a73b345395d952c + last_write_checksum: sha1:405a401fef1f2af6000d945591041683832b3132 + pristine_git_object: cb9c15d314c1930557401074329ed7a737147919 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:bf00d1414a4457943c9712941b375948d08f1c48 - pristine_git_object: bcc8837b0b3c780e3e00441a33ad01367ceb7b4f + last_write_checksum: sha1:69f35324f3aff9ce206bcbe16756b667188744e6 + pristine_git_object: 323d1dac6fe3b46cbc527b1b72c95ec34444e861 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:d4b43d576372b8e73925ed9d58899b58d467046e @@ -446,48 +450,48 @@ trackedFiles: pristine_git_object: 4c4a0dfe5d3f88de010120b7cc131799fe918073 src/codat_sync_for_payables/_version.py: id: e4b8c113880b - last_write_checksum: sha1:72b92007c8b1e5259040dc2b9b7659257bec1bd5 - pristine_git_object: 2ce03c4917bb9a7b74cacaa68162fc60cb1f0acc + last_write_checksum: sha1:e43b0d5b1a979696a76c4a12a061852f08181bcb + pristine_git_object: ab19f6e914ec72fd43bf3922b854935f7f7d118b src/codat_sync_for_payables/bank_accounts.py: id: bffbddbd7457 - last_write_checksum: sha1:c7f1bbdc7a6720380b42146299cc8408dce74fa9 - pristine_git_object: bed160dd6d2bf4438271b78f8773684212bfaffa + last_write_checksum: sha1:c3ad69a0d2744845db2b2f5ef86220d0e7bd3b98 + pristine_git_object: 0465022f34ce50aaaf2b18b2076f89b9bb3d4c22 src/codat_sync_for_payables/basesdk.py: id: 1b28cb884887 last_write_checksum: sha1:44d6d2050de98db82d088dad3f14c99b6209d605 pristine_git_object: 0ba2366ceb7e99695f1110300ba2bf04ba9d7f7c src/codat_sync_for_payables/bill_payments.py: id: 0da608e0b7a7 - last_write_checksum: sha1:705dc78fa7788a9f8dfed0bf41a9decde8b338b7 - pristine_git_object: 9818c8963e8485e22020a00bd3af53bb4d576df5 + last_write_checksum: sha1:1e02e3acb11951269cd808994cc35c0060b2a3a2 + pristine_git_object: b634b6140d7903dd35f99e122662df77139c3da2 src/codat_sync_for_payables/bills.py: id: aa53d7af4704 - last_write_checksum: sha1:953aa21951a8457d2e08c651a7c4dee0cd37c806 - pristine_git_object: 517497d5c842dbbc8b19cadb57aaf72870509753 + last_write_checksum: sha1:7e7483b3b5de9faf0853415607c62c3f1dc382f6 + pristine_git_object: bd54a718a25415def8ef6266de597c96dc0d5209 src/codat_sync_for_payables/companies.py: id: 5ace7f193226 - last_write_checksum: sha1:ce8451c746fb15bcbd9bf41e95c69a6324f78e7b - pristine_git_object: 0dbe0548ab462577e5d856a261d551e911535a0f + last_write_checksum: sha1:900ac2e710bdf41a8160a87a6c2f06d550ef9e2b + pristine_git_object: c4741ea603a169ecf254a21c7ab68c2f580ca257 src/codat_sync_for_payables/company_information.py: id: 3fd5cdae8aa4 last_write_checksum: sha1:ba1d4ca14b50cb5c50a70069c18c64293646b1c4 pristine_git_object: ccf258f53ee03555eac00b2ac28bf43da5513c43 src/codat_sync_for_payables/connections.py: id: 01f416a3fe00 - last_write_checksum: sha1:0f79cb9cfea646156f694806a2d3b9e5042b0f9a - pristine_git_object: e2e3103e8f2ec84ffcea6a197bd49d99e88290f6 + last_write_checksum: sha1:0db1bed190b244c1c599159773d2eb0d68a4391a + pristine_git_object: 253b3b85a379f5712190e7c62d66fd8be08f007b src/codat_sync_for_payables/httpclient.py: id: e600b8855c02 last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7 pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/codat_sync_for_payables/models/__init__.py: id: 56ba957bb3ac - last_write_checksum: sha1:fd931d5c2d58b5f9189cc897e038d6d78e362dab - pristine_git_object: 726fc5eb391035492b4bea383d91cb7e23da04d3 + last_write_checksum: sha1:cb39174e820342056f1b8f01e5adb569a915e1b2 + pristine_git_object: 60ff1284e1acf61e61678ef7b653016dae750c1e src/codat_sync_for_payables/models/errors/__init__.py: id: a3dd5e74e4bf - last_write_checksum: sha1:5bc3f8ec8d4990c5f106acd4f6fdad40c5edbf85 - pristine_git_object: 759000d594143ac10940385c0186c560f95ae090 + last_write_checksum: sha1:0a49f226884aaacb86ad4a95cf563fa435e54edc + pristine_git_object: 709ea11be0078c08568aa24b335d986ca3874dd4 src/codat_sync_for_payables/models/errors/codatsyncpayableserror.py: id: 1a07d5f66013 last_write_checksum: sha1:be24859871d2ae5385e6b8a55149dc0cf3c05879 @@ -510,28 +514,28 @@ trackedFiles: pristine_git_object: a23569a5be2897d55022d05088dc89f18bffc84c src/codat_sync_for_payables/models/operations/__init__.py: id: 70f0b6c286f6 - last_write_checksum: sha1:6f085d0a14260763879448888ab4869f60e713c1 - pristine_git_object: ce074504100cf0e0f66933a98614e8e19f9ab095 + last_write_checksum: sha1:0f88cca3db731ff14a0787fd90c22075d07ad06c + pristine_git_object: acb9ce5091499427b74f647f47e0808b12fd48cf src/codat_sync_for_payables/models/operations/create_bank_account.py: id: 4525b9326fa6 - last_write_checksum: sha1:4750440c7ec503581525eacccf2dcae7c35d1bae - pristine_git_object: 46a2d30489b35bc4714487aed2dc92224f5af1b5 + last_write_checksum: sha1:67b613fc78a4c6fbf228440dd2039cdb94d11be3 + pristine_git_object: 741ff578422613106a0482ec0ef37c7f0f8b8639 src/codat_sync_for_payables/models/operations/create_bill.py: id: 99105a8f3d7e - last_write_checksum: sha1:66e9e22db95786832c811140e7ec0c70b5539306 - pristine_git_object: 2be21bb53238e9ed9b14163e9c0de2f5671cac0d + last_write_checksum: sha1:47d831f97dba2d40c0a8dd0bd6e8246269c4d1f0 + pristine_git_object: 55577c0de1de04488b1f4287c3220098c28fcc3e src/codat_sync_for_payables/models/operations/create_bill_payment.py: id: bf7aea17d3b3 - last_write_checksum: sha1:139049a42d8357ca9742c6ebe30a93482266ee5f - pristine_git_object: 0ff27fc4e2d88cfbd0b6241952a1a5f2f7a10515 + last_write_checksum: sha1:6f5a6503cf5450c141bc5f0cbe33f3a709b406fd + pristine_git_object: 1873ae4d740a80ed47a730682c989ba70616ba43 src/codat_sync_for_payables/models/operations/create_connection.py: id: a701a9b9763c - last_write_checksum: sha1:b219a6e09df13411fd19ce271f872a162a2a83b9 - pristine_git_object: b5a1fc96e81f86c9771c19ea5e520062e827ae88 + last_write_checksum: sha1:09f9878369398bf782bf74878284b627848f7047 + pristine_git_object: 52e97da8c5e21e42882d769d680a5551a86f567f src/codat_sync_for_payables/models/operations/create_supplier.py: id: 0090ebf63f3b - last_write_checksum: sha1:764878ace0b71e514013e4d50a0d2b2e1024e82c - pristine_git_object: bf1ea7f0892baff0794546eb5eda5fcf5c77b534 + last_write_checksum: sha1:895fef24cbe2b566f44494096668a4aa5d37fefd + pristine_git_object: 22ec11b27f4f0d2cef94b04bb7bcd8c2459d1d57 src/codat_sync_for_payables/models/operations/delete_company.py: id: 77b581e97ded last_write_checksum: sha1:5bac319a2b0b8f3ac743a35716767b02666c5a55 @@ -558,92 +562,96 @@ trackedFiles: pristine_git_object: 3dee0e6e12d4e4e45db51649aa91fe1f1ab2d511 src/codat_sync_for_payables/models/operations/get_mapping_options_bills.py: id: d667f4268283 - last_write_checksum: sha1:44b2fbe718a8b0669affc679c206c7c740283ab9 - pristine_git_object: 98de06231476a72399edf713e84d7a3f1d4dae28 + last_write_checksum: sha1:84c99704d4722d5a27b05281c8b4cc30f3db80b7 + pristine_git_object: da8cae88e8a00093e585cceaa4a758e13cb7cdd9 src/codat_sync_for_payables/models/operations/get_mapping_options_payments.py: id: ae4fecc1f648 - last_write_checksum: sha1:f12a4808116ad28cbe0fd38a6352c754127800fd - pristine_git_object: ebd62e46374d947f5dec4999d83c491aa70d5468 + last_write_checksum: sha1:05754a166b664dcf31003701989f7a876ce5c8f2 + pristine_git_object: dded63b8a50b31eb62acca4bb0cdd20179e64324 src/codat_sync_for_payables/models/operations/list_bill_attachments.py: id: 1c43f8cab2f3 last_write_checksum: sha1:e054dc28384ca0532701d08cfc6a3476074f045b pristine_git_object: 077e7104aa5caa70cbb00242cc991653363df0cb src/codat_sync_for_payables/models/operations/list_bills.py: id: 35912db3ca34 - last_write_checksum: sha1:4a9a55f0e03aa6be610708ce25c0aa2f3f176a2d - pristine_git_object: 08602e4b80bbbdc67863972fbbbbaab4a8c95682 + last_write_checksum: sha1:56984b76561185408fb63fad310e790f6f36d15a + pristine_git_object: 0f224f151f4ff73fa0dc2a06d29590e7e16f9311 src/codat_sync_for_payables/models/operations/list_companies.py: id: 74a9ee83bc93 - last_write_checksum: sha1:519aced0ff1a3d27570da509fa9d586e3fc1ea96 - pristine_git_object: 443b275ade4e6989ad5feded83fb857e00abec74 + last_write_checksum: sha1:151be9c3a30bc112b859d6ec8288bb57e1bf985d + pristine_git_object: 7d919e1b535ae39091acff7f670f9e322dcff366 src/codat_sync_for_payables/models/operations/list_connections.py: id: 4a0b8926f5ce - last_write_checksum: sha1:82e72af131da5768e04e011d68d1087dc5061d8b - pristine_git_object: 7b0f6c50460786f70252873e60158b93b73c1911 + last_write_checksum: sha1:3bd046974106d035d4ef32eb49b5f34a5158bfff + pristine_git_object: 0a3e5b2c34e7639b76d23a569ba234ce62312e48 src/codat_sync_for_payables/models/operations/list_suppliers.py: id: cc76bd3ac323 - last_write_checksum: sha1:cc52de3796fd2c3b966b98d82cb76a44ee42d17b - pristine_git_object: c2d6d5397879c6e1faacefc732409565f4840f2b + last_write_checksum: sha1:6d68ee226308cba903868d1363b13f0f6462ea69 + pristine_git_object: 499b422d50221cc6b7c6d206063899c0d64b3b2e src/codat_sync_for_payables/models/operations/replace_company.py: id: 01092190cace - last_write_checksum: sha1:7a64e9bdcbb973863fdf45a75a379357472a3b15 - pristine_git_object: b9bf9a37a063bcc56fa8c5dc2f103e2ccd947acd + last_write_checksum: sha1:cb114e6050ef1824b5af028fbf8218ced6a4dc54 + pristine_git_object: 1670273e53f872ca6cb307da18f354ec7893a326 src/codat_sync_for_payables/models/operations/unlink_connection.py: id: f82efd60b973 - last_write_checksum: sha1:a2d3a6159258d157e923a7f4e44eadca5427c624 - pristine_git_object: d4e3261e779ba3486d6236961c356d4ce8972316 + last_write_checksum: sha1:d7968523b4b0174f50903e30e4b5a54bc74c83bd + pristine_git_object: 507c063f755cf019f1b193d9f4696f5e37999e96 src/codat_sync_for_payables/models/operations/update_bill.py: id: 90a1490b17ed - last_write_checksum: sha1:323cfb153dfc6de5a70f0346c89a347f00142a6c - pristine_git_object: eada756836f689385112fe3c6abc353cd745733f + last_write_checksum: sha1:f17a0c09ddda7facb0fa7a146cc6335b57093453 + pristine_git_object: d92fc24bbda6feb5780c0b7bcce651db65866a0f src/codat_sync_for_payables/models/operations/update_company.py: id: 339eed3aa3c6 - last_write_checksum: sha1:8ee00f29a74bcf701016f1ee70d76f3f3539519d - pristine_git_object: 707e4d029583e3c8759416d7d3a4fc54909e985c + last_write_checksum: sha1:7ad837cd47ee7ebf8c5c92650f82fe1580474c29 + pristine_git_object: 5d3abdc4129f52e67aa8f10a39c23e96d799504c + src/codat_sync_for_payables/models/operations/update_supplier.py: + id: e43af75c3e7b + last_write_checksum: sha1:2afdfb459a974f873d855eb2b85d6882f23e95da + pristine_git_object: 6ea647c5b1100f5fbcc7b30ba30421eebd767aca src/codat_sync_for_payables/models/operations/upload_bill_attachment.py: id: 2927ff42c4c4 - last_write_checksum: sha1:40e2b5ce6f320b5cb4c7d85cdf9972bffafcd5e5 - pristine_git_object: 8fdc88788172fee4bd97b87acebac239df0bb97a + last_write_checksum: sha1:0a0622a41bae7c464883387f360afd57ee1b6b32 + pristine_git_object: 2fe0d0c7e0bf288f8cacf65fb18f98f8e19d67fb src/codat_sync_for_payables/models/shared/__init__.py: id: 6972bb31b96d - last_write_checksum: sha1:00755dd767e9e85147d66f140348608c3d62691c - pristine_git_object: 096b152f8e892a5094becb15cbde9e24cc8a4897 + last_write_checksum: sha1:9074abb66b9bf30dfdbbc75e40000bc8b825b6d8 + pristine_git_object: cae4f6941f469b6a45cf0991241d5642da26acab src/codat_sync_for_payables/models/shared/accountmappingoption.py: id: e4677bacb499 - last_write_checksum: sha1:3258ad9d7329fc53c7c6a2f899e7b2bac4311017 - pristine_git_object: 9452401d9f41b79a05cd47948a135239de2c8648 + last_write_checksum: sha1:bba98c75bc9b29943d02576292ec4c97892b2737 + pristine_git_object: 3e9371409a5e7612634ed36adfc6573567999454 src/codat_sync_for_payables/models/shared/accountstatus.py: id: b6f182ad7817 last_write_checksum: sha1:cfaae21d693d501014a9494c09374150bdad41c4 pristine_git_object: 5f3a1eff95ed42ede68dbb0eb7a4c5dab436c2fb src/codat_sync_for_payables/models/shared/address.py: id: faeec6e0f48a - last_write_checksum: sha1:818394b6495637c7bd7ac7e69de4d7b3a7207f83 - pristine_git_object: bd9a6331f4b3e7cd0a572d21b8372dc274a397f8 + last_write_checksum: sha1:8fbc07ea8e14f29c31c486b212b4f7cf87e5583c + pristine_git_object: c54556b5969b7177cc5a3483303fdbfa88c63c5e src/codat_sync_for_payables/models/shared/addresstype.py: id: 19266012cf06 last_write_checksum: sha1:4d9bc1d12623aaafe7c9846e024aa21aaf4f1993 pristine_git_object: 05cc759d845b07db4e5610b47cb01063b884c616 src/codat_sync_for_payables/models/shared/attachment.py: id: 3d02a33627d2 - last_write_checksum: sha1:76988a172db20fa619033364c0f82339ec24854c - pristine_git_object: 5b3431359513b8ed998ef531aa0186b1fa367525 + last_write_checksum: sha1:b8f5fa3d47b0d0d64dcef3aa6d64b2a0d81f3d0a + pristine_git_object: 4caea3972148d98f2f2266563631bf3e8e9c5890 src/codat_sync_for_payables/models/shared/attachmentupload.py: id: 55929cc18c9a last_write_checksum: sha1:343c737a3c707363de8493bb3016adea6fcec1a1 pristine_git_object: b53e491ed1a340d19cb381554184708e7665d41d src/codat_sync_for_payables/models/shared/bankaccount.py: id: e665dfd66dba - last_write_checksum: sha1:d1d08b703c5647e36eb2904836f4d45d2d8b9cbb - pristine_git_object: fc5c124a0c8f8ca86ed00897bd85fefa1d0f20c4 + last_write_checksum: sha1:30ba114659a1e2e2d1c440eaa7ccb8546dee8a87 + pristine_git_object: 4747806aebaa82ed1ed177e5c23a66d077c2c703 src/codat_sync_for_payables/models/shared/bankaccountmappingoption.py: id: 5c0dcc75e914 - last_write_checksum: sha1:97f4415c7f8942b102c6a43796c23e10dcfb3ce4 - pristine_git_object: c1a0b741253b7284569ef8f08df77ea4c70e76e6 + last_write_checksum: sha1:06034b8b13624f958fdcbe4eb7b49540ab991985 + pristine_git_object: aa5b368f60be87c966d1a4ddc21e5a8c583bb626 src/codat_sync_for_payables/models/shared/bankaccountprototype.py: id: 64d8fb7eda62 - last_write_checksum: sha1:d2b7c54f046f8355a9104f4830d05b522721d39d - pristine_git_object: b24e6b7f6be6f1e0f6c39a7dd5eb99140d31c892 + last_write_checksum: sha1:e08a4c8fcca2890b4cd209f767aff7c3b9c18db6 + pristine_git_object: 919b517571db174723472d4e78ec69339a0a579f src/codat_sync_for_payables/models/shared/bankaccountstatus.py: id: 4c95c6bee724 last_write_checksum: sha1:9231807b4addd286d92ef679f69757b96b8ea24b @@ -654,172 +662,172 @@ trackedFiles: pristine_git_object: 9eecbae47cec78320d4a451e1c9bcc3ebaaa48c6 src/codat_sync_for_payables/models/shared/bill.py: id: cabb1e64030e - last_write_checksum: sha1:0e5b77185e592e88d9b169a2ec9adad4afab52a2 - pristine_git_object: 0bfde2a06dea8cb88dde9e10a7863843a304546e + last_write_checksum: sha1:5cd47e9b7a1a721ee6e6701f8b216dc89fdda181 + pristine_git_object: 59ba9105e1bfe9df1a7cee551ae01b3edaa8d6dc src/codat_sync_for_payables/models/shared/billaccountref.py: id: 412568e0a90d - last_write_checksum: sha1:ad24a0acccb37c5923ade2685b9635b12e9d178a - pristine_git_object: 4b7ee1f2ceae68dcc3a53540f11b2454d97005de + last_write_checksum: sha1:d49cba9d6bec1c8f8f5f18ed0e0825e25d7f35e5 + pristine_git_object: 9923de327bb2b3384fb734ff5ca8746f89480a6b src/codat_sync_for_payables/models/shared/billlineitem.py: id: f56d6d3a6fec - last_write_checksum: sha1:9c8e4ee713b25bdad84b98468cc1466f032215f2 - pristine_git_object: 3c497ec630d67bf2a6e60b0c993fba29dd22bfc3 + last_write_checksum: sha1:32ef2f9bdcc5d3e61aad36ed74f516f439591add + pristine_git_object: 49c500e89ef29f595ece1b13538f094d6b35f9f4 src/codat_sync_for_payables/models/shared/billmappingoptions.py: id: aa86d07aa6f8 - last_write_checksum: sha1:f37f6977c323b9a49a798a6f65c955db70ffb82e - pristine_git_object: 3a4201bde6ae45df1bc5fedf6690e2f1ce02c200 + last_write_checksum: sha1:e8e90e0b9870d0fea3fb23ccb025e29b53e7dc00 + pristine_git_object: e63d8752d69635f24653d1d6c5acc484064b7073 src/codat_sync_for_payables/models/shared/billpayment.py: id: 3a75c5fee756 - last_write_checksum: sha1:1925d854655bcd0af581895a53cf2053b77682f4 - pristine_git_object: 6e49d8d46d29323bb6598d1e00e5733bb1ed6b5c + last_write_checksum: sha1:6a187ff6f52ce3e487a9835142282f1ceab82603 + pristine_git_object: 30fe531e84c3a0e543e4229676f3a34e064dbcd6 src/codat_sync_for_payables/models/shared/billpaymentaccountref.py: id: 734ac9a03d8a last_write_checksum: sha1:d98bde7ae1af1bd16841975d1f87a3804056412d pristine_git_object: 1f0115564a983236e929218bd8bb1e0f4b1256fb src/codat_sync_for_payables/models/shared/billpaymentprototype.py: id: 9de5b7f9bd13 - last_write_checksum: sha1:48a29e7347d7b3cbc43db8446fcd4458f6d706f1 - pristine_git_object: 249d545e65930aa419000058511fe0e6deea8997 + last_write_checksum: sha1:513a5a0d81c6b3f8403e36a7b2f132d6913b9d56 + pristine_git_object: 2f8315c0240c1e7e487f48df34bf3edb3d8625d3 src/codat_sync_for_payables/models/shared/billprototype.py: id: 32e5a78c3c18 - last_write_checksum: sha1:6827a1fddf811db8980e717e974dd7d512a4650c - pristine_git_object: 06e4da1c205fc6fc488209edb696bd0809891626 + last_write_checksum: sha1:3fda01bbf9b481531a2d904285ec5993744e95cf + pristine_git_object: 643426e887ae10ab61a045a29b34627310b427c0 src/codat_sync_for_payables/models/shared/bills.py: id: 3290a493e4d6 - last_write_checksum: sha1:bfc11655e7e069af836ecb383d60fd0c00bfd0dc - pristine_git_object: f70b0ae7e8f526f34cab3ffbe007043e33a1bb8f + last_write_checksum: sha1:c2f42dd1214b4cb3f2a097d66110755fda2e3e57 + pristine_git_object: 69a78e9a7b594696d76cf00ff6d00993a3341952 src/codat_sync_for_payables/models/shared/billstatus.py: id: 3f201be3863a last_write_checksum: sha1:6acdf0f006ed8e7b9c76195eddaa7cb09ac5b6f2 pristine_git_object: fcd1b5e91d8a8a37c4cbd7b1244bc6368750f218 src/codat_sync_for_payables/models/shared/billtaxrateref.py: id: f309bc18729f - last_write_checksum: sha1:a485a18a58002830ab67bf8ecde4e1e1e9321bb5 - pristine_git_object: d78556c2be2ea101f6b8980915f85cfbfe378ae3 + last_write_checksum: sha1:d3466043ce1112339ca5b4c695d5058cfd35c87d + pristine_git_object: 5fc6fd6862696322095eb4fdeb2d9c5ceae66c70 src/codat_sync_for_payables/models/shared/clientratelimitwebhook.py: id: 689400e4cd03 - last_write_checksum: sha1:8fb1961d4fcb2d49d39fecf47f6885ddf972516a - pristine_git_object: d0ba137f7b7d7b9a1bf05b3f712e65dccc0b193c + last_write_checksum: sha1:cedbadeee0ff34ce2c5d443df720568df8b3f60f + pristine_git_object: d67fc03b195cbdd51ec711a604472f369112b0af src/codat_sync_for_payables/models/shared/clientratelimitwebhookpayload.py: id: 0ad79ee918ad - last_write_checksum: sha1:589b3838e9ef7be96e5799316f5a7afb222098d7 - pristine_git_object: 7231884f89a4d29a0a72e7b933eea22e2753f692 + last_write_checksum: sha1:2652081c946d03d4dab19eea9724c950f95632f7 + pristine_git_object: ce0ea5c23e48272b1111f1a3daee82db5c72adb6 src/codat_sync_for_payables/models/shared/codatfile.py: id: f9604dae6b8c - last_write_checksum: sha1:fa4d1a990a132ed6dc97d775c944dc3978dfae8f - pristine_git_object: 0dd6f13328b62683a2b40235e6b7c753978f0d2a + last_write_checksum: sha1:a23f1facc77ab3db913eb8fba3c1fe0fd7b33960 + pristine_git_object: 88f981a5a53f41da9a94e0c9c1c878e2a663acd4 src/codat_sync_for_payables/models/shared/companies.py: id: f09e61bdb80f - last_write_checksum: sha1:4a9a19453e66b722ad408336124c45d364b3b26c - pristine_git_object: d8e8333437683971b23a27737e6006cf56625fda + last_write_checksum: sha1:0490ce07eaf72cd1351bc9c7176bc2f331ab4092 + pristine_git_object: ab3f3dc38c4485de069947b55dede81e5db80be9 src/codat_sync_for_payables/models/shared/company.py: id: 5a28ec5e8ee4 - last_write_checksum: sha1:7aaf457448ab6884bf0ce648e271b804e0bd1417 - pristine_git_object: 79700c99db73f77fe413e3ad835fc1dcd15891ef + last_write_checksum: sha1:6d00cf2af066fed43fe955eef6fbe74075d15089 + pristine_git_object: 4636d9637d7d7fa99b3397cce071d60333a473ab src/codat_sync_for_payables/models/shared/companyinformation.py: id: 6afe4824533c - last_write_checksum: sha1:280b4c617e1e164e668dcf68f3f6eb392284913a - pristine_git_object: 31e5af9bd67e9c120954c9760b50166cb4d7f6b4 + last_write_checksum: sha1:b7b0509aeb5031cce7b39aadd0fb0dcf646c18c5 + pristine_git_object: f84e48da1039f678f4ae3e50285adadc17f74475 src/codat_sync_for_payables/models/shared/companyreference.py: id: d74ae4f4438e - last_write_checksum: sha1:bc00dbf7993e87a2bb07efe8fc063ebfd3d3be51 - pristine_git_object: e76bb64c374e4fc67dda5249232cf22cf6d9122d + last_write_checksum: sha1:9c818add8683e4fd5c3e37e8f5fe0624f0ef623f + pristine_git_object: 955a899e503826e6f259b31605d16b3e8dfa2ef1 src/codat_sync_for_payables/models/shared/companyrequestbody.py: id: 4136bb038290 - last_write_checksum: sha1:a8d91978e4670dd0dd485b94b153d3abf5f6eade - pristine_git_object: ba0413dabe3ddc1ce883f8cec1511af8782499d1 + last_write_checksum: sha1:c4c2cd4155a2f0e5bf3b86dfb0b7bb9fad20fd5b + pristine_git_object: 76dc20cc363771eec18d3cbcb674fdfb019087d5 src/codat_sync_for_payables/models/shared/companyupdaterequest.py: id: 5a93243b1892 - last_write_checksum: sha1:9130462040edc27aa6d40ed4dc748b70ab59379a - pristine_git_object: 46e89fef67e95c4c595e68c2db002dc4ab520b11 + last_write_checksum: sha1:8dff165f06759b0f578bc6ea062b3893f63ab08a + pristine_git_object: c80c2629eb96fc3a2bd1cd15be61086bd463c74b src/codat_sync_for_payables/models/shared/connection.py: id: 8ce8180ca8b0 - last_write_checksum: sha1:02576db0f088813ae5938aaf192ecb00eda91f4e - pristine_git_object: 9ebfccc2c32c7fce179b36df9614d63cc7ee3e88 + last_write_checksum: sha1:ace4484f3cf4d0932d99f99263104a2dad2681bc + pristine_git_object: d804cfa0976604e88380f950e4dddb1a243d7f65 src/codat_sync_for_payables/models/shared/connections.py: id: 2646a209fbb8 - last_write_checksum: sha1:dd4bb8ef70d8e9d082dc7343ef0b8f3db36ffeb0 - pristine_git_object: 2e1df73d5e2266556834cd054b2546fe1a812472 + last_write_checksum: sha1:c2cf432ef4e7cd08aca5e096a4bc0a1be9893fc5 + pristine_git_object: 6696c0949c6c2921d409f3450162d4d0c1a31ef1 src/codat_sync_for_payables/models/shared/dataconnectionerror.py: id: 14e59669ba9a - last_write_checksum: sha1:80ceb083756614d7007969218ae05f72544aadc4 - pristine_git_object: a875b724a88259864067f2e86072eeaae6041171 + last_write_checksum: sha1:9c3f87e0a0a553ae477caaea1dbe19102fa4d957 + pristine_git_object: 887535143d212bb20269fb34d7de945c0ed66bd9 src/codat_sync_for_payables/models/shared/dataconnectionstatus.py: id: bcaf92975c32 last_write_checksum: sha1:7acc81f8f37f266c26a45828d3b5bf2cb63c3b5d pristine_git_object: a97f7be301fae66aed392cc85bbec15fa366e2aa src/codat_sync_for_payables/models/shared/errorvalidation.py: id: 6977a6a7b249 - last_write_checksum: sha1:c0de9c8da912b5ba301c66433ad452697726bc6e - pristine_git_object: 4b5f24f6c8f88d69e4a1ff23618b662dac559013 + last_write_checksum: sha1:072603cc4030ae7330242ef8125ac79ebd453688 + pristine_git_object: ab8d4c61ff65f15f7f4291c95af798aa808b4a77 src/codat_sync_for_payables/models/shared/errorvalidationitem.py: id: 173355e5b55d - last_write_checksum: sha1:ec4ab9840505d58eb1435d0b95c14b07128056d7 - pristine_git_object: 0722479ccfe13553a9d3873be34b60656b5cdf2e + last_write_checksum: sha1:c17711e515cdf8da0f9195a0eb64a755602bb2f6 + pristine_git_object: 59ce442a38ed3660efd79ae5a2b86a7c2e5b750e src/codat_sync_for_payables/models/shared/halref.py: id: 532c60632649 - last_write_checksum: sha1:b2dc44eed9d319a32d02c66bda1d04b61b791a52 - pristine_git_object: 3633c6fa9051b4ff917cd70f97daa222af713c5d + last_write_checksum: sha1:59b44ae64f24018e6a1885a2d90dbd8a20bb2fd1 + pristine_git_object: dd4b314cd6f6c8d5e79b7ee48fbc14b4cf7acca0 src/codat_sync_for_payables/models/shared/links.py: id: 13ee5bbb9db5 - last_write_checksum: sha1:f233812fe506946a59db9333b0678c2877d9e529 - pristine_git_object: 76e148720d7bfba2bedc869374301033f6583337 + last_write_checksum: sha1:98093efe4b8a038854549c1fdb2bfa1c2cd2a4d6 + pristine_git_object: 708db8b084a81607383f8e1e480fe756e15ef5b4 src/codat_sync_for_payables/models/shared/pagination.py: id: d5bc974bdb7d - last_write_checksum: sha1:bea4c13d26f293c5ba7e5fe9d987c90c0575f069 - pristine_git_object: ebd4d9d33a4f42aa3068c40c9c4e5de2369f04fc + last_write_checksum: sha1:b14ee7fafadd40679d0d7df742e960a8a557c27e + pristine_git_object: d76c207d2b36cd0aa5d94bb38f85bdd555da52d1 src/codat_sync_for_payables/models/shared/paymentmappingoptions.py: id: 99539a6db928 - last_write_checksum: sha1:b09f9ea2fd1fc5a800d4d50680d2982b41eb2c0f - pristine_git_object: e84f5a096efc20f39db5836556454b54604008a9 + last_write_checksum: sha1:5a8da11e109b749ed1d5d79f9f439863754df3d6 + pristine_git_object: 6090a5978f93e17ac6d1e07dbd4a95f3bff10678 src/codat_sync_for_payables/models/shared/security.py: id: 883a7abd2f0c last_write_checksum: sha1:b0458c9c1f6970202910888bebc547e35514e722 pristine_git_object: 33927c43a80956cfb8eb45ac850a60f3389542ef src/codat_sync_for_payables/models/shared/supplier.py: id: 30f1b1bf4292 - last_write_checksum: sha1:63c1f5e94601f99e7f9f2e6f1f6d5fd7ed404679 - pristine_git_object: 16bb52a8b3bcac8097f081a3707e41a9a476fa75 + last_write_checksum: sha1:7ce9af41e334c607f58c2e22176017c30da83c8d + pristine_git_object: ca0db96d7b611eb0fb1f926c25d26c17774ff746 src/codat_sync_for_payables/models/shared/supplierprototype.py: id: ba52e495b022 - last_write_checksum: sha1:2ab9e9fe49b38605ef18cab0bb6be306c2de8060 - pristine_git_object: 248e452a625a2f640b40eee2af1106b7510ea237 + last_write_checksum: sha1:fe7b5221f7c87de6167c6d2c19c7b5af7a74cbdf + pristine_git_object: 3f3ab6aba9fd970579ba1d62e0f273e8eef229cf src/codat_sync_for_payables/models/shared/supplierref.py: id: e54006e90d54 - last_write_checksum: sha1:b538799b98d557da971efd4ac9d0689fec8bc39d - pristine_git_object: bef54f97c786a782360fa081bb7d7cde5a375257 + last_write_checksum: sha1:6e438a4f2966cace2ea9208ff1a8c4dff5c9316f + pristine_git_object: cce2125dbfe85f8f1de568712052b1883ae2bfbd src/codat_sync_for_payables/models/shared/suppliers.py: id: f87c0164ec82 - last_write_checksum: sha1:239ed884c33cb087646a7dc06527f8d6a283f35e - pristine_git_object: 8cd43943f671e7f9568826760c57ddeb0d74744d + last_write_checksum: sha1:540358ed8ecb6fe39a402bbf7e81bdaf3f92bbbf + pristine_git_object: 6b57a2aa4b78011cd268eabae3401555187c88da src/codat_sync_for_payables/models/shared/supplierstatus.py: id: bd32a169fd45 last_write_checksum: sha1:40fbb3969f650a2e9e44d161449b2657ec71afd6 pristine_git_object: 0f77858378e92bc4a21c9a82ea0b496b8211230d src/codat_sync_for_payables/models/shared/taxratemappingoption.py: id: 10e31d5cebf5 - last_write_checksum: sha1:20e84414a880a8cf63378fceff08430e64371d66 - pristine_git_object: ffc4c9033a4c7a93722b4c37defb6fc50f3f9e64 + last_write_checksum: sha1:a6e44d0f5388493e8b643a4f23611dafec1b50c2 + pristine_git_object: 95ae15ef466f4cbbd65e2736c8d64c05c7cd08af src/codat_sync_for_payables/models/shared/trackingref.py: id: 7065b1aa899a - last_write_checksum: sha1:b01eb094f18c3f2674e155e010cd04b5eaa83ae7 - pristine_git_object: 640672745c98538ce9a6ea6aa205719cd51594d0 + last_write_checksum: sha1:a9811f8b1177742140abab18cd36a99ecca29452 + pristine_git_object: 61af5cebef552335d940143c101ffed24059fc99 src/codat_sync_for_payables/py.typed: id: 7a7b03c9ffd7 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 src/codat_sync_for_payables/sdk.py: id: 13da5a8039c6 - last_write_checksum: sha1:0a8cb3a5e7e442c5b499eec54f3d1f8700efac49 - pristine_git_object: 19182eedccab9d48f09622a7ea84ca067814d605 + last_write_checksum: sha1:09747dbe0bee13e89757abf7f364f575a90445e9 + pristine_git_object: c83d020e2a87d6b8b292a45c22eb3cd93e0fa92c src/codat_sync_for_payables/sdkconfiguration.py: id: 044ad0fd5a07 last_write_checksum: sha1:04312be47d6b76e345a2a63e80a7c6215e0c8a52 pristine_git_object: 49269e53b7e7d876fee7cc040430f49c79990734 src/codat_sync_for_payables/suppliers.py: id: 8e23d8bbbb4e - last_write_checksum: sha1:103d8f0ed0021c1cd04df9aedd095f85e8acae39 - pristine_git_object: fc8e95a552d5963e508ac01cf5c31fd36f38c462 + last_write_checksum: sha1:92559b8f8efdcb406f66b495d3c5b4256f69d6fb + pristine_git_object: 826d5836d2c910a3f94bf75694e2061e4cb4aede src/codat_sync_for_payables/types/__init__.py: id: 36f0e2eb152f last_write_checksum: sha1:140ebdd01a46f92ffc710c52c958c4eba3cf68ed @@ -830,8 +838,8 @@ trackedFiles: pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee src/codat_sync_for_payables/utils/__init__.py: id: 385b9de7dfb1 - last_write_checksum: sha1:a1f6ae620fb6a3ccc30e99b427e49a0c8be463af - pristine_git_object: 15394a08a7e30033d319e44dd5734664ddb587e5 + last_write_checksum: sha1:1970816f2234ecb8785798240b0edced961de971 + pristine_git_object: 0498cb8dabf249b39609f81fb10cddc30f1b78b5 src/codat_sync_for_payables/utils/annotations.py: id: 199c1954e61b last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc @@ -840,14 +848,18 @@ trackedFiles: id: 171f23462723 last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341 pristine_git_object: a6c52cd61bbe2d459046c940ce5e8c469f2f0664 + src/codat_sync_for_payables/utils/dynamic_imports.py: + id: bc6dc58ba413 + last_write_checksum: sha1:a1940c63feb8eddfd8026de53384baf5056d5dcc + pristine_git_object: 673edf82a97d0fea7295625d3e092ea369a36b79 src/codat_sync_for_payables/utils/enums.py: id: 8fea592b7493 last_write_checksum: sha1:bc8c3c1285ae09ba8a094ee5c3d9c7f41fa1284d pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828 src/codat_sync_for_payables/utils/eventstreaming.py: id: e199330f499e - last_write_checksum: sha1:ffa870a25a7e4e2015bfd7a467ccd3aa1de97f0e - pristine_git_object: f2052fc22d9fd6c663ba3dce019fe234ca37108b + last_write_checksum: sha1:620d78a8b4e3b854e08d136e02e40a01a786bd70 + pristine_git_object: 3bdcd6d3d4fc772cb7f5fca8685dcdc8c85e13e8 src/codat_sync_for_payables/utils/forms.py: id: c8b2e1537bcd last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295 @@ -874,8 +886,8 @@ trackedFiles: pristine_git_object: 1de32b6d26f46590232f398fdba6ce0072f1659c src/codat_sync_for_payables/utils/retries.py: id: e5ae3a416299 - last_write_checksum: sha1:5b97ac4f59357d70c2529975d50364c88bcad607 - pristine_git_object: 88a91b10cd2076b4a2c6cff2ac6bfaa5e3c5ad13 + last_write_checksum: sha1:471372f5c5d1dd5583239c9cf3c75f1b636e5d87 + pristine_git_object: af07d4e941007af4213c5ec9047ef8a2fca04e5e src/codat_sync_for_payables/utils/security.py: id: 90581f8feeee last_write_checksum: sha1:435dd8b180cefcd733e635b9fa45512da091d9c0 @@ -1775,7 +1787,7 @@ examples: continuationToken: "continuationToken=eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ==" responses: "200": - application/json: {"results": [{"id": "c523e12f-8b74-4d3a-bbd8-32d7a2f598b4", "supplierName": "City Limousines", "contactName": "Martin Dale", "emailAddress": "martyd@citylim.co", "phone": "07999 999999", "addresses": [{"type": "Billing", "line1": "Unit 51", "line2": "Bakersfield Industrial Estate", "city": "Bakersfield", "region": "California", "country": "USA"}], "status": "Active", "balance": 100, "defaultCurrency": "GBP", "sourceModifiedDate": "2022-10-23T00:00:00Z"}, {"id": "41", "supplierName": "AI Support", "contactName": "AI Support", "addresses": [{"type": "Billing", "line1": "test", "region": "string", "country": "Djibouti"}], "status": "Active", "defaultCurrency": "GBP", "sourceModifiedDate": "2022-12-07T10:48:18Z"}], "pagination": {"continuationToken": "eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ=="}} + application/json: {"results": [{"id": "c523e12f-8b74-4d3a-bbd8-32d7a2f598b4", "supplierName": "City Limousines", "contactName": "Martin Dale", "emailAddress": "martyd@citylim.co", "phone": "07999 999999", "addresses": [{"type": "Billing", "line1": "Unit 51", "line2": "Bakersfield Industrial Estate", "city": "Bakersfield", "region": "California", "country": "USA", "postalCode": "93308"}], "status": "Active", "balance": 100, "defaultCurrency": "GBP", "sourceModifiedDate": "2022-10-23T00:00:00Z"}, {"id": "41", "supplierName": "AI Support", "contactName": "AI Support", "addresses": [{"type": "Billing", "line1": "test", "region": "string", "country": "Djibouti"}], "status": "Active", "defaultCurrency": "GBP", "sourceModifiedDate": "2022-12-07T10:48:18Z"}], "pagination": {"continuationToken": "eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTAwLCJwYWdlQ291bnQiOjExfQ=="}} Malformed query: parameters: path: @@ -1807,10 +1819,10 @@ examples: companyId: "8a210b68-6988-11ed-a1eb-0242ac120002" connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171" requestBody: - application/json: {"supplierName": "Greggs", "contactName": "Greg Greggs", "emailAddress": "greg@greggs.com", "phone": "+44 (0)1223 322410", "addresses": [{"type": "Billing", "line1": "Flat 1", "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", "country": "GBR", "postalCode": "EC1N 7TE"}], "status": "Active", "defaultCurrency": "GBP"} + application/json: {"supplierName": "Northridge Office Supplies", "contactName": "Sarah Johnson", "emailAddress": "sarah.johnson@northridgesupplies.co.uk", "phone": "+44 (0)1223 322410", "addresses": [{"type": "Billing", "line1": "Flat 1", "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", "country": "GB", "postalCode": "EC1N 7TE"}], "status": "Active", "defaultCurrency": "GBP"} responses: "201": - application/json: {"id": "sup-10933920", "supplierName": "Greggs", "contactName": "Greg Greggs", "emailAddress": "greg@greggs.com", "phone": "+44 (0)1223 322410", "status": "Active", "defaultCurrency": "GBP"} + application/json: {"id": "sup-10933920", "supplierName": "Northridge Office Supplies", "contactName": "Sarah Johnson", "emailAddress": "sarah.johnson@northridgesupplies.co.uk", "phone": "+44 (0)1223 322410", "addresses": [{"type": "Billing", "line1": "Flat 1", "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", "country": "GB", "postalCode": "EC1N 7TE"}], "status": "Active", "balance": 0, "defaultCurrency": "GBP", "sourceModifiedDate": "2026-03-18T10:30:00Z"} Malformed query: parameters: path: @@ -1864,8 +1876,61 @@ examples: application/json: {} "500": application/json: {} + Created bank account: + parameters: + path: + companyId: "8a210b68-6988-11ed-a1eb-0242ac120002" + connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171" + requestBody: + application/json: {"name": "", "accountType": "Debit", "accountNumber": "", "currency": "GBP"} + responses: + "201": + application/json: {"id": "fb623ab2-f6ff-4b22-b7d3-b7cc2a4aa0ea", "nominalCode": "22", "name": "Plutus - Payables - Bank Account 12", "accountType": "Debit", "accountNumber": "0120 0440", "sortCode": "50-50-50", "currency": "GBP", "status": "Active", "sourceModifiedDate": "2024-02-22T14:46:43.99Z"} + update-supplier: + Update supplier: + parameters: + path: + companyId: "8a210b68-6988-11ed-a1eb-0242ac120002" + connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171" + supplierId: "13d946f0-c5d5-42bc-b092-97ece17923ab" + requestBody: + application/json: {"supplierName": "Northridge Office Supplies", "contactName": "Sarah Johnson", "emailAddress": "sarah.johnson@northridgesupplies.co.uk", "phone": "+44 (0)1223 322410", "addresses": [{"type": "Billing", "line1": "Flat 1", "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", "country": "GB", "postalCode": "EC1N 7TE"}], "status": "Active", "defaultCurrency": "GBP"} + responses: + "200": + application/json: {"id": "sup-10933920", "supplierName": "Northridge Office Supplies", "contactName": "Sarah Johnson", "emailAddress": "sarah.johnson@northridgesupplies.co.uk", "phone": "+44 (0)1223 322410", "addresses": [{"type": "Billing", "line1": "Flat 1", "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", "country": "GB", "postalCode": "EC1N 7TE"}], "status": "Active", "balance": 0, "defaultCurrency": "GBP", "sourceModifiedDate": "2026-03-18T10:30:00Z"} + "400": + application/json: {} + "500": + application/json: {} + Updated supplier: + parameters: + path: + companyId: "8a210b68-6988-11ed-a1eb-0242ac120002" + connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171" + supplierId: "13d946f0-c5d5-42bc-b092-97ece17923ab" + requestBody: + application/json: {"supplierName": "", "phone": "+44 25691 154789", "status": "Active"} + responses: + "200": + application/json: {"id": "sup-10933920", "supplierName": "Northridge Office Supplies", "contactName": "Sarah Johnson", "emailAddress": "sarah.johnson@northridgesupplies.co.uk", "phone": "+44 (0)1223 322410", "addresses": [{"type": "Billing", "line1": "Flat 1", "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", "country": "GB", "postalCode": "EC1N 7TE"}], "status": "Active", "balance": 0, "defaultCurrency": "GBP", "sourceModifiedDate": "2026-03-18T10:30:00Z"} + Malformed query: + parameters: + path: + companyId: "8a210b68-6988-11ed-a1eb-0242ac120002" + connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171" + supplierId: "13d946f0-c5d5-42bc-b092-97ece17923ab" + requestBody: + application/json: {"supplierName": "", "phone": "+44 25691 154789", "status": "Active"} + responses: + "400": + application/json: {"statusCode": 400, "service": "PublicApi", "error": "Error processing request - not valid.", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "canBeRetried": "Unknown", "detailedErrorCode": 0} + "500": + application/json: {"statusCode": 400, "service": "PublicApi", "error": "Error processing request - not valid.", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "canBeRetried": "Unknown", "detailedErrorCode": 0} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: | + ## Python SDK Changes: + * `codat_sync_payables.suppliers.update()`: **Added** generatedFiles: - .gitattributes - .python-version diff --git a/sync-for-payables/.speakeasy/gen.yaml b/sync-for-payables/.speakeasy/gen.yaml index f8dc7f675..6b2b55b39 100644 --- a/sync-for-payables/.speakeasy/gen.yaml +++ b/sync-for-payables/.speakeasy/gen.yaml @@ -13,6 +13,7 @@ generation: securityFeb2025: false sharedErrorComponentsApr2025: false sharedNestedComponentsJan2026: false + nameOverrideFeb2026: false auth: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false @@ -27,7 +28,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 9.0.0 + version: 9.0.1 additionalDependencies: dev: {} main: {} @@ -46,11 +47,14 @@ python: enableCustomCodeRegions: false enumFormat: enum fixFlags: + asyncPaginationSep2025: false + conflictResistantModelImportsFeb2026: false responseRequiredSep2024: true flattenGlobalSecurity: false flattenRequests: false flatteningOrder: parameters-first forwardCompatibleEnumsByDefault: false + forwardCompatibleUnionsByDefault: "false" imports: option: openapi paths: diff --git a/sync-for-payables/README.md b/sync-for-payables/README.md index 5e8e8b3d0..3b031a41f 100644 --- a/sync-for-payables/README.md +++ b/sync-for-payables/README.md @@ -179,6 +179,7 @@ asyncio.run(main()) * [list](docs/sdks/suppliers/README.md#list) - List suppliers * [create](docs/sdks/suppliers/README.md#create) - Create supplier +* [update](docs/sdks/suppliers/README.md#update) - Update supplier diff --git a/sync-for-payables/RELEASES.md b/sync-for-payables/RELEASES.md index 950edf12c..1aae56b90 100644 --- a/sync-for-payables/RELEASES.md +++ b/sync-for-payables/RELEASES.md @@ -88,4 +88,14 @@ Based on: ### Generated - [python v9.0.0] sync-for-payables ### Releases -- [PyPI v9.0.0] https://pypi.org/project/codat-sync-for-payables/9.0.0 - sync-for-payables \ No newline at end of file +- [PyPI v9.0.0] https://pypi.org/project/codat-sync-for-payables/9.0.0 - sync-for-payables + +## 2026-03-23 11:35:53 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.759.1 (2.869.10) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v9.0.1] sync-for-payables +### Releases +- [PyPI v9.0.1] https://pypi.org/project/codat-sync-for-payables/9.0.1 - sync-for-payables \ No newline at end of file diff --git a/sync-for-payables/docs/models/operations/updatesupplierrequest.md b/sync-for-payables/docs/models/operations/updatesupplierrequest.md new file mode 100644 index 000000000..9a051fa2f --- /dev/null +++ b/sync-for-payables/docs/models/operations/updatesupplierrequest.md @@ -0,0 +1,11 @@ +# UpdateSupplierRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 | +| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | +| `supplier_id` | *str* | :heavy_check_mark: | Unique identifier for a supplier. | **Example 1:** 13d946f0-c5d5-42bc-b092-97ece17923ab
**Example 2:** 9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2
**Example 3:** 7110701885
**Example 4:** EILBDVJVNUAGVKRQ | +| `supplier_prototype` | [Optional[shared.SupplierPrototype]](../../models/shared/supplierprototype.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/sync-for-payables/docs/models/shared/accountstatus.md b/sync-for-payables/docs/models/shared/accountstatus.md index 25850a47c..25d7260e0 100644 --- a/sync-for-payables/docs/models/shared/accountstatus.md +++ b/sync-for-payables/docs/models/shared/accountstatus.md @@ -2,6 +2,14 @@ The current status of the account. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import AccountStatus + +value = AccountStatus.ACTIVE +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/address.md b/sync-for-payables/docs/models/shared/address.md index 5772213eb..331efc47c 100644 --- a/sync-for-payables/docs/models/shared/address.md +++ b/sync-for-payables/docs/models/shared/address.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Optional[shared.AddressType]](../../models/shared/addresstype.md) | :heavy_minus_sign: | The type of the address | -| `line1` | *OptionalNullable[str]* | :heavy_minus_sign: | Line 1 of the customer address. | -| `line2` | *OptionalNullable[str]* | :heavy_minus_sign: | Line 2 of the customer address. | -| `city` | *OptionalNullable[str]* | :heavy_minus_sign: | City of the customer address. | -| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | Region of the customer address. | -| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | Country of the customer's address. For NetSuite, use the 2-digit [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) country code. | -| `postal_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Postal code or zip code. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [Optional[shared.AddressType]](../../models/shared/addresstype.md) | :heavy_minus_sign: | The type of the address | +| `line1` | *OptionalNullable[str]* | :heavy_minus_sign: | Line 1 of the customer address. | +| `line2` | *OptionalNullable[str]* | :heavy_minus_sign: | Line 2 of the customer address. | +| `city` | *OptionalNullable[str]* | :heavy_minus_sign: | City of the customer address. | +| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | Region of the customer address. | +| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | Country of the address. We recommend using the 2-digit ISO 3166 country code (e.g. `GB`, `US`, `FR`) as this is accepted by all supported platforms. | +| `postal_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Postal code or zip code. | \ No newline at end of file diff --git a/sync-for-payables/docs/models/shared/addresstype.md b/sync-for-payables/docs/models/shared/addresstype.md index 5de1e6e1a..496df553c 100644 --- a/sync-for-payables/docs/models/shared/addresstype.md +++ b/sync-for-payables/docs/models/shared/addresstype.md @@ -2,6 +2,14 @@ The type of the address +## Example Usage + +```python +from codat_sync_for_payables.models.shared import AddressType + +value = AddressType.UNKNOWN +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/bankaccountstatus.md b/sync-for-payables/docs/models/shared/bankaccountstatus.md index 86abe214a..5917acb4c 100644 --- a/sync-for-payables/docs/models/shared/bankaccountstatus.md +++ b/sync-for-payables/docs/models/shared/bankaccountstatus.md @@ -2,6 +2,14 @@ The current status of the bank account. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import BankAccountStatus + +value = BankAccountStatus.ACTIVE +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/bankaccounttype.md b/sync-for-payables/docs/models/shared/bankaccounttype.md index a995a4e52..7186a1bf5 100644 --- a/sync-for-payables/docs/models/shared/bankaccounttype.md +++ b/sync-for-payables/docs/models/shared/bankaccounttype.md @@ -4,6 +4,14 @@ 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. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import BankAccountType + +value = BankAccountType.UNKNOWN +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/billstatus.md b/sync-for-payables/docs/models/shared/billstatus.md index 61bf740c2..f3991cbb0 100644 --- a/sync-for-payables/docs/models/shared/billstatus.md +++ b/sync-for-payables/docs/models/shared/billstatus.md @@ -2,6 +2,14 @@ Current state of the bill. If creating a bill the status must be `Open`. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import BillStatus + +value = BillStatus.UNKNOWN +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/dataconnectionstatus.md b/sync-for-payables/docs/models/shared/dataconnectionstatus.md index 4e79f5d5a..fd6fe9193 100644 --- a/sync-for-payables/docs/models/shared/dataconnectionstatus.md +++ b/sync-for-payables/docs/models/shared/dataconnectionstatus.md @@ -2,6 +2,14 @@ The current authorization status of the data connection. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import DataConnectionStatus + +value = DataConnectionStatus.PENDING_AUTH +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/datatype.md b/sync-for-payables/docs/models/shared/datatype.md index 1eef426e2..f526e4580 100644 --- a/sync-for-payables/docs/models/shared/datatype.md +++ b/sync-for-payables/docs/models/shared/datatype.md @@ -2,6 +2,14 @@ The type of the linked reference. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import DataType + +value = DataType.TRACKING_CATEGORIES +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/errorstatus.md b/sync-for-payables/docs/models/shared/errorstatus.md index 02c0ec3d9..0518d7fde 100644 --- a/sync-for-payables/docs/models/shared/errorstatus.md +++ b/sync-for-payables/docs/models/shared/errorstatus.md @@ -2,6 +2,14 @@ The current status of a transient error. Null statuses indicate that the error is not transient. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import ErrorStatus + +value = ErrorStatus.ACTIVE +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/sourcetype.md b/sync-for-payables/docs/models/shared/sourcetype.md index 2daec8ef3..b904d62d7 100644 --- a/sync-for-payables/docs/models/shared/sourcetype.md +++ b/sync-for-payables/docs/models/shared/sourcetype.md @@ -2,6 +2,14 @@ The type of platform of the connection. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import SourceType + +value = SourceType.ACCOUNTING +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/supplierstatus.md b/sync-for-payables/docs/models/shared/supplierstatus.md index 0374ea9e0..db5a33fb9 100644 --- a/sync-for-payables/docs/models/shared/supplierstatus.md +++ b/sync-for-payables/docs/models/shared/supplierstatus.md @@ -2,6 +2,14 @@ Status of the supplier. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import SupplierStatus + +value = SupplierStatus.UNKNOWN +``` + ## Values diff --git a/sync-for-payables/docs/models/shared/taxratestatus.md b/sync-for-payables/docs/models/shared/taxratestatus.md index dbdebfe1b..ce18ae57c 100644 --- a/sync-for-payables/docs/models/shared/taxratestatus.md +++ b/sync-for-payables/docs/models/shared/taxratestatus.md @@ -4,6 +4,14 @@ Status of the tax rate in the accounting software. - `Active` - An active tax rate in use by a company. - `Archived` - A tax rate that has been archived or is inactive in the accounting software. +## Example Usage + +```python +from codat_sync_for_payables.models.shared import TaxRateStatus + +value = TaxRateStatus.ACTIVE +``` + ## Values diff --git a/sync-for-payables/docs/sdks/bankaccounts/README.md b/sync-for-payables/docs/sdks/bankaccounts/README.md index 821d9513a..6e6cbfda6 100644 --- a/sync-for-payables/docs/sdks/bankaccounts/README.md +++ b/sync-for-payables/docs/sdks/bankaccounts/README.md @@ -44,6 +44,35 @@ with CodatSyncPayables( # Handle response print(res) +``` +### Example Usage: Created bank account + + +```python +from codat_sync_for_payables import CodatSyncPayables +from codat_sync_for_payables.models import shared + + +with CodatSyncPayables( + security=shared.Security( + auth_header="Basic BASE_64_ENCODED(API_KEY)", + ), +) as codat_sync_payables: + + res = codat_sync_payables.bank_accounts.create(request={ + "company_id": "8a210b68-6988-11ed-a1eb-0242ac120002", + "connection_id": "2e9d2c44-f675-40ba-8049-353bfcb5e171", + "bank_account_prototype": { + "name": "", + "account_type": shared.BankAccountType.DEBIT, + "account_number": "", + "currency": "GBP", + }, + }) + + # Handle response + print(res) + ``` ### Example Usage: Malformed query diff --git a/sync-for-payables/docs/sdks/suppliers/README.md b/sync-for-payables/docs/sdks/suppliers/README.md index f0c1eb59a..051ccf6a7 100644 --- a/sync-for-payables/docs/sdks/suppliers/README.md +++ b/sync-for-payables/docs/sdks/suppliers/README.md @@ -8,6 +8,7 @@ Get, create, and update Suppliers. * [list](#list) - List suppliers * [create](#create) - Create supplier +* [update](#update) - Update supplier ## list @@ -19,6 +20,17 @@ By default, this endpoint returns a list of active and archived suppliers. You c For example, to retrieve only active suppliers (i.e. `status=Active`) or suppliers created within the specified number of days (e.g. `sourceModifiedDate>2023-12-15T00:00:00.000Z`), query the endpoint as follows: `/payables/suppliers?query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`.For example, to retrieve active suppliers modified after a particular date use `query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`. +### Supported Integrations + +| Integration | Supported | +|-------------------------------|-----------| +| FreeAgent | Yes | +| QuickBooks Online | Yes | +| Xero | Yes | +| Oracle NetSuite | Yes | +| Sage Intacct | Yes | +| Zoho Books | Yes | + ### Example Usage: Source modified date @@ -194,6 +206,17 @@ The *Create supplier* endpoint creates a new [supplier](https://docs.codat.io/sy [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. +### Supported Integrations + +| Integration | Supported | +|-------------------------------|-----------| +| FreeAgent | Yes | +| QuickBooks Online | Yes | +| Xero | Yes | +| Oracle NetSuite | Yes | +| Sage Intacct | Yes | +| Zoho Books | Yes | + ### Example Usage: Malformed query @@ -241,9 +264,9 @@ with CodatSyncPayables( "company_id": "8a210b68-6988-11ed-a1eb-0242ac120002", "connection_id": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "supplier_prototype": { - "supplier_name": "Greggs", - "contact_name": "Greg Greggs", - "email_address": "greg@greggs.com", + "supplier_name": "Northridge Office Supplies", + "contact_name": "Sarah Johnson", + "email_address": "sarah.johnson@northridgesupplies.co.uk", "phone": "+44 (0)1223 322410", "addresses": [ { @@ -252,7 +275,7 @@ with CodatSyncPayables( "line2": "2 Dennis Avenue", "city": "London", "region": "Camden", - "country": "GBR", + "country": "GB", "postal_code": "EC1N 7TE", }, ], @@ -279,6 +302,152 @@ with CodatSyncPayables( ### Errors +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json | +| errors.ErrorMessage | 500, 503 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + +## update + +The *Update supplier* endpoint updates an existing [supplier](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection. + +[Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + +This is a full-replace PUT endpoint. Any fields not included in the request body will be cleared on the supplier record. + +### Supported Integrations + +| Integration | Supported | +|-------------------------------|-----------| +| FreeAgent | Yes | +| QuickBooks Online | Yes | +| Xero | Yes | +| Oracle NetSuite | No | +| Sage Intacct | No | +| Zoho Books | No | + +### Platform-specific behavior + +- **Xero**: Archived suppliers cannot be updated (returns `400`). Suppliers must be unarchived manually in the Xero UI before updating. +- **QuickBooks Online**: Currency can only be set when creating a supplier, and cannot be changed via update. + + +### Example Usage: Malformed query + + +```python +from codat_sync_for_payables import CodatSyncPayables +from codat_sync_for_payables.models import shared + + +with CodatSyncPayables( + security=shared.Security( + auth_header="Basic BASE_64_ENCODED(API_KEY)", + ), +) as codat_sync_payables: + + res = codat_sync_payables.suppliers.update(request={ + "company_id": "8a210b68-6988-11ed-a1eb-0242ac120002", + "connection_id": "2e9d2c44-f675-40ba-8049-353bfcb5e171", + "supplier_id": "13d946f0-c5d5-42bc-b092-97ece17923ab", + "supplier_prototype": { + "supplier_name": "", + "phone": "+44 25691 154789", + "status": shared.SupplierStatus.ACTIVE, + }, + }) + + # Handle response + print(res) + +``` +### Example Usage: Update supplier + + +```python +from codat_sync_for_payables import CodatSyncPayables +from codat_sync_for_payables.models import shared + + +with CodatSyncPayables( + security=shared.Security( + auth_header="Basic BASE_64_ENCODED(API_KEY)", + ), +) as codat_sync_payables: + + res = codat_sync_payables.suppliers.update(request={ + "company_id": "8a210b68-6988-11ed-a1eb-0242ac120002", + "connection_id": "2e9d2c44-f675-40ba-8049-353bfcb5e171", + "supplier_id": "13d946f0-c5d5-42bc-b092-97ece17923ab", + "supplier_prototype": { + "supplier_name": "Northridge Office Supplies", + "contact_name": "Sarah Johnson", + "email_address": "sarah.johnson@northridgesupplies.co.uk", + "phone": "+44 (0)1223 322410", + "addresses": [ + { + "type": shared.AddressType.BILLING, + "line1": "Flat 1", + "line2": "2 Dennis Avenue", + "city": "London", + "region": "Camden", + "country": "GB", + "postal_code": "EC1N 7TE", + }, + ], + "status": shared.SupplierStatus.ACTIVE, + "default_currency": "GBP", + }, + }) + + # Handle response + print(res) + +``` +### Example Usage: Updated supplier + + +```python +from codat_sync_for_payables import CodatSyncPayables +from codat_sync_for_payables.models import shared + + +with CodatSyncPayables( + security=shared.Security( + auth_header="Basic BASE_64_ENCODED(API_KEY)", + ), +) as codat_sync_payables: + + res = codat_sync_payables.suppliers.update(request={ + "company_id": "8a210b68-6988-11ed-a1eb-0242ac120002", + "connection_id": "2e9d2c44-f675-40ba-8049-353bfcb5e171", + "supplier_id": "13d946f0-c5d5-42bc-b092-97ece17923ab", + "supplier_prototype": { + "supplier_name": "", + "phone": "+44 25691 154789", + "status": shared.SupplierStatus.ACTIVE, + }, + }) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `request` | [operations.UpdateSupplierRequest](../../models/operations/updatesupplierrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[shared.Supplier](../../models/shared/supplier.md)** + +### Errors + | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json | diff --git a/sync-for-payables/pylintrc b/sync-for-payables/pylintrc index ba6a998b8..cb9c15d31 100644 --- a/sync-for-payables/pylintrc +++ b/sync-for-payables/pylintrc @@ -458,7 +458,8 @@ disable=raw-checker-failed, consider-using-with, wildcard-import, unused-wildcard-import, - too-many-return-statements + too-many-return-statements, + redefined-builtin # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option diff --git a/sync-for-payables/pyproject.toml b/sync-for-payables/pyproject.toml index bcc8837b0..323d1dac6 100644 --- a/sync-for-payables/pyproject.toml +++ b/sync-for-payables/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "codat-sync-for-payables" -version = "9.0.0" +version = "9.0.1" description = "Streamline your customers' accounts payable workflow." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/sync-for-payables/src/codat_sync_for_payables/_version.py b/sync-for-payables/src/codat_sync_for_payables/_version.py index 2ce03c491..ab19f6e91 100644 --- a/sync-for-payables/src/codat_sync_for_payables/_version.py +++ b/sync-for-payables/src/codat_sync_for_payables/_version.py @@ -3,10 +3,12 @@ import importlib.metadata __title__: str = "codat-sync-for-payables" -__version__: str = "9.0.0" +__version__: str = "9.0.1" __openapi_doc_version__: str = "3.0.0" -__gen_version__: str = "2.812.2" -__user_agent__: str = "speakeasy-sdk/python 9.0.0 2.812.2 3.0.0 codat-sync-for-payables" +__gen_version__: str = "2.869.10" +__user_agent__: str = ( + "speakeasy-sdk/python 9.0.1 2.869.10 3.0.0 codat-sync-for-payables" +) try: if __package__ is not None: diff --git a/sync-for-payables/src/codat_sync_for_payables/bank_accounts.py b/sync-for-payables/src/codat_sync_for_payables/bank_accounts.py index bed160dd6..0465022f3 100644 --- a/sync-for-payables/src/codat_sync_for_payables/bank_accounts.py +++ b/sync-for-payables/src/codat_sync_for_payables/bank_accounts.py @@ -66,7 +66,7 @@ def create( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bank_account_prototype, + request.bank_account_prototype if request is not None else None, False, True, "json", @@ -184,7 +184,7 @@ async def create_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bank_account_prototype, + request.bank_account_prototype if request is not None else None, False, True, "json", diff --git a/sync-for-payables/src/codat_sync_for_payables/bill_payments.py b/sync-for-payables/src/codat_sync_for_payables/bill_payments.py index 9818c8963..b634b6140 100644 --- a/sync-for-payables/src/codat_sync_for_payables/bill_payments.py +++ b/sync-for-payables/src/codat_sync_for_payables/bill_payments.py @@ -296,7 +296,7 @@ def create( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_payment_prototype, + request.bill_payment_prototype if request is not None else None, False, True, "json", @@ -417,7 +417,7 @@ async def create_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_payment_prototype, + request.bill_payment_prototype if request is not None else None, False, True, "json", diff --git a/sync-for-payables/src/codat_sync_for_payables/bills.py b/sync-for-payables/src/codat_sync_for_payables/bills.py index 517497d5c..bd54a718a 100644 --- a/sync-for-payables/src/codat_sync_for_payables/bills.py +++ b/sync-for-payables/src/codat_sync_for_payables/bills.py @@ -522,7 +522,7 @@ def create( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_prototype, + request.bill_prototype if request is not None else None, False, True, "json", @@ -642,7 +642,7 @@ async def create_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_prototype, + request.bill_prototype if request is not None else None, False, True, "json", @@ -774,7 +774,7 @@ def update( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_prototype, + request.bill_prototype if request is not None else None, False, True, "json", @@ -906,7 +906,7 @@ async def update_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_prototype, + request.bill_prototype if request is not None else None, False, True, "json", @@ -1027,7 +1027,7 @@ def upload_attachment( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.attachment_upload, + request.attachment_upload if request is not None else None, False, True, "multipart", @@ -1145,7 +1145,7 @@ async def upload_attachment_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.attachment_upload, + request.attachment_upload if request is not None else None, False, True, "multipart", diff --git a/sync-for-payables/src/codat_sync_for_payables/companies.py b/sync-for-payables/src/codat_sync_for_payables/companies.py index 0dbe0548a..c4741ea60 100644 --- a/sync-for-payables/src/codat_sync_for_payables/companies.py +++ b/sync-for-payables/src/codat_sync_for_payables/companies.py @@ -544,7 +544,7 @@ def replace( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.company_request_body, + request.company_request_body if request is not None else None, False, True, "json", @@ -661,7 +661,7 @@ async def replace_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.company_request_body, + request.company_request_body if request is not None else None, False, True, "json", @@ -779,7 +779,7 @@ def update( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.company_update_request, + request.company_update_request if request is not None else None, False, True, "json", @@ -897,7 +897,7 @@ async def update_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.company_update_request, + request.company_update_request if request is not None else None, False, True, "json", diff --git a/sync-for-payables/src/codat_sync_for_payables/connections.py b/sync-for-payables/src/codat_sync_for_payables/connections.py index e2e3103e8..253b3b85a 100644 --- a/sync-for-payables/src/codat_sync_for_payables/connections.py +++ b/sync-for-payables/src/codat_sync_for_payables/connections.py @@ -284,7 +284,7 @@ def create( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.request_body, + request.request_body if request is not None else None, False, True, "json", @@ -401,7 +401,7 @@ async def create_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.request_body, + request.request_body if request is not None else None, False, True, "json", @@ -948,7 +948,7 @@ def unlink( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.request_body, + request.request_body if request is not None else None, False, True, "json", @@ -1063,7 +1063,7 @@ async def unlink_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.request_body, + request.request_body if request is not None else None, False, True, "json", diff --git a/sync-for-payables/src/codat_sync_for_payables/models/__init__.py b/sync-for-payables/src/codat_sync_for_payables/models/__init__.py index 726fc5eb3..60ff1284e 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/__init__.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/__init__.py @@ -1,3 +1,23 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" +from typing import Any, TYPE_CHECKING + +from codat_sync_for_payables.utils.dynamic_imports import lazy_getattr, lazy_dir + +if TYPE_CHECKING: + from . import errors, operations, shared + # package + + +_sub_packages = ["errors", "operations", "shared"] + + +def __getattr__(attr_name: str) -> Any: + return lazy_getattr( + attr_name, package=__package__, dynamic_imports={}, sub_packages=_sub_packages + ) + + +def __dir__(): + return lazy_dir(dynamic_imports={}, sub_packages=_sub_packages) diff --git a/sync-for-payables/src/codat_sync_for_payables/models/errors/__init__.py b/sync-for-payables/src/codat_sync_for_payables/models/errors/__init__.py index 759000d59..709ea11be 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/errors/__init__.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/errors/__init__.py @@ -1,10 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .codatsyncpayableserror import CodatSyncPayablesError -from typing import TYPE_CHECKING -from importlib import import_module -import builtins -import sys +from typing import Any, TYPE_CHECKING + +from codat_sync_for_payables.utils.dynamic_imports import lazy_getattr, lazy_dir if TYPE_CHECKING: from .errormessage import ErrorMessage, ErrorMessageData @@ -30,39 +29,11 @@ } -def dynamic_import(modname, retries=3): - for attempt in range(retries): - try: - return import_module(modname, __package__) - except KeyError: - # Clear any half-initialized module and retry - sys.modules.pop(modname, None) - if attempt == retries - 1: - break - raise KeyError(f"Failed to import module '{modname}' after {retries} attempts") - - -def __getattr__(attr_name: str) -> object: - module_name = _dynamic_imports.get(attr_name) - if module_name is None: - raise AttributeError( - f"No {attr_name} found in _dynamic_imports for module name -> {__name__} " - ) - - try: - module = dynamic_import(module_name) - result = getattr(module, attr_name) - return result - except ImportError as e: - raise ImportError( - f"Failed to import {attr_name} from {module_name}: {e}" - ) from e - except AttributeError as e: - raise AttributeError( - f"Failed to get {attr_name} from {module_name}: {e}" - ) from e +def __getattr__(attr_name: str) -> Any: + return lazy_getattr( + attr_name, package=__package__, dynamic_imports=_dynamic_imports + ) def __dir__(): - lazy_attrs = builtins.list(_dynamic_imports.keys()) - return builtins.sorted(lazy_attrs) + return lazy_dir(dynamic_imports=_dynamic_imports) diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/__init__.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/__init__.py index ce0745041..acb9ce509 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/__init__.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/__init__.py @@ -1,9 +1,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from typing import TYPE_CHECKING -from importlib import import_module -import builtins -import sys +from typing import Any, TYPE_CHECKING + +from codat_sync_for_payables.utils.dynamic_imports import lazy_getattr, lazy_dir if TYPE_CHECKING: from .create_bank_account import ( @@ -65,6 +64,7 @@ ) from .update_bill import UpdateBillRequest, UpdateBillRequestTypedDict from .update_company import UpdateCompanyRequest, UpdateCompanyRequestTypedDict + from .update_supplier import UpdateSupplierRequest, UpdateSupplierRequestTypedDict from .upload_bill_attachment import ( UploadBillAttachmentRequest, UploadBillAttachmentRequestTypedDict, @@ -119,6 +119,8 @@ "UpdateBillRequestTypedDict", "UpdateCompanyRequest", "UpdateCompanyRequestTypedDict", + "UpdateSupplierRequest", + "UpdateSupplierRequestTypedDict", "UploadBillAttachmentRequest", "UploadBillAttachmentRequestTypedDict", ] @@ -172,44 +174,18 @@ "UpdateBillRequestTypedDict": ".update_bill", "UpdateCompanyRequest": ".update_company", "UpdateCompanyRequestTypedDict": ".update_company", + "UpdateSupplierRequest": ".update_supplier", + "UpdateSupplierRequestTypedDict": ".update_supplier", "UploadBillAttachmentRequest": ".upload_bill_attachment", "UploadBillAttachmentRequestTypedDict": ".upload_bill_attachment", } -def dynamic_import(modname, retries=3): - for attempt in range(retries): - try: - return import_module(modname, __package__) - except KeyError: - # Clear any half-initialized module and retry - sys.modules.pop(modname, None) - if attempt == retries - 1: - break - raise KeyError(f"Failed to import module '{modname}' after {retries} attempts") - - -def __getattr__(attr_name: str) -> object: - module_name = _dynamic_imports.get(attr_name) - if module_name is None: - raise AttributeError( - f"No {attr_name} found in _dynamic_imports for module name -> {__name__} " - ) - - try: - module = dynamic_import(module_name) - result = getattr(module, attr_name) - return result - except ImportError as e: - raise ImportError( - f"Failed to import {attr_name} from {module_name}: {e}" - ) from e - except AttributeError as e: - raise AttributeError( - f"Failed to get {attr_name} from {module_name}: {e}" - ) from e +def __getattr__(attr_name: str) -> Any: + return lazy_getattr( + attr_name, package=__package__, dynamic_imports=_dynamic_imports + ) def __dir__(): - lazy_attrs = builtins.list(_dynamic_imports.keys()) - return builtins.sorted(lazy_attrs) + return lazy_dir(dynamic_imports=_dynamic_imports) diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bank_account.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bank_account.py index 46a2d3048..741ff5784 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bank_account.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bank_account.py @@ -64,7 +64,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill.py index 2be21bb53..55577c0de 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill.py @@ -60,7 +60,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill_payment.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill_payment.py index 0ff27fc4e..1873ae4d7 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill_payment.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_bill_payment.py @@ -73,7 +73,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_connection.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_connection.py index b5a1fc96e..52e97da8c 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_connection.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_connection.py @@ -30,7 +30,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: @@ -66,10 +66,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + CreateConnectionRequestBody.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_supplier.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_supplier.py index bf1ea7f08..22ec11b27 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/create_supplier.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/create_supplier.py @@ -62,7 +62,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_bills.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_bills.py index 98de06231..da8cae88e 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_bills.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_bills.py @@ -61,7 +61,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_payments.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_payments.py index ebd62e463..dded63b8a 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_payments.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/get_mapping_options_payments.py @@ -61,7 +61,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_bills.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_bills.py index 08602e4b8..0f224f151 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_bills.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_bills.py @@ -60,7 +60,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_companies.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_companies.py index 443b275ad..7d919e1b5 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_companies.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_companies.py @@ -63,7 +63,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_connections.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_connections.py index 7b0f6c504..0a3e5b2c3 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_connections.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_connections.py @@ -68,7 +68,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_suppliers.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_suppliers.py index c2d6d5397..499b422d5 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/list_suppliers.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/list_suppliers.py @@ -60,7 +60,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/replace_company.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/replace_company.py index b9bf9a37a..1670273e5 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/replace_company.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/replace_company.py @@ -45,7 +45,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/unlink_connection.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/unlink_connection.py index d4e3261e7..507c063f7 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/unlink_connection.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/unlink_connection.py @@ -33,7 +33,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: @@ -78,7 +78,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/update_bill.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/update_bill.py index eada75683..d92fc24bb 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/update_bill.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/update_bill.py @@ -69,7 +69,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/update_company.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/update_company.py index 707e4d029..5d3abdc41 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/update_company.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/update_company.py @@ -45,7 +45,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/update_supplier.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/update_supplier.py new file mode 100644 index 000000000..6ea647c5b --- /dev/null +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/update_supplier.py @@ -0,0 +1,70 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from codat_sync_for_payables.models.shared import ( + supplierprototype as shared_supplierprototype, +) +from codat_sync_for_payables.types import BaseModel, UNSET_SENTINEL +from codat_sync_for_payables.utils import ( + FieldMetadata, + PathParamMetadata, + RequestMetadata, +) +import pydantic +from pydantic import model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class UpdateSupplierRequestTypedDict(TypedDict): + company_id: str + r"""Unique identifier for a company.""" + connection_id: str + r"""Unique identifier for a connection.""" + supplier_id: str + r"""Unique identifier for a supplier.""" + supplier_prototype: NotRequired[shared_supplierprototype.SupplierPrototypeTypedDict] + + +class UpdateSupplierRequest(BaseModel): + company_id: Annotated[ + str, + pydantic.Field(alias="companyId"), + FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), + ] + r"""Unique identifier for a company.""" + + connection_id: Annotated[ + str, + pydantic.Field(alias="connectionId"), + FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), + ] + r"""Unique identifier for a connection.""" + + supplier_id: Annotated[ + str, + pydantic.Field(alias="supplierId"), + FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), + ] + r"""Unique identifier for a supplier.""" + + supplier_prototype: Annotated[ + Optional[shared_supplierprototype.SupplierPrototype], + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["supplierPrototype"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/sync-for-payables/src/codat_sync_for_payables/models/operations/upload_bill_attachment.py b/sync-for-payables/src/codat_sync_for_payables/models/operations/upload_bill_attachment.py index 8fdc88788..2fe0d0c7e 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/operations/upload_bill_attachment.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/operations/upload_bill_attachment.py @@ -61,7 +61,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/__init__.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/__init__.py index 096b152f8..cae4f6941 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/__init__.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/__init__.py @@ -1,9 +1,8 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from typing import TYPE_CHECKING -from importlib import import_module -import builtins -import sys +from typing import Any, TYPE_CHECKING + +from codat_sync_for_payables.utils.dynamic_imports import lazy_getattr, lazy_dir if TYPE_CHECKING: from .accountmappingoption import ( @@ -297,39 +296,11 @@ } -def dynamic_import(modname, retries=3): - for attempt in range(retries): - try: - return import_module(modname, __package__) - except KeyError: - # Clear any half-initialized module and retry - sys.modules.pop(modname, None) - if attempt == retries - 1: - break - raise KeyError(f"Failed to import module '{modname}' after {retries} attempts") - - -def __getattr__(attr_name: str) -> object: - module_name = _dynamic_imports.get(attr_name) - if module_name is None: - raise AttributeError( - f"No {attr_name} found in _dynamic_imports for module name -> {__name__} " - ) - - try: - module = dynamic_import(module_name) - result = getattr(module, attr_name) - return result - except ImportError as e: - raise ImportError( - f"Failed to import {attr_name} from {module_name}: {e}" - ) from e - except AttributeError as e: - raise AttributeError( - f"Failed to get {attr_name} from {module_name}: {e}" - ) from e +def __getattr__(attr_name: str) -> Any: + return lazy_getattr( + attr_name, package=__package__, dynamic_imports=_dynamic_imports + ) def __dir__(): - lazy_attrs = builtins.list(_dynamic_imports.keys()) - return builtins.sorted(lazy_attrs) + return lazy_dir(dynamic_imports=_dynamic_imports) diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/accountmappingoption.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/accountmappingoption.py index 9452401d9..3e9371409 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/accountmappingoption.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/accountmappingoption.py @@ -89,7 +89,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -104,3 +104,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + AccountMappingOption.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/address.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/address.py index bd9a6331f..c54556b59 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/address.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/address.py @@ -27,7 +27,7 @@ class AddressTypedDict(TypedDict): region: NotRequired[Nullable[str]] r"""Region of the customer address.""" country: NotRequired[Nullable[str]] - r"""Country of the customer's address. For NetSuite, use the 2-digit [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) country code.""" + r"""Country of the address. We recommend using the 2-digit ISO 3166 country code (e.g. `GB`, `US`, `FR`) as this is accepted by all supported platforms.""" postal_code: NotRequired[Nullable[str]] r"""Postal code or zip code.""" @@ -49,7 +49,7 @@ class Address(BaseModel): r"""Region of the customer address.""" country: OptionalNullable[str] = UNSET - r"""Country of the customer's address. For NetSuite, use the 2-digit [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) country code.""" + r"""Country of the address. We recommend using the 2-digit ISO 3166 country code (e.g. `GB`, `US`, `FR`) as this is accepted by all supported platforms.""" postal_code: Annotated[ OptionalNullable[str], pydantic.Field(alias="postalCode") @@ -69,7 +69,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -84,3 +84,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Address.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/attachment.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/attachment.py index 5b3431359..4caea3972 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/attachment.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/attachment.py @@ -158,7 +158,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -173,3 +173,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Attachment.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccount.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccount.py index fc5c124a0..4747806ae 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccount.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccount.py @@ -130,7 +130,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -145,3 +145,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BankAccount.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountmappingoption.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountmappingoption.py index c1a0b7412..aa5b368f6 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountmappingoption.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountmappingoption.py @@ -118,7 +118,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -133,3 +133,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BankAccountMappingOption.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountprototype.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountprototype.py index b24e6b7f6..919b51757 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountprototype.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/bankaccountprototype.py @@ -97,7 +97,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -112,3 +112,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BankAccountPrototype.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/bill.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/bill.py index 0bfde2a06..59ba9105e 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/bill.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/bill.py @@ -205,7 +205,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -220,3 +220,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Bill.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billaccountref.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billaccountref.py index 4b7ee1f2c..9923de327 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billaccountref.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billaccountref.py @@ -28,7 +28,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billlineitem.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billlineitem.py index 3c497ec63..49c500e89 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billlineitem.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billlineitem.py @@ -114,7 +114,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -129,3 +129,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BillLineItem.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billmappingoptions.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billmappingoptions.py index 3a4201bde..e63d8752d 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billmappingoptions.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billmappingoptions.py @@ -38,10 +38,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + BillMappingOptions.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billpayment.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billpayment.py index 6e49d8d46..30fe531e8 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billpayment.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billpayment.py @@ -139,7 +139,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -154,3 +154,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BillPayment.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billpaymentprototype.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billpaymentprototype.py index 249d545e6..2f8315c02 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billpaymentprototype.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billpaymentprototype.py @@ -129,7 +129,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -144,3 +144,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BillPaymentPrototype.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billprototype.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billprototype.py index 06e4da1c2..643426e88 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billprototype.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billprototype.py @@ -157,7 +157,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -172,3 +172,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + BillPrototype.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/bills.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/bills.py index f70b0ae7e..69a78e9a7 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/bills.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/bills.py @@ -27,7 +27,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/billtaxrateref.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/billtaxrateref.py index d78556c2b..5fc6fd686 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/billtaxrateref.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/billtaxrateref.py @@ -28,7 +28,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhook.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhook.py index d0ba137f7..d67fc03b1 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhook.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhook.py @@ -82,10 +82,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + ClientRateLimitWebhook.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhookpayload.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhookpayload.py index 7231884f8..ce0ea5c23 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhookpayload.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/clientratelimitwebhookpayload.py @@ -75,10 +75,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + ClientRateLimitWebhookPayload.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/codatfile.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/codatfile.py index 0dd6f1332..88f981a5a 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/codatfile.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/codatfile.py @@ -41,7 +41,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/companies.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/companies.py index d8e833343..ab3f3dc38 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/companies.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/companies.py @@ -43,10 +43,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + Companies.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/company.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/company.py index 79700c99d..4636d9637 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/company.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/company.py @@ -196,7 +196,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -211,3 +211,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Company.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyinformation.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyinformation.py index 31e5af9bd..f84e48da1 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyinformation.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyinformation.py @@ -44,7 +44,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -59,3 +59,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + CompanyInformation.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyreference.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyreference.py index e76bb64c3..955a899e5 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyreference.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyreference.py @@ -28,7 +28,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: @@ -74,7 +74,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyrequestbody.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyrequestbody.py index ba0413dab..76dc20cc3 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyrequestbody.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyrequestbody.py @@ -34,7 +34,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyupdaterequest.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyupdaterequest.py index 46e89fef6..c80c2629e 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/companyupdaterequest.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/companyupdaterequest.py @@ -34,7 +34,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/connection.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/connection.py index 9ebfccc2c..d804cfa09 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/connection.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/connection.py @@ -203,7 +203,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -218,3 +218,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Connection.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/connections.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/connections.py index 2e1df73d5..6696c0949 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/connections.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/connections.py @@ -43,10 +43,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + Connections.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/dataconnectionerror.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/dataconnectionerror.py index a875b724a..887535143 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/dataconnectionerror.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/dataconnectionerror.py @@ -154,7 +154,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -169,3 +169,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + DataConnectionError.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidation.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidation.py index 4b5f24f6c..ab8d4c61f 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidation.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidation.py @@ -37,7 +37,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidationitem.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidationitem.py index 0722479cc..59ce442a3 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidationitem.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/errorvalidationitem.py @@ -43,7 +43,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -58,3 +58,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + ErrorValidationItem.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/halref.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/halref.py index 3633c6fa9..dd4b314cd 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/halref.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/halref.py @@ -24,7 +24,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/links.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/links.py index 76e148720..708db8b08 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/links.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/links.py @@ -33,10 +33,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + Links.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/pagination.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/pagination.py index ebd4d9d33..d76c207d2 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/pagination.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/pagination.py @@ -27,10 +27,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + Pagination.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/paymentmappingoptions.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/paymentmappingoptions.py index e84f5a096..6090a5978 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/paymentmappingoptions.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/paymentmappingoptions.py @@ -38,10 +38,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + PaymentMappingOptions.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/supplier.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/supplier.py index 16bb52a8b..ca0db96d7 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/supplier.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/supplier.py @@ -127,7 +127,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -142,3 +142,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + Supplier.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierprototype.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierprototype.py index 248e452a6..3f3ab6aba 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierprototype.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierprototype.py @@ -101,7 +101,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -116,3 +116,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + SupplierPrototype.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierref.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierref.py index bef54f97c..cce2125db 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierref.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/supplierref.py @@ -42,7 +42,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -57,3 +57,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + SupplierRef.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/suppliers.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/suppliers.py index 8cd43943f..6b57a2aa4 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/suppliers.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/suppliers.py @@ -27,7 +27,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/taxratemappingoption.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/taxratemappingoption.py index ffc4c9033..95ae15ef4 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/taxratemappingoption.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/taxratemappingoption.py @@ -94,7 +94,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member @@ -109,3 +109,9 @@ def serialize_model(self, handler): m[k] = val return m + + +try: + TaxRateMappingOption.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/models/shared/trackingref.py b/sync-for-payables/src/codat_sync_for_payables/models/shared/trackingref.py index 640672745..61af5cebe 100644 --- a/sync-for-payables/src/codat_sync_for_payables/models/shared/trackingref.py +++ b/sync-for-payables/src/codat_sync_for_payables/models/shared/trackingref.py @@ -43,10 +43,16 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: m[k] = val return m + + +try: + TrackingRef.model_rebuild() +except NameError: + pass diff --git a/sync-for-payables/src/codat_sync_for_payables/sdk.py b/sync-for-payables/src/codat_sync_for_payables/sdk.py index 19182eedc..c83d020e2 100644 --- a/sync-for-payables/src/codat_sync_for_payables/sdk.py +++ b/sync-for-payables/src/codat_sync_for_payables/sdk.py @@ -91,8 +91,8 @@ def __init__( self, security: Union[shared.Security, Callable[[], shared.Security]], server_idx: Optional[int] = None, - server_url: Optional[str] = None, url_params: Optional[Dict[str, str]] = None, + server_url: Optional[str] = None, client: Optional[HttpClient] = None, async_client: Optional[AsyncHttpClient] = None, retry_config: OptionalNullable[RetryConfig] = UNSET, diff --git a/sync-for-payables/src/codat_sync_for_payables/suppliers.py b/sync-for-payables/src/codat_sync_for_payables/suppliers.py index fc8e95a55..826d5836d 100644 --- a/sync-for-payables/src/codat_sync_for_payables/suppliers.py +++ b/sync-for-payables/src/codat_sync_for_payables/suppliers.py @@ -35,6 +35,17 @@ def list( For example, to retrieve only active suppliers (i.e. `status=Active`) or suppliers created within the specified number of days (e.g. `sourceModifiedDate>2023-12-15T00:00:00.000Z`), query the endpoint as follows: `/payables/suppliers?query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`.For example, to retrieve active suppliers modified after a particular date use `query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`. + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | Yes | + | Sage Intacct | Yes | + | Zoho Books | Yes | + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -152,6 +163,17 @@ async def list_async( For example, to retrieve only active suppliers (i.e. `status=Active`) or suppliers created within the specified number of days (e.g. `sourceModifiedDate>2023-12-15T00:00:00.000Z`), query the endpoint as follows: `/payables/suppliers?query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`.For example, to retrieve active suppliers modified after a particular date use `query=sourceModifiedDate>2023-12-15T00:00:00.000Z&&status=Active`. + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | Yes | + | Sage Intacct | Yes | + | Zoho Books | Yes | + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -265,6 +287,17 @@ def create( [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | Yes | + | Sage Intacct | Yes | + | Zoho Books | Yes | + :param request: The request object to send. :param retries: Override the default retry configuration for this method @@ -300,7 +333,7 @@ def create( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.supplier_prototype, + request.supplier_prototype if request is not None else None, False, True, "json", @@ -383,6 +416,17 @@ async def create_async( [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | Yes | + | Sage Intacct | Yes | + | Zoho Books | Yes | + :param request: The request object to send. :param retries: Override the default retry configuration for this method @@ -418,7 +462,7 @@ async def create_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.supplier_prototype, + request.supplier_prototype if request is not None else None, False, True, "json", @@ -483,3 +527,275 @@ async def create_async( raise errors.SDKError("API error occurred", http_res, http_res_text) raise errors.SDKError("Unexpected response received", http_res) + + def update( + self, + *, + request: Union[ + operations.UpdateSupplierRequest, operations.UpdateSupplierRequestTypedDict + ], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> shared.Supplier: + r"""Update supplier + + The *Update supplier* endpoint updates an existing [supplier](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection. + + [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + + This is a full-replace PUT endpoint. Any fields not included in the request body will be cleared on the supplier record. + + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | No | + | Sage Intacct | No | + | Zoho Books | No | + + ### Platform-specific behavior + + - **Xero**: Archived suppliers cannot be updated (returns `400`). Suppliers must be unarchived manually in the Xero UI before updating. + - **QuickBooks Online**: Currency can only be set when creating a supplier, and cannot be changed via update. + + + :param request: The request object to send. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, operations.UpdateSupplierRequest) + request = cast(operations.UpdateSupplierRequest, request) + + req = self._build_request( + method="PUT", + path="/companies/{companyId}/connections/{connectionId}/payables/suppliers/{supplierId}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.supplier_prototype if request is not None else None, + False, + True, + "json", + Optional[shared.SupplierPrototype], + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["408", "429", "5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="update-supplier", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=[ + "400", + "401", + "402", + "403", + "404", + "429", + "4XX", + "500", + "503", + "5XX", + ], + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(shared.Supplier, http_res) + if utils.match_response( + http_res, ["400", "401", "402", "403", "404", "429"], "application/json" + ): + response_data = unmarshal_json_response(errors.ErrorMessageData, http_res) + raise errors.ErrorMessage(response_data, http_res) + if utils.match_response(http_res, ["500", "503"], "application/json"): + response_data = unmarshal_json_response(errors.ErrorMessageData, http_res) + raise errors.ErrorMessage(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise errors.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise errors.SDKError("API error occurred", http_res, http_res_text) + + raise errors.SDKError("Unexpected response received", http_res) + + async def update_async( + self, + *, + request: Union[ + operations.UpdateSupplierRequest, operations.UpdateSupplierRequestTypedDict + ], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> shared.Supplier: + r"""Update supplier + + The *Update supplier* endpoint updates an existing [supplier](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) for a given company's connection. + + [Suppliers](https://docs.codat.io/sync-for-payables-api#/schemas/Supplier) are people or organizations that provide something, such as a product or service. + + This is a full-replace PUT endpoint. Any fields not included in the request body will be cleared on the supplier record. + + ### Supported Integrations + + | Integration | Supported | + |-------------------------------|-----------| + | FreeAgent | Yes | + | QuickBooks Online | Yes | + | Xero | Yes | + | Oracle NetSuite | No | + | Sage Intacct | No | + | Zoho Books | No | + + ### Platform-specific behavior + + - **Xero**: Archived suppliers cannot be updated (returns `400`). Suppliers must be unarchived manually in the Xero UI before updating. + - **QuickBooks Online**: Currency can only be set when creating a supplier, and cannot be changed via update. + + + :param request: The request object to send. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, operations.UpdateSupplierRequest) + request = cast(operations.UpdateSupplierRequest, request) + + req = self._build_request_async( + method="PUT", + path="/companies/{companyId}/connections/{connectionId}/payables/suppliers/{supplierId}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.supplier_prototype if request is not None else None, + False, + True, + "json", + Optional[shared.SupplierPrototype], + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["408", "429", "5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="update-supplier", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=[ + "400", + "401", + "402", + "403", + "404", + "429", + "4XX", + "500", + "503", + "5XX", + ], + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(shared.Supplier, http_res) + if utils.match_response( + http_res, ["400", "401", "402", "403", "404", "429"], "application/json" + ): + response_data = unmarshal_json_response(errors.ErrorMessageData, http_res) + raise errors.ErrorMessage(response_data, http_res) + if utils.match_response(http_res, ["500", "503"], "application/json"): + response_data = unmarshal_json_response(errors.ErrorMessageData, http_res) + raise errors.ErrorMessage(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise errors.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise errors.SDKError("API error occurred", http_res, http_res_text) + + raise errors.SDKError("Unexpected response received", http_res) diff --git a/sync-for-payables/src/codat_sync_for_payables/utils/__init__.py b/sync-for-payables/src/codat_sync_for_payables/utils/__init__.py index 15394a08a..0498cb8da 100644 --- a/sync-for-payables/src/codat_sync_for_payables/utils/__init__.py +++ b/sync-for-payables/src/codat_sync_for_payables/utils/__init__.py @@ -1,10 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from typing import TYPE_CHECKING, Callable, TypeVar -from importlib import import_module +from typing import Any, TYPE_CHECKING, Callable, TypeVar import asyncio -import builtins -import sys + +from .dynamic_imports import lazy_getattr, lazy_dir _T = TypeVar("_T") @@ -166,38 +165,11 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: } -def dynamic_import(modname, retries=3): - for attempt in range(retries): - try: - return import_module(modname, __package__) - except KeyError: - # Clear any half-initialized module and retry - sys.modules.pop(modname, None) - if attempt == retries - 1: - break - raise KeyError(f"Failed to import module '{modname}' after {retries} attempts") - - -def __getattr__(attr_name: str) -> object: - module_name = _dynamic_imports.get(attr_name) - if module_name is None: - raise AttributeError( - f"no {attr_name} found in _dynamic_imports, module name -> {__name__} " - ) - - try: - module = dynamic_import(module_name) - return getattr(module, attr_name) - except ImportError as e: - raise ImportError( - f"Failed to import {attr_name} from {module_name}: {e}" - ) from e - except AttributeError as e: - raise AttributeError( - f"Failed to get {attr_name} from {module_name}: {e}" - ) from e +def __getattr__(attr_name: str) -> Any: + return lazy_getattr( + attr_name, package=__package__, dynamic_imports=_dynamic_imports + ) def __dir__(): - lazy_attrs = builtins.list(_dynamic_imports.keys()) - return builtins.sorted(lazy_attrs) + return lazy_dir(dynamic_imports=_dynamic_imports) diff --git a/sync-for-payables/src/codat_sync_for_payables/utils/dynamic_imports.py b/sync-for-payables/src/codat_sync_for_payables/utils/dynamic_imports.py new file mode 100644 index 000000000..673edf82a --- /dev/null +++ b/sync-for-payables/src/codat_sync_for_payables/utils/dynamic_imports.py @@ -0,0 +1,54 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from importlib import import_module +import builtins +import sys + + +def dynamic_import(package, modname, retries=3): + """Import a module relative to package, retrying on KeyError from half-initialized modules.""" + for attempt in range(retries): + try: + return import_module(modname, package) + except KeyError: + sys.modules.pop(modname, None) + if attempt == retries - 1: + break + raise KeyError(f"Failed to import module '{modname}' after {retries} attempts") + + +def lazy_getattr(attr_name, *, package, dynamic_imports, sub_packages=None): + """Module-level __getattr__ that lazily loads from a dynamic_imports mapping. + + Args: + attr_name: The attribute being looked up. + package: The caller's __package__ (for relative imports). + dynamic_imports: Dict mapping attribute names to relative module paths. + sub_packages: Optional list of subpackage names to lazy-load. + """ + module_name = dynamic_imports.get(attr_name) + if module_name is not None: + try: + module = dynamic_import(package, module_name) + return getattr(module, attr_name) + except ImportError as e: + raise ImportError( + f"Failed to import {attr_name} from {module_name}: {e}" + ) from e + except AttributeError as e: + raise AttributeError( + f"Failed to get {attr_name} from {module_name}: {e}" + ) from e + + if sub_packages and attr_name in sub_packages: + return import_module(f".{attr_name}", package) + + raise AttributeError(f"module '{package}' has no attribute '{attr_name}'") + + +def lazy_dir(*, dynamic_imports, sub_packages=None): + """Module-level __dir__ that lists lazily-loadable attributes.""" + lazy_attrs = builtins.list(dynamic_imports.keys()) + if sub_packages: + lazy_attrs.extend(sub_packages) + return builtins.sorted(lazy_attrs) diff --git a/sync-for-payables/src/codat_sync_for_payables/utils/eventstreaming.py b/sync-for-payables/src/codat_sync_for_payables/utils/eventstreaming.py index f2052fc22..3bdcd6d3d 100644 --- a/sync-for-payables/src/codat_sync_for_payables/utils/eventstreaming.py +++ b/sync-for-payables/src/codat_sync_for_payables/utils/eventstreaming.py @@ -32,9 +32,12 @@ def __init__( decoder: Callable[[str], T], sentinel: Optional[str] = None, client_ref: Optional[object] = None, + data_required: bool = True, ): self.response = response - self.generator = stream_events(response, decoder, sentinel) + self.generator = stream_events( + response, decoder, sentinel, data_required=data_required + ) self.client_ref = client_ref self._closed = False @@ -68,9 +71,12 @@ def __init__( decoder: Callable[[str], T], sentinel: Optional[str] = None, client_ref: Optional[object] = None, + data_required: bool = True, ): self.response = response - self.generator = stream_events_async(response, decoder, sentinel) + self.generator = stream_events_async( + response, decoder, sentinel, data_required=data_required + ) self.client_ref = client_ref self._closed = False @@ -116,6 +122,7 @@ async def stream_events_async( response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None, + data_required: bool = True, ) -> AsyncGenerator[T, None]: buffer = bytearray() position = 0 @@ -138,7 +145,11 @@ async def stream_events_async( block = buffer[position:i] position = i + len(seq) event, discard, event_id = _parse_event( - raw=block, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=block, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -151,7 +162,11 @@ async def stream_events_async( position = 0 event, discard, _ = _parse_event( - raw=buffer, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=buffer, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -161,6 +176,7 @@ def stream_events( response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None, + data_required: bool = True, ) -> Generator[T, None, None]: buffer = bytearray() position = 0 @@ -183,7 +199,11 @@ def stream_events( block = buffer[position:i] position = i + len(seq) event, discard, event_id = _parse_event( - raw=block, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=block, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -196,7 +216,11 @@ def stream_events( position = 0 event, discard, _ = _parse_event( - raw=buffer, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=buffer, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -208,6 +232,7 @@ def _parse_event( decoder: Callable[[str], T], sentinel: Optional[str] = None, event_id: Optional[str] = None, + data_required: bool = True, ) -> Tuple[Optional[T], bool, Optional[str]]: block = raw.decode() lines = re.split(r"\r?\n|\r", block) @@ -250,6 +275,10 @@ def _parse_event( if sentinel and data == f"{sentinel}\n": return None, True, event_id + # Skip data-less events when data is required + if not data and publish and data_required: + return None, False, event_id + if data: data = data[:-1] try: diff --git a/sync-for-payables/src/codat_sync_for_payables/utils/retries.py b/sync-for-payables/src/codat_sync_for_payables/utils/retries.py index 88a91b10c..af07d4e94 100644 --- a/sync-for-payables/src/codat_sync_for_payables/utils/retries.py +++ b/sync-for-payables/src/codat_sync_for_payables/utils/retries.py @@ -144,12 +144,7 @@ def do_request() -> httpx.Response: if res.status_code == parsed_code: raise TemporaryError(res) - except httpx.ConnectError as exception: - if retries.config.retry_connection_errors: - raise - - raise PermanentError(exception) from exception - except httpx.TimeoutException as exception: + except (httpx.NetworkError, httpx.TimeoutException) as exception: if retries.config.retry_connection_errors: raise @@ -193,12 +188,7 @@ async def do_request() -> httpx.Response: if res.status_code == parsed_code: raise TemporaryError(res) - except httpx.ConnectError as exception: - if retries.config.retry_connection_errors: - raise - - raise PermanentError(exception) from exception - except httpx.TimeoutException as exception: + except (httpx.NetworkError, httpx.TimeoutException) as exception: if retries.config.retry_connection_errors: raise