openapi: 3.1.0
servers:
  - description: Production
    url: https://api.codat.io
info:
  contact:
    email: support@codat.io
    name: Codat
  description: |-
    A flexible API for pulling accounting data, normalized and aggregated from 20 accounting integrations.

    Standardize how you connect to your customers’ accounting software. View, create, update, and delete data in the same way for all the leading accounting platforms.

    [Read more...](https://docs.codat.io/accounting-api/overview)

    [See our OpenAPI spec](https://github.com/codatio/oas)    
  termsOfService: https://www.codat.io/legals/
  title: Accounting API
  version: 2.1.0
  x-apisguru-categories:
    - financial
  x-logo:
    url: https://static.codat.io/public/branding/codat-icon-blue.svg
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/codatio/oas/main/json/Codat-Accounting.json
      version: "3.1"
  x-providerName: codat.io
  x-serviceName: accounting
security:
  - auth_header: []
tags:
  - description: Accounts
    name: Accounts
  - description: Account transactions
    name: Account transactions
  - description: Bank accounts
    name: Bank accounts
  - description: Bank transactions for bank accounts
    name: Bank account transactions
  - description: Bills
    name: Bills
  - description: Bill credit notes
    name: Bill credit notes
  - description: Bill payments
    name: Bill payments
  - description: Credit notes
    name: Credit notes
  - description: Customers
    name: Customers
  - description: Direct costs
    name: Direct costs
  - description: Direct incomes
    name: Direct incomes
  - description: Financials
    name: Financials
  - description: Company info
    name: Company info
  - description: Invoices
    name: Invoices
  - description: Items
    name: Items
  - description: Journals
    name: Journals
  - description: Journal entries
    name: Journal entries
  - description: Payments
    name: Payments
  - description: Payment methods
    name: Payment methods
  - description: Purchase orders
    name: Purchase orders
  - description: Sales orders
    name: Sales orders
  - description: Suppliers
    name: Suppliers
  - description: Tax rates
    name: Tax rates
  - description: Tracking categories
    name: Tracking categories
  - description: Transfers
    name: Transfers
  - description: Reports
    name: Reports
paths:
  "/companies/{companyId}/connections/{connectionId}/data/accountTransactions":
    get:
      description: Gets the account transactions for a given company.
      operationId: list-account-transactions
      parameters:
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/connectionId"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccountTransactions"
          description: Success
      summary: List account transactions
      tags:
        - Account transactions
  "/companies/{companyId}/connections/{connectionId}/data/accountTransactions/{accountTransactionId}":
    get:
      description: Gets the account transactions for a given company.Gets the specified account transaction for a given company and connection.
      operationId: get-account-transaction
      parameters:
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/connectionId"
        - in: path
          name: accountTransactionId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccountTransaction"
          description: Success
      summary: Get account transaction
      tags:
        - Account transactions
  "/companies/{companyId}/connections/{connectionId}/data/bankAccounts":
    get:
      description: Gets the list of bank accounts for a given connection
      operationId: list-bank-accounts
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BankAccounts"
          description: Success
      summary: List bank accounts
      tags:
        - Bank accounts
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/bankAccounts/{accountId}":
    get:
      deprecated: true
      description: Gets the bank account with a given ID
      operationId: get-bank-account
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BankAccount"
          description: Success
      summary: Get bank account
      tags:
        - Bank accounts
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/accountId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/bankAccounts/{accountId}/bankTransactions":
    get:
      description: Gets bank transactions for a given bank account ID
      operationId: list-bank-account-transactions
      parameters:
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/connectionId"
        - description: Unique identifier for an account
          in: path
          name: accountId
          required: true
          schema:
            examples:
              - 8a210b68-6988-11ed-a1eb-0242ac120002
            format: uuid
            type: string
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BankTransactionsResponse"
          description: Success
      summary: List bank transactions for bank account
      tags:
        - Bank account transactions
  "/companies/{companyId}/connections/{connectionId}/data/bills/{billId}/attachments":
    get:
      description: Get bill attachments
      operationId: get-bill-attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentsDataset"
          description: Success
      summary: List bill attachments
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/billId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/bills/{billId}/attachments/{attachmentId}":
    get:
      description: Get bill attachment
      operationId: get-bill-attachment
      parameters:
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachment"
          description: Success
      summary: Get bill attachment
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/billId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/bills/{billId}/attachments/{attachmentId}/download":
    get:
      description: Download bill attachment
      operationId: download-bill-attachment
      parameters:
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Download bill attachment
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/billId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/customers/{customerId}/attachments":
    get:
      description: Get customer attachments
      operationId: get-customer-attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentsDataset"
          description: Success
      summary: List customer attachments
      tags:
        - Customers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: customerId
        required: true
        schema:
          type: string
  "/companies/{companyId}/connections/{connectionId}/data/customers/{customerId}/attachments/{attachmentId}":
    get:
      description: Get  customer attachment
      operationId: get-customer-attachment
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachment"
          description: Success
      summary: Get customer attachment
      tags:
        - Customers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: customerId
        required: true
        schema:
          type: string
      - $ref: "#/components/parameters/attachmentId"
  "/companies/{companyId}/connections/{connectionId}/data/customers/{customerId}/attachments/{attachmentId}/download":
    get:
      description: Download customer attachment
      operationId: download-customer-attachment
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Download customer attachment
      tags:
        - Customers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: customerId
        required: true
        schema:
          type: string
      - $ref: "#/components/parameters/attachmentId"
  "/companies/{companyId}/connections/{connectionId}/data/directCosts":
    get:
      description: Gets the direct costs for the company.
      operationId: get-direct-costs
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectCosts"
          description: Success
      summary: List direct costs
      tags:
        - Direct costs
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}":
    get:
      deprecated: true
      description: Gets the specified direct cost for a given company.
      operationId: get-direct-cost
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectCost"
          description: Success
      summary: Get direct cost
      tags:
        - Direct costs
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directCostId"
  "/companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}/attachments":
    get:
      description: Gets all attachments for the specified direct cost for a given company.
      operationId: list-direct-cost-attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentsDataset"
          description: Success
      summary: List direct cost attachments
      tags:
        - Direct costs
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directCostId"
  "/companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}/attachments/{attachmentId}":
    get:
      description: Gets the specified direct cost attachment for a given company.
      operationId: get-direct-cost-attachment
      parameters:
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachment"
          description: Success
      summary: Get direct cost attachment
      tags:
        - Direct costs
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directCostId"
  "/companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}/attachments/{attachmentId}/download":
    get:
      description: Downloads an attachment for the specified direct cost for a given company.
      operationId: download-direct-cost-attachment
      parameters:
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Download direct cost attachment
      tags:
        - Direct costs
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directCostId"
  "/companies/{companyId}/connections/{connectionId}/data/directIncomes":
    get:
      description: Gets the direct incomes for a given company.
      operationId: get-direct-incomes
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectIncomes"
          description: Success
      summary: Get direct incomes
      tags:
        - Direct incomes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}":
    get:
      deprecated: true
      description: Gets the specified direct income for a given company and connection.
      operationId: get-direct-income
      parameters:
        - in: path
          name: directIncomeId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectIncome"
          description: Success
      summary: Get direct income
      tags:
        - Direct incomes
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}/attachments":
    get:
      description: Gets all attachments for the specified direct income for a given company.
      operationId: list-direct-income-attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentsDataset"
          description: Success
      summary: List direct income attachments
      tags:
        - Direct incomes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directIncomeId"
  "/companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}/attachments/{attachmentId}":
    get:
      description: Gets the specified direct income attachment for a given company.
      operationId: get-direct-income-attachment
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachment"
          description: Success
      summary: Get direct income attachment
      tags:
        - Direct incomes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directIncomeId"
      - $ref: "#/components/parameters/attachmentId"
  "/companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}/attachments/{attachmentId}/download":
    get:
      description: Downloads an attachment for the specified direct income for a given company.
      operationId: download-direct-income-attachment
      parameters:
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Download direct income attachment
      tags:
        - Direct incomes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directIncomeId"
      - $ref: "#/components/parameters/attachmentId"
  "/companies/{companyId}/connections/{connectionId}/data/invoices/{invoiceId}/attachments":
    get:
      description: Get invoice attachments
      operationId: get-invoice-attachments
      parameters:
        - $ref: "#/components/parameters/invoiceId"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentsDataset"
          description: Success
      summary: Get invoice attachments
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/invoices/{invoiceId}/attachments/{attachmentId}":
    get:
      description: Get invoice attachment
      operationId: get-invoice-attachment
      parameters:
        - $ref: "#/components/parameters/invoiceId"
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachment"
          description: Success
      summary: Get invoice attachment
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/invoices/{invoiceId}/attachments/{attachmentId}/download":
    get:
      description: Download invoice attachments
      operationId: download-invoice-attachment
      parameters:
        - $ref: "#/components/parameters/invoiceId"
        - $ref: "#/components/parameters/attachmentId"
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Download invoice attachment
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/suppliers/{supplierId}/attachments":
    get:
      description: Get supplier attachments
      operationId: list-supplier-attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentsDataset"
          description: Success
      summary: List supplier attachments
      tags:
        - Suppliers
    parameters:
      - $ref: "#/components/parameters/supplierId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/suppliers/{supplierId}/attachments/{attachmentId}":
    get:
      description: Get supplier attachment
      operationId: get-supplier-attachment
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachment"
          description: Success
      summary: Get supplier attachment
      tags:
        - Suppliers
    parameters:
      - $ref: "#/components/parameters/supplierId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/attachmentId"
  "/companies/{companyId}/connections/{connectionId}/data/suppliers/{supplierId}/attachments/{attachmentId}/download":
    get:
      description: Download supplier attachment
      operationId: download-supplier-attachment
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Download supplier attachment
      tags:
        - Suppliers
    parameters:
      - $ref: "#/components/parameters/supplierId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/attachmentId"
  "/companies/{companyId}/connections/{connectionId}/data/transfers":
    get:
      description: Gets the transfers for a given company.
      operationId: list-transfers
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Transfers"
          description: Success
      summary: List transfers
      tags:
        - Transfers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/data/transfers/{transferId}":
    get:
      deprecated: true
      description: Gets the specified transfer for a given company.
      operationId: get-transfer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Transfer"
          description: Success
      summary: Get transfer
      tags:
        - Transfers
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: transferId
        required: true
        schema:
          type: string
  "/companies/{companyId}/connections/{connectionId}/options/bankAccounts":
    get:
      description: |-
        Get create/update bank account model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankAccounts) for integrations that support creating and updating bank accounts.
      operationId: get-create-update-bankAccounts-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Needs to be of the format '{No.}-{Name}'
                              field: AccountName
                          warnings: []
                      accountNumber:
                        description: The account number for the bank account
                        displayName: Account Number
                        required: false
                        type: String
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        required: true
                        type: String
                      iBan:
                        description: The international bank account number of the account. Often used when making or receiving international payments
                        displayName: IBAN
                        required: false
                        type: String
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Bank Account Posting Group with Nominal Account must exist
                              field: NominalCode
                          warnings: []
                      overdraftLimit:
                        description: The pre-arranged overdraft limit of the account
                        displayName: Overdraft Limit
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Default value is 0
                              field: OverdraftLimit
                          warnings: []
                      sortCode:
                        description: The sort code for the bank account
                        displayName: Sort Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must have a length between 0 and 20 characters
                              field: SortCode
                          warnings: []
                    required: true
                    type: Object
                Exact (Netherlands):
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                      accountNumber:
                        description: The account number for the bank account
                        displayName: Account Number
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Should not exceed the maximum length of 14 characters if the specified currency is GBP.
                              field: AccountNumber
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        required: false
                        type: String
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: false
                        type: String
                      sortCode:
                        description: The sort code for the bank account
                        displayName: Sort Code
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be 6 characters long if the specified currency is GBP.
                              field: SortCode
                            - details: Must be provided if the specified currency is GBP.
                              field: SortCode
                    required: true
                    type: Object
                Exact (UK):
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                      accountNumber:
                        description: The account number for the bank account
                        displayName: Account Number
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Should not exceed the maximum length of 14 characters if the specified currency is GBP.
                              field: AccountNumber
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        required: false
                        type: String
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: false
                        type: String
                      sortCode:
                        description: The sort code for the bank account
                        displayName: Sort Code
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be 6 characters long if the specified currency is GBP.
                              field: SortCode
                            - details: Must be provided if the specified currency is GBP.
                              field: SortCode
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                      accountNumber:
                        description: The account number for the bank account
                        displayName: Account Number
                        required: false
                        type: String
                      balance:
                        description: The balance of the bank account
                        displayName: Balance
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: The opening balance, in the account currency
                              field: Balance
                          warnings: []
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        options:
                          - displayName: AED
                            required: false
                            type: String
                            value: AED
                          - displayName: AMD
                            required: false
                            type: String
                            value: AMD
                          - displayName: AOA
                            required: false
                            type: String
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: String
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: String
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: String
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: String
                            value: AZN
                          - displayName: BBD
                            required: false
                            type: String
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: String
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: String
                            value: BGN
                          - displayName: BRL
                            required: false
                            type: String
                            value: BRL
                          - displayName: BWP
                            required: false
                            type: String
                            value: BWP
                          - displayName: CAD
                            required: false
                            type: String
                            value: CAD
                          - displayName: CHF
                            required: false
                            type: String
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: String
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: String
                            value: CNY
                          - displayName: COP
                            required: false
                            type: String
                            value: COP
                          - displayName: CRC
                            required: false
                            type: String
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: String
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: String
                            value: CUP
                          - displayName: CZK
                            required: false
                            type: String
                            value: CZK
                          - displayName: DKK
                            required: false
                            type: String
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: String
                            value: DOP
                          - displayName: EGP
                            required: false
                            type: String
                            value: EGP
                          - displayName: EUR
                            required: false
                            type: String
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: String
                            value: FJD
                          - displayName: GBP
                            required: false
                            type: String
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: String
                            value: GEL
                          - displayName: GHS
                            required: false
                            type: String
                            value: GHS
                          - displayName: GTQ
                            required: false
                            type: String
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: String
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: String
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: String
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: String
                            value: HRK
                          - displayName: HUF
                            required: false
                            type: String
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: String
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: String
                            value: ILS
                          - displayName: INR
                            required: false
                            type: String
                            value: INR
                          - displayName: ISK
                            required: false
                            type: String
                            value: ISK
                          - displayName: JMD
                            required: false
                            type: String
                            value: JMD
                          - displayName: JPY
                            required: false
                            type: String
                            value: JPY
                          - displayName: KES
                            required: false
                            type: String
                            value: KES
                          - displayName: KRW
                            required: false
                            type: String
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: String
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: String
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: String
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: String
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: String
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: String
                            value: LKR
                          - displayName: LTL
                            required: false
                            type: String
                            value: LTL
                          - displayName: LVL
                            required: false
                            type: String
                            value: LVL
                          - displayName: MAD
                            required: false
                            type: String
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: String
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: String
                            value: MGA
                          - displayName: MUR
                            required: false
                            type: String
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: String
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: String
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: String
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: String
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: String
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: String
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: String
                            value: NGN
                          - displayName: NOK
                            required: false
                            type: String
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: String
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: String
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: String
                            value: OMR
                          - displayName: PEN
                            required: false
                            type: String
                            value: PEN
                          - displayName: PHP
                            required: false
                            type: String
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: String
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: String
                            value: PLN
                          - displayName: QAR
                            required: false
                            type: String
                            value: QAR
                          - displayName: RON
                            required: false
                            type: String
                            value: RON
                          - displayName: RSD
                            required: false
                            type: String
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: String
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: String
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: String
                            value: SAR
                          - displayName: SCR
                            required: false
                            type: String
                            value: SCR
                          - displayName: SEK
                            required: false
                            type: String
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: String
                            value: SGD
                          - displayName: THB
                            required: false
                            type: String
                            value: THB
                          - displayName: TND
                            required: false
                            type: String
                            value: TND
                          - displayName: TRY
                            required: false
                            type: String
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: String
                            value: TTD
                          - displayName: TWD
                            required: false
                            type: String
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: String
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: String
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: String
                            value: UGX
                          - displayName: USD
                            required: false
                            type: String
                            value: USD
                          - displayName: UYU
                            required: false
                            type: String
                            value: UYU
                          - displayName: VEF
                            required: false
                            type: String
                            value: VEF
                          - displayName: VND
                            required: false
                            type: String
                            value: VND
                          - displayName: VUV
                            required: false
                            type: String
                            value: VUV
                          - displayName: XAF
                            required: false
                            type: String
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: String
                            value: XCD
                          - displayName: XOF
                            required: false
                            type: String
                            value: XOF
                          - displayName: ZAR
                            required: false
                            type: String
                            value: ZAR
                          - displayName: ZMK
                            required: false
                            type: String
                            value: ZMK
                        required: true
                        type: String
                      iBan:
                        description: The international bank account number of the account. Often used when making or receiving international payments
                        displayName: IBAN
                        required: false
                        type: String
                      institution:
                        description: The institution of the bank account
                        displayName: Institution
                        required: false
                        type: String
                      sortCode:
                        description: The sort code for the bank account
                        displayName: Sort Code
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 0 and 8 characters
                              field: SortCode
                    required: true
                    type: Object
                KashFlow:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: Name of the bank account as it appears in Kashflow.
                        displayName: Account Name
                        required: true
                        type: String
                      balance:
                        description: The opening balance, in the account currency.
                        displayName: Balance
                        required: false
                        type: Number
                      currency:
                        description: The currency of the bank account.
                        displayName: Currency
                        required: true
                        type: String
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 31 characters.
                              field: AccountName
                      balance:
                        description: The balance of the bank account
                        displayName: Balance
                        required: false
                        type: Number
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the base currency of the QuickBooks Desktop company
                              field: Currency
                          warnings:
                            - 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.
                              field: Currency
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 7 characters.
                              field: NominalCode
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: Name of account as it appears in the chart of accounts or general ledger.
                        displayName: Account Name
                        required: true
                        type: String
                      accountNumber:
                        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.
                        displayName: Account Number
                        required: true
                        type: String
                      currency:
                        description: Currency of the bank account.
                        displayName: Currency
                        required: true
                        type: String
                    required: true
                    type: Object
                Sage Business Cloud Accounting:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: AccountName
                            - details: Should not be longer than 50 characters.
                              field: AccountName
                          warnings: []
                      accountNumber:
                        description: The account number for the bank account
                        displayName: Account Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 25 characters.
                              field: AccountNumber
                          warnings: []
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                            - details: Must match the company's base currency.
                              field: Currency
                          warnings: []
                      iBan:
                        description: The international bank account number of the account. Often used when making or receiving international payments
                        displayName: IBAN
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should be in the international bank account number format.
                              field: IBan
                          warnings: []
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should be a number between 1 and 99999999.
                              field: NominalCode
                          warnings: []
                      sortCode:
                        description: The sort code for the bank account
                        displayName: Sort Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should be a 6 digit number.
                              field: SortCode
                          warnings: []
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: An account that bank transactions may be recorded against
                    displayName: Bank Account
                    properties:
                      accountName:
                        description: The name of the bank account in the originating system
                        displayName: Name
                        required: true
                        type: String
                      accountNumber:
                        description: The account number for the bank account
                        displayName: Account Number
                        required: true
                        type: String
                      accountType:
                        description: The type of account
                        displayName: Account Type
                        required: true
                        type: String
                      availableBalance:
                        description: The available balance of the bank account
                        displayName: Available Balance
                        required: true
                        type: Number
                      balance:
                        description: The balance of the bank account
                        displayName: Balance
                        required: true
                        type: Number
                      currency:
                        description: The currency of the bank account
                        displayName: Currency
                        required: true
                        type: String
                      iBan:
                        description: The international bank account number of the account. Often used when making or receiving international payments
                        displayName: IBAN
                        required: true
                        type: String
                      institution:
                        description: The institution of the bank account
                        displayName: Institution
                        required: true
                        type: String
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                      overdraftLimit:
                        description: The pre-arranged overdraft limit of the account
                        displayName: Overdraft Limit
                        required: true
                        type: Number
                      sortCode:
                        description: The sort code for the bank account
                        displayName: Sort Code
                        required: true
                        type: String
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update bank account model
      tags:
        - Bank accounts
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/bankAccounts/{accountId}/bankTransactions":
    get:
      description: Gets the options of pushing bank account transactions.
      operationId: get-create-bank-account-model
      parameters:
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/connectionId"
        - $ref: "#/paths/~1companies~1%7BcompanyId%7D~1connections~1%7BconnectionId%7D~1data~1bankAccounts~1%7BaccountId%7D~1bankTransactions/get/parameters/2"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PushOption"
          description: Success
      summary: List push options for bank account bank transactions
      tags:
        - Bank account transactions
      x-extension-1: null
  "/companies/{companyId}/connections/{connectionId}/options/billCreditNotes":
    get:
      description: |-
        Get create/update bill credit note model.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billCreditNotes) for integrations that support creating and updating bill credit notes.
      operationId: get-create-update-billCreditNotes-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be a valid currency code
                              field: Currency
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Either AccountRef or ItemRef should be specified. If AccountRef is chosen, ID must be specified
                                      field: AccountRef.Id
                            required: false
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Either AccountRef or ItemRef should be specified. If ItemRef is chosen, ID must be specified
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be positive
                                  field: LineItems.Quantity
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must be positive
                              field: LineItems
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Vendor Credit Memo Number must be specified in this field
                              field: Note
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Draft
                            required: false
                            type: Array
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: Array
                            value: Submitted
                          - displayName: Void
                            required: false
                            type: Array
                            value: Void
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      allocatedOnDate:
                        description: The date the credit note was allocated
                        displayName: Allocated On Date
                        required: true
                        type: DateTime
                      billCreditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: true
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        options:
                          - displayName: AED
                            required: false
                            type: String
                            value: AED
                          - displayName: AMD
                            required: false
                            type: String
                            value: AMD
                          - displayName: AOA
                            required: false
                            type: String
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: String
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: String
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: String
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: String
                            value: AZN
                          - displayName: BBD
                            required: false
                            type: String
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: String
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: String
                            value: BGN
                          - displayName: BRL
                            required: false
                            type: String
                            value: BRL
                          - displayName: BWP
                            required: false
                            type: String
                            value: BWP
                          - displayName: CAD
                            required: false
                            type: String
                            value: CAD
                          - displayName: CHF
                            required: false
                            type: String
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: String
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: String
                            value: CNY
                          - displayName: COP
                            required: false
                            type: String
                            value: COP
                          - displayName: CRC
                            required: false
                            type: String
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: String
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: String
                            value: CUP
                          - displayName: CZK
                            required: false
                            type: String
                            value: CZK
                          - displayName: DKK
                            required: false
                            type: String
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: String
                            value: DOP
                          - displayName: EGP
                            required: false
                            type: String
                            value: EGP
                          - displayName: EUR
                            required: false
                            type: String
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: String
                            value: FJD
                          - displayName: GBP
                            required: false
                            type: String
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: String
                            value: GEL
                          - displayName: GHS
                            required: false
                            type: String
                            value: GHS
                          - displayName: GTQ
                            required: false
                            type: String
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: String
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: String
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: String
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: String
                            value: HRK
                          - displayName: HUF
                            required: false
                            type: String
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: String
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: String
                            value: ILS
                          - displayName: INR
                            required: false
                            type: String
                            value: INR
                          - displayName: ISK
                            required: false
                            type: String
                            value: ISK
                          - displayName: JMD
                            required: false
                            type: String
                            value: JMD
                          - displayName: JPY
                            required: false
                            type: String
                            value: JPY
                          - displayName: KES
                            required: false
                            type: String
                            value: KES
                          - displayName: KRW
                            required: false
                            type: String
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: String
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: String
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: String
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: String
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: String
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: String
                            value: LKR
                          - displayName: LTL
                            required: false
                            type: String
                            value: LTL
                          - displayName: LVL
                            required: false
                            type: String
                            value: LVL
                          - displayName: MAD
                            required: false
                            type: String
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: String
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: String
                            value: MGA
                          - displayName: MUR
                            required: false
                            type: String
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: String
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: String
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: String
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: String
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: String
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: String
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: String
                            value: NGN
                          - displayName: NOK
                            required: false
                            type: String
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: String
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: String
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: String
                            value: OMR
                          - displayName: PEN
                            required: false
                            type: String
                            value: PEN
                          - displayName: PHP
                            required: false
                            type: String
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: String
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: String
                            value: PLN
                          - displayName: QAR
                            required: false
                            type: String
                            value: QAR
                          - displayName: RON
                            required: false
                            type: String
                            value: RON
                          - displayName: RSD
                            required: false
                            type: String
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: String
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: String
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: String
                            value: SAR
                          - displayName: SCR
                            required: false
                            type: String
                            value: SCR
                          - displayName: SEK
                            required: false
                            type: String
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: String
                            value: SGD
                          - displayName: THB
                            required: false
                            type: String
                            value: THB
                          - displayName: TND
                            required: false
                            type: String
                            value: TND
                          - displayName: TRY
                            required: false
                            type: String
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: String
                            value: TTD
                          - displayName: TWD
                            required: false
                            type: String
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: String
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: String
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: String
                            value: UGX
                          - displayName: USD
                            required: false
                            type: String
                            value: USD
                          - displayName: UYU
                            required: false
                            type: String
                            value: UYU
                          - displayName: VEF
                            required: false
                            type: String
                            value: VEF
                          - displayName: VND
                            required: false
                            type: String
                            value: VND
                          - displayName: VUV
                            required: false
                            type: String
                            value: VUV
                          - displayName: XAF
                            required: false
                            type: String
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: String
                            value: XCD
                          - displayName: XOF
                            required: false
                            type: String
                            value: XOF
                          - displayName: ZAR
                            required: false
                            type: String
                            value: ZAR
                          - displayName: ZMK
                            required: false
                            type: String
                            value: ZMK
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not specified, defaults to the company's native currency
                              field: Currency
                          warnings: []
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Amount of sales tax for the BillCreditNoteLineItem in company's native currency.
                                  field: LineItems.TaxAmount
                              warnings:
                                - details: Must be positive for bill items and negative for credit items. If not specified, defaults to the tax correct tax rate amount for the category of the bill.
                                  field: LineItems.TaxAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Up to a maximum of 40 line items may be specified
                              field: LineItems
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than 0 and must be equal to the sum of the line item total amounts.
                              field: TotalAmount
                      totalTaxAmount:
                        description: The amount of tax for the credit note
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than 0 and must be equal to the sum of the line item tax amounts.
                              field: TotalTaxAmount
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be greater than 225 characters long.
                                  field: LineItems.Description
                              warnings: []
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.SubTotal
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.TaxAmount
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TotalAmount
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.TotalAmount
                                - details: Must be greater than zero.
                                  field: LineItems.TotalAmount
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      remainingCredit:
                        description: Unused balance of total amount originally raised
                        displayName: Remaining Credit
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: RemainingCredit
                      subTotal:
                        description: The amount of the credit note, inclusive of discounts but exclusive of tax
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: SubTotal
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings: []
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: SupplierRef
                          warnings: []
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalAmount
                            - details: Must be greater than zero.
                              field: TotalAmount
                      totalDiscount:
                        description: The value, in the given credit note currency, of any discounts applied
                        displayName: Discount Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalDiscount
                      totalTaxAmount:
                        description: The amount of tax for the credit note
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalTaxAmount
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: true
                        type: String
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: false
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be provided for 'Discount' type items
                                  field: LineItems.Quantity
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Payable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: false
                                type: Array
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be provided for 'Discount' type items
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the supplier.
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the supplier.
                              field: Currency
                            - details: Can only be set if the QuickBooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing nominal account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Account type must be Asset, Liability or Expense and not Accounts Payable
                                  field: LineItems.AccountRef
                              warnings:
                                - details: Can't include both AccountRef and ItemRef
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Should not be longer than 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item type.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Item type must not be Discount or Sale-Tax items
                                  field: LineItems.ItemRef
                              warnings:
                                - details: Can't include both AccountRef and ItemRef
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must match quantity * unit amount of line
                                  field: LineItems.SubTotal
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot be mapped directly into QuickBooks Desktop and will only be used for validation purposes
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Only valid for UK or CA versions of QuickBooks Desktop with VAT enabled
                                      field: TaxRateRef.Id
                                    - details: Must match the ID of an existing tax rate
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must match subtotal + tax amount of line
                                  field: LineItems.TotalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this line item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tracking category.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4000 characters.
                              field: Note
                      paymentAllocations:
                        description: A collection of payments that are allocated to (i.e. spend) the credit note
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: false
                                type: DateTime
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match issue date on the bill credit note
                                      field: Allocation.AllocatedOnDate
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match currency on the bill credit note
                                      field: Allocation.Currency
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match currency rate on the bill credit note
                                      field: Allocation.CurrencyRate
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match total amount on the bill credit note
                                      field: Allocation.TotalAmount
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must match the ID of an existing credit card account.
                                          field: AccountRef.Id
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: " Account type must be of type Credit Card"
                                      field: Payment.AccountRef
                                  warnings: []
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: $ set, must match currency on the {topLevelItem}
                                      field: Payment.Currency
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match currency rate on the bill credit note
                                      field: Payment.CurrencyRate
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match issue date on the bill credit note
                                      field: Payment.PaidOnDate
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: " Must match total amount on the bill credit note"
                                      field: Payment.TotalAmount
                            required: true
                            type: Object
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: If a payment allocation is provided, a credit card credit will created in QuickBooksDesktop, if left as null or empty, a {topLevelItem} will be created
                              field: PaymentAllocations
                          warnings:
                            - details: A maximum of one payment allocation may be provided per bill credit note
                              field: PaymentAllocations
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                          - displayName: Paid
                            required: false
                            type: String
                            value: Paid
                          - displayName: Void
                            required: false
                            type: String
                            value: Void
                        required: true
                        type: String
                        validation:
                          information:
                            - details: If a bill credit note is pushed with a status of void, then all the amounts in the bill credit note must be 0
                              field: Status
                            - details: If a bill credit note is pushed without payment allocations, then the status must be Submitted, if pushed with payment allocations, then the status must be paid
                              field: Status
                          warnings:
                            - details: If a bill credit note is pushed with a total amount of 0, then the status must be Paid or Void
                              field: Status
                      subTotal:
                        description: The amount of the credit note, inclusive of discounts but exclusive of tax
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the totalAmount - taxAmount
                              field: SubTotal
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: If a bill credit note is pushed with a total amount of 0, it will automatically be marked as paid in QuickBooks Desktop
                              field: TotalAmount
                          warnings:
                            - details: Must match the sum of line items ((quantity * unit price) - discount + tax)
                              field: TotalAmount
                      totalTaxAmount:
                        description: The amount of tax for the credit note
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Cannot be mapped directly into QuickBooks Desktop and will only be used for validation purposes
                              field: TotalTaxAmount
                            - details: Must match sum of total of tax from the line items
                              field: TotalTaxAmount
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      billCreditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is account based. If AccountRef is specified, ItemRef must be null.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Should not be longer than 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is item based. If ItemRef is specified, AccountRef must be null.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments that are allocated to (i.e. spend) the credit note
                        displayName: Payment Allocations
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Payment Allocations are no longer valid for BillCreditNotes and must not be provided, use the DirectCost data type to push credit card credits.
                              field: PaymentAllocations
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                          - displayName: Paid
                            required: false
                            type: String
                            value: Paid
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      billCreditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is account based. If AccountRef is specified, ItemRef must be null.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Should not be longer than 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is item based. If ItemRef is specified, AccountRef must be null.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments that are allocated to (i.e. spend) the credit note
                        displayName: Payment Allocations
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Payment Allocations are no longer valid for BillCreditNotes and must not be provided, use the DirectCost data type to push credit card credits.
                              field: PaymentAllocations
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                          - displayName: Paid
                            required: false
                            type: String
                            value: Paid
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      billCreditNoteNumber:
                        description: The reference number for this bill credit note
                        displayName: Bill Credit Note Number
                        required: true
                        type: String
                      currency:
                        description: The currency in which the bill credit note is issued.
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: This must match the supplier's default currency.
                              field: currency
                      issueDate:
                        description: Date when the bill credit note was issued.
                        displayName: Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: Line items of the bill credit note.
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Identifier for the account.
                            displayName: Account Reference
                            properties:
                              id:
                                description: Identifier of the account.
                                displayName: Account Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: accountRef.id
                            required: true
                            type: Object
                          description:
                            description: Description of the bill credit note line item.
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 60 characters.
                                  field: lineItems.description
                          taxAmount:
                            description: Tax of the bill credit note line item.
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Tax rate reference of a bill credit note line item.
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: ID of the tax rate.
                                displayName: Tax Rate Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: taxRateRef.id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the bill credit note line item, inclusive of the tax amount.
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: Tracking categories for the line item
                            displayName: Tracking Categories
                            properties:
                              id:
                                description: Prefixed identifier for tracking category e.g. project_{x}, department_{x}, costcode_{x}
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Cost codes assigned with costcode_{x} must exist in Sage50 and must be assigned in conjunction with a project
                                      field: trackingCategoryRefs.id
                                    - details: Projects assigned with project_{x} must exist in Sage50 and must be assigned in conjunction with a cost code
                                      field: trackingCategoryRefs.id
                                    - details: Departments assigned with department_{x} must exist in Sage50
                                      field: trackingCategoryRefs.id
                            required: false
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: To be used for any additional information associated with the bill credit note line item.
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Maximum 60 characters
                              field: note
                      status:
                        description: The status of the bill credit note
                        displayName: Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                      supplierRef:
                        description: Supplier providing the bill credit note.
                        displayName: Supplier
                        properties:
                          id:
                            description: Identifier of the supplier.
                            displayName: Supplier Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier and have a max length of 8 characters.
                                  field: supplierRef.id
                        required: true
                        type: Object
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      billCreditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 25 characters.
                              field: BillCreditNoteNumber
                          warnings: []
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If supplied, must match the currency of the supplier.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Description
                              warnings:
                                - details: Should not be longer than 2000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: If supplied, must match the total of the line including tax.
                                  field: LineItems.TotalAmount
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                                - details: The supplier must be in the same location as the company.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If supplied, must match the sum of all line item total amounts.
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      allocatedOnDate:
                        description: The date the credit note was allocated
                        displayName: Allocated On Date
                        required: false
                        type: DateTime
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                          - displayName: Canadian Dollar
                            required: false
                            type: String
                            value: CAD
                          - displayName: Pound Sterling
                            required: false
                            type: String
                            value: GBP
                          - displayName: US Dollar
                            required: false
                            type: String
                            value: USD
                          - displayName: Rand
                            required: false
                            type: String
                            value: ZAR
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must be provided if CurrencyRate is set.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must contain no more than 1000 characters.
                                  field: LineItems.Description
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Must not be negative.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be an existing tax rate in Sage Intacct.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: false
                            type: Object
                            validation:
                              information:
                                - details: Must be provided when TaxAmount is set.
                                  field: LineItems.TaxRateRef
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this line item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must not be negative.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain at least one line item.
                              field: LineItems
                          warnings: []
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must contain no more than 1000 characters.
                              field: Note
                          warnings: []
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not specified will default to Submitted.
                              field: Status
                          warnings: []
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      allocatedOnDate:
                        description: The date the credit note was allocated
                        displayName: Allocated On Date
                        required: true
                        type: DateTime
                      billCreditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: true
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      discountPercentage:
                        description: The percentage rate of any discount that has been applied
                        displayName: Discount Percentage
                        required: true
                        type: Number
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: The value, in the given credit note currency, of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Payable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the category referenced by the identifier
                                    displayName: Tracking Category Name
                                    required: true
                                    type: String
                                required: true
                                type: Array
                              customerRef:
                                description: Reference to the customer this line item is being tracked against
                                displayName: Customer Reference
                                properties:
                                  companyName:
                                    description: The name of the customer referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the customer
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              isBilledTo:
                                description: The type of item this line item is billed to.
                                displayName: Is Billed To
                                required: true
                                type: String
                              isRebilledTo:
                                description: The type of item this line item is billed to
                                displayName: Is Rebilled To
                                required: true
                                type: String
                              projectRef:
                                description: Reference to the project this line item is being tracked against
                                displayName: Project Reference
                                properties:
                                  id:
                                    description: The reference identifier for the Project
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the Project referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this line item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: true
                        type: String
                      paymentAllocations:
                        description: A collection of payments that are allocated to (i.e. spend) the credit note
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: true
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      remainingCredit:
                        description: Unused balance of total amount originally raised
                        displayName: Remaining Credit
                        required: true
                        type: Number
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        required: true
                        type: String
                      subTotal:
                        description: The amount of the credit note, inclusive of discounts but exclusive of tax
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                          supplierName:
                            description: The name of the supplier referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                      totalDiscount:
                        description: The value, in the given credit note currency, of any discounts applied
                        displayName: Discount Amount
                        required: true
                        type: Number
                      totalTaxAmount:
                        description: The amount of tax for the credit note
                        displayName: Tax Amount
                        required: true
                        type: Number
                      withholdingTax:
                        description: A collection of tax deductions
                        displayName: Withholding Tax
                        properties:
                          amount:
                            description: Deduction amount
                            displayName: Amount
                            required: true
                            type: Number
                          name:
                            description: Name of the deduction
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Array
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A bill credit note can be thought of as a voucher issued by a supplier. It can be applied against one or multiple bills to reduce their balance.
                    displayName: Accounts Payable Credit Note
                    properties:
                      billCreditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 225 characters long.
                              field: BillCreditNoteNumber
                          warnings: []
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TotalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this line item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                          - displayName: Paid
                            required: false
                            type: String
                            value: Paid
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                      supplierRef:
                        description: Reference to the supplier the credit note has been issued by
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: SupplierRef.Id
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: SupplierRef
                          warnings: []
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided and must equal the sum of the link items amount.
                              field: TotalAmount
                          warnings:
                            - details: Must be greater than zero.
                              field: TotalAmount
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update bill credit note model
      tags:
        - Bill credit notes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/billPayments":
    get:
      description: |-
        Get create bill payment model.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billPayments) for integrations that support creating and deleting bill payments.
      operationId: get-create-billPayments-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: An account ID must be provided if not allocating against bill
                                  field: AccountRef.Id
                        required: false
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be a valid currency code
                              field: Currency
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          allocatedOnDate:
                            description: The date the payment was allocated
                            displayName: Allocated On Date
                            required: true
                            type: DateTime
                            validation:
                              information: []
                              warnings:
                                - details: AllocatedOnDate must be specified and be later than the issue date of the bill
                                  field: Lines.AllocatedOnDate
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must match the sum of the link amounts.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: Bill Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Other
                                    required: false
                                    type: String
                                    value: Other
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line may be specified
                              field: Lines
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of the line amounts.
                              field: TotalAmount
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: AccountRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: AccountRef.Id
                                - details: Must match the ID of an existing account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Amount
                                  warnings:
                                    - details: Precision must be maximum of two decimal places.
                                      field: Links.Amount
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Id
                                  warnings: []
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - required: false
                                    type: String
                                    value: Bill
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: Lines
                          warnings: []
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be greater than 8 characters long.
                              field: Reference
                          warnings: []
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: SupplierRef.Id
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: SupplierRef
                          warnings: []
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided and must equal the sum of the link items amount.
                              field: TotalAmount
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalAmount
                            - details: Must be greater than zero.
                              field: TotalAmount
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing account of type 'Bank' OR type 'Credit Card'
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: If the currency is set make sure it's the same as the 'Bill' and/or 'VendorCredit' currency
                              field: Currency
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Ensure the status of the linked bill is either 'PartiallyPaid' or 'Submitted'
                                      field: Links.Id
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: Bill Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: This field can be used to provide a tracking category id (Location only)
                              field: Reference
                          warnings:
                            - details: The id format should be 'location-<NUMBER>'
                              field: Reference
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: "If an ID which corresponds to a bank account is provided, a 'bill payment check' will be added to Quickbooks Desktop, If an ID which corresponds to a credit card account is provided, a 'bill payment credit card' will be added Quickbooks Desktop. "
                                  field: AccountRef.Id
                              warnings:
                                - details: Must match the ID of an existing Bank or Credit Card account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the supplier
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the supplier
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Amount plus the sum of amounts in the links must equal 0
                                  field: Lines.Amount
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Exactly 1 link with type 'Bill' must be specified per line
                                      field: Links.Type
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of amounts in the lines
                              field: TotalAmount
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Required if TotalAmount is greater than zero.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Amount and sum of Links must sum to zero.
                                  field: Lines.Amount
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      paymentMethodRef:
                        description: The method of payment
                        displayName: Payment Method Reference
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: If provided it will be ignored.
                              field: PaymentMethodRef
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be the ID of the Supplier associated with the Bill or Credit Note.
                              field: SupplierRef
                          warnings: []
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Required if TotalAmount is greater than zero.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Amount and sum of Links must sum to zero.
                                  field: Lines.Amount
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      paymentMethodRef:
                        description: The method of payment
                        displayName: Payment Method Reference
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: If provided it will be ignored.
                              field: PaymentMethodRef
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be the ID of the Supplier associated with the Bill or Credit Note.
                              field: SupplierRef
                          warnings: []
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: The bank account to pay this bill from.
                        displayName: Bank Account
                        properties:
                          id:
                            description: Nominal code of the bank account.
                            displayName: Account Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing bank account and have a max length of 8 characters.
                                  field: accountRef.id
                        required: true
                        type: Object
                      date:
                        description: The date this payment was issued.
                        displayName: Issue Date
                        required: true
                        type: Number
                      lines:
                        description: Line items of the payment.
                        displayName: Line Items
                        properties:
                          amount:
                            description: The amount of this line item
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: this must equal the negative of the sum of the link amounts
                              warnings: []
                          links:
                            description: Links to the bills being paid.
                            displayName: Links
                            properties:
                              amount:
                                description: The amount to be added to the value of the bill
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: When paying off a bill, this value will be negative
                                  warnings: []
                              id:
                                description: The ID of the bill to pay
                                displayName: Bill Id
                                required: true
                                type: String
                              type:
                                description: The type of the item to be paid
                                displayName: Payment Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Sage 50 only supports one line item per bill payment so all lines will be merged together in the response.
                          warnings: []
                      note:
                        description: A description of the payment.
                        displayName: Note
                        required: false
                        type: Number
                      reference:
                        description: The user reference for this bill payment.
                        displayName: Reference
                        required: false
                        type: Number
                      supplierRef:
                        description: Supplier to be paid.
                        displayName: Supplier
                        properties:
                          id:
                            description: Identifier of the supplier.
                            displayName: Supplier Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier and have a max length of 8 characters.
                                  field: supplierRef.id
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount being paid to the supplier.
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: This must equal the sum of the line amounts
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: AccountRef.Id
                              warnings:
                                - details: Must match the ID of an existing account.
                                  field: AccountRef.Id
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: Required unless the BillPayment is only allocating a Credit Note.
                              field: AccountRef
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: If supplied, must match the currency of the supplier.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Amount
                                  warnings:
                                    - details: Must be greater than zero except when Link Type is Bill.
                                      field: Links.Amount
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Id
                                  warnings: []
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: PaymentOnAccount
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                  - displayName: Refund
                                    required: false
                                    type: String
                                    value: Refund
                                  - displayName: CreditNote
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 25 characters.
                              field: Note
                          warnings: []
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings:
                            - details: Must be zero when allocating against Bills using a Credit Note only.
                              field: TotalAmount
                            - details: Must equal the sum of the link items amount.
                              field: TotalAmount
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be an account of type BankAccount and compatible with the type of PaymentMethodRef
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                          - displayName: Canadian Dollar
                            required: false
                            type: String
                            value: CAD
                          - displayName: Pound Sterling
                            required: false
                            type: String
                            value: GBP
                          - displayName: US Dollar
                            required: false
                            type: String
                            value: USD
                          - displayName: Rand
                            required: false
                            type: String
                            value: ZAR
                        required: false
                        type: String
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be a negative amount
                                  field: Lines.Amount
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: CreditNote
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 1000 characters
                              field: Note
                      paymentMethodRef:
                        description: The method of payment
                        displayName: Payment Method Reference
                        properties:
                          id:
                            description: The reference identifier for the payment method
                            displayName: Identifier
                            options:
                              - displayName: Credit Card
                                required: false
                                type: String
                                value: "3"
                              - displayName: EFT
                                required: false
                                type: String
                                value: "5"
                              - displayName: Cash
                                required: false
                                type: String
                                value: "6"
                            required: true
                            type: String
                        required: true
                        type: Object
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be a positive amount
                              field: TotalAmount
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                          name:
                            description: Name of the account
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          allocatedOnDate:
                            description: The date the payment was allocated
                            displayName: Allocated On Date
                            required: true
                            type: DateTime
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              currencyRate:
                                description: The exchange rate between the currency of the payment and the currency of the linked transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: true
                        type: String
                      paymentMethodRef:
                        description: The method of payment
                        displayName: Payment Method Reference
                        properties:
                          id:
                            description: The reference identifier for the payment method
                            displayName: Identifier
                            required: true
                            type: String
                          name:
                            description: The name of the payment method referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                          supplierName:
                            description: The name of the supplier referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must be provided if paying a bill from a Bank Account.
                                  field: AccountRef.Id
                              warnings: []
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Must be provided if paying a bill from a Bank Account.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be the company's base currency when pushing a batch payment.
                              field: Currency
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Amount
                                  warnings: []
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Bill and Bill Credit Note ID must be provided in order to allocate a Bill Credit Note to a Bill.
                                      field: Links.Id
                                    - details: Must be provided.
                                      field: Links.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: Links.Id
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Bill Payment
                                    required: false
                                    type: String
                                    value: BillPayment
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: When a single line is provided, must only contain a single Link of type Bill, CreditNote or BillPayment, or two Links of type CreditNote and Bill for a credit note allocation.
                                  field: Lines.Links
                                - details: When more than one line is provided, it must only contain a single Link of type Bill.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: When more than one line is provided, a batch payment will be created.
                              field: Lines
                          warnings: []
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings:
                            - details: Must match the sum of line amounts.
                              field: TotalAmount
                    required: true
                    type: Object
                Zoho Books:
                  value:
                    description: A bill payment represents an allocation of transactions across an 'accounts payable' account (supplier)
                    displayName: BillPayment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: Must be provided when making a payment to an invoice and/or a payment on account
                              field: AccountRef
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must match supplier's currency
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater or equal to 0
                              field: CurrencyRate
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be less than 0 for links of type Bill and PaymentOnAccount or greater than 0 for links of type CreditNote
                                      field: Links.Amount
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Bill
                                    required: false
                                    type: String
                                    value: Bill
                                  - displayName: PaymentOnAccount
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                  - displayName: CreditNote
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                            required: true
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: If using a bill credit note to pay a bill must contain 1 bill payment line link of type CreditNote and 1 bill payment line link of type Bill. Otherwise must contain at least 1 bill payment line linkof type Bill or PaymentOnAccount
                                  field: Lines.Links
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must contain 1 bill payment line
                              field: Lines
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      supplierRef:
                        description: Reference to the supplier the payment has been sent to
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create bill payment model
      tags:
        - Bill payments
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/bills":
    get:
      description: |-
        Get create/update bill model.

         > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bills) for integrations that support creating and updating a bill.
      operationId: get-create-update-bills-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Please ensure that the account posting setup for this account is valid before pushing
                                      field: AccountRef.Id
                                    - details: Either AccountRef or ItemRef should be specified. If AccountRef is chosen, ID must be specified
                                      field: AccountRef.Id
                            required: false
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: false
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Either AccountRef or ItemRef should be specified. If ItemRef is chosen, ID must be specified
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be positive
                                  field: LineItems.Quantity
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Payable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Every Tracking Category specified will be applied to every line item
                                          field: CategoryRefs.Id
                                      warnings:
                                        - details: Must not be a parent Tracking Category. All Tracking Category specified must have different parent categories
                                          field: CategoryRefs.Id
                                required: true
                                type: Array
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Supplier Invoice Number must be specified in this field
                              field: Note
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        options:
                          - displayName: Draft
                            required: false
                            type: Array
                            value: Draft
                          - displayName: Void
                            required: false
                            type: Array
                            value: Void
                          - displayName: Open
                            required: false
                            type: Array
                            value: Open
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        options:
                          - displayName: AED
                            required: false
                            type: String
                            value: AED
                          - displayName: AMD
                            required: false
                            type: String
                            value: AMD
                          - displayName: AOA
                            required: false
                            type: String
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: String
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: String
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: String
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: String
                            value: AZN
                          - displayName: BBD
                            required: false
                            type: String
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: String
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: String
                            value: BGN
                          - displayName: BRL
                            required: false
                            type: String
                            value: BRL
                          - displayName: BWP
                            required: false
                            type: String
                            value: BWP
                          - displayName: CAD
                            required: false
                            type: String
                            value: CAD
                          - displayName: CHF
                            required: false
                            type: String
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: String
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: String
                            value: CNY
                          - displayName: COP
                            required: false
                            type: String
                            value: COP
                          - displayName: CRC
                            required: false
                            type: String
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: String
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: String
                            value: CUP
                          - displayName: CZK
                            required: false
                            type: String
                            value: CZK
                          - displayName: DKK
                            required: false
                            type: String
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: String
                            value: DOP
                          - displayName: EGP
                            required: false
                            type: String
                            value: EGP
                          - displayName: EUR
                            required: false
                            type: String
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: String
                            value: FJD
                          - displayName: GBP
                            required: false
                            type: String
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: String
                            value: GEL
                          - displayName: GHS
                            required: false
                            type: String
                            value: GHS
                          - displayName: GTQ
                            required: false
                            type: String
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: String
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: String
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: String
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: String
                            value: HRK
                          - displayName: HUF
                            required: false
                            type: String
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: String
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: String
                            value: ILS
                          - displayName: INR
                            required: false
                            type: String
                            value: INR
                          - displayName: ISK
                            required: false
                            type: String
                            value: ISK
                          - displayName: JMD
                            required: false
                            type: String
                            value: JMD
                          - displayName: JPY
                            required: false
                            type: String
                            value: JPY
                          - displayName: KES
                            required: false
                            type: String
                            value: KES
                          - displayName: KRW
                            required: false
                            type: String
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: String
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: String
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: String
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: String
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: String
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: String
                            value: LKR
                          - displayName: LTL
                            required: false
                            type: String
                            value: LTL
                          - displayName: LVL
                            required: false
                            type: String
                            value: LVL
                          - displayName: MAD
                            required: false
                            type: String
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: String
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: String
                            value: MGA
                          - displayName: MUR
                            required: false
                            type: String
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: String
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: String
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: String
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: String
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: String
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: String
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: String
                            value: NGN
                          - displayName: NOK
                            required: false
                            type: String
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: String
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: String
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: String
                            value: OMR
                          - displayName: PEN
                            required: false
                            type: String
                            value: PEN
                          - displayName: PHP
                            required: false
                            type: String
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: String
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: String
                            value: PLN
                          - displayName: QAR
                            required: false
                            type: String
                            value: QAR
                          - displayName: RON
                            required: false
                            type: String
                            value: RON
                          - displayName: RSD
                            required: false
                            type: String
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: String
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: String
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: String
                            value: SAR
                          - displayName: SCR
                            required: false
                            type: String
                            value: SCR
                          - displayName: SEK
                            required: false
                            type: String
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: String
                            value: SGD
                          - displayName: THB
                            required: false
                            type: String
                            value: THB
                          - displayName: TND
                            required: false
                            type: String
                            value: TND
                          - displayName: TRY
                            required: false
                            type: String
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: String
                            value: TTD
                          - displayName: TWD
                            required: false
                            type: String
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: String
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: String
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: String
                            value: UGX
                          - displayName: USD
                            required: false
                            type: String
                            value: USD
                          - displayName: UYU
                            required: false
                            type: String
                            value: UYU
                          - displayName: VEF
                            required: false
                            type: String
                            value: VEF
                          - displayName: VND
                            required: false
                            type: String
                            value: VND
                          - displayName: VUV
                            required: false
                            type: String
                            value: VUV
                          - displayName: XAF
                            required: false
                            type: String
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: String
                            value: XCD
                          - displayName: XOF
                            required: false
                            type: String
                            value: XOF
                          - displayName: ZAR
                            required: false
                            type: String
                            value: ZAR
                          - displayName: ZMK
                            required: false
                            type: String
                            value: ZMK
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not specified, defaults to the company's native currency
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Amount of sales tax for the BillLineItem in company's native currency.
                                  field: LineItems.TaxAmount
                              warnings:
                                - details: Must be positive for bill items and negative for credit items. If not specified, defaults to the tax correct tax rate amount for the category of the bill.
                                  field: LineItems.TaxAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must contain at least one line item and up to a maximum of 40 line items allowed.
                              field: LineItems
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      taxAmount:
                        description: The total amount of tax on the bill
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than or equal to 0, less than or equal to the Bill.TotalAmount and equal to the total value of the bill item tax amounts.
                              field: TaxAmount
                      totalAmount:
                        description: The amount of the bill, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than or equal to 0 and must be equal to the total value of the bill item total amounts.
                              field: TotalAmount
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      amountDue:
                        description: The amount outstanding on the bill
                        displayName: Amount Due
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Must be at least zero and no more than that the total amount.
                              field: AmountDue
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: AmountDue
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: DueDate
                          warnings: []
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must not be before the due date.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must match the Inventory Item's AccountRef if supplied
                                  field: LineItems.AccountRef
                                - details: Must be supplied except when an ItemRef is supplied
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be greater than 225 characters long.
                                  field: LineItems.Description
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxRateRef
                              warnings: []
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TotalAmount
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.TotalAmount
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be greater than 8 characters long.
                              field: Reference
                          warnings: []
                      subTotal:
                        description: The total amount of the bill excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: SubTotal
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings: []
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: SupplierRef
                          warnings: []
                      taxAmount:
                        description: The total amount of tax on the bill
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TaxAmount
                      totalAmount:
                        description: The amount of the bill, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalAmount
                            - details: Must be greater than zero.
                              field: TotalAmount
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    options:
                      - displayName: Open
                        required: false
                        type: String
                        value: Open
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: false
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Should only be specified when pushing an expense
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Should only be specified when pushing an item (not an expense)
                                      field: ItemRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Payable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: false
                                type: Array
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: false
                        type: String
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: false
                        type: String
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the supplier
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the supplier
                              field: Currency
                            - details: Can only be set if the QuickBooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing nominal account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Account type must be Asset, Liability or Expense and not Accounts Payable
                                  field: LineItems.AccountRef
                              warnings:
                                - details: Can't include both AccountRef and ItemRef
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item type.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Item type must not be Discount or Sale-Tax items
                                  field: LineItems.ItemRef
                              warnings:
                                - details: Can't include both AccountRef and ItemRef
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must match quantity * unit amount of line
                                  field: LineItems.SubTotal
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot be mapped directly into QuickBooks Desktop and will only be used for validation purposes
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Only valid for UK or CA versions of QuickBooks Desktop with VAT enabled
                                      field: TaxRateRef.Id
                                    - details: Must match the ID of an existing tax rate
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must match subtotal + tax amount of line
                                  field: LineItems.TotalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tracking category.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4000 characters.
                              field: Note
                      paymentAllocations:
                        description: A collection of payments allocated to the bill
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: false
                                type: DateTime
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match issue date on the bill
                                      field: Allocation.AllocatedOnDate
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match currency on the bill
                                      field: Allocation.Currency
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match currency rate on the bill
                                      field: Allocation.CurrencyRate
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match total amount on the bill
                                      field: Allocation.TotalAmount
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must match the ID of an existing credit card account.
                                          field: AccountRef.Id
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: " Account type must be of type Credit Card"
                                      field: Payment.AccountRef
                                  warnings: []
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: $ set, must match currency on the {topLevelItem}
                                      field: Payment.Currency
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: If set, must match currency rate on the bill
                                      field: Payment.CurrencyRate
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match issue date on the bill
                                      field: Payment.PaidOnDate
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: " Must match total amount on the bill"
                                      field: Payment.TotalAmount
                            required: true
                            type: Object
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: If a payment allocation is provided, a credit card charge will created in QuickBooksDesktop, if left as null or empty, a {topLevelItem} will be created
                              field: PaymentAllocations
                          warnings:
                            - details: A maximum of one payment allocation may be provided per bill
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 20 characters.
                              field: Reference
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                          - displayName: Paid
                            required: false
                            type: String
                            value: Paid
                          - displayName: Void
                            required: false
                            type: String
                            value: Void
                        required: true
                        type: String
                        validation:
                          information:
                            - details: If a bill is pushed with a status of void, then all the amounts in the bill must be 0
                              field: Status
                            - details: If a bill is pushed without payment allocations, then the status must be Open, if pushed with payment allocations, then the status must be paid
                              field: Status
                          warnings:
                            - details: If a bill is pushed with a total amount of 0, then the status must be Paid or Void
                              field: Status
                      subTotal:
                        description: The total amount of the bill excluding any taxes
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the totalAmount - taxAmount
                              field: SubTotal
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      taxAmount:
                        description: The total amount of tax on the bill
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Cannot be mapped directly into QuickBooks Desktop and will only be used for validation purposes
                              field: TaxAmount
                            - details: Must match sum of total of tax from the line items
                              field: TaxAmount
                      totalAmount:
                        description: The amount of the bill, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: If a bill is pushed with a total amount of 0, it will automatically be marked as paid in QuickBooks Desktop
                              field: TotalAmount
                          warnings:
                            - details: Must match the sum of line items ((quantity * unit price) - discount + tax)
                              field: TotalAmount
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        options:
                          - displayName: USD
                            required: false
                            type: String
                            value: USD
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is account based. If AccountRef is specified, ItemRef must be null.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: false
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Should not be longer than 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is item based. If ItemRef is specified, AccountRef must be null.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used, or the tax rate must be unset.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Payable Tracking
                            properties:
                              customerRef:
                                description: Reference to the customer this line item is being tracked against
                                displayName: Customer Reference
                                properties:
                                  id:
                                    description: The reference identifier for the customer
                                    displayName: Identifier
                                    required: false
                                    type: String
                                required: false
                                type: Object
                              isRebilledTo:
                                description: The type of item this line item is billed to
                                displayName: Is Rebilled To
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be set to 'Customer' when Tracking.CustomerRef is supplied
                                      field: Tracking.IsRebilledTo
                            required: false
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tracking category and be of type DEPARTMENT or CLASS.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the bill
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must match the ID of an existing account.
                                          field: AccountRef.Id
                                required: true
                                type: Object
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Payment Allocations are no longer valid for Bills and must not be provided, use the DirectCost data type to push Expenses.
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should be unique if WarnDuplicateBillNumber setting is On.
                              field: Reference
                            - details: Should not be longer than 21 characters.
                              field: Reference
                          warnings: []
                      subTotal:
                        description: The total amount of the bill excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      totalAmount:
                        description: The amount of the bill, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: The currency in which the bill is issued in.
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: This must match the supplier's default currency.
                              field: currency
                      dueDate:
                        description: Date when the bill is due.
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: Date when the bill was issued.
                        displayName: Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: Line items of the bill.
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Identifier for the account.
                            displayName: Account Reference
                            properties:
                              id:
                                description: Identifier of the account.
                                displayName: Account Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: accountRef.id
                            required: true
                            type: Object
                          description:
                            description: Description of the bill line item.
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 60 characters.
                                  field: lineItems.description
                          taxAmount:
                            description: Tax of the bill line item.
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Tax rate reference of a bill line item.
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: ID of the tax rate.
                                displayName: Tax Rate Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: taxRateRef.id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the bill line item, inclusive of the tax amount.
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: Tracking categories for the line item
                            displayName: Tracking Categories
                            properties:
                              id:
                                description: Prefixed identifier for tracking category e.g. project_{x}, department_{x}, costcode_{x}
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Cost codes assigned with costcode_{x} must exist in Sage50 and must be assigned in conjunction with a project
                                      field: trackingCategoryRefs.id
                                    - details: Projects assigned with project_{x} must exist in Sage50 and must be assigned in conjunction with a cost code
                                      field: trackingCategoryRefs.id
                                    - details: Departments assigned with department_{x} must exist in Sage50
                                      field: trackingCategoryRefs.id
                            required: false
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: To be used for any additional information associated with the Bill line item.
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Maximum 60 characters
                              field: note
                      reference:
                        description: The reference to the bill.
                        displayName: Bill Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 30 characters.
                              field: reference
                      status:
                        description: The status of the bill
                        displayName: Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If this is not set, it will default to 'Open'.
                              field: status
                          warnings: []
                      supplierRef:
                        description: Supplier on the bill.
                        displayName: Supplier
                        properties:
                          id:
                            description: Identifier of the supplier.
                            displayName: Supplier Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier and have a max length of 8 characters.
                                  field: supplierRef.id
                        required: true
                        type: Object
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If supplied, must match the currency of the supplier.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: DueDate
                          warnings: []
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Description
                              warnings:
                                - details: Should not be longer than 2000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If ItemRef is provided, then ID is required.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Should not be longer than 2000 characters.
                              field: Note
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Should not be longer than 25 characters.
                              field: Reference
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                          - displayName: Canadian Dollar
                            required: false
                            type: String
                            value: CAD
                          - displayName: Pound Sterling
                            required: false
                            type: String
                            value: GBP
                          - displayName: US Dollar
                            required: false
                            type: String
                            value: USD
                          - displayName: Rand
                            required: false
                            type: String
                            value: ZAR
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be provided if CurrencyRate is set.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than 0.
                              field: CurrencyRate
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: For item based line items, must be provided and must not be earlier than IssueDate.
                              field: DueDate
                      id:
                        description: The identifier for the bill, unique for the company
                        displayName: Identifier
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Not supported for account based line items. Required for item based line items. A unique number for the bill will be appended to the value supplied, to ensure the ID is unique.
                              field: Id
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match to an existing Account Id.
                                      field: AccountRef.Id
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided for account based line items. Must not be provided for item based line items.
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: For account based line items, must be between 1 and 1000 characters. For item based line items, must be between 1 and 400 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match to an existing Item Id.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided for item based line items. Must not be provided for account based line items.
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: For item based line items, must be provided and must not be negative. For account based line items, if provided must always be 0.
                                  field: LineItems.Quantity
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided for account based line items. Must not be provided for item based line items.
                                  field: LineItems.SubTotal
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match to an existing TaxRate Id.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Is not supported for item based line items.
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must contain the type of the tracking category and the Id of the selected category, separated by a '-'. For example, 'DEPARTMENT-100'.
                                      field: TrackingCategoryRefs.Id
                                    - details: Custom tracking categories are only supported for account based line items.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: For item based line items, must be provided and must not be negative. For account based line items, if provided must always be 0.
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must either all be account based or all be item based.
                              field: LineItems
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported for item based line items.
                              field: Note
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: For account based line items, must be between 1 and 100 characters. For item based line items, must be between 1 and 45 characters.
                              field: Reference
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be provided for item based line items.
                              field: Status
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match to an existing Supplier Id.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      amountDue:
                        description: The amount outstanding on the bill
                        displayName: Amount Due
                        required: true
                        type: Number
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: The value, in the given bill currency, of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          isDirectCost:
                            description: True if this bill is also mapped as a direct cost
                            displayName: Is Direct Cost
                            required: true
                            type: Boolean
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Payable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the category referenced by the identifier
                                    displayName: Tracking Category Name
                                    required: true
                                    type: String
                                required: true
                                type: Array
                              customerRef:
                                description: Reference to the customer this line item is being tracked against
                                displayName: Customer Reference
                                properties:
                                  companyName:
                                    description: The name of the customer referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the customer
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              isBilledTo:
                                description: The type of item this line item is billed to.
                                displayName: Is Billed To
                                required: true
                                type: String
                              isRebilledTo:
                                description: The type of item this line item is billed to
                                displayName: Is Rebilled To
                                required: true
                                type: String
                              projectRef:
                                description: Reference to the project this line item is being tracked against
                                displayName: Project Reference
                                properties:
                                  id:
                                    description: The reference identifier for the Project
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the Project referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: true
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the bill
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: true
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      purchaseOrderRefs:
                        description: List of References to the purchase order the bill was created from.
                        displayName: Purchase Order References
                        properties:
                          id:
                            description: Unique identifier for the purchase order in the accounting platform
                            displayName: Id
                            required: true
                            type: String
                          purchaseOrderNumber:
                            description: Friendly reference for the purchase order, commonly generated by the accounting platform
                            displayName: Purchase Order Number
                            required: true
                            type: String
                        required: true
                        type: Array
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: true
                        type: String
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        required: true
                        type: String
                      subTotal:
                        description: The total amount of the bill excluding any taxes
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                          supplierName:
                            description: The name of the supplier referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      taxAmount:
                        description: The total amount of tax on the bill
                        displayName: Tax Amount
                        required: true
                        type: Number
                      totalAmount:
                        description: The amount of the bill, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                      withholdingTax:
                        description: A collection of tax deductions
                        displayName: Withholding Tax
                        properties:
                          amount:
                            description: Deduction amount
                            displayName: Amount
                            required: true
                            type: Number
                          name:
                            description: Name of the deduction
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Array
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If no rate is specified, the Xero day rate will be applied.
                              field: CurrencyRate
                              ref: https://central.xero.com/s/#CurrencySettings$Rates
                          warnings: []
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: DueDate
                          warnings: []
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided, if ItemRef is not provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided, if ItemRef is not provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 4000 characters long.
                                  field: LineItems.Description
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided, if AccountRef is not provided.
                                  field: LineItems.ItemRef
                              warnings: []
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot be mapped directly into Xero and will only be used for validation purposes.
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided if TaxAmount is provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: TaxRateRef.Id
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must not be a parent tracking category.
                                      field: TrackingCategoryRefs.Id
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not exceed 255 charaters long.
                              field: Reference
                          warnings: []
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: SupplierRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: SupplierRef.Id
                                - details: Must match the ID of an existing customer.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: SupplierRef
                          warnings: []
                    required: true
                    type: Object
                Zoho Books:
                  value:
                    description: A bill is an itemised record of goods purchased from or services provided by a supplier
                    displayName: Bill
                    properties:
                      currency:
                        description: Currency of the bill
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must match the supplier's currency
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the bill and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than or equal to 0
                              field: CurrencyRate
                      dueDate:
                        description: The date the bill is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: The date of the bill as recorded in the originating system.
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the bill
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if ItemRef is not set
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          discountAmount:
                            description: The value, in the given bill currency, of any discounts applied
                            displayName: Discount Amount
                            required: false
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if AccountRef is not set
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: The sum of subtotals over all the line items must be greater than or equal to 0
                              field: LineItems
                            - details: Must not be empty
                              field: LineItems
                      note:
                        description: Note about the bill
                        displayName: Note
                        required: false
                        type: String
                      reference:
                        description: User friendly reference for the bill
                        displayName: Reference
                        required: true
                        type: String
                      status:
                        description: The current state of the bill
                        displayName: Bill Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                          - displayName: Void
                            required: false
                            type: String
                            value: Void
                        required: true
                        type: String
                      supplierRef:
                        description: Reference to the supplier the bill has been received from
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update bill model
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/chartOfAccounts":
    get:
      description: |-
        Get create account model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=chartOfAccounts) for integrations that support creating an account.
      operationId: get-create-chartOfAccounts-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Exact (Netherlands):
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Asset.Assets.Cash
                            required: false
                            type: String
                            value: Asset.Assets.Cash
                          - displayName: Asset.Assets.Bank
                            required: false
                            type: String
                            value: Asset.Assets.Bank
                          - displayName: Asset.Assets.PaymentServices
                            required: false
                            type: String
                            value: Asset.Assets.PaymentServices
                          - displayName: Asset.Assets.AccountsReceivable
                            required: false
                            type: String
                            value: Asset.Assets.AccountsReceivable
                          - displayName: Liability.EquityAndLiabilities.AccountsPayable
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.AccountsPayable
                          - displayName: Asset.Assets.VAT
                            required: false
                            type: String
                            value: Asset.Assets.VAT
                          - displayName: Liability.EquityAndLiabilities.EmployeesPayable
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.EmployeesPayable
                          - displayName: Asset.Assets.PrepaidExpenses
                            required: false
                            type: String
                            value: Asset.Assets.PrepaidExpenses
                          - displayName: Liability.EquityAndLiabilities.AccruedExpenses
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.AccruedExpenses
                          - displayName: Liability.EquityAndLiabilities.IncomeTaxesPayable
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.IncomeTaxesPayable
                          - displayName: Asset.Assets.FixedAssets
                            required: false
                            type: String
                            value: Asset.Assets.FixedAssets
                          - displayName: Asset.Assets.OtherAssets
                            required: false
                            type: String
                            value: Asset.Assets.OtherAssets
                          - displayName: Asset.Assets.AccumulatedDeprecation
                            required: false
                            type: String
                            value: Asset.Assets.AccumulatedDeprecation
                          - displayName: Asset.Assets.Inventory
                            required: false
                            type: String
                            value: Asset.Assets.Inventory
                          - displayName: Equity.EquityAndLiabilities.CapitalStock
                            required: false
                            type: String
                            value: Equity.EquityAndLiabilities.CapitalStock
                          - displayName: Equity.EquityAndLiabilities.RetainedEarnings
                            required: false
                            type: String
                            value: Equity.EquityAndLiabilities.RetainedEarnings
                          - displayName: Liability.EquityAndLiabilities.LongTermDebt
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.LongTermDebt
                          - displayName: Liability.EquityAndLiabilities.CurrentPortionOfDebt
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.CurrentPortionOfDebt
                          - displayName: Unknown.EquityAndLiabilities.Intercompany
                            required: false
                            type: String
                            value: Unknown.EquityAndLiabilities.Intercompany
                          - displayName: Unknown.General.General
                            required: false
                            type: String
                            value: Unknown.General.General
                          - displayName: Income.NetIncome.Revenue
                            required: false
                            type: String
                            value: Income.NetIncome.Revenue
                          - displayName: Expense.NetIncome.CostOfGoods
                            required: false
                            type: String
                            value: Expense.NetIncome.CostOfGoods
                          - displayName: Expense.NetIncome.OtherCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.OtherCosts
                          - displayName: Expense.NetIncome.SalesGeneralAdministrativeExpenses
                            required: false
                            type: String
                            value: Expense.NetIncome.SalesGeneralAdministrativeExpenses
                          - displayName: Expense.NetIncome.DeprecationCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.DeprecationCosts
                          - displayName: Expense.NetIncome.ResearchAndDevelopment
                            required: false
                            type: String
                            value: Expense.NetIncome.ResearchAndDevelopment
                          - displayName: Expense.NetIncome.EmployeeCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.EmployeeCosts
                          - displayName: Expense.NetIncome.EmploymentCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.EmploymentCosts
                          - displayName: Expense.ExceptionalIncome.ExceptionalCosts
                            required: false
                            type: String
                            value: Expense.ExceptionalIncome.ExceptionalCosts
                          - displayName: Income.ExceptionalIncome.ExceptionalIncome
                            required: false
                            type: String
                            value: Income.ExceptionalIncome.ExceptionalIncome
                          - displayName: Expense.ExceptionalIncome.IncomeTaxes
                            required: false
                            type: String
                            value: Expense.ExceptionalIncome.IncomeTaxes
                          - displayName: Income.ExceptionalIncome.InterestIncome
                            required: false
                            type: String
                            value: Income.ExceptionalIncome.InterestIncome
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: FullyQualifiedCategory
                          warnings: []
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Name
                          warnings: []
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: NominalCode
                          warnings: []
                      status:
                        description: The status of the account
                        displayName: Account Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Pending
                            required: false
                            type: String
                            value: Pending
                          - displayName: Unknown
                            required: false
                            type: String
                            value: Unknown
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                    required: true
                    type: Object
                Exact (UK):
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Asset.Assets.Cash
                            required: false
                            type: String
                            value: Asset.Assets.Cash
                          - displayName: Asset.Assets.Bank
                            required: false
                            type: String
                            value: Asset.Assets.Bank
                          - displayName: Asset.Assets.PaymentServices
                            required: false
                            type: String
                            value: Asset.Assets.PaymentServices
                          - displayName: Asset.Assets.AccountsReceivable
                            required: false
                            type: String
                            value: Asset.Assets.AccountsReceivable
                          - displayName: Liability.EquityAndLiabilities.AccountsPayable
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.AccountsPayable
                          - displayName: Asset.Assets.VAT
                            required: false
                            type: String
                            value: Asset.Assets.VAT
                          - displayName: Liability.EquityAndLiabilities.EmployeesPayable
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.EmployeesPayable
                          - displayName: Asset.Assets.PrepaidExpenses
                            required: false
                            type: String
                            value: Asset.Assets.PrepaidExpenses
                          - displayName: Liability.EquityAndLiabilities.AccruedExpenses
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.AccruedExpenses
                          - displayName: Liability.EquityAndLiabilities.IncomeTaxesPayable
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.IncomeTaxesPayable
                          - displayName: Asset.Assets.FixedAssets
                            required: false
                            type: String
                            value: Asset.Assets.FixedAssets
                          - displayName: Asset.Assets.OtherAssets
                            required: false
                            type: String
                            value: Asset.Assets.OtherAssets
                          - displayName: Asset.Assets.AccumulatedDeprecation
                            required: false
                            type: String
                            value: Asset.Assets.AccumulatedDeprecation
                          - displayName: Asset.Assets.Inventory
                            required: false
                            type: String
                            value: Asset.Assets.Inventory
                          - displayName: Equity.EquityAndLiabilities.CapitalStock
                            required: false
                            type: String
                            value: Equity.EquityAndLiabilities.CapitalStock
                          - displayName: Equity.EquityAndLiabilities.RetainedEarnings
                            required: false
                            type: String
                            value: Equity.EquityAndLiabilities.RetainedEarnings
                          - displayName: Liability.EquityAndLiabilities.LongTermDebt
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.LongTermDebt
                          - displayName: Liability.EquityAndLiabilities.CurrentPortionOfDebt
                            required: false
                            type: String
                            value: Liability.EquityAndLiabilities.CurrentPortionOfDebt
                          - displayName: Unknown.EquityAndLiabilities.Intercompany
                            required: false
                            type: String
                            value: Unknown.EquityAndLiabilities.Intercompany
                          - displayName: Unknown.General.General
                            required: false
                            type: String
                            value: Unknown.General.General
                          - displayName: Income.NetIncome.Revenue
                            required: false
                            type: String
                            value: Income.NetIncome.Revenue
                          - displayName: Expense.NetIncome.CostOfGoods
                            required: false
                            type: String
                            value: Expense.NetIncome.CostOfGoods
                          - displayName: Expense.NetIncome.OtherCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.OtherCosts
                          - displayName: Expense.NetIncome.SalesGeneralAdministrativeExpenses
                            required: false
                            type: String
                            value: Expense.NetIncome.SalesGeneralAdministrativeExpenses
                          - displayName: Expense.NetIncome.DeprecationCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.DeprecationCosts
                          - displayName: Expense.NetIncome.ResearchAndDevelopment
                            required: false
                            type: String
                            value: Expense.NetIncome.ResearchAndDevelopment
                          - displayName: Expense.NetIncome.EmployeeCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.EmployeeCosts
                          - displayName: Expense.NetIncome.EmploymentCosts
                            required: false
                            type: String
                            value: Expense.NetIncome.EmploymentCosts
                          - displayName: Expense.ExceptionalIncome.ExceptionalCosts
                            required: false
                            type: String
                            value: Expense.ExceptionalIncome.ExceptionalCosts
                          - displayName: Income.ExceptionalIncome.ExceptionalIncome
                            required: false
                            type: String
                            value: Income.ExceptionalIncome.ExceptionalIncome
                          - displayName: Expense.ExceptionalIncome.IncomeTaxes
                            required: false
                            type: String
                            value: Expense.ExceptionalIncome.IncomeTaxes
                          - displayName: Income.ExceptionalIncome.InterestIncome
                            required: false
                            type: String
                            value: Income.ExceptionalIncome.InterestIncome
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: FullyQualifiedCategory
                          warnings: []
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Name
                          warnings: []
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: NominalCode
                          warnings: []
                      status:
                        description: The status of the account
                        displayName: Account Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Pending
                            required: false
                            type: String
                            value: Pending
                          - displayName: Unknown
                            required: false
                            type: String
                            value: Unknown
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      description:
                        description: Description of the account
                        displayName: Description
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 255 characters
                              field: Description
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Bank
                            required: false
                            type: String
                            value: Asset.Bank
                          - displayName: Accounts Receivable
                            required: false
                            type: String
                            value: Asset.AccountReceivable
                          - displayName: Other Current Asset
                            required: false
                            type: String
                            value: Asset.OtherCurrentAsset
                          - displayName: Fixed Asset
                            required: false
                            type: String
                            value: Asset.FixedAsset
                          - displayName: Other Asset
                            required: false
                            type: String
                            value: Asset.OtherAsset
                          - displayName: Cash
                            required: false
                            type: String
                            value: Asset.CashAndBank
                          - displayName: Equipment Machinery
                            required: false
                            type: String
                            value: Asset.Property Plant and Equipment
                          - displayName: Credit Card
                            required: false
                            type: String
                            value: Liability.CreditCard
                          - displayName: Accounts Payable
                            required: false
                            type: String
                            value: Liability.AccountsPayable
                          - displayName: Other Current Liability
                            required: false
                            type: String
                            value: Liability.OtherCurrentLiability
                          - displayName: Long Term Liability
                            required: false
                            type: String
                            value: Liability.LongTermLiability
                          - displayName: Other Liability
                            required: false
                            type: String
                            value: Liability.OtherLiability
                          - displayName: Equity
                            required: false
                            type: String
                            value: Equity
                          - displayName: Retained Earnings
                            required: false
                            type: String
                            value: Equity.Equity
                          - displayName: Retained Earnings
                            required: false
                            type: String
                            value: Equity.Equity.RetainedEarnings
                          - displayName: Retained Earnings
                            required: false
                            type: String
                            value: Equity.Owner's Equity
                          - displayName: Income
                            required: false
                            type: String
                            value: Income
                          - displayName: Other Income
                            required: false
                            type: String
                            value: OtherIncome
                          - displayName: Expense
                            required: false
                            type: String
                            value: Expense
                          - displayName: Sales Marketing
                            required: false
                            type: String
                            value: Expense.Expense
                          - displayName: General Administrative
                            required: false
                            type: String
                            value: Expense.Expense.Insurance
                          - displayName: General Administrative
                            required: false
                            type: String
                            value: Expense.Overhead
                          - displayName: Repairs Maintenance
                            required: false
                            type: String
                            value: Expense.Expense.RepairMaintenance
                          - displayName: Other Expense
                            required: false
                            type: String
                            value: OtherExpense
                          - displayName: Cost of Sales
                            required: false
                            type: String
                            value: CostOfSales
                          - displayName: Other
                            required: false
                            type: String
                            value: Cost Of Goods Sold.Cost of Sales
                        required: true
                        type: String
                      name:
                        description: Name of the account
                        displayName: Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 60 characters
                              field: Name
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: If alphanumeric is supported, must be between 1 and 10 characters. Otherwise format is x-xxxx
                              field: NominalCode
                      status:
                        description: The status of the account
                        displayName: Account Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      currency:
                        description: The currency of the account
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the base currency of the QuickBooks Desktop company
                              field: Currency
                          warnings:
                            - 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.
                              field: Currency
                      currentBalance:
                        description: The current balance in the account
                        displayName: Current Balance
                        required: false
                        type: Number
                      description:
                        description: Description of the account
                        displayName: Description
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 200 characters.
                              field: Description
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Account Receivable
                            required: false
                            type: String
                            value: Asset.AccountsReceivable
                          - displayName: Fixed Asset
                            required: false
                            type: String
                            value: Asset.FixedAsset
                          - displayName: Other Current Asset
                            required: false
                            type: String
                            value: Asset.OtherCurrentAsset
                          - displayName: Other Asset
                            required: false
                            type: String
                            value: Asset.OtherAsset
                          - displayName: Income
                            required: false
                            type: String
                            value: Income.Income
                          - displayName: Other Income
                            required: false
                            type: String
                            value: Income.OtherIncome
                          - displayName: Accounts Payable
                            required: false
                            type: String
                            value: Liability.AccountsPayable
                          - displayName: Credit Card
                            required: false
                            type: String
                            value: Liability.CreditCard
                          - displayName: Long Term Liability
                            required: false
                            type: String
                            value: Liability.LongTermLiability
                          - displayName: Other Current Liability
                            required: false
                            type: String
                            value: Liability.OtherCurrentLiability
                          - displayName: Cost Of Goods Sold
                            required: false
                            type: String
                            value: Liability.CostOfGoodsSold
                          - displayName: Equity
                            required: false
                            type: String
                            value: Equity.Equity
                          - displayName: Expense
                            required: false
                            type: String
                            value: Expense.Expense
                          - displayName: Other Expense
                            required: false
                            type: String
                            value: Expense.OtherExpense
                        required: true
                        type: String
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 31 characters.
                              field: Name
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 7 characters.
                              field: NominalCode
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      currency:
                        description: The currency of the account
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: When not specified company base currency will be used
                              field: Currency
                          warnings: []
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Cash On Hand
                            required: false
                            type: String
                            value: Asset.Bank.CashOnHand
                          - displayName: Checking
                            required: false
                            type: String
                            value: Asset.Bank.Checking
                          - displayName: Money Market
                            required: false
                            type: String
                            value: Asset.Bank.MoneyMarket
                          - displayName: Rents Held In Trust
                            required: false
                            type: String
                            value: Asset.Bank.RentsHeldInTrust
                          - displayName: Savings
                            required: false
                            type: String
                            value: Asset.Bank.Savings
                          - displayName: Trust Accounts
                            required: false
                            type: String
                            value: Asset.Bank.TrustAccounts
                          - displayName: Cash And Cash Equivalents
                            required: false
                            type: String
                            value: Asset.Bank.CashAndCashEquivalents
                          - displayName: Other Earmarked Bank Accounts
                            required: false
                            type: String
                            value: Asset.Bank.OtherEarmarkedBankAccounts
                          - displayName: Allowance For Bad Debts
                            required: false
                            type: String
                            value: Asset.Other Current Asset.AllowanceForBadDebts
                          - displayName: Development Costs
                            required: false
                            type: String
                            value: Asset.Other Current Asset.DevelopmentCosts
                          - displayName: Employee Cash Advances
                            required: false
                            type: String
                            value: Asset.Other Current Asset.EmployeeCashAdvances
                          - displayName: Other Current Assets
                            required: false
                            type: String
                            value: Asset.Other Current Asset.OtherCurrentAssets
                          - displayName: Inventory
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Inventory
                          - displayName: Investment Mortgage Real Estate Loans
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_MortgageRealEstateLoans
                          - displayName: Investment Other
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_Other
                          - displayName: Investment Tax Exempt Securities
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_TaxExemptSecurities
                          - displayName: Investment US Government Obligations
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_USGovernmentObligations
                          - displayName: Loans To Officers
                            required: false
                            type: String
                            value: Asset.Other Current Asset.LoansToOfficers
                          - displayName: Loans To Others
                            required: false
                            type: String
                            value: Asset.Other Current Asset.LoansToOthers
                          - displayName: Loans To Stockholders
                            required: false
                            type: String
                            value: Asset.Other Current Asset.LoansToStockholders
                          - displayName: Prepaid Expenses
                            required: false
                            type: String
                            value: Asset.Other Current Asset.PrepaidExpenses
                          - displayName: Retainage
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Retainage
                          - displayName: Undeposited Funds
                            required: false
                            type: String
                            value: Asset.Other Current Asset.UndepositedFunds
                          - displayName: Assets Available For Sale
                            required: false
                            type: String
                            value: Asset.Other Current Asset.AssetsAvailableForSale
                          - displayName: Balance With Govt Authorities
                            required: false
                            type: String
                            value: Asset.Other Current Asset.BalWithGovtAuthorities
                          - displayName: Called Up Share Capital Not Paid
                            required: false
                            type: String
                            value: Asset.Other Current Asset.CalledUpShareCapitalNotPaid
                          - displayName: Expenditure Authorisations And Letters Of Credit
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ExpenditureAuthorisationsAndLettersOfCredit
                          - displayName: Global Tax Deferred
                            required: false
                            type: String
                            value: Asset.Other Current Asset.GlobalTaxDeferred
                          - displayName: Global Tax Refund
                            required: false
                            type: String
                            value: Asset.Other Current Asset.GlobalTaxRefund
                          - displayName: Internal Transfers
                            required: false
                            type: String
                            value: Asset.Other Current Asset.InternalTransfers
                          - displayName: Other Consumables
                            required: false
                            type: String
                            value: Asset.Other Current Asset.OtherConsumables
                          - displayName: Provisions Current Assets
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ProvisionsCurrentAssets
                          - displayName: Short Term Investments In Related Parties
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ShortTermInvestmentsInRelatedParties
                          - displayName: Short Term Loans And Advances To Related Parties
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ShortTermLoansAndAdvancesToRelatedParties
                          - displayName: Trade And Other Receivables
                            required: false
                            type: String
                            value: Asset.Other Current Asset.TradeAndOtherReceivables
                          - displayName: Accumulated Depletion
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AccumulatedDepletion
                          - displayName: Accumulated Depreciation
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AccumulatedDepreciation
                          - displayName: Depletable Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.DepletableAssets
                          - displayName: Fixed Asset Computers
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetComputers
                          - displayName: Fixed Asset Copiers
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetCopiers
                          - displayName: Fixed Asset Furniture
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetFurniture
                          - displayName: Fixed Asset Phone
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetPhone
                          - displayName: Fixed Asset Photo Video
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetPhotoVideo
                          - displayName: Fixed Asset Software
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetSoftware
                          - displayName: Fixed Asset Other Tools Equipment
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetOtherToolsEquipment
                          - displayName: Furniture And Fixtures
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FurnitureAndFixtures
                          - displayName: Land
                            required: false
                            type: String
                            value: Asset.Fixed Asset.Land
                          - displayName: Leasehold Improvements
                            required: false
                            type: String
                            value: Asset.Fixed Asset.LeaseholdImprovements
                          - displayName: Other Fixed Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.OtherFixedAssets
                          - displayName: Accumulated Amortization
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AccumulatedAmortization
                          - displayName: Buildings
                            required: false
                            type: String
                            value: Asset.Fixed Asset.Buildings
                          - displayName: Intangible Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.IntangibleAssets
                          - displayName: Machinery And Equipment
                            required: false
                            type: String
                            value: Asset.Fixed Asset.MachineryAndEquipment
                          - displayName: Vehicles
                            required: false
                            type: String
                            value: Asset.Fixed Asset.Vehicles
                          - displayName: Assets In Course Of Construction
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AssetsInCourseOfConstruction
                          - displayName: Capital Wip
                            required: false
                            type: String
                            value: Asset.Fixed Asset.CapitalWip
                          - displayName: Cumulative Depreciation On Intangible Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.CumulativeDepreciationOnIntangibleAssets
                          - displayName: Intangible Assets Under Development
                            required: false
                            type: String
                            value: Asset.Fixed Asset.IntangibleAssetsUnderDevelopment
                          - displayName: Land Asset
                            required: false
                            type: String
                            value: Asset.Fixed Asset.LandAsset
                          - displayName: Non Current Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.NonCurrentAssets
                          - displayName: Participating Interests
                            required: false
                            type: String
                            value: Asset.Fixed Asset.ParticipatingInterests
                          - displayName: Provisions Fixed Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.ProvisionsFixedAssets
                          - displayName: Lease Buyout
                            required: false
                            type: String
                            value: Asset.Other Asset.LeaseBuyout
                          - displayName: Other Long Term Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherLongTermAssets
                          - displayName: Security Deposits
                            required: false
                            type: String
                            value: Asset.Other Asset.SecurityDeposits
                          - displayName: Accumulated Amortization Of Other Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.AccumulatedAmortizationOfOtherAssets
                          - displayName: Goodwill
                            required: false
                            type: String
                            value: Asset.Other Asset.Goodwill
                          - displayName: Licenses
                            required: false
                            type: String
                            value: Asset.Other Asset.Licenses
                          - displayName: Organizational Costs
                            required: false
                            type: String
                            value: Asset.Other Asset.OrganizationalCosts
                          - displayName: Assets Held For Sale
                            required: false
                            type: String
                            value: Asset.Other Asset.AssetsHeldForSale
                          - displayName: Available For Sale Financial Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.AvailableForSaleFinancialAssets
                          - displayName: Deferred Tax
                            required: false
                            type: String
                            value: Asset.Other Asset.DeferredTax
                          - displayName: Investments
                            required: false
                            type: String
                            value: Asset.Other Asset.Investments
                          - displayName: Long Term Investments
                            required: false
                            type: String
                            value: Asset.Other Asset.LongTermInvestments
                          - displayName: Long Term Loans And Advances To Related Parties
                            required: false
                            type: String
                            value: Asset.Other Asset.LongTermLoansAndAdvancesToRelatedParties
                          - displayName: Other Intangible Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherIntangibleAssets
                          - displayName: Other Long Term Investments
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherLongTermInvestments
                          - displayName: Other Long Term Loans And Advances
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherLongTermLoansAndAdvances
                          - displayName: Prepayments And Accrued Income
                            required: false
                            type: String
                            value: Asset.Other Asset.PrepaymentsAndAccruedIncome
                          - displayName: Provisions Non-Current Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.ProvisionsNonCurrentAssets
                          - displayName: Accounts Receivable
                            required: false
                            type: String
                            value: Asset.Accounts Receivable.AccountsReceivable
                          - displayName: Advertising/Promotional
                            required: false
                            type: String
                            value: Expense.Expense.AdvertisingPromotional
                          - displayName: Bad Debts
                            required: false
                            type: String
                            value: Expense.Expense.BadDebts
                          - displayName: Bank Charges
                            required: false
                            type: String
                            value: Expense.Expense.BankCharges
                          - displayName: Charitable Contributions
                            required: false
                            type: String
                            value: Expense.Expense.CharitableContributions
                          - displayName: Commissions And Fees
                            required: false
                            type: String
                            value: Expense.Expense.CommissionsAndFees
                          - displayName: Entertainment
                            required: false
                            type: String
                            value: Expense.Expense.Entertainment
                          - displayName: Entertainment Meals
                            required: false
                            type: String
                            value: Expense.Expense.EntertainmentMeals
                          - displayName: Equipment Rental
                            required: false
                            type: String
                            value: Expense.Expense.EquipmentRental
                          - displayName: Finance Costs
                            required: false
                            type: String
                            value: Expense.Expense.FinanceCosts
                          - displayName: Global Tax Expense
                            required: false
                            type: String
                            value: Expense.Expense.GlobalTaxExpense
                          - displayName: Insurance
                            required: false
                            type: String
                            value: Expense.Expense.Insurance
                          - displayName: Interest Paid
                            required: false
                            type: String
                            value: Expense.Expense.InterestPaid
                          - displayName: Legal And Professional Fees
                            required: false
                            type: String
                            value: Expense.Expense.LegalProfessionalFees
                          - displayName: Office Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OfficeExpenses
                          - displayName: Office/General Administrative Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OfficeGeneralAdministrativeExpenses
                          - displayName: Other Business Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OtherBusinessExpenses
                          - displayName: Other Miscellaneous Service Cost
                            required: false
                            type: String
                            value: Expense.Expense.OtherMiscellaneousServiceCost
                          - displayName: Promotional Meals
                            required: false
                            type: String
                            value: Expense.Expense.PromotionalMeals
                          - displayName: Rent Or Lease Of Buildings
                            required: false
                            type: String
                            value: Expense.Expense.RentOrLeaseOfBuildings
                          - displayName: Repair And Maintenance
                            required: false
                            type: String
                            value: Expense.Expense.RepairMaintenance
                          - displayName: Shipping, Freight And Delivery
                            required: false
                            type: String
                            value: Expense.Expense.ShippingFreightDelivery
                          - displayName: Supplies And Materials
                            required: false
                            type: String
                            value: Expense.Expense.SuppliesMaterials
                          - displayName: Travel
                            required: false
                            type: String
                            value: Expense.Expense.Travel
                          - displayName: Travel Meals
                            required: false
                            type: String
                            value: Expense.Expense.TravelMeals
                          - displayName: Utilities
                            required: false
                            type: String
                            value: Expense.Expense.Utilities
                          - displayName: Auto
                            required: false
                            type: String
                            value: Expense.Expense.Auto
                          - displayName: Cost Of Labor
                            required: false
                            type: String
                            value: Expense.Expense.CostOfLabor
                          - displayName: Dues And Subscriptions
                            required: false
                            type: String
                            value: Expense.Expense.DuesSubscriptions
                          - displayName: Payroll Expenses
                            required: false
                            type: String
                            value: Expense.Expense.PayrollExpenses
                          - displayName: Taxes Paid
                            required: false
                            type: String
                            value: Expense.Expense.TaxesPaid
                          - displayName: Unapplied Cash Bill Payment Expense
                            required: false
                            type: String
                            value: Expense.Expense.UnappliedCashBillPaymentExpense
                          - displayName: Utilities
                            required: false
                            type: String
                            value: Expense.Expense.Utilities
                          - displayName: Amortization Expense
                            required: false
                            type: String
                            value: Expense.Expense.AmortizationExpense
                          - displayName: Appropriations To Depreciation
                            required: false
                            type: String
                            value: Expense.Expense.AppropriationsToDepreciation
                          - displayName: Borrowing Cost
                            required: false
                            type: String
                            value: Expense.Expense.BorrowingCost
                          - displayName: Commissions And Fees
                            required: false
                            type: String
                            value: Expense.Expense.CommissionsAndFees
                          - displayName: Distribution Costs
                            required: false
                            type: String
                            value: Expense.Expense.DistributionCosts
                          - displayName: External Services
                            required: false
                            type: String
                            value: Expense.Expense.ExternalServices
                          - displayName: Extraordinary Charges
                            required: false
                            type: String
                            value: Expense.Expense.ExtraordinaryCharges
                          - displayName: Income Tax Expense
                            required: false
                            type: String
                            value: Expense.Expense.IncomeTaxExpense
                          - displayName: Loss On Discontinued Operations Net Of Tax
                            required: false
                            type: String
                            value: Expense.Expense.LossOnDiscontinuedOperationsNetOfTax
                          - displayName: Management Compensation
                            required: false
                            type: String
                            value: Expense.Expense.ManagementCompensation
                          - displayName: Other Current Operating Charges
                            required: false
                            type: String
                            value: Expense.Expense.OtherCurrentOperatingCharges
                          - displayName: Other External Services
                            required: false
                            type: String
                            value: Expense.Expense.OtherExternalServices
                          - displayName: Other Rental Costs
                            required: false
                            type: String
                            value: Expense.Expense.OtherRentalCosts
                          - displayName: Other Selling Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OtherSellingExpenses
                          - displayName: Project Studies Surveys Assessments
                            required: false
                            type: String
                            value: Expense.Expense.ProjectStudiesSurveysAssessments
                          - displayName: Purchases Rebates
                            required: false
                            type: String
                            value: Expense.Expense.PurchasesRebates
                          - displayName: Shipping And Delivery Expense
                            required: false
                            type: String
                            value: Expense.Expense.ShippingAndDeliveryExpense
                          - displayName: Staff Costs
                            required: false
                            type: String
                            value: Expense.Expense.StaffCosts
                          - displayName: Sundry
                            required: false
                            type: String
                            value: Expense.Expense.Sundry
                          - displayName: Travel Expenses General And Admin Expenses
                            required: false
                            type: String
                            value: Expense.Expense.TravelExpensesGeneralAndAdminExpenses
                          - displayName: Travel Expenses Selling Expense
                            required: false
                            type: String
                            value: Expense.Expense.TravelExpensesSellingExpense
                          - displayName: Depreciation
                            required: false
                            type: String
                            value: Expense.Other Expense.Depreciation
                          - displayName: Exchange Gain Or Loss
                            required: false
                            type: String
                            value: Expense.Other Expense.ExchangeGainOrLoss
                          - displayName: Other Miscellaneous Expense
                            required: false
                            type: String
                            value: Expense.Other Expense.OtherMiscellaneousExpense
                          - displayName: Penalties And Settlements
                            required: false
                            type: String
                            value: Expense.Other Expense.PenaltiesSettlements
                          - displayName: Amortization
                            required: false
                            type: String
                            value: Expense.Other Expense.Amortization
                          - displayName: Gas And Fuel
                            required: false
                            type: String
                            value: Expense.Other Expense.GasAndFuel
                          - displayName: Home Office
                            required: false
                            type: String
                            value: Expense.Other Expense.HomeOffice
                          - displayName: Home Owner Rental Insurance
                            required: false
                            type: String
                            value: Expense.Other Expense.HomeOwnerRentalInsurance
                          - displayName: Other Home Office Expenses
                            required: false
                            type: String
                            value: Expense.Other Expense.OtherHomeOfficeExpenses
                          - displayName: Mortgage Interest
                            required: false
                            type: String
                            value: Expense.Other Expense.MortgageInterest
                          - displayName: Rent And Lease
                            required: false
                            type: String
                            value: Expense.Other Expense.RentAndLease
                          - displayName: Repairs And Maintenance
                            required: false
                            type: String
                            value: Expense.Other Expense.RepairsAndMaintenance
                          - displayName: Parking And Tolls
                            required: false
                            type: String
                            value: Expense.Other Expense.ParkingAndTolls
                          - displayName: Vehicle
                            required: false
                            type: String
                            value: Expense.Other Expense.Vehicle
                          - displayName: Vehicle Insurance
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleInsurance
                          - displayName: Vehicle Lease
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleLease
                          - displayName: Vehicle Loan Interest
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleLoanInterest
                          - displayName: Vehicle Loan
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleLoan
                          - displayName: Vehicle Registration
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleRegistration
                          - displayName: Vehicle Repairs
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleRepairs
                          - displayName: Other Vehicle Expenses
                            required: false
                            type: String
                            value: Expense.Other Expense.OtherVehicleExpenses
                          - displayName: Utilities
                            required: false
                            type: String
                            value: Expense.Other Expense.Utilities
                          - displayName: Wash And Road Services
                            required: false
                            type: String
                            value: Expense.Other Expense.WashAndRoadServices
                          - displayName: Deferred Tax Expense
                            required: false
                            type: String
                            value: Expense.Other Expense.DeferredTaxExpense
                          - displayName: Depletion
                            required: false
                            type: String
                            value: Expense.Other Expense.Depletion
                          - displayName: Exceptional Items
                            required: false
                            type: String
                            value: Expense.Other Expense.ExceptionalItems
                          - displayName: Extraordinary Items
                            required: false
                            type: String
                            value: Expense.Other Expense.ExtraordinaryItems
                          - displayName: Income Tax Other Expense
                            required: false
                            type: String
                            value: Expense.Other Expense.IncomeTaxOtherExpense
                          - displayName: Mat Credit
                            required: false
                            type: String
                            value: Expense.Other Expense.MatCredit
                          - displayName: Prior Period Items
                            required: false
                            type: String
                            value: Expense.Other Expense.PriorPeriodItems
                          - displayName: Tax Roundoff Gain Or Loss
                            required: false
                            type: String
                            value: Expense.Other Expense.TaxRoundoffGainOrLoss
                          - displayName: Equipment Rental - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.EquipmentRentalCos
                          - displayName: Other Costs Of Sales - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.OtherCostsOfServiceCos
                          - displayName: Shipping, Freight And Delivery - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.ShippingFreightDeliveryCos
                          - displayName: Supplies And Materials - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.SuppliesMaterialsCogs
                          - displayName: Cost Of Labor - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.CostOfLaborCos
                          - displayName: Cost Of Sales
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.CostOfSales
                          - displayName: Freight And Delivery Cost
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.FreightAndDeliveryCost
                          - displayName: Non Profit Income
                            required: false
                            type: String
                            value: Income.Income.NonProfitIncome
                          - displayName: Other Primary Income
                            required: false
                            type: String
                            value: Income.Income.OtherPrimaryIncome
                          - displayName: Sales Of ProductIncome
                            required: false
                            type: String
                            value: Income.Income.SalesOfProductIncome
                          - displayName: Service Fee Income
                            required: false
                            type: String
                            value: Income.Income.ServiceFeeIncome
                          - displayName: Discounts Refunds Given
                            required: false
                            type: String
                            value: Income.Income.DiscountsRefundsGiven
                          - displayName: Unapplied Cash Payment Income
                            required: false
                            type: String
                            value: Income.Income.UnappliedCashPaymentIncome
                          - displayName: Cash Receipt Income
                            required: false
                            type: String
                            value: Income.Income.CashReceiptIncome
                          - displayName: Operating Grants
                            required: false
                            type: String
                            value: Income.Income.OperatingGrants
                          - displayName: Other Current Operating Income
                            required: false
                            type: String
                            value: Income.Income.OtherCurrentOperatingIncome
                          - displayName: Own Work Capitalized
                            required: false
                            type: String
                            value: Income.Income.OwnWorkCapitalized
                          - displayName: Revenue General
                            required: false
                            type: String
                            value: Income.Income.RevenueGeneral
                          - displayName: Sales Retail
                            required: false
                            type: String
                            value: Income.Income.SalesRetail
                          - displayName: Sales Wholesale
                            required: false
                            type: String
                            value: Income.Income.SalesWholesale
                          - displayName: Savings By Tax Scheme
                            required: false
                            type: String
                            value: Income.Income.SavingsByTaxScheme
                          - displayName: Dividend Income
                            required: false
                            type: String
                            value: Income.Other Income.DividendIncome
                          - displayName: Interest Earned
                            required: false
                            type: String
                            value: Income.Other Income.InterestEarned
                          - displayName: Other Investment Income
                            required: false
                            type: String
                            value: Income.Other Income.OtherInvestmentIncome
                          - displayName: Other Miscellaneous Income
                            required: false
                            type: String
                            value: Income.Other Income.OtherMiscellaneousIncome
                          - displayName: Tax Exempt Interest
                            required: false
                            type: String
                            value: Income.Other Income.TaxExemptInterest
                          - displayName: Gain Loss On Sale Of Fixed Assets
                            required: false
                            type: String
                            value: Income.Other Income.GainLossOnSaleOfFixedAssets
                          - displayName: Gain Loss On Sale Of Investments
                            required: false
                            type: String
                            value: Income.Other Income.GainLossOnSaleOfInvestments
                          - displayName: Loss On Disposal Of Assets
                            required: false
                            type: String
                            value: Income.Other Income.LossOnDisposalOfAssets
                          - displayName: Other Operating Income
                            required: false
                            type: String
                            value: Income.Other Income.OtherOperatingIncome
                          - displayName: Unrealised Loss On Securities Net Of Tax
                            required: false
                            type: String
                            value: Income.Other Income.UnrealisedLossOnSecuritiesNetOfTax
                          - displayName: Accounts Payable
                            required: false
                            type: String
                            value: Liability.Accounts Payable.AccountsPayable
                          - displayName: Outstanding Dues Micro Small Enterprise
                            required: false
                            type: String
                            value: Liability.Accounts Payable.OutstandingDuesMicroSmallEnterprise
                          - displayName: Outstanding Dues Other Than Micro Small Enterprise
                            required: false
                            type: String
                            value: Liability.Accounts Payable.OutstandingDuesOtherThanMicroSmallEnterprise
                          - displayName: Credit Card
                            required: false
                            type: String
                            value: Liability.Credit Card.CreditCard
                          - displayName: Notes Payable
                            required: false
                            type: String
                            value: Liability.Long Term Liability.NotesPayable
                          - displayName: Other Long Term Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.OtherLongTermLiabilities
                          - displayName: Shareholder Notes Payable
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ShareholderNotesPayable
                          - displayName: Accruals And Deferred Income
                            required: false
                            type: String
                            value: Liability.Long Term Liability.AccrualsAndDeferredIncome
                          - displayName: Accrued Long Lerm Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.AccruedLongLermLiabilities
                          - displayName: Accrued Vacation Payable
                            required: false
                            type: String
                            value: Liability.Long Term Liability.AccruedVacationPayable
                          - displayName: Bank Loans
                            required: false
                            type: String
                            value: Liability.Long Term Liability.BankLoans
                          - displayName: Debts Related To Participating Interests
                            required: false
                            type: String
                            value: Liability.Long Term Liability.DebtsRelatedToParticipatingInterests
                          - displayName: Deferred Tax Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.DeferredTaxLiabilities
                          - displayName: Government And Other Public Authorities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.GovernmentAndOtherPublicAuthorities
                          - displayName: Group And Associates
                            required: false
                            type: String
                            value: Liability.Long Term Liability.GroupAndAssociates
                          - displayName: Liabilities Related To Assets Held For Sale
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LiabilitiesRelatedToAssetsHeldForSale
                          - displayName: Long Term Borrowings
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LongTermBorrowings
                          - displayName: Long Term Debit
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LongTermDebit
                          - displayName: Long Term Employee Benefit Obligations
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LongTermEmployeeBenefitObligations
                          - displayName: Obligations Under Finance Leases
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ObligationsUnderFinanceLeases
                          - displayName: Other Long Term Provisions
                            required: false
                            type: String
                            value: Liability.Long Term Liability.OtherLongTermProvisions
                          - displayName: Provision For Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ProvisionForLiabilities
                          - displayName: Provisions Non Current Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ProvisionsNonCurrentLiabilities
                          - displayName: Staff And Related Long Term Liability Accounts
                            required: false
                            type: String
                            value: Liability.Long Term Liability.StaffAndRelatedLongTermLiabilityAccounts
                          - displayName: Direct Deposit Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.DirectDepositPayable
                          - displayName: Line Of Credit
                            required: false
                            type: String
                            value: Liability.Other Current Liability.LineOfCredit
                          - displayName: Loan Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.LoanPayable
                          - displayName: Global Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.GlobalTaxPayable
                          - displayName: Global Tax Suspense
                            required: false
                            type: String
                            value: Liability.Other Current Liability.GlobalTaxSuspense
                          - displayName: Other Current Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.OtherCurrentLiabilities
                          - displayName: Payroll Clearing
                            required: false
                            type: String
                            value: Liability.Other Current Liability.PayrollClearing
                          - displayName: Payroll Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.PayrollTaxPayable
                          - displayName: Prepaid Expenses Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.PrepaidExpensesPayable
                          - displayName: Rents In Trust Liability
                            required: false
                            type: String
                            value: Liability.Other Current Liability.RentsInTrustLiability
                          - displayName: Trust Accounts Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.TrustAccountsLiabilities
                          - displayName: Federal Income Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.FederalIncomeTaxPayable
                          - displayName: Insurance Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.InsurancePayable
                          - displayName: Sales Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.SalesTaxPayable
                          - displayName: State Local Income Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.StateLocalIncomeTaxPayable
                          - displayName: Accrued Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.AccruedLiabilities
                          - displayName: Current Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentLiabilities
                          - displayName: Current Portion EmployeeBenefits Obligations
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentPortionEmployeeBenefitsObligations
                          - displayName: Current Portion Of Obligations Under Finance Leases
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentPortionOfObligationsUnderFinanceLeases
                          - displayName: Current Tax Liability
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentTaxLiability
                          - displayName: Dividends Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.DividendsPayable
                          - displayName: Duties And Taxes
                            required: false
                            type: String
                            value: Liability.Other Current Liability.DutiesAndTaxes
                          - displayName: Interest Payables
                            required: false
                            type: String
                            value: Liability.Other Current Liability.InterestPayables
                          - displayName: Provision For Warranty Obligations
                            required: false
                            type: String
                            value: Liability.Other Current Liability.ProvisionForWarrantyObligations
                          - displayName: Provisions Current Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.ProvisionsCurrentLiabilities
                          - displayName: Short Term Borrowings
                            required: false
                            type: String
                            value: Liability.Other Current Liability.ShortTermBorrowings
                          - displayName: Social Security Agencies
                            required: false
                            type: String
                            value: Liability.Other Current Liability.SocialSecurityAgencies
                          - displayName: Staff And Related Liability Accounts
                            required: false
                            type: String
                            value: Liability.Other Current Liability.StaffAndRelatedLiabilityAccounts
                          - displayName: Sundry Debtors And Creditors
                            required: false
                            type: String
                            value: Liability.Other Current Liability.SundryDebtorsAndCreditors
                          - displayName: Trade And Other Payables
                            required: false
                            type: String
                            value: Liability.Other Current Liability.TradeAndOtherPayables
                          - displayName: Opening Balance Equity
                            required: false
                            type: String
                            value: Equity.Equity.OpeningBalanceEquity
                          - displayName: Partners Equity
                            required: false
                            type: String
                            value: Equity.Equity.PartnersEquity
                          - displayName: Retained Earnings
                            required: false
                            type: String
                            value: Equity.Equity.RetainedEarnings
                          - displayName: Accumulated Adjustment
                            required: false
                            type: String
                            value: Equity.Equity.AccumulatedAdjustment
                          - displayName: Owners Equity
                            required: false
                            type: String
                            value: Equity.Equity.OwnersEquity
                          - displayName: Paid In Capital Or Surplus
                            required: false
                            type: String
                            value: Equity.Equity.PaidInCapitalOrSurplus
                          - displayName: Partner Contributions
                            required: false
                            type: String
                            value: Equity.Equity.PartnerContributions
                          - displayName: Partner Distributions
                            required: false
                            type: String
                            value: Equity.Equity.PartnerDistributions
                          - displayName: Preferred Stock
                            required: false
                            type: String
                            value: Equity.Equity.PreferredStock
                          - displayName: Common Stock
                            required: false
                            type: String
                            value: Equity.Equity.CommonStock
                          - displayName: Treasury Stock
                            required: false
                            type: String
                            value: Equity.Equity.TreasuryStock
                          - displayName: Estimated Taxes
                            required: false
                            type: String
                            value: Equity.Equity.EstimatedTaxes
                          - displayName: Healthcare
                            required: false
                            type: String
                            value: Equity.Equity.Healthcare
                          - displayName: Personal Income
                            required: false
                            type: String
                            value: Equity.Equity.PersonalIncome
                          - displayName: Personal Expense
                            required: false
                            type: String
                            value: Equity.Equity.PersonalExpense
                          - displayName: Accumulated Other Comprehensive Income
                            required: false
                            type: String
                            value: Equity.Equity.AccumulatedOtherComprehensiveIncome
                          - displayName: Called Up Share Capital
                            required: false
                            type: String
                            value: Equity.Equity.CalledUpShareCapital
                          - displayName: Capital Reserves
                            required: false
                            type: String
                            value: Equity.Equity.CapitalReserves
                          - displayName: Dividend Disbursed
                            required: false
                            type: String
                            value: Equity.Equity.DividendDisbursed
                          - displayName: Equity In Earnings Of Subsiduaries
                            required: false
                            type: String
                            value: Equity.Equity.EquityInEarningsOfSubsiduaries
                          - displayName: Investment Grants
                            required: false
                            type: String
                            value: Equity.Equity.InvestmentGrants
                          - displayName: Money Received Against Share Warrants
                            required: false
                            type: String
                            value: Equity.Equity.MoneyReceivedAgainstShareWarrants
                          - displayName: Other Free Reserves
                            required: false
                            type: String
                            value: Equity.Equity.OtherFreeReserves
                          - displayName: Share Application Money Pending Allotment
                            required: false
                            type: String
                            value: Equity.Equity.ShareApplicationMoneyPendingAllotment
                          - displayName: Share Capital
                            required: false
                            type: String
                            value: Equity.Equity.ShareCapital
                          - displayName: Funds
                            required: false
                            type: String
                            value: Equity.Equity.Funds
                        required: true
                        type: String
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 100 characters
                              field: Name
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If included must have a length between 1 and 7 characters
                              field: NominalCode
                          warnings: []
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      currency:
                        description: The currency of the account
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: When not specified company base currency will be used
                              field: Currency
                          warnings: []
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Cash On Hand
                            required: false
                            type: String
                            value: Asset.Bank.CashOnHand
                          - displayName: Checking
                            required: false
                            type: String
                            value: Asset.Bank.Checking
                          - displayName: Money Market
                            required: false
                            type: String
                            value: Asset.Bank.MoneyMarket
                          - displayName: Rents Held In Trust
                            required: false
                            type: String
                            value: Asset.Bank.RentsHeldInTrust
                          - displayName: Savings
                            required: false
                            type: String
                            value: Asset.Bank.Savings
                          - displayName: Trust Accounts
                            required: false
                            type: String
                            value: Asset.Bank.TrustAccounts
                          - displayName: Cash And Cash Equivalents
                            required: false
                            type: String
                            value: Asset.Bank.CashAndCashEquivalents
                          - displayName: Other Earmarked Bank Accounts
                            required: false
                            type: String
                            value: Asset.Bank.OtherEarmarkedBankAccounts
                          - displayName: Allowance For Bad Debts
                            required: false
                            type: String
                            value: Asset.Other Current Asset.AllowanceForBadDebts
                          - displayName: Development Costs
                            required: false
                            type: String
                            value: Asset.Other Current Asset.DevelopmentCosts
                          - displayName: Employee Cash Advances
                            required: false
                            type: String
                            value: Asset.Other Current Asset.EmployeeCashAdvances
                          - displayName: Other Current Assets
                            required: false
                            type: String
                            value: Asset.Other Current Asset.OtherCurrentAssets
                          - displayName: Inventory
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Inventory
                          - displayName: Investment Mortgage Real Estate Loans
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_MortgageRealEstateLoans
                          - displayName: Investment Other
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_Other
                          - displayName: Investment Tax Exempt Securities
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_TaxExemptSecurities
                          - displayName: Investment US Government Obligations
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Investment_USGovernmentObligations
                          - displayName: Loans To Officers
                            required: false
                            type: String
                            value: Asset.Other Current Asset.LoansToOfficers
                          - displayName: Loans To Others
                            required: false
                            type: String
                            value: Asset.Other Current Asset.LoansToOthers
                          - displayName: Loans To Stockholders
                            required: false
                            type: String
                            value: Asset.Other Current Asset.LoansToStockholders
                          - displayName: Prepaid Expenses
                            required: false
                            type: String
                            value: Asset.Other Current Asset.PrepaidExpenses
                          - displayName: Retainage
                            required: false
                            type: String
                            value: Asset.Other Current Asset.Retainage
                          - displayName: Undeposited Funds
                            required: false
                            type: String
                            value: Asset.Other Current Asset.UndepositedFunds
                          - displayName: Assets Available For Sale
                            required: false
                            type: String
                            value: Asset.Other Current Asset.AssetsAvailableForSale
                          - displayName: Balance With Govt Authorities
                            required: false
                            type: String
                            value: Asset.Other Current Asset.BalWithGovtAuthorities
                          - displayName: Called Up Share Capital Not Paid
                            required: false
                            type: String
                            value: Asset.Other Current Asset.CalledUpShareCapitalNotPaid
                          - displayName: Expenditure Authorisations And Letters Of Credit
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ExpenditureAuthorisationsAndLettersOfCredit
                          - displayName: Global Tax Deferred
                            required: false
                            type: String
                            value: Asset.Other Current Asset.GlobalTaxDeferred
                          - displayName: Global Tax Refund
                            required: false
                            type: String
                            value: Asset.Other Current Asset.GlobalTaxRefund
                          - displayName: Internal Transfers
                            required: false
                            type: String
                            value: Asset.Other Current Asset.InternalTransfers
                          - displayName: Other Consumables
                            required: false
                            type: String
                            value: Asset.Other Current Asset.OtherConsumables
                          - displayName: Provisions Current Assets
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ProvisionsCurrentAssets
                          - displayName: Short Term Investments In Related Parties
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ShortTermInvestmentsInRelatedParties
                          - displayName: Short Term Loans And Advances To Related Parties
                            required: false
                            type: String
                            value: Asset.Other Current Asset.ShortTermLoansAndAdvancesToRelatedParties
                          - displayName: Trade And Other Receivables
                            required: false
                            type: String
                            value: Asset.Other Current Asset.TradeAndOtherReceivables
                          - displayName: Accumulated Depletion
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AccumulatedDepletion
                          - displayName: Accumulated Depreciation
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AccumulatedDepreciation
                          - displayName: Depletable Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.DepletableAssets
                          - displayName: Fixed Asset Computers
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetComputers
                          - displayName: Fixed Asset Copiers
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetCopiers
                          - displayName: Fixed Asset Furniture
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetFurniture
                          - displayName: Fixed Asset Phone
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetPhone
                          - displayName: Fixed Asset Photo Video
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetPhotoVideo
                          - displayName: Fixed Asset Software
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetSoftware
                          - displayName: Fixed Asset Other Tools Equipment
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FixedAssetOtherToolsEquipment
                          - displayName: Furniture And Fixtures
                            required: false
                            type: String
                            value: Asset.Fixed Asset.FurnitureAndFixtures
                          - displayName: Land
                            required: false
                            type: String
                            value: Asset.Fixed Asset.Land
                          - displayName: Leasehold Improvements
                            required: false
                            type: String
                            value: Asset.Fixed Asset.LeaseholdImprovements
                          - displayName: Other Fixed Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.OtherFixedAssets
                          - displayName: Accumulated Amortization
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AccumulatedAmortization
                          - displayName: Buildings
                            required: false
                            type: String
                            value: Asset.Fixed Asset.Buildings
                          - displayName: Intangible Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.IntangibleAssets
                          - displayName: Machinery And Equipment
                            required: false
                            type: String
                            value: Asset.Fixed Asset.MachineryAndEquipment
                          - displayName: Vehicles
                            required: false
                            type: String
                            value: Asset.Fixed Asset.Vehicles
                          - displayName: Assets In Course Of Construction
                            required: false
                            type: String
                            value: Asset.Fixed Asset.AssetsInCourseOfConstruction
                          - displayName: Capital Wip
                            required: false
                            type: String
                            value: Asset.Fixed Asset.CapitalWip
                          - displayName: Cumulative Depreciation On Intangible Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.CumulativeDepreciationOnIntangibleAssets
                          - displayName: Intangible Assets Under Development
                            required: false
                            type: String
                            value: Asset.Fixed Asset.IntangibleAssetsUnderDevelopment
                          - displayName: Land Asset
                            required: false
                            type: String
                            value: Asset.Fixed Asset.LandAsset
                          - displayName: Non Current Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.NonCurrentAssets
                          - displayName: Participating Interests
                            required: false
                            type: String
                            value: Asset.Fixed Asset.ParticipatingInterests
                          - displayName: Provisions Fixed Assets
                            required: false
                            type: String
                            value: Asset.Fixed Asset.ProvisionsFixedAssets
                          - displayName: Lease Buyout
                            required: false
                            type: String
                            value: Asset.Other Asset.LeaseBuyout
                          - displayName: Other Long Term Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherLongTermAssets
                          - displayName: Security Deposits
                            required: false
                            type: String
                            value: Asset.Other Asset.SecurityDeposits
                          - displayName: Accumulated Amortization Of Other Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.AccumulatedAmortizationOfOtherAssets
                          - displayName: Goodwill
                            required: false
                            type: String
                            value: Asset.Other Asset.Goodwill
                          - displayName: Licenses
                            required: false
                            type: String
                            value: Asset.Other Asset.Licenses
                          - displayName: Organizational Costs
                            required: false
                            type: String
                            value: Asset.Other Asset.OrganizationalCosts
                          - displayName: Assets Held For Sale
                            required: false
                            type: String
                            value: Asset.Other Asset.AssetsHeldForSale
                          - displayName: Available For Sale Financial Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.AvailableForSaleFinancialAssets
                          - displayName: Deferred Tax
                            required: false
                            type: String
                            value: Asset.Other Asset.DeferredTax
                          - displayName: Investments
                            required: false
                            type: String
                            value: Asset.Other Asset.Investments
                          - displayName: Long Term Investments
                            required: false
                            type: String
                            value: Asset.Other Asset.LongTermInvestments
                          - displayName: Long Term Loans And Advances To Related Parties
                            required: false
                            type: String
                            value: Asset.Other Asset.LongTermLoansAndAdvancesToRelatedParties
                          - displayName: Other Intangible Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherIntangibleAssets
                          - displayName: Other Long Term Investments
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherLongTermInvestments
                          - displayName: Other Long Term Loans And Advances
                            required: false
                            type: String
                            value: Asset.Other Asset.OtherLongTermLoansAndAdvances
                          - displayName: Prepayments And Accrued Income
                            required: false
                            type: String
                            value: Asset.Other Asset.PrepaymentsAndAccruedIncome
                          - displayName: Provisions Non-Current Assets
                            required: false
                            type: String
                            value: Asset.Other Asset.ProvisionsNonCurrentAssets
                          - displayName: Accounts Receivable
                            required: false
                            type: String
                            value: Asset.Accounts Receivable.AccountsReceivable
                          - displayName: Advertising/Promotional
                            required: false
                            type: String
                            value: Expense.Expense.AdvertisingPromotional
                          - displayName: Bad Debts
                            required: false
                            type: String
                            value: Expense.Expense.BadDebts
                          - displayName: Bank Charges
                            required: false
                            type: String
                            value: Expense.Expense.BankCharges
                          - displayName: Charitable Contributions
                            required: false
                            type: String
                            value: Expense.Expense.CharitableContributions
                          - displayName: Commissions And Fees
                            required: false
                            type: String
                            value: Expense.Expense.CommissionsAndFees
                          - displayName: Entertainment
                            required: false
                            type: String
                            value: Expense.Expense.Entertainment
                          - displayName: Entertainment Meals
                            required: false
                            type: String
                            value: Expense.Expense.EntertainmentMeals
                          - displayName: Equipment Rental
                            required: false
                            type: String
                            value: Expense.Expense.EquipmentRental
                          - displayName: Finance Costs
                            required: false
                            type: String
                            value: Expense.Expense.FinanceCosts
                          - displayName: Global Tax Expense
                            required: false
                            type: String
                            value: Expense.Expense.GlobalTaxExpense
                          - displayName: Insurance
                            required: false
                            type: String
                            value: Expense.Expense.Insurance
                          - displayName: Interest Paid
                            required: false
                            type: String
                            value: Expense.Expense.InterestPaid
                          - displayName: Legal And Professional Fees
                            required: false
                            type: String
                            value: Expense.Expense.LegalProfessionalFees
                          - displayName: Office Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OfficeExpenses
                          - displayName: Office/General Administrative Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OfficeGeneralAdministrativeExpenses
                          - displayName: Other Business Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OtherBusinessExpenses
                          - displayName: Other Miscellaneous Service Cost
                            required: false
                            type: String
                            value: Expense.Expense.OtherMiscellaneousServiceCost
                          - displayName: Promotional Meals
                            required: false
                            type: String
                            value: Expense.Expense.PromotionalMeals
                          - displayName: Rent Or Lease Of Buildings
                            required: false
                            type: String
                            value: Expense.Expense.RentOrLeaseOfBuildings
                          - displayName: Repair And Maintenance
                            required: false
                            type: String
                            value: Expense.Expense.RepairMaintenance
                          - displayName: Shipping, Freight And Delivery
                            required: false
                            type: String
                            value: Expense.Expense.ShippingFreightDelivery
                          - displayName: Supplies And Materials
                            required: false
                            type: String
                            value: Expense.Expense.SuppliesMaterials
                          - displayName: Travel
                            required: false
                            type: String
                            value: Expense.Expense.Travel
                          - displayName: Travel Meals
                            required: false
                            type: String
                            value: Expense.Expense.TravelMeals
                          - displayName: Utilities
                            required: false
                            type: String
                            value: Expense.Expense.Utilities
                          - displayName: Auto
                            required: false
                            type: String
                            value: Expense.Expense.Auto
                          - displayName: Cost Of Labor
                            required: false
                            type: String
                            value: Expense.Expense.CostOfLabor
                          - displayName: Dues And Subscriptions
                            required: false
                            type: String
                            value: Expense.Expense.DuesSubscriptions
                          - displayName: Payroll Expenses
                            required: false
                            type: String
                            value: Expense.Expense.PayrollExpenses
                          - displayName: Taxes Paid
                            required: false
                            type: String
                            value: Expense.Expense.TaxesPaid
                          - displayName: Unapplied Cash Bill Payment Expense
                            required: false
                            type: String
                            value: Expense.Expense.UnappliedCashBillPaymentExpense
                          - displayName: Utilities
                            required: false
                            type: String
                            value: Expense.Expense.Utilities
                          - displayName: Amortization Expense
                            required: false
                            type: String
                            value: Expense.Expense.AmortizationExpense
                          - displayName: Appropriations To Depreciation
                            required: false
                            type: String
                            value: Expense.Expense.AppropriationsToDepreciation
                          - displayName: Borrowing Cost
                            required: false
                            type: String
                            value: Expense.Expense.BorrowingCost
                          - displayName: Commissions And Fees
                            required: false
                            type: String
                            value: Expense.Expense.CommissionsAndFees
                          - displayName: Distribution Costs
                            required: false
                            type: String
                            value: Expense.Expense.DistributionCosts
                          - displayName: External Services
                            required: false
                            type: String
                            value: Expense.Expense.ExternalServices
                          - displayName: Extraordinary Charges
                            required: false
                            type: String
                            value: Expense.Expense.ExtraordinaryCharges
                          - displayName: Income Tax Expense
                            required: false
                            type: String
                            value: Expense.Expense.IncomeTaxExpense
                          - displayName: Loss On Discontinued Operations Net Of Tax
                            required: false
                            type: String
                            value: Expense.Expense.LossOnDiscontinuedOperationsNetOfTax
                          - displayName: Management Compensation
                            required: false
                            type: String
                            value: Expense.Expense.ManagementCompensation
                          - displayName: Other Current Operating Charges
                            required: false
                            type: String
                            value: Expense.Expense.OtherCurrentOperatingCharges
                          - displayName: Other External Services
                            required: false
                            type: String
                            value: Expense.Expense.OtherExternalServices
                          - displayName: Other Rental Costs
                            required: false
                            type: String
                            value: Expense.Expense.OtherRentalCosts
                          - displayName: Other Selling Expenses
                            required: false
                            type: String
                            value: Expense.Expense.OtherSellingExpenses
                          - displayName: Project Studies Surveys Assessments
                            required: false
                            type: String
                            value: Expense.Expense.ProjectStudiesSurveysAssessments
                          - displayName: Purchases Rebates
                            required: false
                            type: String
                            value: Expense.Expense.PurchasesRebates
                          - displayName: Shipping And Delivery Expense
                            required: false
                            type: String
                            value: Expense.Expense.ShippingAndDeliveryExpense
                          - displayName: Staff Costs
                            required: false
                            type: String
                            value: Expense.Expense.StaffCosts
                          - displayName: Sundry
                            required: false
                            type: String
                            value: Expense.Expense.Sundry
                          - displayName: Travel Expenses General And Admin Expenses
                            required: false
                            type: String
                            value: Expense.Expense.TravelExpensesGeneralAndAdminExpenses
                          - displayName: Travel Expenses Selling Expense
                            required: false
                            type: String
                            value: Expense.Expense.TravelExpensesSellingExpense
                          - displayName: Depreciation
                            required: false
                            type: String
                            value: Expense.Other Expense.Depreciation
                          - displayName: Exchange Gain Or Loss
                            required: false
                            type: String
                            value: Expense.Other Expense.ExchangeGainOrLoss
                          - displayName: Other Miscellaneous Expense
                            required: false
                            type: String
                            value: Expense.Other Expense.OtherMiscellaneousExpense
                          - displayName: Penalties And Settlements
                            required: false
                            type: String
                            value: Expense.Other Expense.PenaltiesSettlements
                          - displayName: Amortization
                            required: false
                            type: String
                            value: Expense.Other Expense.Amortization
                          - displayName: Gas And Fuel
                            required: false
                            type: String
                            value: Expense.Other Expense.GasAndFuel
                          - displayName: Home Office
                            required: false
                            type: String
                            value: Expense.Other Expense.HomeOffice
                          - displayName: Home Owner Rental Insurance
                            required: false
                            type: String
                            value: Expense.Other Expense.HomeOwnerRentalInsurance
                          - displayName: Other Home Office Expenses
                            required: false
                            type: String
                            value: Expense.Other Expense.OtherHomeOfficeExpenses
                          - displayName: Mortgage Interest
                            required: false
                            type: String
                            value: Expense.Other Expense.MortgageInterest
                          - displayName: Rent And Lease
                            required: false
                            type: String
                            value: Expense.Other Expense.RentAndLease
                          - displayName: Repairs And Maintenance
                            required: false
                            type: String
                            value: Expense.Other Expense.RepairsAndMaintenance
                          - displayName: Parking And Tolls
                            required: false
                            type: String
                            value: Expense.Other Expense.ParkingAndTolls
                          - displayName: Vehicle
                            required: false
                            type: String
                            value: Expense.Other Expense.Vehicle
                          - displayName: Vehicle Insurance
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleInsurance
                          - displayName: Vehicle Lease
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleLease
                          - displayName: Vehicle Loan Interest
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleLoanInterest
                          - displayName: Vehicle Loan
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleLoan
                          - displayName: Vehicle Registration
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleRegistration
                          - displayName: Vehicle Repairs
                            required: false
                            type: String
                            value: Expense.Other Expense.VehicleRepairs
                          - displayName: Other Vehicle Expenses
                            required: false
                            type: String
                            value: Expense.Other Expense.OtherVehicleExpenses
                          - displayName: Utilities
                            required: false
                            type: String
                            value: Expense.Other Expense.Utilities
                          - displayName: Wash And Road Services
                            required: false
                            type: String
                            value: Expense.Other Expense.WashAndRoadServices
                          - displayName: Deferred Tax Expense
                            required: false
                            type: String
                            value: Expense.Other Expense.DeferredTaxExpense
                          - displayName: Depletion
                            required: false
                            type: String
                            value: Expense.Other Expense.Depletion
                          - displayName: Exceptional Items
                            required: false
                            type: String
                            value: Expense.Other Expense.ExceptionalItems
                          - displayName: Extraordinary Items
                            required: false
                            type: String
                            value: Expense.Other Expense.ExtraordinaryItems
                          - displayName: Income Tax Other Expense
                            required: false
                            type: String
                            value: Expense.Other Expense.IncomeTaxOtherExpense
                          - displayName: Mat Credit
                            required: false
                            type: String
                            value: Expense.Other Expense.MatCredit
                          - displayName: Prior Period Items
                            required: false
                            type: String
                            value: Expense.Other Expense.PriorPeriodItems
                          - displayName: Tax Roundoff Gain Or Loss
                            required: false
                            type: String
                            value: Expense.Other Expense.TaxRoundoffGainOrLoss
                          - displayName: Equipment Rental - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.EquipmentRentalCos
                          - displayName: Other Costs Of Sales - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.OtherCostsOfServiceCos
                          - displayName: Shipping, Freight And Delivery - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.ShippingFreightDeliveryCos
                          - displayName: Supplies And Materials - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.SuppliesMaterialsCogs
                          - displayName: Cost Of Labor - COS
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.CostOfLaborCos
                          - displayName: Cost Of Sales
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.CostOfSales
                          - displayName: Freight And Delivery Cost
                            required: false
                            type: String
                            value: Expense.Cost of Goods Sold.FreightAndDeliveryCost
                          - displayName: Non Profit Income
                            required: false
                            type: String
                            value: Income.Income.NonProfitIncome
                          - displayName: Other Primary Income
                            required: false
                            type: String
                            value: Income.Income.OtherPrimaryIncome
                          - displayName: Sales Of ProductIncome
                            required: false
                            type: String
                            value: Income.Income.SalesOfProductIncome
                          - displayName: Service Fee Income
                            required: false
                            type: String
                            value: Income.Income.ServiceFeeIncome
                          - displayName: Discounts Refunds Given
                            required: false
                            type: String
                            value: Income.Income.DiscountsRefundsGiven
                          - displayName: Unapplied Cash Payment Income
                            required: false
                            type: String
                            value: Income.Income.UnappliedCashPaymentIncome
                          - displayName: Cash Receipt Income
                            required: false
                            type: String
                            value: Income.Income.CashReceiptIncome
                          - displayName: Operating Grants
                            required: false
                            type: String
                            value: Income.Income.OperatingGrants
                          - displayName: Other Current Operating Income
                            required: false
                            type: String
                            value: Income.Income.OtherCurrentOperatingIncome
                          - displayName: Own Work Capitalized
                            required: false
                            type: String
                            value: Income.Income.OwnWorkCapitalized
                          - displayName: Revenue General
                            required: false
                            type: String
                            value: Income.Income.RevenueGeneral
                          - displayName: Sales Retail
                            required: false
                            type: String
                            value: Income.Income.SalesRetail
                          - displayName: Sales Wholesale
                            required: false
                            type: String
                            value: Income.Income.SalesWholesale
                          - displayName: Savings By Tax Scheme
                            required: false
                            type: String
                            value: Income.Income.SavingsByTaxScheme
                          - displayName: Dividend Income
                            required: false
                            type: String
                            value: Income.Other Income.DividendIncome
                          - displayName: Interest Earned
                            required: false
                            type: String
                            value: Income.Other Income.InterestEarned
                          - displayName: Other Investment Income
                            required: false
                            type: String
                            value: Income.Other Income.OtherInvestmentIncome
                          - displayName: Other Miscellaneous Income
                            required: false
                            type: String
                            value: Income.Other Income.OtherMiscellaneousIncome
                          - displayName: Tax Exempt Interest
                            required: false
                            type: String
                            value: Income.Other Income.TaxExemptInterest
                          - displayName: Gain Loss On Sale Of Fixed Assets
                            required: false
                            type: String
                            value: Income.Other Income.GainLossOnSaleOfFixedAssets
                          - displayName: Gain Loss On Sale Of Investments
                            required: false
                            type: String
                            value: Income.Other Income.GainLossOnSaleOfInvestments
                          - displayName: Loss On Disposal Of Assets
                            required: false
                            type: String
                            value: Income.Other Income.LossOnDisposalOfAssets
                          - displayName: Other Operating Income
                            required: false
                            type: String
                            value: Income.Other Income.OtherOperatingIncome
                          - displayName: Unrealised Loss On Securities Net Of Tax
                            required: false
                            type: String
                            value: Income.Other Income.UnrealisedLossOnSecuritiesNetOfTax
                          - displayName: Accounts Payable
                            required: false
                            type: String
                            value: Liability.Accounts Payable.AccountsPayable
                          - displayName: Outstanding Dues Micro Small Enterprise
                            required: false
                            type: String
                            value: Liability.Accounts Payable.OutstandingDuesMicroSmallEnterprise
                          - displayName: Outstanding Dues Other Than Micro Small Enterprise
                            required: false
                            type: String
                            value: Liability.Accounts Payable.OutstandingDuesOtherThanMicroSmallEnterprise
                          - displayName: Credit Card
                            required: false
                            type: String
                            value: Liability.Credit Card.CreditCard
                          - displayName: Notes Payable
                            required: false
                            type: String
                            value: Liability.Long Term Liability.NotesPayable
                          - displayName: Other Long Term Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.OtherLongTermLiabilities
                          - displayName: Shareholder Notes Payable
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ShareholderNotesPayable
                          - displayName: Accruals And Deferred Income
                            required: false
                            type: String
                            value: Liability.Long Term Liability.AccrualsAndDeferredIncome
                          - displayName: Accrued Long Lerm Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.AccruedLongLermLiabilities
                          - displayName: Accrued Vacation Payable
                            required: false
                            type: String
                            value: Liability.Long Term Liability.AccruedVacationPayable
                          - displayName: Bank Loans
                            required: false
                            type: String
                            value: Liability.Long Term Liability.BankLoans
                          - displayName: Debts Related To Participating Interests
                            required: false
                            type: String
                            value: Liability.Long Term Liability.DebtsRelatedToParticipatingInterests
                          - displayName: Deferred Tax Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.DeferredTaxLiabilities
                          - displayName: Government And Other Public Authorities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.GovernmentAndOtherPublicAuthorities
                          - displayName: Group And Associates
                            required: false
                            type: String
                            value: Liability.Long Term Liability.GroupAndAssociates
                          - displayName: Liabilities Related To Assets Held For Sale
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LiabilitiesRelatedToAssetsHeldForSale
                          - displayName: Long Term Borrowings
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LongTermBorrowings
                          - displayName: Long Term Debit
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LongTermDebit
                          - displayName: Long Term Employee Benefit Obligations
                            required: false
                            type: String
                            value: Liability.Long Term Liability.LongTermEmployeeBenefitObligations
                          - displayName: Obligations Under Finance Leases
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ObligationsUnderFinanceLeases
                          - displayName: Other Long Term Provisions
                            required: false
                            type: String
                            value: Liability.Long Term Liability.OtherLongTermProvisions
                          - displayName: Provision For Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ProvisionForLiabilities
                          - displayName: Provisions Non Current Liabilities
                            required: false
                            type: String
                            value: Liability.Long Term Liability.ProvisionsNonCurrentLiabilities
                          - displayName: Staff And Related Long Term Liability Accounts
                            required: false
                            type: String
                            value: Liability.Long Term Liability.StaffAndRelatedLongTermLiabilityAccounts
                          - displayName: Direct Deposit Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.DirectDepositPayable
                          - displayName: Line Of Credit
                            required: false
                            type: String
                            value: Liability.Other Current Liability.LineOfCredit
                          - displayName: Loan Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.LoanPayable
                          - displayName: Global Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.GlobalTaxPayable
                          - displayName: Global Tax Suspense
                            required: false
                            type: String
                            value: Liability.Other Current Liability.GlobalTaxSuspense
                          - displayName: Other Current Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.OtherCurrentLiabilities
                          - displayName: Payroll Clearing
                            required: false
                            type: String
                            value: Liability.Other Current Liability.PayrollClearing
                          - displayName: Payroll Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.PayrollTaxPayable
                          - displayName: Prepaid Expenses Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.PrepaidExpensesPayable
                          - displayName: Rents In Trust Liability
                            required: false
                            type: String
                            value: Liability.Other Current Liability.RentsInTrustLiability
                          - displayName: Trust Accounts Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.TrustAccountsLiabilities
                          - displayName: Federal Income Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.FederalIncomeTaxPayable
                          - displayName: Insurance Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.InsurancePayable
                          - displayName: Sales Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.SalesTaxPayable
                          - displayName: State Local Income Tax Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.StateLocalIncomeTaxPayable
                          - displayName: Accrued Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.AccruedLiabilities
                          - displayName: Current Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentLiabilities
                          - displayName: Current Portion EmployeeBenefits Obligations
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentPortionEmployeeBenefitsObligations
                          - displayName: Current Portion Of Obligations Under Finance Leases
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentPortionOfObligationsUnderFinanceLeases
                          - displayName: Current Tax Liability
                            required: false
                            type: String
                            value: Liability.Other Current Liability.CurrentTaxLiability
                          - displayName: Dividends Payable
                            required: false
                            type: String
                            value: Liability.Other Current Liability.DividendsPayable
                          - displayName: Duties And Taxes
                            required: false
                            type: String
                            value: Liability.Other Current Liability.DutiesAndTaxes
                          - displayName: Interest Payables
                            required: false
                            type: String
                            value: Liability.Other Current Liability.InterestPayables
                          - displayName: Provision For Warranty Obligations
                            required: false
                            type: String
                            value: Liability.Other Current Liability.ProvisionForWarrantyObligations
                          - displayName: Provisions Current Liabilities
                            required: false
                            type: String
                            value: Liability.Other Current Liability.ProvisionsCurrentLiabilities
                          - displayName: Short Term Borrowings
                            required: false
                            type: String
                            value: Liability.Other Current Liability.ShortTermBorrowings
                          - displayName: Social Security Agencies
                            required: false
                            type: String
                            value: Liability.Other Current Liability.SocialSecurityAgencies
                          - displayName: Staff And Related Liability Accounts
                            required: false
                            type: String
                            value: Liability.Other Current Liability.StaffAndRelatedLiabilityAccounts
                          - displayName: Sundry Debtors And Creditors
                            required: false
                            type: String
                            value: Liability.Other Current Liability.SundryDebtorsAndCreditors
                          - displayName: Trade And Other Payables
                            required: false
                            type: String
                            value: Liability.Other Current Liability.TradeAndOtherPayables
                          - displayName: Opening Balance Equity
                            required: false
                            type: String
                            value: Equity.Equity.OpeningBalanceEquity
                          - displayName: Partners Equity
                            required: false
                            type: String
                            value: Equity.Equity.PartnersEquity
                          - displayName: Retained Earnings
                            required: false
                            type: String
                            value: Equity.Equity.RetainedEarnings
                          - displayName: Accumulated Adjustment
                            required: false
                            type: String
                            value: Equity.Equity.AccumulatedAdjustment
                          - displayName: Owners Equity
                            required: false
                            type: String
                            value: Equity.Equity.OwnersEquity
                          - displayName: Paid In Capital Or Surplus
                            required: false
                            type: String
                            value: Equity.Equity.PaidInCapitalOrSurplus
                          - displayName: Partner Contributions
                            required: false
                            type: String
                            value: Equity.Equity.PartnerContributions
                          - displayName: Partner Distributions
                            required: false
                            type: String
                            value: Equity.Equity.PartnerDistributions
                          - displayName: Preferred Stock
                            required: false
                            type: String
                            value: Equity.Equity.PreferredStock
                          - displayName: Common Stock
                            required: false
                            type: String
                            value: Equity.Equity.CommonStock
                          - displayName: Treasury Stock
                            required: false
                            type: String
                            value: Equity.Equity.TreasuryStock
                          - displayName: Estimated Taxes
                            required: false
                            type: String
                            value: Equity.Equity.EstimatedTaxes
                          - displayName: Healthcare
                            required: false
                            type: String
                            value: Equity.Equity.Healthcare
                          - displayName: Personal Income
                            required: false
                            type: String
                            value: Equity.Equity.PersonalIncome
                          - displayName: Personal Expense
                            required: false
                            type: String
                            value: Equity.Equity.PersonalExpense
                          - displayName: Accumulated Other Comprehensive Income
                            required: false
                            type: String
                            value: Equity.Equity.AccumulatedOtherComprehensiveIncome
                          - displayName: Called Up Share Capital
                            required: false
                            type: String
                            value: Equity.Equity.CalledUpShareCapital
                          - displayName: Capital Reserves
                            required: false
                            type: String
                            value: Equity.Equity.CapitalReserves
                          - displayName: Dividend Disbursed
                            required: false
                            type: String
                            value: Equity.Equity.DividendDisbursed
                          - displayName: Equity In Earnings Of Subsiduaries
                            required: false
                            type: String
                            value: Equity.Equity.EquityInEarningsOfSubsiduaries
                          - displayName: Investment Grants
                            required: false
                            type: String
                            value: Equity.Equity.InvestmentGrants
                          - displayName: Money Received Against Share Warrants
                            required: false
                            type: String
                            value: Equity.Equity.MoneyReceivedAgainstShareWarrants
                          - displayName: Other Free Reserves
                            required: false
                            type: String
                            value: Equity.Equity.OtherFreeReserves
                          - displayName: Share Application Money Pending Allotment
                            required: false
                            type: String
                            value: Equity.Equity.ShareApplicationMoneyPendingAllotment
                          - displayName: Share Capital
                            required: false
                            type: String
                            value: Equity.Equity.ShareCapital
                          - displayName: Funds
                            required: false
                            type: String
                            value: Equity.Equity.Funds
                        required: true
                        type: String
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 100 characters
                              field: Name
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If included must have a length between 1 and 7 characters
                              field: NominalCode
                          warnings: []
                    required: true
                    type: Object
                Sage Business Cloud Accounting:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Sales
                            required: false
                            type: String
                            value: SALES
                          - displayName: Other Income
                            required: false
                            type: String
                            value: OTHER_INCOME
                          - displayName: Direct Expenses
                            required: false
                            type: String
                            value: DIRECT_EXPENSES
                          - displayName: Overheads
                            required: false
                            type: String
                            value: OVERHEADS
                          - displayName: Depreciation
                            required: false
                            type: String
                            value: DEPRECIATION
                          - displayName: Current Assets
                            required: false
                            type: String
                            value: CURRENT_ASSETS
                          - displayName: Fixed Assets
                            required: false
                            type: String
                            value: FIXED_ASSETS
                          - displayName: Future Assets
                            required: false
                            type: String
                            value: FUTURE_ASSETS
                          - displayName: Bank
                            required: false
                            type: String
                            value: BANK
                          - displayName: Current Liability
                            required: false
                            type: String
                            value: CURRENT_LIABILITY
                          - displayName: Future Liability
                            required: false
                            type: String
                            value: FUTURE_LIABILITY
                          - displayName: Equity
                            required: false
                            type: String
                            value: EQUITY
                          - displayName: Credit Card / Loan
                            required: false
                            type: String
                            value: LINE_OF_CREDIT
                        required: true
                        type: String
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 200 characters.
                              field: Name
                          warnings: []
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Should be a number between 1 and 99999999.
                              field: NominalCode
                          warnings: []
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        required: true
                        type: String
                        validation:
                          information:
                            - details: "Any category that is part of the hierarchy of one of: 'Assets', 'Equity', 'Liabilities', 'Total Expenses' and 'Total Income' is permitted."
                              field: FullyQualifiedCategory
                          warnings: []
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be unique within the entity.
                              field: NominalCode
                            - details: Must be at most 24 characters in length, although restrictions may vary between entities.
                              field: NominalCode
                      status:
                        description: The status of the account
                        displayName: Account Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      type:
                        description: The type, or base category, of the account
                        displayName: Account Type
                        options:
                          - displayName: Asset
                            required: false
                            type: String
                            value: Asset
                          - displayName: Equity
                            required: false
                            type: String
                            value: Equity
                          - displayName: Expense
                            required: false
                            type: String
                            value: Expense
                          - displayName: Income
                            required: false
                            type: String
                            value: Income
                          - displayName: Liability
                            required: false
                            type: String
                            value: Liability
                        required: true
                        type: String
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      currency:
                        description: The currency of the account
                        displayName: Currency
                        required: true
                        type: String
                      currentBalance:
                        description: The current balance in the account
                        displayName: Current Balance
                        required: true
                        type: Number
                      description:
                        description: Description of the account
                        displayName: Description
                        required: true
                        type: String
                      fullyQualifiedCategory:
                        description: The full category of the account e.g. Liability.Current or Income.Revenue
                        displayName: Fully Qualified Category
                        required: true
                        type: String
                      fullyQualifiedName:
                        description: The full name of the account e.g. Liability.Current.VAT or Income.Revenue.Sales
                        displayName: Fully Qualified Name
                        required: true
                        type: String
                      isBankAccount:
                        description: Confirms whether the nominal account represents a bank account or not
                        displayName: Is Bank Account?
                        required: true
                        type: Boolean
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      name:
                        description: Name of the account
                        displayName: Name
                        required: true
                        type: String
                      nominalCode:
                        description: The external reference given to each nominal account for a business
                        displayName: Nominal Code
                        required: true
                        type: String
                      status:
                        description: The status of the account
                        displayName: Account Status
                        required: true
                        type: String
                      type:
                        description: The type, or base category, of the account
                        displayName: Account Type
                        required: true
                        type: String
                      validDatatypeLinks:
                        description: Describes which fields on other data types are valid links to this account in the originating system
                        displayName: Valid Datatype Links
                        properties:
                          links:
                            description: A collection of absolute names of fields from other data types, e.g. Invoice.LineItems.AccountRef.Id
                            displayName: Links
                            required: true
                            type: Array
                          property:
                            description: The field on the source data type that other data types can link to
                            displayName: Property
                            required: true
                            type: String
                        required: true
                        type: Array
                    required: true
                    type: Object
                Xero:
                  value:
                    description: Nominal Accounts are the categories a business uses to record transactions
                    displayName: Nominal Account
                    properties:
                      description:
                        description: Description for the nominal account.
                        displayName: Description
                        required: false
                        type: String
                      fullyQualifiedCategory:
                        description: Account type and category for nominal account.
                        displayName: Fully Qualified Category
                        options:
                          - displayName: Current Asset
                            required: false
                            type: String
                            value: Asset.Current
                          - displayName: Fixed Asset
                            required: false
                            type: String
                            value: Asset.Fixed
                          - displayName: Inventory
                            required: false
                            type: String
                            value: Asset.Inventory
                          - displayName: Non-current Asset
                            required: false
                            type: String
                            value: Asset.NonCurrent
                          - displayName: Prepayment
                            required: false
                            type: String
                            value: Asset.Prepayment
                          - displayName: Direct Costs
                            required: false
                            type: String
                            value: Expense.DirectCosts
                          - displayName: Expense
                            required: false
                            type: String
                            value: Expense.Expense
                          - displayName: Overhead
                            required: false
                            type: String
                            value: Expense.Overhead
                          - displayName: Superannuation
                            required: false
                            type: String
                            value: Expense.Superannuation
                          - displayName: Wages
                            required: false
                            type: String
                            value: Expense.Wages
                          - displayName: Sales
                            required: false
                            type: String
                            value: Income.Sales
                          - displayName: Revenue
                            required: false
                            type: String
                            value: Income.Revenue
                          - displayName: Other Income
                            required: false
                            type: String
                            value: Income.Other
                          - displayName: Current Liability
                            required: false
                            type: String
                            value: Liability.Current
                          - displayName: Depreciation
                            required: false
                            type: String
                            value: Liability.Depreciation
                          - displayName: Liability
                            required: false
                            type: String
                            value: Liability.Liability
                          - displayName: Non Current Liability
                            required: false
                            type: String
                            value: Liability.NonCurrent
                          - displayName: Pay As You Go Liability
                            required: false
                            type: String
                            value: Liability.PayAsYouGo
                          - displayName: Superannuation Liability
                            required: false
                            type: String
                            value: Liability.Superannuation
                          - displayName: Wages Payable Liability
                            required: false
                            type: String
                            value: Liability.WagesPayable
                          - displayName: Equity
                            required: false
                            type: String
                            value: Equity.Equity
                        required: true
                        type: String
                      name:
                        description: Name of account as it appears in the chart of accounts or general ledger.
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Payments are enabled to this account if the name ends in .PaymentsEnabled.
                              field: Name
                          warnings: []
                      nominalCode:
                        description: Identifier for the nominal account.
                        displayName: Nominal Code
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 10 characters.
                              field: NominalCode
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create account model
      tags:
        - Accounts
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/creditNotes":
    get:
      description: |-
        Get create/update credit note model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=creditNotes) for integrations that support creating and updating a credit note.
      operationId: get-create-update-creditNotes-model
      responses:
        "200":
          content:
            application/json:
              examples:
                FreeAgent:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        options:
                          - displayName: AED
                            required: false
                            type: String
                            value: AED
                          - displayName: AMD
                            required: false
                            type: String
                            value: AMD
                          - displayName: AOA
                            required: false
                            type: String
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: String
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: String
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: String
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: String
                            value: AZN
                          - displayName: BBD
                            required: false
                            type: String
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: String
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: String
                            value: BGN
                          - displayName: BRL
                            required: false
                            type: String
                            value: BRL
                          - displayName: BWP
                            required: false
                            type: String
                            value: BWP
                          - displayName: CAD
                            required: false
                            type: String
                            value: CAD
                          - displayName: CHF
                            required: false
                            type: String
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: String
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: String
                            value: CNY
                          - displayName: COP
                            required: false
                            type: String
                            value: COP
                          - displayName: CRC
                            required: false
                            type: String
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: String
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: String
                            value: CUP
                          - displayName: CZK
                            required: false
                            type: String
                            value: CZK
                          - displayName: DKK
                            required: false
                            type: String
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: String
                            value: DOP
                          - displayName: EGP
                            required: false
                            type: String
                            value: EGP
                          - displayName: EUR
                            required: false
                            type: String
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: String
                            value: FJD
                          - displayName: GBP
                            required: false
                            type: String
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: String
                            value: GEL
                          - displayName: GHS
                            required: false
                            type: String
                            value: GHS
                          - displayName: GTQ
                            required: false
                            type: String
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: String
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: String
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: String
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: String
                            value: HRK
                          - displayName: HUF
                            required: false
                            type: String
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: String
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: String
                            value: ILS
                          - displayName: INR
                            required: false
                            type: String
                            value: INR
                          - displayName: ISK
                            required: false
                            type: String
                            value: ISK
                          - displayName: JMD
                            required: false
                            type: String
                            value: JMD
                          - displayName: JPY
                            required: false
                            type: String
                            value: JPY
                          - displayName: KES
                            required: false
                            type: String
                            value: KES
                          - displayName: KRW
                            required: false
                            type: String
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: String
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: String
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: String
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: String
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: String
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: String
                            value: LKR
                          - displayName: LTL
                            required: false
                            type: String
                            value: LTL
                          - displayName: LVL
                            required: false
                            type: String
                            value: LVL
                          - displayName: MAD
                            required: false
                            type: String
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: String
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: String
                            value: MGA
                          - displayName: MUR
                            required: false
                            type: String
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: String
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: String
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: String
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: String
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: String
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: String
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: String
                            value: NGN
                          - displayName: NOK
                            required: false
                            type: String
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: String
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: String
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: String
                            value: OMR
                          - displayName: PEN
                            required: false
                            type: String
                            value: PEN
                          - displayName: PHP
                            required: false
                            type: String
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: String
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: String
                            value: PLN
                          - displayName: QAR
                            required: false
                            type: String
                            value: QAR
                          - displayName: RON
                            required: false
                            type: String
                            value: RON
                          - displayName: RSD
                            required: false
                            type: String
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: String
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: String
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: String
                            value: SAR
                          - displayName: SCR
                            required: false
                            type: String
                            value: SCR
                          - displayName: SEK
                            required: false
                            type: String
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: String
                            value: SGD
                          - displayName: THB
                            required: false
                            type: String
                            value: THB
                          - displayName: TND
                            required: false
                            type: String
                            value: TND
                          - displayName: TRY
                            required: false
                            type: String
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: String
                            value: TTD
                          - displayName: TWD
                            required: false
                            type: String
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: String
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: String
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: String
                            value: UGX
                          - displayName: USD
                            required: false
                            type: String
                            value: USD
                          - displayName: UYU
                            required: false
                            type: String
                            value: UYU
                          - displayName: VEF
                            required: false
                            type: String
                            value: VEF
                          - displayName: VND
                            required: false
                            type: String
                            value: VND
                          - displayName: VUV
                            required: false
                            type: String
                            value: VUV
                          - displayName: XAF
                            required: false
                            type: String
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: String
                            value: XCD
                          - displayName: XOF
                            required: false
                            type: String
                            value: XOF
                          - displayName: ZAR
                            required: false
                            type: String
                            value: ZAR
                          - displayName: ZMK
                            required: false
                            type: String
                            value: ZMK
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not specified, defaults to the company's native currency
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: true
                            type: String
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: If supplied, must be a positive number
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                      subTotal:
                        description: The amount of the credit note, inclusive of discounts but exclusive of tax
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If supplied, must match the sum of all line items
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                FreshBooks:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be valid Customer Id
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: false
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 13 characters
                              field: CreditNoteNumber
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than zero.
                              field: CurrencyRate
                            - details: Only valid if Currency is set
                              field: CurrencyRate
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must not be supplied with an inventory item
                                  field: LineItems.AccountRef
                                - details: Must be supplied except when an ItemRef is supplied
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 255 characters
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Must have the same value for all line items
                                  field: LineItems.TrackingCategoryRefs
                                - details: May contain a maximum of 1 item
                                  field: LineItems.TrackingCategoryRefs
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be greater or equal to 0
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 2000 characters
                              field: Note
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of TotalAmounts for the line items
                              field: TotalAmount
                            - details: Must be greater than zero.
                              field: TotalAmount
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be provided for 'Discount' type items
                                  field: LineItems.Quantity
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if and only if item does not have type 'Discount'
                                  field: LineItems.SubTotal
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: false
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if item does not have type 'Discount'
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: A single location tracking category must be present on all LineItems. Optionally, a single class tracking category and a single department tracking category may be present on all LineItems too.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be provided for 'Discount' type items
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 11 characters.
                              field: CreditNoteNumber
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the customer
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the customer
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing item.
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: For US versions of QuickBooks Desktop this must be a Tax Code
                                      field: TaxRateRef.Id
                                    - details: For US versions of QuickBooks Desktop either 'Id' or 'Name' must be specified
                                      field: TaxRateRef.Id
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: For US versions of QuickBooks Desktop with Sales Tax enabled this must be either 'Tax' or 'Non'
                                      field: TaxRateRef.Name
                                    - details: For US versions of QuickBooks Desktop either 'Id' or 'Name' must be specified
                                      field: TaxRateRef.Name
                            required: false
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tracking category.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4000 characters.
                              field: Note
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: false
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Description
                              warnings:
                                - details: Maximum character length should not be longer than 4000.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then 'TAX' (Automated Sales Tax), 'NON' (no tax) or a custom tax rate can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TotalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: A tracking category of type CLASS can only be provided if ClassTrackingPerTxnLine is enabled for the QBO company.
                                      field: TrackingCategoryRefs.Id
                                    - details: Only one tracking category of type CLASS can be provided per item.
                                      field: TrackingCategoryRefs.Id
                                    - details: A tracking category of type DEPARTMENT should be declared at the top level item (first line item).
                                      field: TrackingCategoryRefs.Id
                                    - details: A tracking category of type DEPARTMENT can only be provided if TrackDepartments is enabled for the QBO company.
                                      field: TrackingCategoryRefs.Id
                                    - details: Only one tracking category of type DEPARTMENT can be provided per credit note.
                                      field: TrackingCategoryRefs.Id
                                    - details: Must match the ID of an existing tracking category and be of type DEPARTMENT or CLASS.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: false
                        type: Number
                      totalTaxAmount:
                        description: The amount of tax for the credit note
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Tax will not be overridden if TotalTaxAmount is 0.
                              field: TotalTaxAmount
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Automated Sales Tax is disabled for this company.
                      warnings: []
                Sage 50 (UK):
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      creditNoteNumber:
                        description: The reference number for this credit note
                        displayName: Credit Note Number
                        required: true
                        type: String
                      customerRef:
                        description: Customer to be pay.
                        displayName: Customer
                        properties:
                          id:
                            description: Identifier of the customer.
                            displayName: Customer Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer and have a max length of 8 characters.
                                  field: customerRef.id
                        required: true
                        type: Object
                      lineItems:
                        description: Line items of the credit note.
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Identifier for the account.
                            displayName: Account Reference
                            properties:
                              id:
                                description: Identifier of the account.
                                displayName: Account Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: accountRef.id
                            required: true
                            type: Object
                          taxRateRef:
                            description: Tax rate reference of a credit note line item.
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: ID of the tax rate.
                                displayName: Tax Rate Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: taxRateRef.id
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: Tracking categories for the line item
                            displayName: Tracking Categories
                            properties:
                              id:
                                description: Prefixed identifier for tracking category e.g. project_{x}, department_{x}
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Projects assigned with project_{x} must exist in Sage50
                                      field: trackingCategoryRefs.id
                                    - details: Departments assigned with department_{x} must exist in Sage50
                                      field: trackingCategoryRefs.id
                            required: false
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: To be used for any additional information associated with the credit note.
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Maximum 60 characters
                              field: note
                      status:
                        description: The status of the credit note
                        displayName: Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If this is not set, it will default to 'Submitted'.
                              field: status
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If supplied, must match the currency of the customer.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Description
                              warnings:
                                - details: Should not be longer than 2000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: If supplied, must match the total of the line including tax.
                                  field: LineItems.TotalAmount
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 2000 characters.
                              field: Note
                          warnings: []
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If supplied, must match the sum of all line item total amounts.
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      allocatedOnDate:
                        description: The date the credit note was allocated
                        displayName: Allocated On Date
                        required: false
                        type: DateTime
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must be provided if Sage Intacct is not configured to auto-generate an Adjustment Number, otherwise cannot be used.
                              field: CreditNoteNumber
                          warnings: []
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: When supplying a currency ensure that it exists in your Sage Intacct entity otherwise the request will fail.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be used to provide Customer Id.
                                  field: CustomerRef.Id
                              warnings: []
                        required: true
                        type: Object
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be used to provide the date the Credit Note was created.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be an existing GL Account in Sage Intacct and not linked to any bank account.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Must be an existing tax rate in Sage Intacct.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: false
                            type: Object
                            validation:
                              information:
                                - details: It is only required for VAT enabled transactions.
                                  field: LineItems.TaxRateRef
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: false
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: false
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided and must be zero or greater.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain at least one line item.
                              field: LineItems
                          warnings: []
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be either Draft or Submitted.
                              field: Status
                          warnings: []
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      additionalTaxAmount:
                        description: Tax added to the total tax of the lines
                        displayName: Additional Tax Amount
                        required: true
                        type: Number
                      additionalTaxPercentage:
                        description: The percentage of the additional tax to the TotalAmount
                        displayName: Additional Tax Percentage
                        required: true
                        type: Number
                      allocatedOnDate:
                        description: The date the credit note was allocated
                        displayName: Allocated On Date
                        required: true
                        type: DateTime
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: true
                        type: String
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          companyName:
                            description: The name of the customer referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      discountPercentage:
                        description: The percentage rate of any discount that has been applied
                        displayName: Discount Percentage
                        required: true
                        type: Number
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: The value, in the given credit note currency, of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          isDirectIncome:
                            description: True if this invoice is also mapped as a direct income
                            displayName: Is Direct Income
                            required: true
                            type: Boolean
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Receivable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the category referenced by the identifier
                                    displayName: Tracking Category Name
                                    required: true
                                    type: String
                                required: true
                                type: Array
                              customerRef:
                                description: Reference to the customer this line item is being tracked against
                                displayName: Customer Reference
                                properties:
                                  companyName:
                                    description: The name of the customer referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the customer
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              isBilledTo:
                                description: The type of item this line item is billed to.
                                displayName: Is Billed To
                                required: true
                                type: String
                              isRebilledTo:
                                description: The type of item this line item is billed to
                                displayName: Is Rebilled To
                                required: true
                                type: String
                              projectRef:
                                description: Reference to the project this line item is being tracked against
                                displayName: Project Reference
                                properties:
                                  id:
                                    description: The reference identifier for the Project
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the Project referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Note about the credit note
                        displayName: Note
                        required: true
                        type: String
                      paymentAllocations:
                        description: A collection of payments that are allocated to (i.e. spend) the credit note
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: true
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      remainingCredit:
                        description: Unused balance of total amount originally raised
                        displayName: Remaining Credit
                        required: true
                        type: Number
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        required: true
                        type: String
                      subTotal:
                        description: The amount of the credit note, inclusive of discounts but exclusive of tax
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                      totalDiscount:
                        description: The value, in the given credit note currency, of any discounts applied
                        displayName: Discount Amount
                        required: true
                        type: Number
                      totalTaxAmount:
                        description: The amount of tax for the credit note
                        displayName: Tax Amount
                        required: true
                        type: Number
                      withholdingTax:
                        description: A collection of tax deductions
                        displayName: Withholding Tax
                        properties:
                          amount:
                            description: Deduction amount
                            displayName: Amount
                            required: true
                            type: Number
                          name:
                            description: Name of the deduction
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Array
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A credit note can be thought of as a voucher issued to a customer. It can be applied against one or multiple invoices to reduce their balance.
                    displayName: Accounts Receivable Credit Note
                    properties:
                      creditNoteNumber:
                        description: User friendly reference for the credit note
                        displayName: Credit Note Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 225 characters long.
                              field: CreditNoteNumber
                          warnings: []
                      currency:
                        description: Currency of the credit note
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the credit note and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the credit note has been issued to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: CustomerRef.Id
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: CustomerRef
                          warnings: []
                      issueDate:
                        description: The date the credit note was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the credit note
                        displayName: Line item
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services credited
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must be provided when itemRef is not provided, or when the item has no sales description in Xero.
                                  field: LineItems.Description
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services credited
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: It will not be mapped directly into Xero as Xero computes it automatically on its end.
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: It will not be mapped directly into Xero as Xero computes it automatically on its end.
                                  field: LineItems.TotalAmount
                          trackingCategoryRefs:
                            description: A collection of categories ths item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      status:
                        description: The current state of a credit note
                        displayName: Credit Note Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                      totalAmount:
                        description: The total amount of the credit note, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided and must equal the sum of the link items amount.
                              field: TotalAmount
                          warnings:
                            - details: Must be greater than zero.
                              field: TotalAmount
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update credit note model
      tags:
        - Credit notes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/customers":
    get:
      description: |-
        Get create/update customer model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers) for integrations that support creating and updating customers.
      operationId: get-create-update-customers-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Exact (Netherlands):
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a 2-letter country code
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Only the first address provided will be considered, all other entries will be not be recorded
                              field: Addresses
                          warnings: []
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: false
                            type: String
                          name:
                            description: The name of the contact
                            displayName: Name
                            required: true
                            type: String
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: false
                                type: String
                            required: false
                            type: Array
                        required: true
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Only for Exact Netherlands, if provided, must be exactly 20 characters in length
                              field: RegistrationNumber
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                Exact (UK):
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a 2-letter country code
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Only the first address provided will be considered, all other entries will be not be recorded
                              field: Addresses
                          warnings: []
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: false
                            type: String
                          name:
                            description: The name of the contact
                            displayName: Name
                            required: true
                            type: String
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: false
                                type: String
                            required: false
                            type: Array
                        required: true
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Only for Exact Netherlands, if provided, must be exactly 20 characters in length
                              field: RegistrationNumber
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: true
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Only one address may be specified
                              field: Addresses
                          warnings: []
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: true
                        type: String
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: true
                            type: String
                          name:
                            description: The name of the contact
                            displayName: Name
                            options:
                              - displayName: Billing Email
                                required: false
                                type: String
                                value: Billing Email
                            required: true
                            type: String
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Billing Email should be specified in a different contact entry with the specific corresponding name.
                              field: Contacts
                          warnings: []
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                FreshBooks:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: No more than two addresses can be added
                              field: Addresses
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: false
                        type: String
                        validation:
                          information:
                            - details: The part of the name preceding the first space will be assigned to first name, the remainder to last name
                              field: ContactName
                          warnings: []
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: true
                            type: String
                          name:
                            description: The name of the contact
                            displayName: Name
                            required: true
                            type: String
                            validation:
                              information:
                                - details: The part of the name preceding the first space will be assigned to first name, the remainder to last name
                                  field: Contacts.Name
                              warnings: []
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                            required: true
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: No more than two phone numbers per contact can be added
                                  field: Contacts.Phone
                        required: false
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: false
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        options:
                          - displayName: AED
                            required: false
                            type: Array
                            value: AED
                          - displayName: AFN
                            required: false
                            type: Array
                            value: AFN
                          - displayName: ALL
                            required: false
                            type: Array
                            value: ALL
                          - displayName: AMD
                            required: false
                            type: Array
                            value: AMD
                          - displayName: ANG
                            required: false
                            type: Array
                            value: ANG
                          - displayName: AOA
                            required: false
                            type: Array
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: Array
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: Array
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: Array
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: Array
                            value: AZN
                          - displayName: BAM
                            required: false
                            type: Array
                            value: BAM
                          - displayName: BBD
                            required: false
                            type: Array
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: Array
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: Array
                            value: BGN
                          - displayName: BHD
                            required: false
                            type: Array
                            value: BHD
                          - displayName: BIF
                            required: false
                            type: Array
                            value: BIF
                          - displayName: BMD
                            required: false
                            type: Array
                            value: BMD
                          - displayName: BND
                            required: false
                            type: Array
                            value: BND
                          - displayName: BOB
                            required: false
                            type: Array
                            value: BOB
                          - displayName: BRL
                            required: false
                            type: Array
                            value: BRL
                          - displayName: BSD
                            required: false
                            type: Array
                            value: BSD
                          - displayName: BTN
                            required: false
                            type: Array
                            value: BTN
                          - displayName: BWP
                            required: false
                            type: Array
                            value: BWP
                          - displayName: BYR
                            required: false
                            type: Array
                            value: BYR
                          - displayName: BZD
                            required: false
                            type: Array
                            value: BZD
                          - displayName: CAD
                            required: false
                            type: Array
                            value: CAD
                          - displayName: CDF
                            required: false
                            type: Array
                            value: CDF
                          - displayName: CHF
                            required: false
                            type: Array
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: Array
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: Array
                            value: CNY
                          - displayName: COP
                            required: false
                            type: Array
                            value: COP
                          - displayName: CRC
                            required: false
                            type: Array
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: Array
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: Array
                            value: CUP
                          - displayName: CVE
                            required: false
                            type: Array
                            value: CVE
                          - displayName: CZK
                            required: false
                            type: Array
                            value: CZK
                          - displayName: DJF
                            required: false
                            type: Array
                            value: DJF
                          - displayName: DKK
                            required: false
                            type: Array
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: Array
                            value: DOP
                          - displayName: DZD
                            required: false
                            type: Array
                            value: DZD
                          - displayName: EGP
                            required: false
                            type: Array
                            value: EGP
                          - displayName: ERN
                            required: false
                            type: Array
                            value: ERN
                          - displayName: ETB
                            required: false
                            type: Array
                            value: ETB
                          - displayName: EUR
                            required: false
                            type: Array
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: Array
                            value: FJD
                          - displayName: FKP
                            required: false
                            type: Array
                            value: FKP
                          - displayName: GBP
                            required: false
                            type: Array
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: Array
                            value: GEL
                          - displayName: GGP
                            required: false
                            type: Array
                            value: GGP
                          - displayName: GHS
                            required: false
                            type: Array
                            value: GHS
                          - displayName: GIP
                            required: false
                            type: Array
                            value: GIP
                          - displayName: GMD
                            required: false
                            type: Array
                            value: GMD
                          - displayName: GNF
                            required: false
                            type: Array
                            value: GNF
                          - displayName: GTQ
                            required: false
                            type: Array
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: Array
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: Array
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: Array
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: Array
                            value: HRK
                          - displayName: HTG
                            required: false
                            type: Array
                            value: HTG
                          - displayName: HUF
                            required: false
                            type: Array
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: Array
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: Array
                            value: ILS
                          - displayName: IMP
                            required: false
                            type: Array
                            value: IMP
                          - displayName: INR
                            required: false
                            type: Array
                            value: INR
                          - displayName: IQD
                            required: false
                            type: Array
                            value: IQD
                          - displayName: IRR
                            required: false
                            type: Array
                            value: IRR
                          - displayName: ISK
                            required: false
                            type: Array
                            value: ISK
                          - displayName: JEP
                            required: false
                            type: Array
                            value: JEP
                          - displayName: JMD
                            required: false
                            type: Array
                            value: JMD
                          - displayName: JOD
                            required: false
                            type: Array
                            value: JOD
                          - displayName: JPY
                            required: false
                            type: Array
                            value: JPY
                          - displayName: KES
                            required: false
                            type: Array
                            value: KES
                          - displayName: KGS
                            required: false
                            type: Array
                            value: KGS
                          - displayName: KHR
                            required: false
                            type: Array
                            value: KHR
                          - displayName: KMF
                            required: false
                            type: Array
                            value: KMF
                          - displayName: KPW
                            required: false
                            type: Array
                            value: KPW
                          - displayName: KRW
                            required: false
                            type: Array
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: Array
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: Array
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: Array
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: Array
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: Array
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: Array
                            value: LKR
                          - displayName: LRD
                            required: false
                            type: Array
                            value: LRD
                          - displayName: LSL
                            required: false
                            type: Array
                            value: LSL
                          - displayName: LYD
                            required: false
                            type: Array
                            value: LYD
                          - displayName: MAD
                            required: false
                            type: Array
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: Array
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: Array
                            value: MGA
                          - displayName: MKD
                            required: false
                            type: Array
                            value: MKD
                          - displayName: MMK
                            required: false
                            type: Array
                            value: MMK
                          - displayName: MNT
                            required: false
                            type: Array
                            value: MNT
                          - displayName: MOP
                            required: false
                            type: Array
                            value: MOP
                          - displayName: MRO
                            required: false
                            type: Array
                            value: MRO
                          - displayName: MUR
                            required: false
                            type: Array
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: Array
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: Array
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: Array
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: Array
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: Array
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: Array
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: Array
                            value: NGN
                          - displayName: NIO
                            required: false
                            type: Array
                            value: NIO
                          - displayName: NOK
                            required: false
                            type: Array
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: Array
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: Array
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: Array
                            value: OMR
                          - displayName: PAB
                            required: false
                            type: Array
                            value: PAB
                          - displayName: PEN
                            required: false
                            type: Array
                            value: PEN
                          - displayName: PGK
                            required: false
                            type: Array
                            value: PGK
                          - displayName: PHP
                            required: false
                            type: Array
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: Array
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: Array
                            value: PLN
                          - displayName: PYG
                            required: false
                            type: Array
                            value: PYG
                          - displayName: QAR
                            required: false
                            type: Array
                            value: QAR
                          - displayName: RON
                            required: false
                            type: Array
                            value: RON
                          - displayName: RSD
                            required: false
                            type: Array
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: Array
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: Array
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: Array
                            value: SAR
                          - displayName: SBD
                            required: false
                            type: Array
                            value: SBD
                          - displayName: SCR
                            required: false
                            type: Array
                            value: SCR
                          - displayName: SDG
                            required: false
                            type: Array
                            value: SDG
                          - displayName: SEK
                            required: false
                            type: Array
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: Array
                            value: SGD
                          - displayName: SHP
                            required: false
                            type: Array
                            value: SHP
                          - displayName: SLL
                            required: false
                            type: Array
                            value: SLL
                          - displayName: SOS
                            required: false
                            type: Array
                            value: SOS
                          - displayName: SPL
                            required: false
                            type: Array
                            value: SPL
                          - displayName: SRD
                            required: false
                            type: Array
                            value: SRD
                          - displayName: STD
                            required: false
                            type: Array
                            value: STD
                          - displayName: SVC
                            required: false
                            type: Array
                            value: SVC
                          - displayName: SYP
                            required: false
                            type: Array
                            value: SYP
                          - displayName: SZL
                            required: false
                            type: Array
                            value: SZL
                          - displayName: THB
                            required: false
                            type: Array
                            value: THB
                          - displayName: TJS
                            required: false
                            type: Array
                            value: TJS
                          - displayName: TMT
                            required: false
                            type: Array
                            value: TMT
                          - displayName: TND
                            required: false
                            type: Array
                            value: TND
                          - displayName: TOP
                            required: false
                            type: Array
                            value: TOP
                          - displayName: TRY
                            required: false
                            type: Array
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: Array
                            value: TTD
                          - displayName: TVD
                            required: false
                            type: Array
                            value: TVD
                          - displayName: TWD
                            required: false
                            type: Array
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: Array
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: Array
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: Array
                            value: UGX
                          - displayName: USD
                            required: false
                            type: Array
                            value: USD
                          - displayName: UYU
                            required: false
                            type: Array
                            value: UYU
                          - displayName: UZS
                            required: false
                            type: Array
                            value: UZS
                          - displayName: VEF
                            required: false
                            type: Array
                            value: VEF
                          - displayName: VND
                            required: false
                            type: Array
                            value: VND
                          - displayName: VUV
                            required: false
                            type: Array
                            value: VUV
                          - displayName: WST
                            required: false
                            type: Array
                            value: WST
                          - displayName: XAF
                            required: false
                            type: Array
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: Array
                            value: XCD
                          - displayName: XDR
                            required: false
                            type: Array
                            value: XDR
                          - displayName: XOF
                            required: false
                            type: Array
                            value: XOF
                          - displayName: XPF
                            required: false
                            type: Array
                            value: XPF
                          - displayName: YER
                            required: false
                            type: Array
                            value: YER
                          - displayName: ZAR
                            required: false
                            type: Array
                            value: ZAR
                          - displayName: ZMW
                            required: false
                            type: Array
                            value: ZMW
                          - displayName: ZWD
                            required: false
                            type: Array
                            value: ZWD
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be a valid email.
                              field: EmailAddress
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 255 characters
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 255 characters
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 255 characters
                                  field: Addresses.Line1
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 11 characters
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 255 characters
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery
                                required: false
                                type: String
                                value: Delivery
                            required: true
                            type: String
                        required: false
                        type: Array
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 25 characters
                              field: ContactName
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          address:
                            description: The address for the contact
                            displayName: Address
                            properties:
                              city:
                                description: The third line of the address, or city
                                displayName: City
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must have a length between 1 and 255 characters
                                      field: Address.City
                              country:
                                description: The country for the address
                                displayName: Country
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must have a length between 1 and 255 characters
                                      field: Address.Country
                              line1:
                                description: The first line of the address
                                displayName: Line 1
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must have a length between 1 and 255 characters
                                      field: Address.Line1
                              postalCode:
                                description: The postal (or zip) code for the address
                                displayName: Postal/Zip Code
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must have a length between 1 and 11 characters
                                      field: Address.PostalCode
                              region:
                                description: The fourth line of the address, or region
                                displayName: Region
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must have a length between 1 and 255 characters
                                      field: Address.Region
                              type:
                                description: The type of the address
                                displayName: Address Type
                                options:
                                  - displayName: Billing
                                    required: false
                                    type: String
                                    value: Billing
                                  - displayName: Delivery
                                    required: false
                                    type: String
                                    value: Delivery
                                  - displayName: Unknown
                                    required: false
                                    type: String
                                    value: Unknown
                                required: true
                                type: String
                            required: true
                            type: Object
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 255 characters
                                  field: Contacts.Email
                          name:
                            description: The name of the contact
                            displayName: Name
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must have a length between 1 and 25 characters
                                  field: Contacts.Name
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must have a length between 1 and 21 characters
                                      field: Phone.Number
                              type:
                                description: The type of phone number
                                displayName: Phone Type
                                options:
                                  - displayName: Unknown
                                    required: false
                                    type: String
                                    value: Unknown
                                  - displayName: Fax
                                    required: false
                                    type: String
                                    value: Fax
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Do not set or set to Unknown for phone numbers; set to Fax for fax number
                                      field: Phone.Type
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Must contain a maximum of 3 phone numbers
                                  field: Contacts.Phone
                                - details: Must contain a maximum of 1 fax number
                                  field: Contacts.Phone
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must have at most five contacts
                              field: Contacts
                            - details: Must have at least one piece of contact information
                              field: Contacts
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 50 characters
                              field: CustomerName
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 255 characters
                              field: EmailAddress
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 21 characters
                              field: Phone
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be a valid ABN (Australian Business Number) in the format XX XXX XXX XXX
                              field: RegistrationNumber
                            - details: Must have a length of 14 characters
                              field: RegistrationNumber
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must have a length between 1 and 19 characters
                              field: TaxNumber
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a two letter Country ISO code
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery
                                required: false
                                type: String
                                value: Delivery
                              - displayName: Unknown
                                required: false
                                type: String
                                value: Unknown
                            required: true
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Multiple addresses of Unknown type may be provided
                              field: Addresses
                          warnings:
                            - details: Only one each of Billing and Delivery addresses can be provided
                              field: Addresses
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: false
                            type: String
                          name:
                            description: The name of the contact
                            displayName: Name
                            required: true
                            type: String
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                              type:
                                description: The type of phone number
                                displayName: Phone Type
                                required: true
                                type: String
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Must be a maximum of four distinct number types
                                  field: Contacts.Phone
                          status:
                            description: The current state of the contact
                            displayName: Contact Status
                            options:
                              - displayName: Active
                                required: false
                                type: String
                                value: Active
                              - displayName: Archived
                                required: false
                                type: String
                                value: Archived
                            required: true
                            type: String
                        required: false
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 31 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 31 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 41 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 41 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 13 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 21 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Only 1 address each of type(s) Billing/Delivery may be specified.
                                  field: Addresses.Type
                              warnings: []
                        required: false
                        type: Array
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 25 characters for first and last names
                              field: ContactName
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 41 characters.
                              field: CustomerName
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the base currency of the QuickBooks Desktop company
                              field: DefaultCurrency
                          warnings:
                            - details: Must be a three letter ISO code that matches an existing active currency in the QuickBooks Desktop company
                              field: DefaultCurrency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: DefaultCurrency
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 21 characters
                              field: Phone
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 15 characters.
                              field: RegistrationNumber
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 30 characters.
                              field: TaxNumber
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 50 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only English alphabet characters are permitted.
                                  field: Addresses.PostalCode
                                - details: Max length of 50 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 225 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Billing = POBOX, Delivery/Unknown = DELIVERY
                                  field: Addresses.Type
                        required: false
                        type: Array
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                              type:
                                description: The type of phone number
                                displayName: Phone Type
                                required: true
                                type: String
                            required: false
                            type: Array
                        required: false
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Names must be unique across customers, suppliers and employees
                              field: CustomerName
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Default currency can only differ from the base company currency if multi-currency is enabled for the company.
                              field: DefaultCurrency
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Country, area, and number are space separated
                              field: Phone
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 50 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only English alphabet characters are permitted.
                                  field: Addresses.PostalCode
                                - details: Max length of 50 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 225 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Billing = POBOX, Delivery/Unknown = DELIVERY
                                  field: Addresses.Type
                        required: false
                        type: Array
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                              type:
                                description: The type of phone number
                                displayName: Phone Type
                                required: true
                                type: String
                            required: false
                            type: Array
                        required: false
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Names must be unique across customers, suppliers and employees
                              field: CustomerName
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Default currency can only differ from the base company currency if multi-currency is enabled for the company.
                              field: DefaultCurrency
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Country, area, and number are space separated
                              field: Phone
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: Contact addresses for the customer.
                        displayName: Addresses
                        properties:
                          city:
                            description: The city of the customer address.
                            displayName: City
                            required: false
                            type: String
                          countryCode:
                            description: The country code of the customer address
                            displayName: Country Code
                            required: true
                            type: String
                            validation:
                              information:
                                - details: XX is a valid country code for 'Unknown Country'
                              warnings:
                                - details: The country code must be a valid ISO 3166 value
                          line1:
                            description: Line 1 of the customer address.
                            displayName: Line 1
                            required: true
                            type: String
                          line2:
                            description: Line 2 of the customer address.
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: Post or Zip code for the address.
                            displayName: Postal code
                            required: false
                            type: String
                          region:
                            description: The region of the customer address.
                            displayName: Region
                            required: false
                            type: String
                          type:
                            description: The type of address as it related to the customer.
                            displayName: Type
                            options:
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                              - displayName: Unknown Address
                                required: false
                                type: String
                                value: Unknown
                            required: false
                            type: String
                            validation:
                              information:
                                - details: If the address is available in 'SALES_DEL_ADDR' table then the address type will be Delivery. All others will default to type 'Unknown'
                                  field: addresses.type
                              warnings: []
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one address can be included in the Addresses array.
                              field: addresses
                      contactName:
                        description: The name of the main contact for the customer.
                        displayName: Contact Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The contact name can have a maximum of 30 characters
                              field: contactName
                      customerName:
                        description: Name of the customer.
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The customer name can have a maximum of 60 characters
                              field: customerName
                      defaultCurrency:
                        description: The currency in which the customer will operate.
                        displayName: Default Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not provided, the currency will default to the company's base currency.
                              field: defaultCurrency
                          warnings: []
                      emailAddress:
                        description: The email address that the customer may be contacted on.
                        displayName: Email Address
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The email address can have a maximum of 255 characters
                              field: emailAddress
                      id:
                        description: ID of the customer.
                        displayName: Id
                        required: true
                        type: String
                        validation:
                          information:
                            - details: The customer ID must be all Uppercase, if it is not, it will be converted to Uppercase before pushing.
                              field: id
                          warnings:
                            - details: The customer ID must be unique, contain no spaces and have a maximum of 8 characters.
                              field: id
                      phone:
                        description: The telephone number that the customer may be contacted on.
                        displayName: Telephone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The phone can have a maximum of 30 characters
                              field: phone
                      status:
                        description: The status of the customer.
                        displayName: Status
                        options:
                          - displayName: Active Status
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived Status
                            required: false
                            type: String
                            value: Archived
                        required: false
                        type: String
                      taxNumber:
                        description: Legal company registration identifier.
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The tax number can have a maximum of 20 characters
                              field: taxNumber
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            options:
                              - displayName: Afghanistan (AF)
                                required: false
                                type: String
                                value: Afghanistan (AF)
                              - displayName: Albania (AL)
                                required: false
                                type: String
                                value: Albania (AL)
                              - displayName: Algeria (DZ)
                                required: false
                                type: String
                                value: Algeria (DZ)
                              - displayName: Andorra (AD)
                                required: false
                                type: String
                                value: Andorra (AD)
                              - displayName: Angola (AO)
                                required: false
                                type: String
                                value: Angola (AO)
                              - displayName: Argentina (AR)
                                required: false
                                type: String
                                value: Argentina (AR)
                              - displayName: Armenia (AM)
                                required: false
                                type: String
                                value: Armenia (AM)
                              - displayName: Aruba (AW)
                                required: false
                                type: String
                                value: Aruba (AW)
                              - displayName: Australia (AU)
                                required: false
                                type: String
                                value: Australia (AU)
                              - displayName: Austria (AT)
                                required: false
                                type: String
                                value: Austria (AT)
                              - displayName: Azerbaijan (AZ)
                                required: false
                                type: String
                                value: Azerbaijan (AZ)
                              - displayName: Bahamas (BS)
                                required: false
                                type: String
                                value: Bahamas (BS)
                              - displayName: Bahrain (BH)
                                required: false
                                type: String
                                value: Bahrain (BH)
                              - displayName: Bangladesh (BD)
                                required: false
                                type: String
                                value: Bangladesh (BD)
                              - displayName: Barbados (BB)
                                required: false
                                type: String
                                value: Barbados (BB)
                              - displayName: Belarus (BY)
                                required: false
                                type: String
                                value: Belarus (BY)
                              - displayName: Belgium (BE)
                                required: false
                                type: String
                                value: Belgium (BE)
                              - displayName: Belize (BZ)
                                required: false
                                type: String
                                value: Belize (BZ)
                              - displayName: Benin (BJ)
                                required: false
                                type: String
                                value: Benin (BJ)
                              - displayName: Bermuda (BM)
                                required: false
                                type: String
                                value: Bermuda (BM)
                              - displayName: Bhutan (BT)
                                required: false
                                type: String
                                value: Bhutan (BT)
                              - displayName: Bolivia (BO)
                                required: false
                                type: String
                                value: Bolivia (BO)
                              - displayName: Bosnia and Herzegovina (BA)
                                required: false
                                type: String
                                value: Bosnia and Herzegovina (BA)
                              - displayName: Botswana (BW)
                                required: false
                                type: String
                                value: Botswana (BW)
                              - displayName: Brazil (BR)
                                required: false
                                type: String
                                value: Brazil (BR)
                              - displayName: British Virgin Islands (VG)
                                required: false
                                type: String
                                value: British Virgin Islands (VG)
                              - displayName: Brunei Darussalam (BN)
                                required: false
                                type: String
                                value: Brunei Darussalam (BN)
                              - displayName: Bulgaria (BG)
                                required: false
                                type: String
                                value: Bulgaria (BG)
                              - displayName: Burkina Faso (BF)
                                required: false
                                type: String
                                value: Burkina Faso (BF)
                              - displayName: Burundi (BI)
                                required: false
                                type: String
                                value: Burundi (BI)
                              - displayName: Cambodia (KH)
                                required: false
                                type: String
                                value: Cambodia (KH)
                              - displayName: Cameroon (CM)
                                required: false
                                type: String
                                value: Cameroon (CM)
                              - displayName: Canada (CA)
                                required: false
                                type: String
                                value: Canada (CA)
                              - displayName: Cape Verde (CV)
                                required: false
                                type: String
                                value: Cape Verde (CV)
                              - displayName: Cayman Islands (KY)
                                required: false
                                type: String
                                value: Cayman Islands (KY)
                              - displayName: Central African Republic (CF)
                                required: false
                                type: String
                                value: Central African Republic (CF)
                              - displayName: Chad (TD)
                                required: false
                                type: String
                                value: Chad (TD)
                              - displayName: Chile (CL)
                                required: false
                                type: String
                                value: Chile (CL)
                              - displayName: China (CN)
                                required: false
                                type: String
                                value: China (CN)
                              - displayName: Colombia (CO)
                                required: false
                                type: String
                                value: Colombia (CO)
                              - displayName: Comoros (KM)
                                required: false
                                type: String
                                value: Comoros (KM)
                              - displayName: Congo (CG)
                                required: false
                                type: String
                                value: Congo (CG)
                              - displayName: Costa Rica (CR)
                                required: false
                                type: String
                                value: Costa Rica (CR)
                              - displayName: Croatia (HR)
                                required: false
                                type: String
                                value: Croatia (HR)
                              - displayName: Cuba (CU)
                                required: false
                                type: String
                                value: Cuba (CU)
                              - displayName: Cura�ao (CW)
                                required: false
                                type: String
                                value: Cura�ao (CW)
                              - displayName: Cyprus (CY)
                                required: false
                                type: String
                                value: Cyprus (CY)
                              - displayName: Czech Republic (CZ)
                                required: false
                                type: String
                                value: Czech Republic (CZ)
                              - displayName: Democratic Republic of the Congo (CD)
                                required: false
                                type: String
                                value: Democratic Republic of the Congo (CD)
                              - displayName: Denmark (DK)
                                required: false
                                type: String
                                value: Denmark (DK)
                              - displayName: Djibouti (DJ)
                                required: false
                                type: String
                                value: Djibouti (DJ)
                              - displayName: Dominica (DM)
                                required: false
                                type: String
                                value: Dominica (DM)
                              - displayName: Dominican Republic (DO)
                                required: false
                                type: String
                                value: Dominican Republic (DO)
                              - displayName: East Timor (TP)
                                required: false
                                type: String
                                value: East Timor (TP)
                              - displayName: Ecuador (EC)
                                required: false
                                type: String
                                value: Ecuador (EC)
                              - displayName: Egypt (EG)
                                required: false
                                type: String
                                value: Egypt (EG)
                              - displayName: El Salvador (SV)
                                required: false
                                type: String
                                value: El Salvador (SV)
                              - displayName: Equatorial Guinea (GQ)
                                required: false
                                type: String
                                value: Equatorial Guinea (GQ)
                              - displayName: Eritrea (ER)
                                required: false
                                type: String
                                value: Eritrea (ER)
                              - displayName: Estonia (EE)
                                required: false
                                type: String
                                value: Estonia (EE)
                              - displayName: Ethiopia (ET)
                                required: false
                                type: String
                                value: Ethiopia (ET)
                              - displayName: Falkland Islands (Malvinas) (FK)
                                required: false
                                type: String
                                value: Falkland Islands (Malvinas) (FK)
                              - displayName: Federated States of Micronesia (FM)
                                required: false
                                type: String
                                value: Federated States of Micronesia (FM)
                              - displayName: Fiji (FJ)
                                required: false
                                type: String
                                value: Fiji (FJ)
                              - displayName: Finland (FI)
                                required: false
                                type: String
                                value: Finland (FI)
                              - displayName: France (FR)
                                required: false
                                type: String
                                value: France (FR)
                              - displayName: French Polynesia (PF)
                                required: false
                                type: String
                                value: French Polynesia (PF)
                              - displayName: Gabon (GA)
                                required: false
                                type: String
                                value: Gabon (GA)
                              - displayName: Gambia (GM)
                                required: false
                                type: String
                                value: Gambia (GM)
                              - displayName: Georgia (GE)
                                required: false
                                type: String
                                value: Georgia (GE)
                              - displayName: Germany (DE)
                                required: false
                                type: String
                                value: Germany (DE)
                              - displayName: Ghana (GH)
                                required: false
                                type: String
                                value: Ghana (GH)
                              - displayName: Gibraltar (GI)
                                required: false
                                type: String
                                value: Gibraltar (GI)
                              - displayName: Greece (GR)
                                required: false
                                type: String
                                value: Greece (GR)
                              - displayName: Greenland (GL)
                                required: false
                                type: String
                                value: Greenland (GL)
                              - displayName: Grenada (GD)
                                required: false
                                type: String
                                value: Grenada (GD)
                              - displayName: Guadaloupe (GP)
                                required: false
                                type: String
                                value: Guadaloupe (GP)
                              - displayName: Guam (GU)
                                required: false
                                type: String
                                value: Guam (GU)
                              - displayName: Guatemala (GT)
                                required: false
                                type: String
                                value: Guatemala (GT)
                              - displayName: Guernsey (GG)
                                required: false
                                type: String
                                value: Guernsey (GG)
                              - displayName: Guinea (GN)
                                required: false
                                type: String
                                value: Guinea (GN)
                              - displayName: Guinea-Bissau (GW)
                                required: false
                                type: String
                                value: Guinea-Bissau (GW)
                              - displayName: Guyana (GY)
                                required: false
                                type: String
                                value: Guyana (GY)
                              - displayName: Haiti (HT)
                                required: false
                                type: String
                                value: Haiti (HT)
                              - displayName: Honduras (HN)
                                required: false
                                type: String
                                value: Honduras (HN)
                              - displayName: Hong Kong (HK)
                                required: false
                                type: String
                                value: Hong Kong (HK)
                              - displayName: Hungary (HU)
                                required: false
                                type: String
                                value: Hungary (HU)
                              - displayName: Iceland (IS)
                                required: false
                                type: String
                                value: Iceland (IS)
                              - displayName: India (IN)
                                required: false
                                type: String
                                value: India (IN)
                              - displayName: Indonesia (ID)
                                required: false
                                type: String
                                value: Indonesia (ID)
                              - displayName: Iran (IR)
                                required: false
                                type: String
                                value: Iran (IR)
                              - displayName: Iraq (IQ)
                                required: false
                                type: String
                                value: Iraq (IQ)
                              - displayName: Ireland (IE)
                                required: false
                                type: String
                                value: Ireland (IE)
                              - displayName: Israel (IL)
                                required: false
                                type: String
                                value: Israel (IL)
                              - displayName: Italy (IT)
                                required: false
                                type: String
                                value: Italy (IT)
                              - displayName: Ivory Coast (CI)
                                required: false
                                type: String
                                value: Ivory Coast (CI)
                              - displayName: Jamaica (JM)
                                required: false
                                type: String
                                value: Jamaica (JM)
                              - displayName: Japan (JP)
                                required: false
                                type: String
                                value: Japan (JP)
                              - displayName: Jersey (JE)
                                required: false
                                type: String
                                value: Jersey (JE)
                              - displayName: Jordan (JO)
                                required: false
                                type: String
                                value: Jordan (JO)
                              - displayName: Kazakhstan (KZ)
                                required: false
                                type: String
                                value: Kazakhstan (KZ)
                              - displayName: Kenya (KE)
                                required: false
                                type: String
                                value: Kenya (KE)
                              - displayName: Kuwait (KW)
                                required: false
                                type: String
                                value: Kuwait (KW)
                              - displayName: Kyrgyzstan (KG)
                                required: false
                                type: String
                                value: Kyrgyzstan (KG)
                              - displayName: Laos (LA)
                                required: false
                                type: String
                                value: Laos (LA)
                              - displayName: Latvia (LV)
                                required: false
                                type: String
                                value: Latvia (LV)
                              - displayName: Lebanon (LB)
                                required: false
                                type: String
                                value: Lebanon (LB)
                              - displayName: Lesotho (LS)
                                required: false
                                type: String
                                value: Lesotho (LS)
                              - displayName: Liberia (LR)
                                required: false
                                type: String
                                value: Liberia (LR)
                              - displayName: Libya (LY)
                                required: false
                                type: String
                                value: Libya (LY)
                              - displayName: Liechtenstein (LI)
                                required: false
                                type: String
                                value: Liechtenstein (LI)
                              - displayName: Lithuania (LT)
                                required: false
                                type: String
                                value: Lithuania (LT)
                              - displayName: Luxembourg (LU)
                                required: false
                                type: String
                                value: Luxembourg (LU)
                              - displayName: Macau (MO)
                                required: false
                                type: String
                                value: Macau (MO)
                              - displayName: Macedonia (MK)
                                required: false
                                type: String
                                value: Macedonia (MK)
                              - displayName: Madagascar (MG)
                                required: false
                                type: String
                                value: Madagascar (MG)
                              - displayName: Malawi (MW)
                                required: false
                                type: String
                                value: Malawi (MW)
                              - displayName: Malaysia (MY)
                                required: false
                                type: String
                                value: Malaysia (MY)
                              - displayName: Maldives (MV)
                                required: false
                                type: String
                                value: Maldives (MV)
                              - displayName: Mali (ML)
                                required: false
                                type: String
                                value: Mali (ML)
                              - displayName: Malta (MT)
                                required: false
                                type: String
                                value: Malta (MT)
                              - displayName: Mauritania (MR)
                                required: false
                                type: String
                                value: Mauritania (MR)
                              - displayName: Mauritius (MU)
                                required: false
                                type: String
                                value: Mauritius (MU)
                              - displayName: Mexico (MX)
                                required: false
                                type: String
                                value: Mexico (MX)
                              - displayName: Moldova (MD)
                                required: false
                                type: String
                                value: Moldova (MD)
                              - displayName: Monaco (MC)
                                required: false
                                type: String
                                value: Monaco (MC)
                              - displayName: Mongolia (MN)
                                required: false
                                type: String
                                value: Mongolia (MN)
                              - displayName: Montenegro (ME)
                                required: false
                                type: String
                                value: Montenegro (ME)
                              - displayName: Morocco (MA)
                                required: false
                                type: String
                                value: Morocco (MA)
                              - displayName: Mozambique (MZ)
                                required: false
                                type: String
                                value: Mozambique (MZ)
                              - displayName: Myanmar (MM)
                                required: false
                                type: String
                                value: Myanmar (MM)
                              - displayName: Namibia (NA)
                                required: false
                                type: String
                                value: Namibia (NA)
                              - displayName: Nepal (NP)
                                required: false
                                type: String
                                value: Nepal (NP)
                              - displayName: Netherlands (NL)
                                required: false
                                type: String
                                value: Netherlands (NL)
                              - displayName: Netherlands Antilles (AN)
                                required: false
                                type: String
                                value: Netherlands Antilles (AN)
                              - displayName: New Caledonia (NC)
                                required: false
                                type: String
                                value: New Caledonia (NC)
                              - displayName: New Zealand (NZ)
                                required: false
                                type: String
                                value: New Zealand (NZ)
                              - displayName: Nicaragua (NI)
                                required: false
                                type: String
                                value: Nicaragua (NI)
                              - displayName: Niger (NE)
                                required: false
                                type: String
                                value: Niger (NE)
                              - displayName: Nigeria (NG)
                                required: false
                                type: String
                                value: Nigeria (NG)
                              - displayName: North Korea (KP)
                                required: false
                                type: String
                                value: North Korea (KP)
                              - displayName: Norway (NO)
                                required: false
                                type: String
                                value: Norway (NO)
                              - displayName: Oman (OM)
                                required: false
                                type: String
                                value: Oman (OM)
                              - displayName: Pakistan (PK)
                                required: false
                                type: String
                                value: Pakistan (PK)
                              - displayName: Panama (PA)
                                required: false
                                type: String
                                value: Panama (PA)
                              - displayName: Papua New Guinea (PG)
                                required: false
                                type: String
                                value: Papua New Guinea (PG)
                              - displayName: Paraguay (PY)
                                required: false
                                type: String
                                value: Paraguay (PY)
                              - displayName: Peru (PE)
                                required: false
                                type: String
                                value: Peru (PE)
                              - displayName: Philippines (PH)
                                required: false
                                type: String
                                value: Philippines (PH)
                              - displayName: Poland (PL)
                                required: false
                                type: String
                                value: Poland (PL)
                              - displayName: Portugal (PT)
                                required: false
                                type: String
                                value: Portugal (PT)
                              - displayName: Puerto Rico (PR)
                                required: false
                                type: String
                                value: Puerto Rico (PR)
                              - displayName: Qatar (QA)
                                required: false
                                type: String
                                value: Qatar (QA)
                              - displayName: Romania (RO)
                                required: false
                                type: String
                                value: Romania (RO)
                              - displayName: Russia (RU)
                                required: false
                                type: String
                                value: Russia (RU)
                              - displayName: Rwanda (RW)
                                required: false
                                type: String
                                value: Rwanda (RW)
                              - displayName: Saint Kitts and Nevis (KN)
                                required: false
                                type: String
                                value: Saint Kitts and Nevis (KN)
                              - displayName: Saint Pierre and Miquelon (PM)
                                required: false
                                type: String
                                value: Saint Pierre and Miquelon (PM)
                              - displayName: Samoa (WS)
                                required: false
                                type: String
                                value: Samoa (WS)
                              - displayName: San Marino (SM)
                                required: false
                                type: String
                                value: San Marino (SM)
                              - displayName: Sao Tome and Principe (ST)
                                required: false
                                type: String
                                value: Sao Tome and Principe (ST)
                              - displayName: Saudi Arabia (SA)
                                required: false
                                type: String
                                value: Saudi Arabia (SA)
                              - displayName: Senegal (SN)
                                required: false
                                type: String
                                value: Senegal (SN)
                              - displayName: Serbia (RS)
                                required: false
                                type: String
                                value: Serbia (RS)
                              - displayName: Seychelles (SC)
                                required: false
                                type: String
                                value: Seychelles (SC)
                              - displayName: Sierra Leone (SL)
                                required: false
                                type: String
                                value: Sierra Leone (SL)
                              - displayName: Singapore (SG)
                                required: false
                                type: String
                                value: Singapore (SG)
                              - displayName: Slovakia (SK)
                                required: false
                                type: String
                                value: Slovakia (SK)
                              - displayName: Slovenia (SI)
                                required: false
                                type: String
                                value: Slovenia (SI)
                              - displayName: Solomon Islands (SB)
                                required: false
                                type: String
                                value: Solomon Islands (SB)
                              - displayName: Somalia (SO)
                                required: false
                                type: String
                                value: Somalia (SO)
                              - displayName: South Africa (ZA)
                                required: false
                                type: String
                                value: South Africa (ZA)
                              - displayName: South Korea (KR)
                                required: false
                                type: String
                                value: South Korea (KR)
                              - displayName: Spain (ES)
                                required: false
                                type: String
                                value: Spain (ES)
                              - displayName: Sri Lanka (LK)
                                required: false
                                type: String
                                value: Sri Lanka (LK)
                              - displayName: St. Lucia (LC)
                                required: false
                                type: String
                                value: St. Lucia (LC)
                              - displayName: Sudan (SD)
                                required: false
                                type: String
                                value: Sudan (SD)
                              - displayName: Surinam (SR)
                                required: false
                                type: String
                                value: Surinam (SR)
                              - displayName: Swaziland (SZ)
                                required: false
                                type: String
                                value: Swaziland (SZ)
                              - displayName: Sweden (SE)
                                required: false
                                type: String
                                value: Sweden (SE)
                              - displayName: Switzerland (CH)
                                required: false
                                type: String
                                value: Switzerland (CH)
                              - displayName: Syria (SY)
                                required: false
                                type: String
                                value: Syria (SY)
                              - displayName: Taiwan (TW)
                                required: false
                                type: String
                                value: Taiwan (TW)
                              - displayName: Tajikistan (TJ)
                                required: false
                                type: String
                                value: Tajikistan (TJ)
                              - displayName: Tanzania (TZ)
                                required: false
                                type: String
                                value: Tanzania (TZ)
                              - displayName: Thailand (TH)
                                required: false
                                type: String
                                value: Thailand (TH)
                              - displayName: Togo (TG)
                                required: false
                                type: String
                                value: Togo (TG)
                              - displayName: Tonga (TO)
                                required: false
                                type: String
                                value: Tonga (TO)
                              - displayName: Trinidad and Tobago (TT)
                                required: false
                                type: String
                                value: Trinidad and Tobago (TT)
                              - displayName: Tunisia (TN)
                                required: false
                                type: String
                                value: Tunisia (TN)
                              - displayName: Turkey (TR)
                                required: false
                                type: String
                                value: Turkey (TR)
                              - displayName: Turkmenistan (TM)
                                required: false
                                type: String
                                value: Turkmenistan (TM)
                              - displayName: Tuvalu (TV)
                                required: false
                                type: String
                                value: Tuvalu (TV)
                              - displayName: Uganda (UG)
                                required: false
                                type: String
                                value: Uganda (UG)
                              - displayName: Ukraine (UA)
                                required: false
                                type: String
                                value: Ukraine (UA)
                              - displayName: United Arab Emirates (AE)
                                required: false
                                type: String
                                value: United Arab Emirates (AE)
                              - displayName: United Kingdom (GB)
                                required: false
                                type: String
                                value: United Kingdom (GB)
                              - displayName: United States (US)
                                required: false
                                type: String
                                value: United States (US)
                              - displayName: Uruguay (UY)
                                required: false
                                type: String
                                value: Uruguay (UY)
                              - displayName: Uzbekistan (UZ)
                                required: false
                                type: String
                                value: Uzbekistan (UZ)
                              - displayName: Vanuatu (VU)
                                required: false
                                type: String
                                value: Vanuatu (VU)
                              - displayName: Venezuela (VE)
                                required: false
                                type: String
                                value: Venezuela (VE)
                              - displayName: Vietnam (VN)
                                required: false
                                type: String
                                value: Vietnam (VN)
                              - displayName: Virgin Islands U.S. (VI)
                                required: false
                                type: String
                                value: Virgin Islands U.S. (VI)
                              - displayName: Western Sahara (EH)
                                required: false
                                type: String
                                value: Western Sahara (EH)
                              - displayName: Yemen (YE)
                                required: false
                                type: String
                                value: Yemen (YE)
                              - displayName: Zaire (ZR)
                                required: false
                                type: String
                                value: Zaire (ZR)
                              - displayName: Zambia (ZM)
                                required: false
                                type: String
                                value: Zambia (ZM)
                              - displayName: Zimbabwe (ZW)
                                required: false
                                type: String
                                value: Zimbabwe (ZW)
                            required: false
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: If you're adding an address for this customer, you must also include the first line
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Can contain a maximum of two addresses; main address and delivery address
                              field: Addresses
                          warnings: []
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: false
                        type: String
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If Customer.DefaultCurrency is not provided; will be mapped from company base currency
                              field: DefaultCurrency
                          warnings: []
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 80 characters
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            options:
                              - displayName: United States
                                required: false
                                type: String
                                value: United States
                              - displayName: Afghanistan
                                required: false
                                type: String
                                value: Afghanistan
                              - displayName: Aland Islands
                                required: false
                                type: String
                                value: Aland Islands
                              - displayName: Albania
                                required: false
                                type: String
                                value: Albania
                              - displayName: Algeria
                                required: false
                                type: String
                                value: Algeria
                              - displayName: American Samoa
                                required: false
                                type: String
                                value: American Samoa
                              - displayName: Andorra
                                required: false
                                type: String
                                value: Andorra
                              - displayName: Angola
                                required: false
                                type: String
                                value: Angola
                              - displayName: Anguilla
                                required: false
                                type: String
                                value: Anguilla
                              - displayName: Antarctica
                                required: false
                                type: String
                                value: Antarctica
                              - displayName: Antigua and Barbuda
                                required: false
                                type: String
                                value: Antigua and Barbuda
                              - displayName: Argentina
                                required: false
                                type: String
                                value: Argentina
                              - displayName: Armenia
                                required: false
                                type: String
                                value: Armenia
                              - displayName: Aruba
                                required: false
                                type: String
                                value: Aruba
                              - displayName: Australia
                                required: false
                                type: String
                                value: Australia
                              - displayName: Austria
                                required: false
                                type: String
                                value: Austria
                              - displayName: Azerbaijan
                                required: false
                                type: String
                                value: Azerbaijan
                              - displayName: Bahamas
                                required: false
                                type: String
                                value: Bahamas
                              - displayName: Bahrain
                                required: false
                                type: String
                                value: Bahrain
                              - displayName: Bangladesh
                                required: false
                                type: String
                                value: Bangladesh
                              - displayName: Barbados
                                required: false
                                type: String
                                value: Barbados
                              - displayName: Belarus
                                required: false
                                type: String
                                value: Belarus
                              - displayName: Belgium
                                required: false
                                type: String
                                value: Belgium
                              - displayName: Belize
                                required: false
                                type: String
                                value: Belize
                              - displayName: Benin
                                required: false
                                type: String
                                value: Benin
                              - displayName: Bermuda
                                required: false
                                type: String
                                value: Bermuda
                              - displayName: Bhutan
                                required: false
                                type: String
                                value: Bhutan
                              - displayName: Bolivia
                                required: false
                                type: String
                                value: Bolivia
                              - displayName: Bonaire, Sint Eustatius and Saba
                                required: false
                                type: String
                                value: Bonaire, Sint Eustatius and Saba
                              - displayName: Bosnia and Herzegovina
                                required: false
                                type: String
                                value: Bosnia and Herzegovina
                              - displayName: Botswana
                                required: false
                                type: String
                                value: Botswana
                              - displayName: Bouvet Island
                                required: false
                                type: String
                                value: Bouvet Island
                              - displayName: Brazil
                                required: false
                                type: String
                                value: Brazil
                              - displayName: British Indian Ocean Territory
                                required: false
                                type: String
                                value: British Indian Ocean Territory
                              - displayName: Brunei Darussalam
                                required: false
                                type: String
                                value: Brunei Darussalam
                              - displayName: Bulgaria
                                required: false
                                type: String
                                value: Bulgaria
                              - displayName: Burkina Faso
                                required: false
                                type: String
                                value: Burkina Faso
                              - displayName: Burundi
                                required: false
                                type: String
                                value: Burundi
                              - displayName: Cambodia
                                required: false
                                type: String
                                value: Cambodia
                              - displayName: Cameroon
                                required: false
                                type: String
                                value: Cameroon
                              - displayName: Canada
                                required: false
                                type: String
                                value: Canada
                              - displayName: Cape Verde
                                required: false
                                type: String
                                value: Cape Verde
                              - displayName: Cayman Islands
                                required: false
                                type: String
                                value: Cayman Islands
                              - displayName: Central African Republic
                                required: false
                                type: String
                                value: Central African Republic
                              - displayName: Chad
                                required: false
                                type: String
                                value: Chad
                              - displayName: Chile
                                required: false
                                type: String
                                value: Chile
                              - displayName: China
                                required: false
                                type: String
                                value: China
                              - displayName: Christmas Island
                                required: false
                                type: String
                                value: Christmas Island
                              - displayName: Cocos (Keeling) Islands
                                required: false
                                type: String
                                value: Cocos (Keeling) Islands
                              - displayName: Colombia
                                required: false
                                type: String
                                value: Colombia
                              - displayName: Comoros
                                required: false
                                type: String
                                value: Comoros
                              - displayName: Congo
                                required: false
                                type: String
                                value: Congo
                              - displayName: Congo, Democratic Republic
                                required: false
                                type: String
                                value: Congo, Democratic Republic
                              - displayName: Cook Islands
                                required: false
                                type: String
                                value: Cook Islands
                              - displayName: Costa Rica
                                required: false
                                type: String
                                value: Costa Rica
                              - displayName: C�te d'Ivoire
                                required: false
                                type: String
                                value: C�te d'Ivoire
                              - displayName: Croatia
                                required: false
                                type: String
                                value: Croatia
                              - displayName: Cuba
                                required: false
                                type: String
                                value: Cuba
                              - displayName: Cura�ao
                                required: false
                                type: String
                                value: Cura�ao
                              - displayName: Cyprus
                                required: false
                                type: String
                                value: Cyprus
                              - displayName: Czech Republic
                                required: false
                                type: String
                                value: Czech Republic
                              - displayName: Denmark
                                required: false
                                type: String
                                value: Denmark
                              - displayName: Djibouti
                                required: false
                                type: String
                                value: Djibouti
                              - displayName: Dominica
                                required: false
                                type: String
                                value: Dominica
                              - displayName: Dominican Republic
                                required: false
                                type: String
                                value: Dominican Republic
                              - displayName: Ecuador
                                required: false
                                type: String
                                value: Ecuador
                              - displayName: Egypt
                                required: false
                                type: String
                                value: Egypt
                              - displayName: El Salvador
                                required: false
                                type: String
                                value: El Salvador
                              - displayName: Equatorial Guinea
                                required: false
                                type: String
                                value: Equatorial Guinea
                              - displayName: Eritrea
                                required: false
                                type: String
                                value: Eritrea
                              - displayName: Estonia
                                required: false
                                type: String
                                value: Estonia
                              - displayName: Eswatini
                                required: false
                                type: String
                                value: Eswatini
                              - displayName: Ethiopia
                                required: false
                                type: String
                                value: Ethiopia
                              - displayName: Falkland Islands (Malvinas
                                required: false
                                type: String
                                value: Falkland Islands (Malvinas
                              - displayName: Faroe Islands
                                required: false
                                type: String
                                value: Faroe Islands
                              - displayName: Fiji
                                required: false
                                type: String
                                value: Fiji
                              - displayName: Finland
                                required: false
                                type: String
                                value: Finland
                              - displayName: France
                                required: false
                                type: String
                                value: France
                              - displayName: French Guiana
                                required: false
                                type: String
                                value: French Guiana
                              - displayName: French Polynesia
                                required: false
                                type: String
                                value: French Polynesia
                              - displayName: French Southern Territories
                                required: false
                                type: String
                                value: French Southern Territories
                              - displayName: Gabon
                                required: false
                                type: String
                                value: Gabon
                              - displayName: Gambia
                                required: false
                                type: String
                                value: Gambia
                              - displayName: Georgia
                                required: false
                                type: String
                                value: Georgia
                              - displayName: Germany
                                required: false
                                type: String
                                value: Germany
                              - displayName: Ghana
                                required: false
                                type: String
                                value: Ghana
                              - displayName: Gibraltar
                                required: false
                                type: String
                                value: Gibraltar
                              - displayName: Greece
                                required: false
                                type: String
                                value: Greece
                              - displayName: Greenland
                                required: false
                                type: String
                                value: Greenland
                              - displayName: Grenada
                                required: false
                                type: String
                                value: Grenada
                              - displayName: Guadeloupe
                                required: false
                                type: String
                                value: Guadeloupe
                              - displayName: Guam
                                required: false
                                type: String
                                value: Guam
                              - displayName: Guatemala
                                required: false
                                type: String
                                value: Guatemala
                              - displayName: Guernsey
                                required: false
                                type: String
                                value: Guernsey
                              - displayName: Guinea
                                required: false
                                type: String
                                value: Guinea
                              - displayName: Guinea-Bissau
                                required: false
                                type: String
                                value: Guinea-Bissau
                              - displayName: Guyana
                                required: false
                                type: String
                                value: Guyana
                              - displayName: Haiti
                                required: false
                                type: String
                                value: Haiti
                              - displayName: Heard Is. & Mcdonald Islands
                                required: false
                                type: String
                                value: Heard Is. & Mcdonald Islands
                              - displayName: Honduras
                                required: false
                                type: String
                                value: Honduras
                              - displayName: Hong Kong
                                required: false
                                type: String
                                value: Hong Kong
                              - displayName: Hungary
                                required: false
                                type: String
                                value: Hungary
                              - displayName: Iceland
                                required: false
                                type: String
                                value: Iceland
                              - displayName: India
                                required: false
                                type: String
                                value: India
                              - displayName: Indonesia
                                required: false
                                type: String
                                value: Indonesia
                              - displayName: Iran, Islamic Republic of
                                required: false
                                type: String
                                value: Iran, Islamic Republic of
                              - displayName: Iraq
                                required: false
                                type: String
                                value: Iraq
                              - displayName: Ireland
                                required: false
                                type: String
                                value: Ireland
                              - displayName: Isle of Man
                                required: false
                                type: String
                                value: Isle of Man
                              - displayName: Israel
                                required: false
                                type: String
                                value: Israel
                              - displayName: Italy
                                required: false
                                type: String
                                value: Italy
                              - displayName: Jamaica
                                required: false
                                type: String
                                value: Jamaica
                              - displayName: Japan
                                required: false
                                type: String
                                value: Japan
                              - displayName: Jersey
                                required: false
                                type: String
                                value: Jersey
                              - displayName: Jordan
                                required: false
                                type: String
                                value: Jordan
                              - displayName: Kazakhstan
                                required: false
                                type: String
                                value: Kazakhstan
                              - displayName: Kenya
                                required: false
                                type: String
                                value: Kenya
                              - displayName: Kiribati
                                required: false
                                type: String
                                value: Kiribati
                              - displayName: Korea, Republic of
                                required: false
                                type: String
                                value: Korea, Republic of
                              - displayName: Korea, Demo. People's Rep
                                required: false
                                type: String
                                value: Korea, Demo. People's Rep
                              - displayName: Kosovo
                                required: false
                                type: String
                                value: Kosovo
                              - displayName: Kuwait
                                required: false
                                type: String
                                value: Kuwait
                              - displayName: Kyrgyzstan
                                required: false
                                type: String
                                value: Kyrgyzstan
                              - displayName: Lao
                                required: false
                                type: String
                                value: Lao
                              - displayName: Latvia
                                required: false
                                type: String
                                value: Latvia
                              - displayName: Lebanon
                                required: false
                                type: String
                                value: Lebanon
                              - displayName: Lesotho
                                required: false
                                type: String
                                value: Lesotho
                              - displayName: Liberia
                                required: false
                                type: String
                                value: Liberia
                              - displayName: Libyan Arab Jamahiriya
                                required: false
                                type: String
                                value: Libyan Arab Jamahiriya
                              - displayName: Liechtenstein
                                required: false
                                type: String
                                value: Liechtenstein
                              - displayName: Lithuania
                                required: false
                                type: String
                                value: Lithuania
                              - displayName: Luxembourg
                                required: false
                                type: String
                                value: Luxembourg
                              - displayName: Macao
                                required: false
                                type: String
                                value: Macao
                              - displayName: Macedonia
                                required: false
                                type: String
                                value: Macedonia
                              - displayName: Madagascar
                                required: false
                                type: String
                                value: Madagascar
                              - displayName: Malawi
                                required: false
                                type: String
                                value: Malawi
                              - displayName: Malaysia
                                required: false
                                type: String
                                value: Malaysia
                              - displayName: Maldives
                                required: false
                                type: String
                                value: Maldives
                              - displayName: Mali
                                required: false
                                type: String
                                value: Mali
                              - displayName: Malta
                                required: false
                                type: String
                                value: Malta
                              - displayName: Marshall Islands
                                required: false
                                type: String
                                value: Marshall Islands
                              - displayName: Martinique
                                required: false
                                type: String
                                value: Martinique
                              - displayName: Mauritania
                                required: false
                                type: String
                                value: Mauritania
                              - displayName: Mauritius
                                required: false
                                type: String
                                value: Mauritius
                              - displayName: Mayotte
                                required: false
                                type: String
                                value: Mayotte
                              - displayName: Mexico
                                required: false
                                type: String
                                value: Mexico
                              - displayName: Micronesia
                                required: false
                                type: String
                                value: Micronesia
                              - displayName: Moldova, Republic of
                                required: false
                                type: String
                                value: Moldova, Republic of
                              - displayName: Monaco
                                required: false
                                type: String
                                value: Monaco
                              - displayName: Mongolia
                                required: false
                                type: String
                                value: Mongolia
                              - displayName: Montenegro
                                required: false
                                type: String
                                value: Montenegro
                              - displayName: Montserrat
                                required: false
                                type: String
                                value: Montserrat
                              - displayName: Morocco
                                required: false
                                type: String
                                value: Morocco
                              - displayName: Mozambique
                                required: false
                                type: String
                                value: Mozambique
                              - displayName: Myanmar
                                required: false
                                type: String
                                value: Myanmar
                              - displayName: Namibia
                                required: false
                                type: String
                                value: Namibia
                              - displayName: Nauru
                                required: false
                                type: String
                                value: Nauru
                              - displayName: Nepal
                                required: false
                                type: String
                                value: Nepal
                              - displayName: Netherlands
                                required: false
                                type: String
                                value: Netherlands
                              - displayName: Netherlands Antilles
                                required: false
                                type: String
                                value: Netherlands Antilles
                              - displayName: New Caledonia
                                required: false
                                type: String
                                value: New Caledonia
                              - displayName: New Zealand
                                required: false
                                type: String
                                value: New Zealand
                              - displayName: Nicaragua
                                required: false
                                type: String
                                value: Nicaragua
                              - displayName: Niger
                                required: false
                                type: String
                                value: Niger
                              - displayName: Nigeria
                                required: false
                                type: String
                                value: Nigeria
                              - displayName: Niue
                                required: false
                                type: String
                                value: Niue
                              - displayName: Norfolk Island
                                required: false
                                type: String
                                value: Norfolk Island
                              - displayName: Northern Mariana Islands
                                required: false
                                type: String
                                value: Northern Mariana Islands
                              - displayName: Norway
                                required: false
                                type: String
                                value: Norway
                              - displayName: Oman
                                required: false
                                type: String
                                value: Oman
                              - displayName: Pakistan
                                required: false
                                type: String
                                value: Pakistan
                              - displayName: Palau
                                required: false
                                type: String
                                value: Palau
                              - displayName: Palestinian Territory, Occupied
                                required: false
                                type: String
                                value: Palestinian Territory, Occupied
                              - displayName: Panama
                                required: false
                                type: String
                                value: Panama
                              - displayName: Papua New Guinea
                                required: false
                                type: String
                                value: Papua New Guinea
                              - displayName: Paraguay
                                required: false
                                type: String
                                value: Paraguay
                              - displayName: Peru
                                required: false
                                type: String
                                value: Peru
                              - displayName: Philippines
                                required: false
                                type: String
                                value: Philippines
                              - displayName: Pitcairn
                                required: false
                                type: String
                                value: Pitcairn
                              - displayName: Poland
                                required: false
                                type: String
                                value: Poland
                              - displayName: Portugal
                                required: false
                                type: String
                                value: Portugal
                              - displayName: Puerto Rico
                                required: false
                                type: String
                                value: Puerto Rico
                              - displayName: Qatar
                                required: false
                                type: String
                                value: Qatar
                              - displayName: Reunion
                                required: false
                                type: String
                                value: Reunion
                              - displayName: Romania
                                required: false
                                type: String
                                value: Romania
                              - displayName: Russian Federation
                                required: false
                                type: String
                                value: Russian Federation
                              - displayName: Rwanda
                                required: false
                                type: String
                                value: Rwanda
                              - displayName: Saint Barthelemy
                                required: false
                                type: String
                                value: Saint Barthelemy
                              - displayName: Saint Helena
                                required: false
                                type: String
                                value: Saint Helena
                              - displayName: Saint Kitts and Nevis
                                required: false
                                type: String
                                value: Saint Kitts and Nevis
                              - displayName: Saint Lucia
                                required: false
                                type: String
                                value: Saint Lucia
                              - displayName: Saint Martin
                                required: false
                                type: String
                                value: Saint Martin
                              - displayName: Saint Pierre and Miquelon
                                required: false
                                type: String
                                value: Saint Pierre and Miquelon
                              - displayName: Saint Vincent and the Grenadines
                                required: false
                                type: String
                                value: Saint Vincent and the Grenadines
                              - displayName: Samoa
                                required: false
                                type: String
                                value: Samoa
                              - displayName: San Marino
                                required: false
                                type: String
                                value: San Marino
                              - displayName: Sao Tome and Principe
                                required: false
                                type: String
                                value: Sao Tome and Principe
                              - displayName: Saudi Arabia
                                required: false
                                type: String
                                value: Saudi Arabia
                              - displayName: Senegal
                                required: false
                                type: String
                                value: Senegal
                              - displayName: Serbia
                                required: false
                                type: String
                                value: Serbia
                              - displayName: Seychelles
                                required: false
                                type: String
                                value: Seychelles
                              - displayName: Sierra Leone
                                required: false
                                type: String
                                value: Sierra Leone
                              - displayName: Singapore
                                required: false
                                type: String
                                value: Singapore
                              - displayName: Sint Maarten
                                required: false
                                type: String
                                value: Sint Maarten
                              - displayName: Slovakia
                                required: false
                                type: String
                                value: Slovakia
                              - displayName: Slovenia
                                required: false
                                type: String
                                value: Slovenia
                              - displayName: Solomon Islands
                                required: false
                                type: String
                                value: Solomon Islands
                              - displayName: Somalia
                                required: false
                                type: String
                                value: Somalia
                              - displayName: South Africa
                                required: false
                                type: String
                                value: South Africa
                              - displayName: S. Georgia & S. Sandwich Is
                                required: false
                                type: String
                                value: S. Georgia & S. Sandwich Is
                              - displayName: Spain
                                required: false
                                type: String
                                value: Spain
                              - displayName: Sri Lanka
                                required: false
                                type: String
                                value: Sri Lanka
                              - displayName: Sudan
                                required: false
                                type: String
                                value: Sudan
                              - displayName: South Sudan
                                required: false
                                type: String
                                value: South Sudan
                              - displayName: Suriname
                                required: false
                                type: String
                                value: Suriname
                              - displayName: Svalbard and Jan Mayen
                                required: false
                                type: String
                                value: Svalbard and Jan Mayen
                              - displayName: Sweden
                                required: false
                                type: String
                                value: Sweden
                              - displayName: Switzerland
                                required: false
                                type: String
                                value: Switzerland
                              - displayName: Syrian Arab Republic
                                required: false
                                type: String
                                value: Syrian Arab Republic
                              - displayName: Taiwan
                                required: false
                                type: String
                                value: Taiwan
                              - displayName: Tajikistan
                                required: false
                                type: String
                                value: Tajikistan
                              - displayName: Tanzania, United Republic of
                                required: false
                                type: String
                                value: Tanzania, United Republic of
                              - displayName: Thailand
                                required: false
                                type: String
                                value: Thailand
                              - displayName: Timor-Leste
                                required: false
                                type: String
                                value: Timor-Leste
                              - displayName: Togo
                                required: false
                                type: String
                                value: Togo
                              - displayName: Tokelau
                                required: false
                                type: String
                                value: Tokelau
                              - displayName: Tonga
                                required: false
                                type: String
                                value: Tonga
                              - displayName: Trinidad and Tobago
                                required: false
                                type: String
                                value: Trinidad and Tobago
                              - displayName: Tunisia
                                required: false
                                type: String
                                value: Tunisia
                              - displayName: Turkey
                                required: false
                                type: String
                                value: Turkey
                              - displayName: Turkmenistan
                                required: false
                                type: String
                                value: Turkmenistan
                              - displayName: Turks and Caicos Islands
                                required: false
                                type: String
                                value: Turks and Caicos Islands
                              - displayName: Tuvalu
                                required: false
                                type: String
                                value: Tuvalu
                              - displayName: Uganda
                                required: false
                                type: String
                                value: Uganda
                              - displayName: Ukraine
                                required: false
                                type: String
                                value: Ukraine
                              - displayName: United Arab Emirates
                                required: false
                                type: String
                                value: United Arab Emirates
                              - displayName: United Kingdom
                                required: false
                                type: String
                                value: United Kingdom
                              - displayName: US Minor Outlying Islands
                                required: false
                                type: String
                                value: US Minor Outlying Islands
                              - displayName: Uruguay
                                required: false
                                type: String
                                value: Uruguay
                              - displayName: Uzbekistan
                                required: false
                                type: String
                                value: Uzbekistan
                              - displayName: Vanuatu
                                required: false
                                type: String
                                value: Vanuatu
                              - displayName: Vatican City State
                                required: false
                                type: String
                                value: Vatican City State
                              - displayName: Venezuela
                                required: false
                                type: String
                                value: Venezuela
                              - displayName: Vietnam
                                required: false
                                type: String
                                value: Vietnam
                              - displayName: Virgin Islands, British
                                required: false
                                type: String
                                value: Virgin Islands, British
                              - displayName: Virgin Islands, U.S
                                required: false
                                type: String
                                value: Virgin Islands, U.S
                              - displayName: Wallis and Futuna
                                required: false
                                type: String
                                value: Wallis and Futuna
                              - displayName: Western Sahara
                                required: false
                                type: String
                                value: Western Sahara
                              - displayName: Yemen
                                required: false
                                type: String
                                value: Yemen
                              - displayName: Zambia
                                required: false
                                type: String
                                value: Zambia
                              - displayName: Zimbabwe
                                required: false
                                type: String
                                value: Zimbabwe
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Required if TaxNumber is supplied
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 200 characters
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 200 characters
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 30 characters
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 40 characters
                                  field: Addresses.Region
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: If supplied, must contain only 1 address
                              field: Addresses
                            - details: If TaxNumber is supplied, an Address with a Country is required
                              field: Addresses
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be between 1 and 200 characters
                              field: ContactName
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be between 1 and 100 characters
                              field: CustomerName
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                          - displayName: Canadian Dollar
                            required: false
                            type: String
                            value: CAD
                          - displayName: Pound Sterling
                            required: false
                            type: String
                            value: GBP
                          - displayName: US Dollar
                            required: false
                            type: String
                            value: USD
                          - displayName: Rand
                            required: false
                            type: String
                            value: ZAR
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 200 characters
                              field: EmailAddress
                      id:
                        description: The identifier for the customer, unique for the company
                        displayName: Identifier
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Required if auto-numbering is not enabled for the Sage Intacct company
                              field: Id
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 30 characters
                              field: Phone
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 20 characters
                              field: TaxNumber
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: true
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: true
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: true
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: true
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: true
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: true
                            type: String
                          type:
                            description: The type of the address
                            displayName: Address Type
                            required: true
                            type: String
                        required: true
                        type: Array
                      contactName:
                        description: The name of the main contact for the customer
                        displayName: Contact Name
                        required: true
                        type: String
                      contacts:
                        description: A collection of alternative contacts for the customer
                        displayName: Contacts
                        properties:
                          address:
                            description: The address for the contact
                            displayName: Address
                            properties:
                              city:
                                description: The third line of the address, or city
                                displayName: City
                                required: true
                                type: String
                              country:
                                description: The country for the address
                                displayName: Country
                                required: true
                                type: String
                              line1:
                                description: The first line of the address
                                displayName: Line 1
                                required: true
                                type: String
                              line2:
                                description: The second line of the address
                                displayName: Line 2
                                required: true
                                type: String
                              postalCode:
                                description: The postal (or zip) code for the address
                                displayName: Postal/Zip Code
                                required: true
                                type: String
                              region:
                                description: The fourth line of the address, or region
                                displayName: Region
                                required: true
                                type: String
                              type:
                                description: The type of the address
                                displayName: Address Type
                                required: true
                                type: String
                            required: true
                            type: Object
                          email:
                            description: The email address for the contact
                            displayName: Email
                            required: true
                            type: String
                          modifiedDate:
                            description: The date the record was last updated in the system cache
                            displayName: Modified Date
                            required: true
                            type: DateTime
                          name:
                            description: The name of the contact
                            displayName: Name
                            required: true
                            type: String
                          phone:
                            description: A collection of phone numbers for the contact
                            displayName: Phone
                            properties:
                              number:
                                description: The full number including country, and area code where applicable
                                displayName: Number
                                required: true
                                type: String
                              type:
                                description: The type of phone number
                                displayName: Phone Type
                                required: true
                                type: String
                            required: true
                            type: Array
                          status:
                            description: The current state of the contact
                            displayName: Contact Status
                            required: true
                            type: String
                        required: true
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the customer
                        displayName: Default Currency
                        required: true
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: true
                        type: String
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: true
                        type: String
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: true
                        type: String
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        required: true
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: true
                        type: String
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A customer is a person or organisation who buys goods or services
                    displayName: Customer
                    properties:
                      addresses:
                        description: A collection of addresses associated to the customer
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 50 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only English alphabet characters are permitted.
                                  field: Addresses.PostalCode
                                - details: Max length of 50 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Billing = POBOX, Delivery/Unknown = STREET
                                  field: Addresses.Type
                        required: false
                        type: Array
                      customerName:
                        description: The name for the customer, typically a company name
                        displayName: Customer Name
                        required: true
                        type: String
                      emailAddress:
                        description: The preferred Email address the customer should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the customer should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Country, area, and number are space separated
                              field: Phone
                      registrationNumber:
                        description: The customer's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 50 characters.
                              field: RegistrationNumber
                      status:
                        description: The current state of the customer
                        displayName: Customer Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Inactive
                            required: false
                            type: String
                            value: InActive
                        required: false
                        type: String
                      taxNumber:
                        description: The customer's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update customer model
      tags:
        - Customers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/directCosts":
    get:
      description: |-
        Get create direct cost model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=directCosts) for integrations that support creating direct costs.
      operationId: get-create-directCosts-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    description: ""
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: is not supported and will be ignored
                              field: ContactRef
                          warnings: []
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If unspecified, base currency is assumed. Must agree with the bank account in PaymentAllocations
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if the currency is not the base currency
                              field: CurrencyRate
                          warnings: []
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: AccountRef.Name
                                  warnings: []
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          discountAmount:
                            description: The value, in the given currency, of any discounts applied
                            displayName: Discount Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.DiscountAmount
                              warnings: []
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.DiscountPercentage
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            required: false
                            type: Object
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.ItemRef
                              warnings: []
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.Quantity
                              warnings: []
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Required if totalAmount is not specified
                                  field: LineItems.SubTotal
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: TaxRateRef.EffectiveTaxRate
                                  warnings: []
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: TaxRateRef.Name
                                  warnings: []
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Required if subTotal is not specified
                                  field: LineItems.TotalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: is not supported and will be ignored
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line is supported
                              field: LineItems
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information:
                            - details: is not supported and will be ignored
                              field: Note
                          warnings: []
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: false
                                type: DateTime
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Allocation.AllocatedOnDate
                                  warnings: []
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Allocation.Currency
                                  warnings: []
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Allocation.CurrencyRate
                                  warnings: []
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Allocation.TotalAmount
                                  warnings: []
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: false
                                    type: String
                                    validation:
                                      information:
                                        - details: is not supported and will be ignored
                                          field: AccountRef.Name
                                      warnings: []
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Payment.Currency
                                  warnings: []
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Payment.CurrencyRate
                                  warnings: []
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: false
                                type: DateTime
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Payment.PaidOnDate
                                  warnings: []
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: is not supported and will be ignored
                                      field: Payment.TotalAmount
                                  warnings: []
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line is supported
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                      subTotal:
                        description: The total amount of the direct transaction excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: is not supported and will be ignored
                              field: SubTotal
                          warnings: []
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: is not supported and will be ignored
                              field: TaxAmount
                          warnings: []
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: is not supported and will be ignored
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: ""
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: "is not supported by FreeAgent and will be ignored on push. "
                                  field: ContactRef.DataType
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: "is not supported by FreeAgent and will be ignored on push. "
                                  field: ContactRef.Id
                        required: false
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: CurrencyRate
                      id:
                        description: The identifier for the direct transaction, unique to the company
                        displayName: Unique Direct Transaction ID
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: Id
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: must be provided
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: must be provided
                                      field: AccountRef.Id
                                  warnings: []
                              name:
                                description: Name of the account
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: AccountRef.Name
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: "If a Note is provided, this field will be ignored on push. "
                                  field: LineItems.Description
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: "will be ignored on push. "
                                  field: LineItems.Quantity
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: TaxRateRef.EffectiveTaxRate
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: TaxRateRef.Id
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: TaxRateRef.Name
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: "will be ignored on push. "
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Exactly one line item must be specified
                              field: LineItems
                      modifiedDate:
                        description: The date the record was last updated in the system cache
                        displayName: Modified Date
                        required: false
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: ModifiedDate
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: true
                        type: String
                        validation:
                          information:
                            - details: must be provided
                              field: Note
                          warnings: []
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: false
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: false
                                type: Number
                            required: false
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: must be provided
                                          field: AccountRef.Id
                                      warnings: []
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: false
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: "will be ignored on push. "
                                          field: AccountRef.Name
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: false
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: false
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: false
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: false
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: false
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: "is not supported by FreeAgent and will not be mapped. "
                              field: Reference
                      sourceModifiedDate:
                        description: The date the record was last changed in the originating system
                        displayName: Source Modified Date
                        required: false
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: SourceModifiedDate
                      subTotal:
                        description: The total amount of the direct transaction excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: false
                        type: Number
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Should not be a bank account
                                  field: LineItems.AccountRef
                                - details: Should only be specified when pushing an expense
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Should only be specified when pushing an item (not an expense)
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Should be specified when item type is not 'Discount'
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Should have the same sign across all line items
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must match the ID of an existing account of type 'Bank' OR type 'Credit Card'
                                          field: AccountRef.Id
                                required: true
                                type: Object
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain a single allocation
                              field: PaymentAllocations
                          warnings: []
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        required: false
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      modifiedDate:
                        description: The date the record was last updated in the system cache
                        displayName: Modified Date
                        required: false
                        type: DateTime
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4096 characters.
                              field: Note
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: The account in which to make the deposit
                                      field: Payment.AccountRef
                                  warnings: []
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Use to reference the check number of this deposit.
                                      field: Payment.Reference
                                  warnings: []
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must contain a single payment allocation
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Represents the check number
                              field: Reference
                      sourceModifiedDate:
                        description: The date the record was last changed in the originating system
                        displayName: Source Modified Date
                        required: false
                        type: DateTime
                      subTotal:
                        description: The total amount of the direct transaction excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: true
                        type: Number
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: Suppliers
                                required: false
                                type: String
                                value: Suppliers
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be an Expense or Income account
                                      field: AccountRef.Id
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be set if ItemRef is not
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be less than 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be set if AccountRef is not
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be specified on all line items or none. If specified will override QBO tax calculations.
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Required for all companies except QuickBooks Online France companies.
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid Id
                                      field: TrackingCategoryRefs.TrackingCategoryRefs
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Only one tracking category of type CLASS can be provided per item.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Only one tracking category of type DEPARTMENT can be provided per invoice.
                                  field: LineItems.TrackingCategoryRefs
                                - details: All DEPARTMENT tracking categories must be the same
                                  field: LineItems.TrackingCategoryRefs
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the Currency of the company
                                      field: Allocation.Currency
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the sum of the line items
                                      field: Allocation.TotalAmount
                            required: false
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Must be Bank, Cash or Asset account
                                          field: AccountRef.Id
                                      warnings: []
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the Currency of the company
                                      field: Payment.Currency
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the sum of the line items
                                      field: Payment.TotalAmount
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must have exactly one payment allocation.
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be less than 22 characters.
                              field: Reference
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: Suppliers
                                required: false
                                type: String
                                value: Suppliers
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be an Expense or Income account
                                      field: AccountRef.Id
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be set if ItemRef is not
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be less than 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be set if AccountRef is not
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be specified on all line items or none. If specified will override QBO tax calculations.
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Required for all companies except QuickBooks Online France companies.
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid Id
                                      field: TrackingCategoryRefs.TrackingCategoryRefs
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Only one tracking category of type CLASS can be provided per item.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Only one tracking category of type DEPARTMENT can be provided per invoice.
                                  field: LineItems.TrackingCategoryRefs
                                - details: All DEPARTMENT tracking categories must be the same
                                  field: LineItems.TrackingCategoryRefs
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the Currency of the company
                                      field: Allocation.Currency
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the sum of the line items
                                      field: Allocation.TotalAmount
                            required: false
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Must be Bank, Cash or Asset account
                                          field: AccountRef.Id
                                      warnings: []
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the Currency of the company
                                      field: Payment.Currency
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the sum of the line items
                                      field: Payment.TotalAmount
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must have exactly one payment allocation.
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be less than 22 characters.
                              field: Reference
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      accountRef:
                        description: The bank account to pay this direct cost from.
                        displayName: Bank Account
                        properties:
                          id:
                            description: Nominal code of the bank account.
                            displayName: Account Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing bank account and have a max length of 8 characters.
                                  field: accountRef.id
                        required: true
                        type: Object
                      currency:
                        description: The currency in which the direct cost is issued in.
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: This must match the target account's default currency.
                              field: currency
                      currencyRate:
                        description: The currency rate associated with this transaction.
                        displayName: Currency Rate
                        required: true
                        type: Number
                      issueDate:
                        description: The date this payment was issued.
                        displayName: Issue Date
                        required: true
                        type: Number
                      lineItems:
                        description: Line items of the direct cost.
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Target bank account for the direct cost line item.
                            displayName: Nominal Code
                            properties:
                              id:
                                description: The ID of the Account the line is linked to.
                                displayName: Id
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Description of the direct cost line item.
                            displayName: description
                            required: false
                            type: String
                          quantity:
                            description: Quantity for the direct cost line item.
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be 1 or -1.
                                  field: LineItems.quantity
                          subTotal:
                            description: Amount for the direct cost line item. Debit entries are considered positive, and credit entries are considered negative.
                            displayName: Net Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot have both subtotal and tax amount as 0 for line item.
                                  field: LineItems.subTotal
                          taxAmount:
                            description: Tax amount for the direct cost line item.
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot have both tax amount and subtotal as 0 for line item.
                                  field: LineItems.taxAmount
                          taxCode:
                            description: The tax code ID associated with this transaction.
                            displayName: Tax Code Id
                            required: true
                            type: Number
                          totalAmount:
                            description: Total amount for the direct cost line item.
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Will be auto populated using tax amount and net amount.
                                  field: LineItems.totalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: Tracking categories associated with this transaction.
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The ID of the tracking category associated with the transaction
                                displayName: Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: A department is required. If a project reference is provided, the cost code for that project must also be provided.
                                      field: id
                            required: true
                            type: Object
                          unitAmount:
                            description: Unit amount for the direct cost line item.
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot equal 0 and will be set to Net amount if not provided accordingly.
                                  field: LineItems.unitAmount
                        required: true
                        type: Array
                      reference:
                        description: The user reference for this direct cost.
                        displayName: Reference
                        required: false
                        type: String
                      subTotal:
                        description: The net amount being paid in this direct cost.
                        displayName: Sub Total
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: This must equal the sum of the line net amounts
                          warnings: []
                      taxAmount:
                        description: The tax amount being paid in this direct cost.
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: This must equal the sum of the line tax amounts
                          warnings: []
                      totalAmount:
                        description: The total amount being paid in this direct cost.
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: This must equal the sum of the line amounts
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Intacct:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: When supplying a currency ensure that it exists in your Sage Intacct entity otherwise the request will fail.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not contain no more than 1000 characters.
                                  field: LineItems.Description
                              warnings: []
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be an existing tax rate in Sage Intacct.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: false
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: false
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain at least one line item.
                              field: LineItems
                          warnings: []
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be used to provide payee's name and contain no more than 80 characters.
                              field: Note
                          warnings: []
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: If provided, must match the sum of the line items.
                                      field: Allocation.TotalAmount
                                  warnings: []
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: false
                                type: Number
                                validation:
                                  information:
                                    - details: If provided, must match the sum of the line items.
                                      field: Payment.TotalAmount
                                  warnings: []
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain a single allocation.
                              field: PaymentAllocations
                          warnings: []
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not contain no more than 45 characters.
                              field: Reference
                          warnings: []
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If provided, must match the sum of the line items.
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: The value, in the given currency, of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          tracking:
                            description: Information this item is being tracked against
                            displayName: Tracking
                            properties:
                              invoiceTo:
                                description: The entity the record should be invoiced to
                                displayName: Invoice To
                                properties:
                                  dataType:
                                    description: The name of the data type for which the ID is valid.
                                    displayName: DataType
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              recordRefs:
                                description: A collection of records this item is being tracked against
                                displayName: Record References
                                properties:
                                  dataType:
                                    description: The name of the data type for which the ID is valid.
                                    displayName: DataType
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Array
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: true
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: true
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: true
                        type: String
                      subTotal:
                        description: The total amount of the direct transaction excluding any taxes
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: true
                        type: Number
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Xero:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: ContactRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: ContactRef.Id
                                - details: Must match the ID of an existing contact.
                                  field: ContactRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: ContactRef
                          warnings: []
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 4000 characters long.
                                  field: LineItems.Description
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: If not provided, will be set to the default tax rate for the line's account.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: When one line is negative, all lines must be negative.
                                  field: LineItems.TotalAmount
                              warnings:
                                - details: When negative, the push item will be converted to a DirectIncome and will be pushed accordingly.
                                  field: LineItems.TotalAmount
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Allocation.TotalAmount
                                  warnings:
                                    - details: Must be equal to the sum of line items.
                                      field: Allocation.TotalAmount
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: PaymentAllocations.Allocation
                              warnings: []
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Must be provided.
                                          field: AccountRef.Id
                                      warnings:
                                        - details: Must be a bank account.
                                          field: AccountRef.Id
                                        - details: Must match the ID of an existing bank account.
                                          field: AccountRef.Id
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Payment.AccountRef
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: PaymentAllocations.Payment
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: PaymentAllocations
                          warnings: []
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not exceed 255 characters.
                              field: Reference
                          warnings: []
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TaxAmount
                          warnings: []
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: When negative, the push item will be converted to a DirectIncome and will be pushed accordingly.
                Zoho Books:
                  value:
                    description: Direct Cost
                    displayName: Direct Cost
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: false
                            type: String
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Required when pushing a negative direct cost & should reference either a Customer or Supplier when provided
                              field: ContactRef
                          warnings: []
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Is required when pushing a negative direct cost
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Should be provided when TotalAmount is not provided
                                  field: LineItems.SubTotal
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Should be provided when SubTotal is not provided
                                  field: LineItems.TotalAmount
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            required: false
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Is required when pushing a negative direct cost
                                      field: Allocation.Currency
                                  warnings: []
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Is required when pushing a negative direct cost
                                      field: Payment.Currency
                                  warnings: []
                            required: true
                            type: Object
                        required: true
                        type: Array
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create direct cost model
      tags:
        - Direct costs
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/directIncomes":
    get:
      description: |-
        Get create direct income model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=directIncomes) for integrations that support creating direct incomes.
      operationId: get-create-directIncomes-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be the same as the PaymentAllocation.Payment.AccountRef.Id currency
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if LineItems.TotalAmount is not provided
                                  field: LineItems.SubTotal
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if LineItems.SubTotal is not provided
                                  field: LineItems.TotalAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line is supported
                              field: LineItems
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Must be a Bank Account ID
                                          field: AccountRef.Id
                                      warnings: []
                                required: true
                                type: Object
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line is supported
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must not exceed 20 characters
                              field: Reference
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: "is not supported by FreeAgent and will be ignored on push. "
                                  field: ContactRef.DataType
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: "is not supported by FreeAgent and will be ignored on push. "
                                  field: ContactRef.Id
                        required: false
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: CurrencyRate
                      id:
                        description: The identifier for the direct transaction, unique to the company
                        displayName: Unique Direct Transaction ID
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: Id
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: must be provided
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: must be provided
                                      field: AccountRef.Id
                                  warnings: []
                              name:
                                description: Name of the account
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: AccountRef.Name
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: "If a Note is provided, this field will be ignored on push. "
                                  field: LineItems.Description
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: "will be ignored on push. "
                                  field: LineItems.Quantity
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: false
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: TaxRateRef.EffectiveTaxRate
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: TaxRateRef.Id
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: "will be ignored on push. "
                                      field: TaxRateRef.Name
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: "will be ignored on push. "
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Exactly one line item must be specified
                              field: LineItems
                      modifiedDate:
                        description: The date the record was last updated in the system cache
                        displayName: Modified Date
                        required: false
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: ModifiedDate
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: true
                        type: String
                        validation:
                          information:
                            - details: must be provided
                              field: Note
                          warnings: []
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: false
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: false
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: false
                                type: Number
                            required: false
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: must be provided
                                          field: AccountRef.Id
                                      warnings: []
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: false
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: "will be ignored on push. "
                                          field: AccountRef.Name
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: false
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: false
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: false
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: false
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: false
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: false
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: false
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: "is not supported by FreeAgent and will not be mapped. "
                              field: Reference
                      sourceModifiedDate:
                        description: The date the record was last changed in the originating system
                        displayName: Source Modified Date
                        required: false
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: "will be ignored on push. "
                              field: SourceModifiedDate
                      subTotal:
                        description: The total amount of the direct transaction excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: false
                        type: Number
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: Should have the same sign across all line items
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must match the ID of an existing account of type 'Bank'
                                          field: AccountRef.Id
                                required: true
                                type: Object
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain a single allocation
                              field: PaymentAllocations
                          warnings: []
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        required: false
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      id:
                        description: The identifier for the direct transaction, unique to the company
                        displayName: Unique Direct Transaction ID
                        required: true
                        type: String
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            required: true
                            type: Array
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must contain a single line item
                              field: LineItems
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 100 characters.
                              field: Note
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: The account in which to make the deposit
                                      field: Payment.AccountRef
                                  warnings: []
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Use to reference the check number of this deposit.
                                      field: Payment.Reference
                                  warnings: []
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must contain a single payment allocation
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Represents the check number
                              field: Reference
                      sourceModifiedDate:
                        description: The date the record was last changed in the originating system
                        displayName: Source Modified Date
                        required: false
                        type: DateTime
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: Customers
                                required: false
                                type: String
                                value: Customers
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: Must be a Customer reference
                              field: ContactRef
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be less than 4000 characters.
                                  field: LineItems.Description
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must equal the Quantity multiplied by the UnitAmount.
                                  field: LineItems.SubTotal
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: For UK companies, if a value of NON is provided on all lines the directIncomes will be set to have No VAT.
                                      field: TaxRateRef.Id
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then 'TAX' (Automated Sales Tax), 'NON' (no tax) or a custom tax rate can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: For UK companies, cannot have a mix of NON and valid tax rate IDs.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: All DEPARTMENT tracking categories must be the same
                                  field: LineItems.TrackingCategoryRefs
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Required for refunds
                                          field: AccountRef.Id
                                        - details: Must be Bank or Asset account
                                          field: AccountRef.Id
                                      warnings: []
                                required: false
                                type: Object
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must have exactly one payment allocation.
                              field: PaymentAllocations
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be less than 22 characters.
                              field: Reference
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Tax will not be overridden if TaxAmount is 0.
                              field: TaxAmount
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Automated Sales Tax is disabled for this company.
                      warnings: []
                Sage Intacct:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: When supplying a currency ensure that it exists in your Sage Intacct entity otherwise the request will fail.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be used to provide an account id not linked to a bank account.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not contain more than 1000 characters.
                                  field: LineItems.Description
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Must be an existing tax rate in Sage Intacct.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: false
                            type: Object
                            validation:
                              information:
                                - details: It is only required for VAT enabled transactions.
                                  field: LineItems.TaxRateRef
                              warnings: []
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: false
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: false
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain at least one line item.
                              field: LineItems
                          warnings: []
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: false
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: Must be used to provide bank account id.
                                      field: Payment.AccountRef
                                  warnings: []
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                            required: true
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain a single payment allocation.
                              field: PaymentAllocations
                          warnings: []
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be used to provide payee's name and contain no more than 80 characters.
                              field: Reference
                          warnings: []
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: The value, in the given currency, of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: The note attached to the direct transaction
                        displayName: Note
                        required: true
                        type: String
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: true
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: true
                        type: String
                      subTotal:
                        description: The total amount of the direct transaction excluding any taxes
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: true
                        type: Number
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Xero:
                  value:
                    description: Direct Income
                    displayName: Direct Income
                    properties:
                      contactRef:
                        description: The contact associated with the direct transaction, if known
                        displayName: Contact Ref
                        properties:
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: ContactRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: ContactRef.Id
                                - details: Must match the ID of an existing contact.
                                  field: ContactRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: ContactRef
                          warnings: []
                      currency:
                        description: The currency of the direct transaction
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the direct transaction and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      issueDate:
                        description: The date the direct transaction was issued
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the direct transaction
                        displayName: Direct Transaction Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 4000 characters long.
                                  field: LineItems.Description
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: When one line is negative, all lines must be negative.
                                  field: LineItems.TotalAmount
                              warnings:
                                - details: When negative, the push item will be converted to a DirectCost and will be pushed accordingly.
                                  field: LineItems.TotalAmount
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      paymentAllocations:
                        description: A collection of payments allocated to the direct transaction
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Allocation.TotalAmount
                                  warnings:
                                    - details: Must be equal to the sum of line items.
                                      field: Allocation.TotalAmount
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: PaymentAllocations.Allocation
                              warnings: []
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Must be provided.
                                          field: AccountRef.Id
                                      warnings:
                                        - details: Must be a bank account.
                                          field: AccountRef.Id
                                        - details: Must match the ID of an existing bank account.
                                          field: AccountRef.Id
                                required: true
                                type: Object
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Payment.AccountRef
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: PaymentAllocations.Payment
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: PaymentAllocations
                          warnings: []
                      reference:
                        description: User friendly reference for the direct transaction
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not exceed 255 characters.
                              field: Reference
                          warnings: []
                      taxAmount:
                        description: The total amount of tax on the direct transaction
                        displayName: Tax Amount
                        required: false
                        type: Number
                      totalAmount:
                        description: The amount of the direct transaction, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: When negative, the push item will be converted to a DirectCost and will be pushed accordingly.
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create direct income model
      tags:
        - Direct incomes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/invoices":
    get:
      description: |-
        Get create/update invoice model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=invoices) for integrations that support creating and updating invoices.
      operationId: get-create-update-invoices-model
      responses:
        "200":
          content:
            application/json:
              examples:
                FreeAgent:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        options:
                          - displayName: AED
                            required: false
                            type: String
                            value: AED
                          - displayName: AMD
                            required: false
                            type: String
                            value: AMD
                          - displayName: AOA
                            required: false
                            type: String
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: String
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: String
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: String
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: String
                            value: AZN
                          - displayName: BBD
                            required: false
                            type: String
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: String
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: String
                            value: BGN
                          - displayName: BRL
                            required: false
                            type: String
                            value: BRL
                          - displayName: BWP
                            required: false
                            type: String
                            value: BWP
                          - displayName: CAD
                            required: false
                            type: String
                            value: CAD
                          - displayName: CHF
                            required: false
                            type: String
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: String
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: String
                            value: CNY
                          - displayName: COP
                            required: false
                            type: String
                            value: COP
                          - displayName: CRC
                            required: false
                            type: String
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: String
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: String
                            value: CUP
                          - displayName: CZK
                            required: false
                            type: String
                            value: CZK
                          - displayName: DKK
                            required: false
                            type: String
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: String
                            value: DOP
                          - displayName: EGP
                            required: false
                            type: String
                            value: EGP
                          - displayName: EUR
                            required: false
                            type: String
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: String
                            value: FJD
                          - displayName: GBP
                            required: false
                            type: String
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: String
                            value: GEL
                          - displayName: GHS
                            required: false
                            type: String
                            value: GHS
                          - displayName: GTQ
                            required: false
                            type: String
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: String
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: String
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: String
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: String
                            value: HRK
                          - displayName: HUF
                            required: false
                            type: String
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: String
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: String
                            value: ILS
                          - displayName: INR
                            required: false
                            type: String
                            value: INR
                          - displayName: ISK
                            required: false
                            type: String
                            value: ISK
                          - displayName: JMD
                            required: false
                            type: String
                            value: JMD
                          - displayName: JPY
                            required: false
                            type: String
                            value: JPY
                          - displayName: KES
                            required: false
                            type: String
                            value: KES
                          - displayName: KRW
                            required: false
                            type: String
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: String
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: String
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: String
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: String
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: String
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: String
                            value: LKR
                          - displayName: LTL
                            required: false
                            type: String
                            value: LTL
                          - displayName: LVL
                            required: false
                            type: String
                            value: LVL
                          - displayName: MAD
                            required: false
                            type: String
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: String
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: String
                            value: MGA
                          - displayName: MUR
                            required: false
                            type: String
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: String
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: String
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: String
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: String
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: String
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: String
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: String
                            value: NGN
                          - displayName: NOK
                            required: false
                            type: String
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: String
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: String
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: String
                            value: OMR
                          - displayName: PEN
                            required: false
                            type: String
                            value: PEN
                          - displayName: PHP
                            required: false
                            type: String
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: String
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: String
                            value: PLN
                          - displayName: QAR
                            required: false
                            type: String
                            value: QAR
                          - displayName: RON
                            required: false
                            type: String
                            value: RON
                          - displayName: RSD
                            required: false
                            type: String
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: String
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: String
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: String
                            value: SAR
                          - displayName: SCR
                            required: false
                            type: String
                            value: SCR
                          - displayName: SEK
                            required: false
                            type: String
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: String
                            value: SGD
                          - displayName: THB
                            required: false
                            type: String
                            value: THB
                          - displayName: TND
                            required: false
                            type: String
                            value: TND
                          - displayName: TRY
                            required: false
                            type: String
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: String
                            value: TTD
                          - displayName: TWD
                            required: false
                            type: String
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: String
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: String
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: String
                            value: UGX
                          - displayName: USD
                            required: false
                            type: String
                            value: USD
                          - displayName: UYU
                            required: false
                            type: String
                            value: UYU
                          - displayName: VEF
                            required: false
                            type: String
                            value: VEF
                          - displayName: VND
                            required: false
                            type: String
                            value: VND
                          - displayName: VUV
                            required: false
                            type: String
                            value: VUV
                          - displayName: XAF
                            required: false
                            type: String
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: String
                            value: XCD
                          - displayName: XOF
                            required: false
                            type: String
                            value: XOF
                          - displayName: ZAR
                            required: false
                            type: String
                            value: ZAR
                          - displayName: ZMK
                            required: false
                            type: String
                            value: ZMK
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not specified, defaults to the company's native currency
                              field: Currency
                          warnings: []
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If not specified, payment terms will default to 0 days (due on receipt)
                              field: DueDate
                          warnings: []
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: The FreeAgent income category
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: false
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                        required: true
                        type: Array
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                    required: true
                    type: Object
                FreshBooks:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: false
                        type: String
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be valid Customer Id
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      discountPercentage:
                        description: The percentage rate of any discount that has been applied
                        displayName: Discount Percentage
                        required: false
                        type: Number
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                      invoiceNumber:
                        description: User friendly reference identifier for the invoice
                        displayName: Invoice Number
                        required: false
                        type: String
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: false
                        type: Array
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Draft
                            required: false
                            type: Array
                            value: Draft
                          - displayName: Open
                            required: false
                            type: Array
                            value: Submitted
                        required: true
                        type: String
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      additionalTaxAmount:
                        description: Tax added to the total tax of the lines
                        displayName: Additional Tax Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Precision must be maximum of two decimal places.
                              field: AdditionalTaxAmount
                          warnings: []
                      amountDue:
                        description: The amount outstanding on the invoice
                        displayName: Amount Due
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Precision must be maximum of two decimal places.
                              field: AmountDue
                            - details: Must be at least zero and no more than that the total amount.
                              field: AmountDue
                          warnings: []
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings: []
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: CustomerRef
                          warnings: []
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: DueDate
                          warnings: []
                      invoiceNumber:
                        description: User friendly reference identifier for the invoice
                        displayName: Invoice Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be greater than 8 characters long.
                              field: InvoiceNumber
                          warnings: []
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must not be before the due date.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be greater than 225 characters long.
                                  field: LineItems.Description
                              warnings: []
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: ItemRef.Id
                                  warnings: []
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.SubTotal
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.TaxAmount
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxRateRef
                              warnings: []
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.TotalAmount
                                - details: Must be provided.
                                  field: LineItems.TotalAmount
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Precision must be maximum of two decimal places.
                                  field: LineItems.UnitAmount
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                      subTotal:
                        description: The total amount of the invoice excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Precision must be maximum of two decimal places.
                              field: SubTotal
                          warnings: []
                      totalAmount:
                        description: The amount of the invoice, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings:
                            - details: Must be greater than zero.
                              field: TotalAmount
                      totalDiscount:
                        description: The value, in the given invoice currency, of any discounts applied
                        displayName: Discount Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalDiscount
                          warnings: []
                      totalTaxAmount:
                        description: The total amount of tax on the invoice
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalTaxAmount
                          warnings: []
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: false
                        type: String
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be provided for 'Discount' type items
                                  field: LineItems.Quantity
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if and only if item does not have type 'Discount'
                                  field: LineItems.SubTotal
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: false
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if item does not have type 'Discount'
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: A single location tracking category must be present on all LineItems. Optionally, a single classification tracking category may be present on all LineItems. Also optionally, a single department tracking category may be present on all LineItems.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be provided for 'Discount' type items
                                  field: LineItems.UnitAmount
                        required: true
                        type: Array
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the customer
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the customer
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the invoice and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: false
                        type: DateTime
                      invoiceNumber:
                        description: User friendly reference identifier for the invoice
                        displayName: Invoice Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 11 characters.
                              field: InvoiceNumber
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4000 characters.
                                  field: LineItems.Description
                          discountAmount:
                            description: The value, in the given invoice currency, of any discounts applied
                            displayName: Discount Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Can only be set if the line items itemRef refers to an item of type discount
                                  field: LineItems.DiscountAmount
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Can only be set if the line items itemRef refers to an item of type discount
                                  field: LineItems.DiscountPercentage
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.ItemRef
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: For US versions of QuickBooks Desktop, this must be a Tax Code
                                      field: TaxRateRef.Id
                                    - details: For US versions of QuickBooks Desktop, this can only be set when Sales Tax is enabled; must be either 'Tax' or 'Non'
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tracking category.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4000 characters.
                              field: Note
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                      subTotal:
                        description: The total amount of the invoice excluding any taxes
                        displayName: Sub Total Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of sub totals in the line items.
                              field: SubTotal
                      totalAmount:
                        description: The amount of the invoice, inclusive of tax
                        displayName: Total Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of total amounts in the line items.
                              field: TotalAmount
                      totalTaxAmount:
                        description: The total amount of tax on the invoice
                        displayName: Tax Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of tax amounts in the line items.
                              field: TotalTaxAmount
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the invoice and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings:
                            - details: Must not be less than 0.
                              field: CurrencyRate
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      discountPercentage:
                        description: The percentage rate of any discount that has been applied
                        displayName: Discount Percentage
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: If provided must be a number between 0 and 100.
                              field: DiscountPercentage
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: DueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Description
                              warnings:
                                - details: Maximum character length should not be longer than 4000.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: When set to SHIPPING_ITEM_ID, the item will represent shipping.
                                      field: ItemRef.Id
                                    - details: If not provided, will use the default item set for the company.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: false
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then 'TAX' (Automated Sales Tax), 'NON' (no tax) or a custom tax rate can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: A tracking category of type CLASS can only be provided if ClassTrackingPerTxnLine is enabled for the QBO company.
                                      field: TrackingCategoryRefs.Id
                                    - details: Only one tracking category of type CLASS can be provided per item.
                                      field: TrackingCategoryRefs.Id
                                    - details: A tracking category of type DEPARTMENT should be declared at the top level item (first line item).
                                      field: TrackingCategoryRefs.Id
                                    - details: A tracking category of type DEPARTMENT can only be provided if TrackDepartments is enabled for the QBO company.
                                      field: TrackingCategoryRefs.Id
                                    - details: Only one tracking category of type DEPARTMENT can be provided per invoice.
                                      field: TrackingCategoryRefs.Id
                                    - details: Must match the ID of an existing tracking category and be of type DEPARTMENT or CLASS.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                        validation:
                          information:
                            - details: QuickBooks Online only supports "Submitted" as a status for new invoices.
                              field: Status
                          warnings: []
                      totalDiscount:
                        description: The value, in the given invoice currency, of any discounts applied
                        displayName: Discount Amount
                        required: false
                        type: Number
                      totalTaxAmount:
                        description: The total amount of tax on the invoice
                        displayName: Tax Amount
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Tax will not be overridden if TotalTaxAmount is 0.
                              field: TotalTaxAmount
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Automated Sales Tax is disabled for this company.
                      warnings: []
                Sage 50 (UK):
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: The currency in which the invoice is issued in.
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: This must match the customer's default currency.
                              field: currency
                      customerRef:
                        description: Customer to be invoiced.
                        displayName: Customer
                        properties:
                          id:
                            description: Identifier of the customer.
                            displayName: Customer Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer and have a max length of 8 characters.
                                  field: customerRef.id
                        required: true
                        type: Object
                      invoiceNumber:
                        description: The reference number for this invoice
                        displayName: Invoice Number
                        required: true
                        type: String
                      lineItems:
                        description: Line items of the invoice.
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Identifier for the account.
                            displayName: Account Reference
                            properties:
                              id:
                                description: Identifier of the account.
                                displayName: Account Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account. The account must also not be a bank account
                                      field: accountRef.id
                            required: true
                            type: Object
                          taxRateRef:
                            description: Tax rate reference of a invoice line item.
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: ID of the tax rate.
                                displayName: Tax Rate Id
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: taxRateRef.id
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: Tracking categories for the line item
                            displayName: Tracking Categories
                            properties:
                              id:
                                description: Prefixed identifier for tracking category e.g. project_{x}, department_{x}
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Projects assigned with project_{x} must exist in Sage50
                                      field: trackingCategoryRefs.id
                                    - details: Departments assigned with department_{x} must exist in Sage50
                                      field: trackingCategoryRefs.id
                            required: false
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: To be used for any additional information associated with the invoice.
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Maximum 60 characters
                              field: note
                      status:
                        description: The status of the invoice
                        displayName: Status
                        options:
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If this is not set, it will default to 'Submitted'.
                              field: status
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If supplied, must match the currency of the customer.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the invoice and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Description
                              warnings:
                                - details: Should not be longer than 2000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: false
                            type: Number
                            validation:
                              information:
                                - details: If supplied, must match the total of the line including tax.
                                  field: LineItems.TotalAmount
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: false
                        type: String
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must not be set when creating a sales invoice.
                                      field: AccountRef.Id
                                    - details: Must be set when creating an invoice.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be set for all line items when creating a sales invoice otherwise this field must be empty.
                                      field: ItemRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be greater than 0 for a sales invoice.
                                  field: LineItems.Quantity
                                - details: Must be set to 1 for an invoice.
                                  field: LineItems.Quantity
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must not be set for a sales invoice.
                                      field: TaxRateRef.Id
                                    - details: Must be set for an invoice.
                                      field: TaxRateRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Is optional when creating an invoice.
                                      field: TrackingCategoryRefs.Id
                                    - details: When creating a sales invoice WAREHOUSE must be supplied.
                                      field: TrackingCategoryRefs.Id
                                    - details: When creating a sales invoice the ITEM category id must match the ItemRef.Id.
                                      field: TrackingCategoryRefs.Id
                                    - details: Available tracking categories DEPARTMENT, LOCATION, CLASS, ITEM, PROJECT, WAREHOUSE, TASK, CONTRACT, CUSTOMER, SUPPLIER.
                                      field: TrackingCategoryRefs.Id
                                    - details: Must take the form 'TrackingCategoryName-XYZ' e.g. to track an item with id 123 the id must be ITEM-123
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be greater than zero.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain at least one line item.
                              field: LineItems
                          warnings: []
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be either Draftor Submitted.
                              field: Status
                          warnings: []
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      additionalTaxAmount:
                        description: Tax added to the total tax of the lines
                        displayName: Additional Tax Amount
                        required: true
                        type: Number
                      additionalTaxPercentage:
                        description: The percentage of the additional tax to the TotalAmount
                        displayName: Additional Tax Percentage
                        required: true
                        type: Number
                      amountDue:
                        description: The amount outstanding on the invoice
                        displayName: Amount Due
                        required: true
                        type: Number
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the invoice and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          companyName:
                            description: The name of the customer referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      discountPercentage:
                        description: The percentage rate of any discount that has been applied
                        displayName: Discount Percentage
                        required: true
                        type: Number
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      invoiceNumber:
                        description: User friendly reference identifier for the invoice
                        displayName: Invoice Number
                        required: true
                        type: String
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: The value, in the given invoice currency, of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          isDirectIncome:
                            description: True if this invoice is also mapped as a direct income
                            displayName: Is Direct Income
                            required: true
                            type: Boolean
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: The amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total Amount
                            required: true
                            type: Number
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          tracking:
                            description: A collection of items this line item is being tracked against
                            displayName: Accounts Receivable Tracking
                            properties:
                              categoryRefs:
                                description: A collection of categories this line item is being tracked against
                                displayName: Category References
                                properties:
                                  id:
                                    description: The identifier for the item, unique per tracking category
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the category referenced by the identifier
                                    displayName: Tracking Category Name
                                    required: true
                                    type: String
                                required: true
                                type: Array
                              customerRef:
                                description: Reference to the customer this line item is being tracked against
                                displayName: Customer Reference
                                properties:
                                  companyName:
                                    description: The name of the customer referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the customer
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              isBilledTo:
                                description: The type of item this line item is billed to.
                                displayName: Is Billed To
                                required: true
                                type: String
                              isRebilledTo:
                                description: The type of item this line item is billed to
                                displayName: Is Rebilled To
                                required: true
                                type: String
                              projectRef:
                                description: Reference to the project this line item is being tracked against
                                displayName: Project Reference
                                properties:
                                  id:
                                    description: The reference identifier for the Project
                                    displayName: Identifier
                                    required: true
                                    type: String
                                  name:
                                    description: The name of the Project referenced by the identifier
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                            required: true
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: true
                        type: String
                      paidOnDate:
                        description: The date that the invoice was fully paid
                        displayName: Paid On Date
                        required: true
                        type: DateTime
                      paymentAllocations:
                        description: A collection of payments allocated to the invoice
                        displayName: Payment Allocations
                        properties:
                          allocation:
                            description: The allocation information
                            displayName: Allocation
                            properties:
                              allocatedOnDate:
                                description: The date the payment was allocated
                                displayName: Allocated On Date
                                required: true
                                type: DateTime
                              currency:
                                description: The currency of the transaction
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              totalAmount:
                                description: The total amount that has been allocated
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                          payment:
                            description: The payment to be allocated
                            displayName: Payment
                            properties:
                              accountRef:
                                description: Reference to the account associated with the allocated payment
                                displayName: Account Reference
                                properties:
                                  id:
                                    description: The identifier for the account
                                    displayName: Account ID
                                    required: true
                                    type: String
                                  name:
                                    description: Name of the account
                                    displayName: Name
                                    required: true
                                    type: String
                                required: true
                                type: Object
                              currency:
                                description: The currency for the payment
                                displayName: Currency
                                required: true
                                type: String
                              currencyRate:
                                description: The exchange rate between the currency of the allocated payment and the currency of the base company
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the allocated payment
                                displayName: Identifier
                                required: true
                                type: String
                              note:
                                description: Any additional text based information associated with the allocated payment
                                displayName: Note
                                required: true
                                type: String
                              paidOnDate:
                                description: The date the payment was paid
                                displayName: Paid On Date
                                required: true
                                type: DateTime
                              reference:
                                description: Reference associated with the allocated payment
                                displayName: Reference
                                required: true
                                type: String
                              totalAmount:
                                description: The total amount that has been paid
                                displayName: Total Amount
                                required: true
                                type: Number
                            required: true
                            type: Object
                        required: true
                        type: Array
                      salesOrderRefs:
                        description: References to related Sales Orders
                        displayName: Sales Order References
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Array
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        required: true
                        type: String
                      subTotal:
                        description: The total amount of the invoice excluding any taxes
                        displayName: Sub Total Amount
                        required: true
                        type: Number
                      totalAmount:
                        description: The amount of the invoice, inclusive of tax
                        displayName: Total Amount
                        required: true
                        type: Number
                      totalDiscount:
                        description: The value, in the given invoice currency, of any discounts applied
                        displayName: Discount Amount
                        required: true
                        type: Number
                      totalTaxAmount:
                        description: The total amount of tax on the invoice
                        displayName: Tax Amount
                        required: true
                        type: Number
                      withholdingTax:
                        description: A collection of tax deductions
                        displayName: Withholding Tax
                        properties:
                          amount:
                            description: Deduction amount
                            displayName: Amount
                            required: true
                            type: Number
                          name:
                            description: Name of the deduction
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Array
                    required: true
                    type: Object
                Xero:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the invoice and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If no rate is specified, the Xero day rate will be applied.
                              field: CurrencyRate
                              ref: https://central.xero.com/s/#CurrencySettings$Rates
                          warnings: []
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: CustomerRef.Id
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: CustomerRef
                          warnings: []
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: DueDate
                          warnings: []
                      invoiceNumber:
                        description: User friendly reference identifier for the invoice
                        displayName: Invoice Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not exceed 255 charaters long.
                              field: InvoiceNumber
                          warnings: []
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                              warnings: []
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 4000 characters long.
                                  field: LineItems.Description
                              warnings: []
                          discountPercentage:
                            description: The percentage rate of any discount that has been applied
                            displayName: Discount Percentage
                            required: false
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.Quantity
                              warnings: []
                          taxAmount:
                            description: The amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.TaxAmount
                              warnings: []
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: TaxRateRef.Id
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          trackingCategoryRefs:
                            description: A collection of categories this item is being tracked against
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must not be a parent tracking category.
                                      field: TrackingCategoryRefs.Id
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                                  warnings: []
                            required: false
                            type: Array
                            validation:
                              information:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                              warnings: []
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: LineItems.UnitAmount
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: LineItems
                          warnings: []
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                    required: true
                    type: Object
                Zoho Books:
                  value:
                    description: An invoice is an itemised record of goods sold or services rendered to a customer
                    displayName: Invoice
                    properties:
                      currency:
                        description: Currency of the invoice
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must match the customer's currency
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the invoice and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than or equal to 0
                              field: CurrencyRate
                      customerRef:
                        description: Reference to the customer the invoice has been sent to
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      dueDate:
                        description: The date the invoice is due to be paid by
                        displayName: Due Date
                        required: true
                        type: DateTime
                      invoiceNumber:
                        description: User friendly reference identifier for the invoice
                        displayName: Invoice Number
                        required: false
                        type: String
                      issueDate:
                        description: The issuing date of the invoice
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: A collection of lines that detail items related to the invoice
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be of type 'Income' or 'Other Income'
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name of the goods or services purchased
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if ItemRef is not set
                                  field: LineItems.Description
                          discountAmount:
                            description: The value, in the given invoice currency, of any discounts applied
                            displayName: Discount Amount
                            required: false
                            type: Number
                          itemRef:
                            description: Reference to the product or service type, or inventory item, the line item is linked to
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if Description is not set
                                  field: LineItems.ItemRef
                          quantity:
                            description: The number of units of goods or services purchased
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be greater than or equal to 0
                                  field: LineItems.Quantity
                          taxRateRef:
                            description: Reference to the tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                          unitAmount:
                            description: The price of each unit of goods or services
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: The sum of subtotals over all the line items must be greater than or equal to 0
                              field: LineItems
                            - details: Must not be empty
                              field: LineItems
                      note:
                        description: Note about the invoice
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: The current state of the invoice
                        displayName: Invoice Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Submitted
                            required: false
                            type: String
                            value: Submitted
                          - displayName: Void
                            required: false
                            type: String
                            value: Void
                        required: true
                        type: String
                      totalDiscount:
                        description: The value, in the given invoice currency, of any discounts applied
                        displayName: Discount Amount
                        required: false
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: If DiscountAmount is set for at least one Line Item, TotalDiscount must be the sum of Discount Amounts over all line items. Otherwise invoice level discount will be applied
                              field: TotalDiscount
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update invoice model
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/items":
    get:
      description: |-
        Get create item model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=items) for integrations that support creating items.
      operationId: get-create-items-model
      responses:
        "200":
          content:
            application/json:
              examples:
                QuickBooks Desktop:
                  value:
                    description: An item includes details about a product or service that is provided to customers, or provided by suppliers
                    displayName: Item
                    properties:
                      billItem:
                        description: Item details specific to its usage with bills
                        displayName: Bill Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: false
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: false
                                type: String
                            required: false
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4096 characters.
                                  field: BillItem.Description
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 30 characters.
                                      field: TaxRateRef.Name
                            required: false
                            type: Object
                          unitPrice:
                            description: The default unit price for the item
                            displayName: Unit Price
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Value should be zero or greater
                                  field: BillItem.UnitPrice
                        required: false
                        type: Object
                      invoiceItem:
                        description: Item details specific to its usage with invoices
                        displayName: Invoice Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4096 characters.
                                  field: InvoiceItem.Description
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 30 characters.
                                      field: TaxRateRef.Name
                            required: false
                            type: Object
                          unitPrice:
                            description: The default unit price for the item
                            displayName: Unit Price
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Value should be zero or greater
                                  field: InvoiceItem.UnitPrice
                        required: true
                        type: Object
                      itemStatus:
                        description: The state of the item
                        displayName: Item Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      name:
                        description: The name for the item
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: "Sub-items are supported by introducing a colon in between parent and child i.e. Parent : Child"
                              field: Name
                            - details: Max length of 31 characters.
                              field: Name
                      type:
                        description: The type of the item
                        displayName: Item Type
                        options:
                          - displayName: Non inventory type
                            required: false
                            type: String
                            value: NonInventory
                          - displayName: Service type
                            required: false
                            type: String
                            value: Service
                        required: true
                        type: String
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: An item includes details about a product or service that is provided to customers, or provided by suppliers
                    displayName: Item
                    properties:
                      billItem:
                        description: Item details specific to its usage with bills
                        displayName: Bill Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: true
                            type: String
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) or 'NON' (no tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          unitPrice:
                            description: The default unit price for the item
                            displayName: Unit Price
                            required: false
                            type: Number
                        required: true
                        type: Object
                      code:
                        description: A user friendly reference for the item
                        displayName: Code
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 21 characters.
                              field: Code
                          warnings: []
                      invoiceItem:
                        description: Item details specific to its usage with invoices
                        displayName: Invoice Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: true
                            type: String
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: If an organisation has Automated Sales Tax enabled for US locales, then only 'TAX' (Automated Sales Tax) or 'NON' (no tax) can be used. If Automated Sales Tax is disabled for US locales then 'TAX' (Automated Sales Tax) or 'NON' (no tax) will not be accepted and a different tax rate must be used.
                                      field: TaxRateRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          unitPrice:
                            description: The default unit price for the item
                            displayName: Unit Price
                            required: false
                            type: Number
                        required: true
                        type: Object
                      isBillItem:
                        description: State whether this item can be used with bills
                        displayName: Is Bill Item?
                        required: true
                        type: Boolean
                      isInvoiceItem:
                        description: State whether this item can be used with invoices
                        displayName: Is Invoice Item?
                        required: true
                        type: Boolean
                      name:
                        description: The name for the item
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Should not be longer than 21 characters.
                              field: Name
                          warnings:
                            - details: Names must be unique across items.
                              field: Name
                      type:
                        description: The type of the item
                        displayName: Item Type
                        options:
                          - displayName: Non Inventory
                            required: false
                            type: String
                            value: NonInventory
                          - displayName: Service
                            required: false
                            type: String
                            value: Service
                        required: true
                        type: String
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: An item includes details about a product or service that is provided to customers, or provided by suppliers
                    displayName: Item
                    properties:
                      billItem:
                        description: Item details specific to its usage with bills
                        displayName: Bill Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: true
                            type: String
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          unitPrice:
                            description: The default unit price for the item
                            displayName: Unit Price
                            required: true
                            type: Number
                        required: true
                        type: Object
                      code:
                        description: A user friendly reference for the item
                        displayName: Code
                        required: true
                        type: String
                      invoiceItem:
                        description: Item details specific to its usage with invoices
                        displayName: Invoice Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: true
                            type: String
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          unitPrice:
                            description: The default unit price for the item
                            displayName: Unit Price
                            required: true
                            type: Number
                        required: true
                        type: Object
                      isBillItem:
                        description: State whether this item can be used with bills
                        displayName: Is Bill Item?
                        required: true
                        type: Boolean
                      isInvoiceItem:
                        description: State whether this item can be used with invoices
                        displayName: Is Invoice Item?
                        required: true
                        type: Boolean
                      itemStatus:
                        description: The state of the item
                        displayName: Item Status
                        required: true
                        type: String
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      name:
                        description: The name for the item
                        displayName: Name
                        required: true
                        type: String
                      type:
                        description: The type of the item
                        displayName: Item Type
                        required: true
                        type: String
                    required: true
                    type: Object
                Xero:
                  value:
                    description: An item includes details about a product or service that is provided to customers, or provided by suppliers
                    displayName: Item
                    properties:
                      billItem:
                        description: Item details specific to its usage with bills
                        displayName: Bill Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be provided if Item is of type Inventory.
                                      field: AccountRef.Id
                                    - details: Must be provided if AccountRef is not null.
                                      field: AccountRef.Id
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided if Item is of type Inventory.
                                  field: BillItem.AccountRef
                          description:
                            description: The description of the item
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must not be longer than 4000 characters long.
                                  field: BillItem.Description
                          taxRateRef:
                            description: Reference to the default tax rate code the line item is linked to
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be provided if TaxRateRef is not null.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Must be provided if Item is of type Inventory.
                              field: BillItem
                            - details: Must not be provided if IsBillItem is false.
                              field: BillItem
                            - details: Must be provided if IsBillItem is true.
                              field: BillItem
                          warnings: []
                      code:
                        description: A user friendly reference for the item
                        displayName: Code
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must not be longer than 30 characters long.
                              field: Code
                            - details: Must be unique.
                              field: Code
                            - details: Must be provided.
                              field: Code
                      invoiceItem:
                        description: Item details specific to its usage with invoices
                        displayName: Invoice Item Details
                        properties:
                          accountRef:
                            description: Reference to the default nominal account the item is linked to
                            displayName: Nominal Account Reference
                            required: false
                            type: Object
                          description:
                            description: The description of the item
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must not be longer than 4000 characters long.
                                  field: InvoiceItem.Description
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Must not be provided if IsInvoiceItem is false.
                              field: InvoiceItem
                            - details: Must be provided if IsInvoiceItem is true.
                              field: InvoiceItem
                          warnings: []
                      itemStatus:
                        description: The state of the item
                        displayName: Item Status
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Is ignored on push, and ItemStatus is always mapped as "Unknown"
                              field: ItemStatus
                          warnings: []
                      name:
                        description: The name for the item
                        displayName: Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must not be longer than 50 characters long.
                              field: Name
                      type:
                        description: The type of the item
                        displayName: Item Type
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must be 'Unknown' or 'Inventory', otherwise Item.Type will be defaulted to 'Unknown'.
                              field: Type
                          warnings:
                            - details: Cannot be of type Inventory if no Inventory account exists in Xero.
                              field: Type
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create item model
      tags:
        - Items
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/journalEntries":
    get:
      description: |-
        Get create journal entry model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=journalEntries) for integrations that support creating journal entries.
      operationId: get-create-journalEntries-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Dynamics 365 Business Central:
                  value:
                    displayName: JournalEntry
                    properties:
                      description:
                        description: An optional top level description for the journal entry
                        displayName: Description
                        required: false
                        type: String
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Bank accounts are not allowed
                                  field: JournalLines.AccountRef
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only base currency is allowed
                                  field: JournalLines.Currency
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must contain 2 journal lines
                              field: JournalLines
                      journalRef:
                        description: Reference to the journal in which this journal entry was created
                        displayName: Journal Reference
                        properties:
                          id:
                            description: The reference identifier for the journal
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Only General type Journals are allowed
                              field: JournalRef
                          warnings: []
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: true
                        type: DateTime
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    displayName: JournalEntry
                    properties:
                      description:
                        description: An optional top level description for the journal entry
                        displayName: Description
                        required: false
                        type: String
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Specified account must be in the same base currency as the subsidiary
                                  field: JournalLines.AccountRef
                              warnings: []
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must be the base currency
                                  field: JournalLines.Currency
                              warnings: []
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: false
                            type: String
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                          tracking:
                            description: Information this item is being tracked against
                            displayName: Tracking
                            properties:
                              recordRefs:
                                description: A collection of records this item is being tracked against
                                displayName: Record References
                                properties:
                                  dataType:
                                    description: The name of the data type for which the ID is valid.
                                    displayName: DataType
                                    options:
                                      - displayName: trackingCategories
                                        required: false
                                        type: String
                                        value: trackingCategories
                                      - displayName: customers
                                        required: false
                                        type: String
                                        value: customers
                                      - displayName: suppliers
                                        required: false
                                        type: String
                                        value: suppliers
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: At most one trackingCategory RecordRef of each type (classification/department/location) may be provided, and only one entity (either customers/suppliers) RecordRef may be provided
                                          field: RecordRefs.DataType
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: false
                                type: Array
                            required: true
                            type: Object
                        required: true
                        type: Array
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: Defaults to today's date if not specified
                              field: PostedOn
                          warnings: []
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    displayName: JournalEntry
                    properties:
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: The currency of all accounts in the Journal Entry must use the base currency of the QuickBooks Desktop company
                                  field: JournalLines.AccountRef
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must match the base currency of the QuickBooks Desktop company
                                  field: JournalLines.Currency
                                - details: If not set, will default to the default currency of the QuickBooks Desktop company
                                  field: JournalLines.Currency
                              warnings:
                                - details: Must be a three letter ISO code that matches the currency of the QuickBooks Desktop company
                                  field: JournalLines.Currency
                                - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                                  field: JournalLines.Currency
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4000 characters.
                                  field: JournalLines.Description
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: For debit lines, the net amount should be positive, for credit lines it should be negative
                                  field: JournalLines.NetAmount
                                - details: The sum of net amounts for all line items must be 0
                                  field: JournalLines.NetAmount
                              warnings: []
                        required: true
                        type: Array
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: false
                        type: DateTime
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    displayName: JournalEntry
                    properties:
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Required if multi-currency is enabled for the company
                                  field: JournalLines.Currency
                                - details: When present, all JournalLine currencies should match
                                  field: JournalLines.Currency
                              warnings: []
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must be no longer than 4000 characters long
                                  field: JournalLines.Description
                              warnings: []
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                          tracking:
                            description: Information this item is being tracked against
                            displayName: Tracking
                            properties:
                              recordRefs:
                                description: A collection of records this item is being tracked against
                                displayName: Record References
                                properties:
                                  dataType:
                                    description: The name of the data type for which the ID is valid.
                                    displayName: DataType
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must be 'trackingCategories'
                                          field: RecordRefs.DataType
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must begin with 'CLASS_' or 'DEPARTMENT_'
                                          field: RecordRefs.Id
                                        - details: Must match the ID of an existing tracking category and be of type 'DEPARTMENT' or 'CLASS'.
                                          field: RecordRefs.Id
                                required: true
                                type: Array
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must not contain multiple 'CLASS_' records or 'DEPARTMENT_' records
                                      field: Tracking.RecordRefs
                            required: false
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: There must be at least two lines
                              field: JournalLines
                          warnings: []
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: true
                        type: DateTime
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: To push a JournalEntry to a French Company in QuickBooks Online, an active JournalCode with type 'Others' or 'Autres' must exist inside the Company
                QuickBooks Online Sandbox:
                  value:
                    displayName: JournalEntry
                    properties:
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Required if multi-currency is enabled for the company
                                  field: JournalLines.Currency
                                - details: When present, all JournalLine currencies should match
                                  field: JournalLines.Currency
                              warnings: []
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must be no longer than 4000 characters long
                                  field: JournalLines.Description
                              warnings: []
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                          tracking:
                            description: Information this item is being tracked against
                            displayName: Tracking
                            properties:
                              recordRefs:
                                description: A collection of records this item is being tracked against
                                displayName: Record References
                                properties:
                                  dataType:
                                    description: The name of the data type for which the ID is valid.
                                    displayName: DataType
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must be 'trackingCategories'
                                          field: RecordRefs.DataType
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                    validation:
                                      information: []
                                      warnings:
                                        - details: Must begin with 'CLASS_' or 'DEPARTMENT_'
                                          field: RecordRefs.Id
                                        - details: Must match the ID of an existing tracking category and be of type 'DEPARTMENT' or 'CLASS'.
                                          field: RecordRefs.Id
                                required: true
                                type: Array
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must not contain multiple 'CLASS_' records or 'DEPARTMENT_' records
                                      field: Tracking.RecordRefs
                            required: false
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: There must be at least two lines
                              field: JournalLines
                          warnings: []
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: true
                        type: DateTime
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: To push a JournalEntry to a French Company in QuickBooks Online, an active JournalCode with type 'Others' or 'Autres' must exist inside the Company
                Sage 50 (UK):
                  value:
                    displayName: JournalEntry
                    properties:
                      createdOn:
                        description: Date on which the journal was created in Sage50.
                        displayName: Created On
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: if empty then Sage 50 will auto generate a created on date
                              field: createdOn
                          warnings: []
                      dataType:
                        description: Data type of the underlying record that created the journal entry.
                        displayName: Data Type
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: dataType
                      description:
                        description: Optional description of the journal entry.
                        displayName: Description
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: description
                      id:
                        description: The reference journal id
                        displayName: Id
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: id
                      journalLines:
                        description: Journal line items of the journal entry.
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Links a journal entry to any associated accounts.
                            displayName: accountRef
                            properties:
                              id:
                                description: The ID of the Account the line is linked to.
                                displayName: Id
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Cannot post journal entries against non-base currency nominal codes
                                      field: id
                            required: false
                            type: Object
                          currency:
                            description: Currency for the journal line item.
                            displayName: currency
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Journal entries can only be pushed in the base currency of the target company.
                                  field: journalLines.currency
                          description:
                            description: Description of the journal line item.
                            displayName: description
                            required: false
                            type: String
                          netAmount:
                            description: Amount for the journal line. Debit entries are considered positive, and credit entries are considered negative.
                            displayName: Net Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Cannot equal 0
                                  field: journalLines.netAmount
                        required: true
                        type: Array
                      journalRef:
                        description: Links journal entries to the relevant journal
                        displayName: Journal Reference
                        required: false
                        type: Object
                      modifiedDate:
                        description: Date on which the record was last updated via pushes.
                        displayName: Source Modified Date
                        required: true
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: modifiedDate
                      name:
                        description: The reference journal name
                        displayName: Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: name
                      recordRef:
                        description: Links a journal entry to the underlying record that created it.
                        displayName: Record Reference
                        required: false
                        type: Object
                      sourceModifiedDate:
                        description: Date on which the record was last changed in Sage50.
                        displayName: Source Modified Date
                        required: true
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: sourceModifiedDate
                      updatedOn:
                        description: Date on which the journal was last updated in Sage50.
                        displayName: Updated On
                        required: true
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: Is not supported and therefore will be ignored
                              field: updatedOn
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Intacct:
                  value:
                    displayName: JournalEntry
                    properties:
                      description:
                        description: An optional top level description for the journal entry
                        displayName: Description
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 512 characters
                              field: Description
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: true
                            type: Object
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: If provided, must match the base currency for the company
                                  field: JournalLines.Currency
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 512 characters
                                  field: JournalLines.Description
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be a 0 amount
                                  field: JournalLines.NetAmount
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: There must be at least two lines
                              field: JournalLines
                      journalRef:
                        description: Reference to the journal in which this journal entry was created
                        displayName: Journal Reference
                        properties:
                          id:
                            description: The reference identifier for the journal
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: true
                        type: DateTime
                    required: true
                    type: Object
                Sandbox:
                  value:
                    displayName: JournalEntry
                    properties:
                      createdOn:
                        description: The date the entry was created in the originating system
                        displayName: Created On
                        required: true
                        type: DateTime
                      description:
                        description: An optional top level description for the journal entry
                        displayName: Description
                        required: true
                        type: String
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          currency:
                            description: The currency for the line
                            displayName: Currency
                            required: true
                            type: String
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: true
                            type: String
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                          tracking:
                            description: Information this item is being tracked against
                            displayName: Tracking
                            properties:
                              recordRefs:
                                description: A collection of records this item is being tracked against
                                displayName: Record References
                                properties:
                                  dataType:
                                    description: The name of the data type for which the ID is valid.
                                    displayName: DataType
                                    required: true
                                    type: String
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                required: true
                                type: Array
                            required: true
                            type: Object
                        required: true
                        type: Array
                      journalRef:
                        description: Reference to the journal in which this journal entry was created
                        displayName: Journal Reference
                        properties:
                          id:
                            description: The reference identifier for the journal
                            displayName: Identifier
                            required: true
                            type: String
                          name:
                            description: The name of the journal
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: true
                        type: DateTime
                      recordRef:
                        description: Reference to the record for which this journal entry was created
                        displayName: Record Reference
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      updatedOn:
                        description: The date in which the journal was last updated in the originating system
                        displayName: Updated On
                        required: true
                        type: DateTime
                    required: true
                    type: Object
                Xero:
                  value:
                    displayName: JournalEntry
                    properties:
                      journalLines:
                        description: A collection of detail lines that represent the transactions associated in this entry
                        displayName: Journal Lines
                        properties:
                          accountRef:
                            description: Reference to the nominal account the line is linked to
                            displayName: Nominal Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information:
                                - details: Must be provided.
                                  field: JournalLines.AccountRef
                              warnings: []
                          description:
                            description: The description for the journal line
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 4000 characters long and must be the same for all lines.
                                  field: JournalLines.Description
                              warnings: []
                          netAmount:
                            description: The amount for the journal line, excluding tax
                            displayName: Net Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: JournalLines.NetAmount
                              warnings: []
                          tracking:
                            description: Information this item is being tracked against
                            displayName: Tracking
                            properties:
                              recordRefs:
                                description: A collection of records this item is being tracked against
                                displayName: Record References
                                properties:
                                  id:
                                    description: The reference identifier for the record
                                    displayName: Identifier
                                    required: true
                                    type: String
                                    validation:
                                      information:
                                        - details: Must not be a parent tracking category.
                                          field: RecordRefs.Id
                                        - details: Must be provided.
                                          field: RecordRefs.Id
                                      warnings: []
                                required: false
                                type: Array
                                validation:
                                  information:
                                    - details: Tracking categories must not have the same parent tracking category.
                                      field: Tracking.RecordRefs
                                    - details: Maximum of 2 Tracking Categories.
                                      field: Tracking.RecordRefs
                                  warnings: []
                            required: false
                            type: Object
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: At least 2 must be provided.
                              field: JournalLines
                          warnings: []
                      postedOn:
                        description: The date the entry was posted in the originating system
                        displayName: Posted On
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: If no date is specified, it will default to today's date.
                              field: PostedOn
                          warnings: []
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create journal entry model
      tags:
        - Journal entries
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/journals":
    get:
      description: |-
        Get create journal model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=journals) for integrations that support creating journals.
      operationId: get-create-journals-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Sage Intacct:
                  value:
                    displayName: Journal
                    properties:
                      journalCode:
                        description: The number or code for the journal
                        displayName: Journal Number
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 16 characters
                              field: JournalCode
                      name:
                        description: The name of the journal
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 40 characters
                              field: Name
                      status:
                        description: The status of the journal
                        displayName: Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                    required: true
                    type: Object
                Sandbox:
                  value:
                    displayName: Journal
                    properties:
                      createdOn:
                        description: The date the journal was created in the originating system
                        displayName: Created On
                        required: true
                        type: DateTime
                      hasChildren:
                        description: If a journal has children, the journal is parent of those children journals
                        displayName: Has Children
                        required: true
                        type: Boolean
                      journalCode:
                        description: The number or code for the journal
                        displayName: Journal Number
                        required: true
                        type: String
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      name:
                        description: The name of the journal
                        displayName: Name
                        required: true
                        type: String
                      parentId:
                        description: Identifier for the parent journal - empty if journal is the parent
                        displayName: Parent Id
                        required: true
                        type: String
                      status:
                        description: The status of the journal
                        displayName: Status
                        required: true
                        type: String
                      type:
                        description: The type of journal
                        displayName: Type
                        required: true
                        type: String
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create journal model
      tags:
        - Journals
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/payments":
    get:
      description: |-
        Get create payment model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=payments) for integrations that support creating payments.
      operationId: get-create-payments-model
      responses:
        "200":
          content:
            application/json:
              examples:
                FreeAgent:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must match the sum of the link amounts.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: CreditNote
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Other
                                    required: false
                                    type: String
                                    value: Other
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line may be specified
                              field: Lines
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of the line amounts.
                              field: TotalAmount
                    required: true
                    type: Object
                FreshBooks:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        options:
                          - displayName: AED
                            required: false
                            type: Array
                            value: AED
                          - displayName: AFN
                            required: false
                            type: Array
                            value: AFN
                          - displayName: ALL
                            required: false
                            type: Array
                            value: ALL
                          - displayName: AMD
                            required: false
                            type: Array
                            value: AMD
                          - displayName: ANG
                            required: false
                            type: Array
                            value: ANG
                          - displayName: AOA
                            required: false
                            type: Array
                            value: AOA
                          - displayName: ARS
                            required: false
                            type: Array
                            value: ARS
                          - displayName: AUD
                            required: false
                            type: Array
                            value: AUD
                          - displayName: AWG
                            required: false
                            type: Array
                            value: AWG
                          - displayName: AZN
                            required: false
                            type: Array
                            value: AZN
                          - displayName: BAM
                            required: false
                            type: Array
                            value: BAM
                          - displayName: BBD
                            required: false
                            type: Array
                            value: BBD
                          - displayName: BDT
                            required: false
                            type: Array
                            value: BDT
                          - displayName: BGN
                            required: false
                            type: Array
                            value: BGN
                          - displayName: BHD
                            required: false
                            type: Array
                            value: BHD
                          - displayName: BIF
                            required: false
                            type: Array
                            value: BIF
                          - displayName: BMD
                            required: false
                            type: Array
                            value: BMD
                          - displayName: BND
                            required: false
                            type: Array
                            value: BND
                          - displayName: BOB
                            required: false
                            type: Array
                            value: BOB
                          - displayName: BRL
                            required: false
                            type: Array
                            value: BRL
                          - displayName: BSD
                            required: false
                            type: Array
                            value: BSD
                          - displayName: BTN
                            required: false
                            type: Array
                            value: BTN
                          - displayName: BWP
                            required: false
                            type: Array
                            value: BWP
                          - displayName: BYR
                            required: false
                            type: Array
                            value: BYR
                          - displayName: BZD
                            required: false
                            type: Array
                            value: BZD
                          - displayName: CAD
                            required: false
                            type: Array
                            value: CAD
                          - displayName: CDF
                            required: false
                            type: Array
                            value: CDF
                          - displayName: CHF
                            required: false
                            type: Array
                            value: CHF
                          - displayName: CLP
                            required: false
                            type: Array
                            value: CLP
                          - displayName: CNY
                            required: false
                            type: Array
                            value: CNY
                          - displayName: COP
                            required: false
                            type: Array
                            value: COP
                          - displayName: CRC
                            required: false
                            type: Array
                            value: CRC
                          - displayName: CUC
                            required: false
                            type: Array
                            value: CUC
                          - displayName: CUP
                            required: false
                            type: Array
                            value: CUP
                          - displayName: CVE
                            required: false
                            type: Array
                            value: CVE
                          - displayName: CZK
                            required: false
                            type: Array
                            value: CZK
                          - displayName: DJF
                            required: false
                            type: Array
                            value: DJF
                          - displayName: DKK
                            required: false
                            type: Array
                            value: DKK
                          - displayName: DOP
                            required: false
                            type: Array
                            value: DOP
                          - displayName: DZD
                            required: false
                            type: Array
                            value: DZD
                          - displayName: EGP
                            required: false
                            type: Array
                            value: EGP
                          - displayName: ERN
                            required: false
                            type: Array
                            value: ERN
                          - displayName: ETB
                            required: false
                            type: Array
                            value: ETB
                          - displayName: EUR
                            required: false
                            type: Array
                            value: EUR
                          - displayName: FJD
                            required: false
                            type: Array
                            value: FJD
                          - displayName: FKP
                            required: false
                            type: Array
                            value: FKP
                          - displayName: GBP
                            required: false
                            type: Array
                            value: GBP
                          - displayName: GEL
                            required: false
                            type: Array
                            value: GEL
                          - displayName: GGP
                            required: false
                            type: Array
                            value: GGP
                          - displayName: GHS
                            required: false
                            type: Array
                            value: GHS
                          - displayName: GIP
                            required: false
                            type: Array
                            value: GIP
                          - displayName: GMD
                            required: false
                            type: Array
                            value: GMD
                          - displayName: GNF
                            required: false
                            type: Array
                            value: GNF
                          - displayName: GTQ
                            required: false
                            type: Array
                            value: GTQ
                          - displayName: GYD
                            required: false
                            type: Array
                            value: GYD
                          - displayName: HKD
                            required: false
                            type: Array
                            value: HKD
                          - displayName: HNL
                            required: false
                            type: Array
                            value: HNL
                          - displayName: HRK
                            required: false
                            type: Array
                            value: HRK
                          - displayName: HTG
                            required: false
                            type: Array
                            value: HTG
                          - displayName: HUF
                            required: false
                            type: Array
                            value: HUF
                          - displayName: IDR
                            required: false
                            type: Array
                            value: IDR
                          - displayName: ILS
                            required: false
                            type: Array
                            value: ILS
                          - displayName: IMP
                            required: false
                            type: Array
                            value: IMP
                          - displayName: INR
                            required: false
                            type: Array
                            value: INR
                          - displayName: IQD
                            required: false
                            type: Array
                            value: IQD
                          - displayName: IRR
                            required: false
                            type: Array
                            value: IRR
                          - displayName: ISK
                            required: false
                            type: Array
                            value: ISK
                          - displayName: JEP
                            required: false
                            type: Array
                            value: JEP
                          - displayName: JMD
                            required: false
                            type: Array
                            value: JMD
                          - displayName: JOD
                            required: false
                            type: Array
                            value: JOD
                          - displayName: JPY
                            required: false
                            type: Array
                            value: JPY
                          - displayName: KES
                            required: false
                            type: Array
                            value: KES
                          - displayName: KGS
                            required: false
                            type: Array
                            value: KGS
                          - displayName: KHR
                            required: false
                            type: Array
                            value: KHR
                          - displayName: KMF
                            required: false
                            type: Array
                            value: KMF
                          - displayName: KPW
                            required: false
                            type: Array
                            value: KPW
                          - displayName: KRW
                            required: false
                            type: Array
                            value: KRW
                          - displayName: KWD
                            required: false
                            type: Array
                            value: KWD
                          - displayName: KYD
                            required: false
                            type: Array
                            value: KYD
                          - displayName: KZT
                            required: false
                            type: Array
                            value: KZT
                          - displayName: LAK
                            required: false
                            type: Array
                            value: LAK
                          - displayName: LBP
                            required: false
                            type: Array
                            value: LBP
                          - displayName: LKR
                            required: false
                            type: Array
                            value: LKR
                          - displayName: LRD
                            required: false
                            type: Array
                            value: LRD
                          - displayName: LSL
                            required: false
                            type: Array
                            value: LSL
                          - displayName: LYD
                            required: false
                            type: Array
                            value: LYD
                          - displayName: MAD
                            required: false
                            type: Array
                            value: MAD
                          - displayName: MDL
                            required: false
                            type: Array
                            value: MDL
                          - displayName: MGA
                            required: false
                            type: Array
                            value: MGA
                          - displayName: MKD
                            required: false
                            type: Array
                            value: MKD
                          - displayName: MMK
                            required: false
                            type: Array
                            value: MMK
                          - displayName: MNT
                            required: false
                            type: Array
                            value: MNT
                          - displayName: MOP
                            required: false
                            type: Array
                            value: MOP
                          - displayName: MRO
                            required: false
                            type: Array
                            value: MRO
                          - displayName: MUR
                            required: false
                            type: Array
                            value: MUR
                          - displayName: MVR
                            required: false
                            type: Array
                            value: MVR
                          - displayName: MWK
                            required: false
                            type: Array
                            value: MWK
                          - displayName: MXN
                            required: false
                            type: Array
                            value: MXN
                          - displayName: MYR
                            required: false
                            type: Array
                            value: MYR
                          - displayName: MZN
                            required: false
                            type: Array
                            value: MZN
                          - displayName: NAD
                            required: false
                            type: Array
                            value: NAD
                          - displayName: NGN
                            required: false
                            type: Array
                            value: NGN
                          - displayName: NIO
                            required: false
                            type: Array
                            value: NIO
                          - displayName: NOK
                            required: false
                            type: Array
                            value: NOK
                          - displayName: NPR
                            required: false
                            type: Array
                            value: NPR
                          - displayName: NZD
                            required: false
                            type: Array
                            value: NZD
                          - displayName: OMR
                            required: false
                            type: Array
                            value: OMR
                          - displayName: PAB
                            required: false
                            type: Array
                            value: PAB
                          - displayName: PEN
                            required: false
                            type: Array
                            value: PEN
                          - displayName: PGK
                            required: false
                            type: Array
                            value: PGK
                          - displayName: PHP
                            required: false
                            type: Array
                            value: PHP
                          - displayName: PKR
                            required: false
                            type: Array
                            value: PKR
                          - displayName: PLN
                            required: false
                            type: Array
                            value: PLN
                          - displayName: PYG
                            required: false
                            type: Array
                            value: PYG
                          - displayName: QAR
                            required: false
                            type: Array
                            value: QAR
                          - displayName: RON
                            required: false
                            type: Array
                            value: RON
                          - displayName: RSD
                            required: false
                            type: Array
                            value: RSD
                          - displayName: RUB
                            required: false
                            type: Array
                            value: RUB
                          - displayName: RWF
                            required: false
                            type: Array
                            value: RWF
                          - displayName: SAR
                            required: false
                            type: Array
                            value: SAR
                          - displayName: SBD
                            required: false
                            type: Array
                            value: SBD
                          - displayName: SCR
                            required: false
                            type: Array
                            value: SCR
                          - displayName: SDG
                            required: false
                            type: Array
                            value: SDG
                          - displayName: SEK
                            required: false
                            type: Array
                            value: SEK
                          - displayName: SGD
                            required: false
                            type: Array
                            value: SGD
                          - displayName: SHP
                            required: false
                            type: Array
                            value: SHP
                          - displayName: SLL
                            required: false
                            type: Array
                            value: SLL
                          - displayName: SOS
                            required: false
                            type: Array
                            value: SOS
                          - displayName: SPL
                            required: false
                            type: Array
                            value: SPL
                          - displayName: SRD
                            required: false
                            type: Array
                            value: SRD
                          - displayName: STD
                            required: false
                            type: Array
                            value: STD
                          - displayName: SVC
                            required: false
                            type: Array
                            value: SVC
                          - displayName: SYP
                            required: false
                            type: Array
                            value: SYP
                          - displayName: SZL
                            required: false
                            type: Array
                            value: SZL
                          - displayName: THB
                            required: false
                            type: Array
                            value: THB
                          - displayName: TJS
                            required: false
                            type: Array
                            value: TJS
                          - displayName: TMT
                            required: false
                            type: Array
                            value: TMT
                          - displayName: TND
                            required: false
                            type: Array
                            value: TND
                          - displayName: TOP
                            required: false
                            type: Array
                            value: TOP
                          - displayName: TRY
                            required: false
                            type: Array
                            value: TRY
                          - displayName: TTD
                            required: false
                            type: Array
                            value: TTD
                          - displayName: TVD
                            required: false
                            type: Array
                            value: TVD
                          - displayName: TWD
                            required: false
                            type: Array
                            value: TWD
                          - displayName: TZS
                            required: false
                            type: Array
                            value: TZS
                          - displayName: UAH
                            required: false
                            type: Array
                            value: UAH
                          - displayName: UGX
                            required: false
                            type: Array
                            value: UGX
                          - displayName: USD
                            required: false
                            type: Array
                            value: USD
                          - displayName: UYU
                            required: false
                            type: Array
                            value: UYU
                          - displayName: UZS
                            required: false
                            type: Array
                            value: UZS
                          - displayName: VEF
                            required: false
                            type: Array
                            value: VEF
                          - displayName: VND
                            required: false
                            type: Array
                            value: VND
                          - displayName: VUV
                            required: false
                            type: Array
                            value: VUV
                          - displayName: WST
                            required: false
                            type: Array
                            value: WST
                          - displayName: XAF
                            required: false
                            type: Array
                            value: XAF
                          - displayName: XCD
                            required: false
                            type: Array
                            value: XCD
                          - displayName: XDR
                            required: false
                            type: Array
                            value: XDR
                          - displayName: XOF
                            required: false
                            type: Array
                            value: XOF
                          - displayName: XPF
                            required: false
                            type: Array
                            value: XPF
                          - displayName: YER
                            required: false
                            type: Array
                            value: YER
                          - displayName: ZAR
                            required: false
                            type: Array
                            value: ZAR
                          - displayName: ZMW
                            required: false
                            type: Array
                            value: ZMW
                          - displayName: ZWD
                            required: false
                            type: Array
                            value: ZWD
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Can be used for Payments on Account only
                              field: Currency
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                required: true
                                type: String
                            required: true
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Payment Amount must not exceed Invoice Amount Due or available Customer Credit
                                  field: Lines.Links
                                - details: Must be a Payment with one Invoice of PaymentOnAccount Link or two links of types Invoice and PaymentOnAccount
                                  field: Lines.Links
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one line is supported
                              field: Lines
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: AccountRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: AccountRef.Id
                                - details: Must match the ID of an existing account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: CustomerRef.Id
                                - details: Must match the ID of an existing customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: CustomerRef
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Precision must be maximum of two decimal places.
                                      field: Links.Amount
                                    - details: Must be provided.
                                      field: Links.Amount
                                  warnings: []
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Id
                                  warnings: []
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - required: false
                                    type: String
                                    value: Invoice
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: Lines
                          warnings: []
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be greater than 8 characters long.
                              field: Reference
                          warnings: []
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided and must equal the sum of the link items amount.
                              field: TotalAmount
                          warnings:
                            - details: Precision must be maximum of two decimal places.
                              field: TotalAmount
                            - details: Must be greater than zero.
                              field: TotalAmount
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing account of type 'Bank' OR type 'Asset' (with category 'FixedAsset'/'OthAsset'/'OthCurrAsset') OR type 'Liability' (with category 'LongTermLiab'/'OthCurrLiab') OR type 'Expense' (with category 'Expense'/'OthExpense')
                                  field: AccountRef.Id
                        required: false
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: If the currency is set make sure it's the same as the 'Invoice' and/or 'CreditMemo' currency
                              field: Currency
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: If the Link Type specified is an 'Invoice' or 'CreditNote' make sure the status is either 'PartiallyPaid' or 'Submitted'
                                      field: Links.Id
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Payment On Account
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: This field can be used to provide a tracking category id (Location only)
                              field: Reference
                          warnings:
                            - details: The id format should be 'location-<NUMBER>'
                              field: Reference
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must be greater than zero
                              field: TotalAmount
                            - details: Must be provided and must be equal to the sum of the lines amounts
                              field: TotalAmount
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Not required if total amount of the payment is 0.
                                  field: AccountRef.Id
                              warnings:
                                - details: Must match the ID of an existing 'Bank' or 'Other Current Asset' account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the customer.
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the customer.
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Amount plus the sum of amounts in the links must equal 0
                                  field: Lines.Amount
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Payment On Account
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Only 1 link with type 'PaymentOnAccount' may be specified per line, this line may contain no other links
                                      field: Links.Type
                                    - details: Only 1 link with type 'Invoice' may be specified per line
                                      field: Links.Type
                            required: true
                            type: Array
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 20 characters.
                              field: Reference
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the sum of amounts in the lines
                              field: TotalAmount
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Must match the ID of an existing Account.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company
                              field: Currency
                          warnings: []
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be the ID of the Customer associated with the Invoice, Credit Note or Payment On Account.
                              field: CustomerRef
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Payment On Account
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: false
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      paymentMethodRef:
                        description: Reference to the method of this payment
                        displayName: Payment Method Reference
                        properties:
                          id:
                            description: The reference identifier for the payment method
                            displayName: Identifier
                            required: true
                            type: String
                        required: false
                        type: Object
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                        required: false
                        type: Object
                        validation:
                          information:
                            - details: Must match the ID of an existing Account.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company
                              field: Currency
                          warnings: []
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be the ID of the Customer associated with the Invoice, Credit Note or Payment On Account.
                              field: CustomerRef
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Payment On Account
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: false
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      paymentMethodRef:
                        description: Reference to the method of this payment
                        displayName: Payment Method Reference
                        properties:
                          id:
                            description: The reference identifier for the payment method
                            displayName: Identifier
                            required: true
                            type: String
                        required: false
                        type: Object
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: The bank account to pay this invoice from.
                        displayName: Bank Account
                        properties:
                          id:
                            description: Nominal code of the bank account.
                            displayName: Account Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing bank account and have a max length of 8 characters.
                                  field: accountRef.id
                        required: true
                        type: Object
                      customerRef:
                        description: Customer to be paid.
                        displayName: Customer
                        properties:
                          id:
                            description: Identifier of the customer.
                            displayName: Customer Id
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer and have a max length of 8 characters.
                                  field: customerRef.id
                        required: true
                        type: Object
                      date:
                        description: The date this payment was issued.
                        displayName: Issue Date
                        required: true
                        type: Number
                      lines:
                        description: Line items of the payment.
                        displayName: Line Items
                        properties:
                          amount:
                            description: The amount of this line item
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: this must equal the negative of the sum of the link amounts
                              warnings: []
                          links:
                            description: Links to the invoice being paid.
                            displayName: Links
                            properties:
                              amount:
                                description: The amount to be added to the value of the invoice
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: When paying off an invoice, this value will be negative
                                  warnings: []
                              id:
                                description: The ID of the invoice to pay
                                displayName: Invoice Id
                                required: true
                                type: String
                              type:
                                description: The type of the item to be paid
                                displayName: Payment Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: Payment On Account
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                  - displayName: Refund
                                    required: false
                                    type: String
                                    value: Refund
                                  - displayName: Credit Note
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Payment
                                    required: false
                                    type: String
                                    value: Payment
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Sage 50 only supports one line item per invoice payment so all lines will be merged together in the response.
                          warnings: []
                      note:
                        description: A description of the payment.
                        displayName: Note
                        required: false
                        type: Number
                      reference:
                        description: The user reference for this invoice payment.
                        displayName: Reference
                        required: false
                        type: Number
                      totalAmount:
                        description: The total amount being paid to the customer.
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: This must equal the sum of the line amounts
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: AccountRef.Id
                              warnings:
                                - details: Must match the ID of an existing Account.
                                  field: AccountRef.Id
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: Required unless the Payment is only allocating a Credit Note.
                              field: AccountRef
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If supplied, must match the currency of the customer.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must match the ID of an existing Customer.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Amount
                                  warnings:
                                    - details: Must be greater than zero except when Type is Invoice
                                      field: Links.Amount
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Id
                                  warnings: []
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: PaymentOnAccount
                                    required: false
                                    type: String
                                    value: PaymentOnAccount
                                  - displayName: Refund
                                    required: false
                                    type: String
                                    value: Refund
                                  - displayName: CreditNote
                                    required: false
                                    type: String
                                    value: CreditNote
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Should not be longer than 25 characters.
                              field: Note
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided.
                              field: TotalAmount
                          warnings:
                            - details: Must be zero when allocating against Invoices using a Credit Note only.
                              field: TotalAmount
                            - details: Must equal the sum of the link items amount.
                              field: TotalAmount
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: For undeposited payments use the GL account record number to charge.
                                  field: AccountRef.Id
                                - details: To charge either a savings, checking or credit card account use its associated GL account number.
                                  field: AccountRef.Id
                              warnings: []
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Is required if currency is provided.
                              field: CurrencyRate
                          warnings: []
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be an existing customer ID in Sage Intacct.
                                  field: CustomerRef.Id
                              warnings: []
                        required: true
                        type: Object
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must occur after the date the invoice was created.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: When added together with the sum of the Links.Amount the total must be zero.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must not be more than the total amount due for an invoice or the available funds in the account to be charged.
                                      field: Links.Amount
                                  warnings: []
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be a valid Record No. from accounts receivable of either an invoice for an 'Invoice', adjustment for a 'CreditNote' or an advance for a 'PaymentOnAccount' in Sage Intacct.
                                      field: Links.Id
                                    - details: Must be an integer.
                                      field: Links.Id
                                    - details: Must related to CustomerRef.Id in Sage Intacct.
                                      field: Links.Id
                                  warnings: []
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be one of Invoiceor CreditNoteor PaymentOnAccount.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: No more than two links can exist when paying for an invoice via a CreditNoteor PaymentOnAccount.
                                  field: Lines.Links
                                - details: Must contain only one Invoice.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must contain at least one payment line.
                              field: Lines
                          warnings: []
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must be less than 1000 characters.
                              field: Note
                          warnings: []
                      paymentMethodRef:
                        description: Reference to the method of this payment
                        displayName: Payment Method Reference
                        properties:
                          id:
                            description: The reference identifier for the payment method
                            displayName: Identifier
                            options:
                              - displayName: Printed Check
                                required: false
                                type: String
                                value: "1"
                              - displayName: Credit Card
                                required: false
                                type: String
                                value: "3"
                              - displayName: EFT
                                required: false
                                type: String
                                value: "5"
                              - displayName: Cash
                                required: false
                                type: String
                                value: "6"
                            required: true
                            type: String
                        required: true
                        type: Object
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Can be used to set the Document/Check No. in Sage Intacct.
                              field: Reference
                          warnings: []
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must equal the sum of Lines.Amount.
                              field: TotalAmount
                          warnings: []
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Sage Intacct handles allocated payments only.
                      warnings: []
                Sandbox:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                          name:
                            description: Name of the account
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          companyName:
                            description: The name of the customer referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          allocatedOnDate:
                            description: The date the payment was allocated
                            displayName: Allocated On Date
                            required: true
                            type: DateTime
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                              currencyRate:
                                description: The exchange rate between the currency of the payment and the currency of the linked transaction
                                displayName: Currency Exchange Rate
                                required: true
                                type: Number
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                required: true
                                type: String
                            required: true
                            type: Array
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: true
                        type: String
                      paymentMethodRef:
                        description: Reference to the method of this payment
                        displayName: Payment Method Reference
                        properties:
                          id:
                            description: The reference identifier for the payment method
                            displayName: Identifier
                            required: true
                            type: String
                          name:
                            description: The name of the payment method referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: true
                        type: String
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be either a type of BANK account or enable payments must be switched on.
                                  field: AccountRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: AccountRef.Id
                                - details: Must match the ID of an existing account.
                                  field: AccountRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: AccountRef
                          warnings: []
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: false
                        type: Number
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: CustomerRef.Id
                              warnings:
                                - details: Must be a valid GUID.
                                  field: CustomerRef.Id
                                - details: Must match the ID of an existing account.
                                  field: CustomerRef.Id
                        required: true
                        type: Object
                        validation:
                          information:
                            - details: Must be provided.
                              field: CustomerRef
                          warnings: []
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          amount:
                            description: The total amount for the line in the payment currency
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Amount
                              warnings: []
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Amount
                                  warnings: []
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Invoice and Credit Note ID must be provided in order to allocate a Credit Note to an Invoice.
                                      field: Links.Id
                                    - details: Must be provided.
                                      field: Links.Id
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: Links.Id
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: String
                                    value: Invoice
                                  - displayName: CreditNote
                                    required: false
                                    type: String
                                    value: CreditNote
                                  - displayName: Payment
                                    required: false
                                    type: String
                                    value: Payment
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be provided.
                                      field: Links.Type
                                  warnings: []
                            required: true
                            type: Array
                            validation:
                              information:
                                - details: Must be provided.
                                  field: Lines.Links
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: Lines
                          warnings: []
                      reference:
                        description: A user friendly reference for the payment
                        displayName: Reference
                        required: false
                        type: String
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information:
                            - details: Must be provided and must equal the sum of the link items amount.
                              field: TotalAmount
                          warnings:
                            - details: Must be greater than 0, unless the payment is a credit note allocation.
                              field: TotalAmount
                    required: true
                    type: Object
                Zoho Books:
                  value:
                    description: A payment represents an allocation of transactions across an 'accounts receivable' account (customer)
                    displayName: Payment
                    properties:
                      accountRef:
                        description: Reference to the nominal account the payment is linked to
                        displayName: Nominal Account Reference
                        properties:
                          id:
                            description: The identifier for the account
                            displayName: Account ID
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: AccountRef.ID is required when making a payment to an invoice and/or a payment on account
                                  field: AccountRef.Id
                        required: true
                        type: Object
                      currency:
                        description: Currency of the payment
                        displayName: Currency
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: must match the currency of any invoices or credit notes
                              field: Currency
                      currencyRate:
                        description: The exchange rate between the currency of the payment and the base currency of the company
                        displayName: Currency Exchange Rate
                        required: true
                        type: Number
                      customerRef:
                        description: Reference to the customer the payment has been sent by
                        displayName: Customer Reference
                        properties:
                          id:
                            description: The reference identifier for the customer
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      date:
                        description: The date the payment was recorded
                        displayName: Date
                        required: true
                        type: DateTime
                      lines:
                        description: A collection of payment lines
                        displayName: Lines
                        properties:
                          links:
                            description: A collection of linked transactions
                            displayName: Links
                            properties:
                              amount:
                                description: The amount by which the balance of the linked entity is altered, in the currency of the linked entity
                                displayName: Amount
                                required: true
                                type: Number
                                validation:
                                  information: []
                                  warnings:
                                    - details: the sum of all link amounts must equal the negated total amount of the payment
                                      field: Links.Amount
                              id:
                                description: The identifier for the referenced transaction
                                displayName: Identifier
                                required: true
                                type: String
                              type:
                                description: The type of transaction that is being linked
                                displayName: Link Type
                                options:
                                  - displayName: Invoice
                                    required: false
                                    type: Array
                                  - displayName: CreditNote
                                    required: false
                                    type: Array
                                  - displayName: PaymentOnAccount
                                    required: false
                                    type: Array
                                required: true
                                type: String
                            required: true
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: if a credit note link is provided, exactly one invoice link must be provided, otherwise unlimited invoice links and one payment on account link are allowed
                                  field: Lines.Links
                        required: true
                        type: Array
                      note:
                        description: Any additional text based information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      totalAmount:
                        description: The total amount of the payment, inclusive of discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: must be greater than or equal to 0
                              field: TotalAmount
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create payment model
      tags:
        - Payments
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/purchaseOrders":
    get:
      description: |-
        Get create/update purchase order model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=purchaseOrders) for integrations that support creating and updating purchase orders.
      operationId: get-create-update-purchaseOrders-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Oracle NetSuite:
                  value:
                    description: A purchase order is an official document issued by a buyer to their supplier. It details the types, quantities, and agreed prices of the goods the buyer wishes to purchase
                    displayName: Purchase Order
                    properties:
                      currency:
                        description: Currency of the purchase order
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: Rate for converting the total amount of the purchase order into the base currency for the company
                        displayName: Currency Rate
                        required: true
                        type: Number
                      expectedDeliveryDate:
                        description: Expected delivery date for any goods that have been ordered
                        displayName: Expected Delivery Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: Date of the purchase order as recorded in the accounting platform
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: Collection of items that relate to the purchase order
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the account to which the line item is linked
                            displayName: Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Should not be a bank account
                                  field: LineItems.AccountRef
                                - details: Should only be specified when pushing an expense
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name for the goods that have been ordered
                            displayName: Description
                            required: false
                            type: String
                          itemRef:
                            description: Reference to the product or inventory item to which the line item is linked
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Should only be specified when pushing an item (not an expense)
                                  field: LineItems.ItemRef
                          quantity:
                            description: Number of units of the goods that have been ordered
                            displayName: Quantity
                            required: false
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate to which the line item is linked
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Should be specified when item type is not 'Discount'
                                  field: LineItems.TaxRateRef
                          trackingCategoryRefs:
                            description: Reference to the tracking categories to which the line item is linked
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                            required: false
                            type: Array
                          unitAmount:
                            description: Price of each unit of the goods
                            displayName: Unit Amount
                            required: false
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Any additional information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      status:
                        description: Current state of the purchase order
                        displayName: Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                        required: true
                        type: String
                      supplierRef:
                        description: Supplier that the purchase order is recorded against in the accounting system
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A purchase order is an official document issued by a buyer to their supplier. It details the types, quantities, and agreed prices of the goods the buyer wishes to purchase
                    displayName: Purchase Order
                    properties:
                      currency:
                        description: Currency of the purchase order
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the default currency of the customer
                              field: Currency
                          warnings:
                            - details: Must be a three letter ISO code that matches the currency of the customer
                              field: Currency
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: Currency
                      currencyRate:
                        description: Rate for converting the total amount of the purchase order into the base currency for the company
                        displayName: Currency Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If not set, will default to the rate set within QuickBooks Desktop, if no rate is set in QuickBooks Desktop, it will default to 1.
                              field: CurrencyRate
                            - details: Can only be set if the Quickbooks Desktop company has Multicurrency enabled.
                              field: CurrencyRate
                          warnings: []
                      expectedDeliveryDate:
                        description: Expected delivery date for any goods that have been ordered
                        displayName: Expected Delivery Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: Date of the purchase order as recorded in the accounting platform
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: Collection of items that relate to the purchase order
                        displayName: Line Items
                        properties:
                          description:
                            description: Friendly name for the goods that have been ordered
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 4000 characters.
                                  field: LineItems.Description
                          itemRef:
                            description: Reference to the product or inventory item to which the line item is linked
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.ItemRef
                            required: true
                            type: Object
                          quantity:
                            description: Number of units of the goods that have been ordered
                            displayName: Quantity
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate to which the line item is linked
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Only valid for UK or CA versions of QuickBooks Desktop with VAT enabled, will be ignored in US version
                                      field: TaxRateRef.Id
                                    - details: Must match the ID of an existing tax rate
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: Reference to the tracking categories to which the line item is linked
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tracking category.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                          unitAmount:
                            description: Price of each unit of the goods
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Any additional information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4000 characters.
                              field: Note
                      paymentDueDate:
                        description: Date the supplier is due to be paid
                        displayName: Payment Due Date
                        required: false
                        type: DateTime
                      purchaseOrderNumber:
                        description: Friendly reference for the purchase order, commonly generated by the accounting platform
                        displayName: Purchase Order Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 11 characters.
                              field: PurchaseOrderNumber
                      shipTo:
                        description: Delivery details for any goods that have been ordered
                        displayName: Ship To
                        properties:
                          address:
                            description: Delivery address for any goods that have been ordered
                            displayName: Address
                            properties:
                              city:
                                description: The third line of the address, or city
                                displayName: City
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 31 characters.
                                      field: Address.City
                              country:
                                description: The country for the address
                                displayName: Country
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 31 characters.
                                      field: Address.Country
                              line1:
                                description: The first line of the address
                                displayName: Line 1
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 41 characters.
                                      field: Address.Line1
                              line2:
                                description: The second line of the address
                                displayName: Line 2
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 41 characters.
                                      field: Address.Line2
                              postalCode:
                                description: The postal (or zip) code for the address
                                displayName: Postal/Zip Code
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 13 characters.
                                      field: Address.PostalCode
                              region:
                                description: The fourth line of the address, or region
                                displayName: Region
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Max length of 21 characters.
                                      field: Address.Region
                              type:
                                description: The type of the address
                                displayName: Address Type
                                options:
                                  - displayName: Delivery Address
                                    required: false
                                    type: String
                                    value: Delivery
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Only 1 address each of type(s) Delivery may be specified.
                                      field: Address.Type
                                  warnings: []
                            required: false
                            type: Object
                        required: false
                        type: Object
                      status:
                        description: Current state of the purchase order
                        displayName: Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                        required: true
                        type: String
                      supplierRef:
                        description: Supplier that the purchase order is recorded against in the accounting system
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing supplier.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                      totalAmount:
                        description: Total amount of the purchase order, including discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                        validation:
                          information: []
                          warnings:
                            - details: Must match the total amount in the line items.
                              field: TotalAmount
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: A purchase order is an official document issued by a buyer to their supplier. It details the types, quantities, and agreed prices of the goods the buyer wishes to purchase
                    displayName: Purchase Order
                    properties:
                      currency:
                        description: Currency of the purchase order
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: Rate for converting the total amount of the purchase order into the base currency for the company
                        displayName: Currency Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      deliveryDate:
                        description: Actual delivery date for any goods that have been ordered
                        displayName: Delivery Date
                        required: false
                        type: DateTime
                      expectedDeliveryDate:
                        description: Expected delivery date for any goods that have been ordered
                        displayName: Expected Delivery Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: Date of the purchase order as recorded in the accounting platform
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: Collection of items that relate to the purchase order
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the account to which the line item is linked
                            displayName: Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is account based. If AccountRef is specified, ItemRef must be null.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name for the goods that have been ordered
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Should not be longer than 4000 characters.
                                  field: LineItems.Description
                          discountAmount:
                            description: Value of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          itemRef:
                            description: Reference to the product or inventory item to which the line item is linked
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is item based. If ItemRef is specified, AccountRef must be null.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: Number of units of the goods that have been ordered
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: Amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate to which the line item is linked
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          unitAmount:
                            description: Price of each unit of the goods
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Any additional information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      purchaseOrderNumber:
                        description: Friendly reference for the purchase order, commonly generated by the accounting platform
                        displayName: Purchase Order Number
                        required: false
                        type: String
                      shipTo:
                        description: Delivery details for any goods that have been ordered
                        displayName: Ship To
                        required: false
                        type: Object
                      status:
                        description: Current state of the purchase order
                        displayName: Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                        required: true
                        type: String
                        validation:
                          information:
                            - details: QuickBooks Online only supports "Open" as a status for new purchase orders.
                              field: Status
                          warnings: []
                      supplierRef:
                        description: Supplier that the purchase order is recorded against in the accounting system
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A purchase order is an official document issued by a buyer to their supplier. It details the types, quantities, and agreed prices of the goods the buyer wishes to purchase
                    displayName: Purchase Order
                    properties:
                      currency:
                        description: Currency of the purchase order
                        displayName: Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Required if multi-currency is enabled for the company.
                              field: Currency
                          warnings: []
                      currencyRate:
                        description: Rate for converting the total amount of the purchase order into the base currency for the company
                        displayName: Currency Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: Required if Currency is not the base currency.
                              field: CurrencyRate
                          warnings: []
                      deliveryDate:
                        description: Actual delivery date for any goods that have been ordered
                        displayName: Delivery Date
                        required: false
                        type: DateTime
                      expectedDeliveryDate:
                        description: Expected delivery date for any goods that have been ordered
                        displayName: Expected Delivery Date
                        required: false
                        type: DateTime
                      issueDate:
                        description: Date of the purchase order as recorded in the accounting platform
                        displayName: Issue Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: If the issue date is not supplied, the current date on the server is used
                              field: IssueDate
                          warnings: []
                      lineItems:
                        description: Collection of items that relate to the purchase order
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the account to which the line item is linked
                            displayName: Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is account based. If AccountRef is specified, ItemRef must be null.
                                      field: AccountRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          description:
                            description: Friendly name for the goods that have been ordered
                            displayName: Description
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Should not be longer than 4000 characters.
                                  field: LineItems.Description
                          discountAmount:
                            description: Value of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          itemRef:
                            description: Reference to the product or inventory item to which the line item is linked
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information:
                                    - details: Required if the expense line is item based. If ItemRef is specified, AccountRef must be null.
                                      field: ItemRef.Id
                                  warnings:
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: true
                            type: Object
                          quantity:
                            description: Number of units of the goods that have been ordered
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: Amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate to which the line item is linked
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax code.
                                      field: TaxRateRef.Id
                            required: true
                            type: Object
                          unitAmount:
                            description: Price of each unit of the goods
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      note:
                        description: Any additional information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                      purchaseOrderNumber:
                        description: Friendly reference for the purchase order, commonly generated by the accounting platform
                        displayName: Purchase Order Number
                        required: false
                        type: String
                      shipTo:
                        description: Delivery details for any goods that have been ordered
                        displayName: Ship To
                        required: false
                        type: Object
                      status:
                        description: Current state of the purchase order
                        displayName: Status
                        options:
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                        required: true
                        type: String
                        validation:
                          information:
                            - details: QuickBooks Online only supports "Open" as a status for new purchase orders.
                              field: Status
                          warnings: []
                      supplierRef:
                        description: Supplier that the purchase order is recorded against in the accounting system
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A purchase order is an official document issued by a buyer to their supplier. It details the types, quantities, and agreed prices of the goods the buyer wishes to purchase
                    displayName: Purchase Order
                    properties:
                      currency:
                        description: Currency of the purchase order
                        displayName: Currency
                        required: true
                        type: String
                      currencyRate:
                        description: Rate for converting the total amount of the purchase order into the base currency for the company
                        displayName: Currency Rate
                        required: true
                        type: Number
                      deliveryDate:
                        description: Actual delivery date for any goods that have been ordered
                        displayName: Delivery Date
                        required: true
                        type: DateTime
                      expectedDeliveryDate:
                        description: Expected delivery date for any goods that have been ordered
                        displayName: Expected Delivery Date
                        required: true
                        type: DateTime
                      issueDate:
                        description: Date of the purchase order as recorded in the accounting platform
                        displayName: Issue Date
                        required: true
                        type: DateTime
                      lineItems:
                        description: Collection of items that relate to the purchase order
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the account to which the line item is linked
                            displayName: Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                              name:
                                description: Name of the account
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          description:
                            description: Friendly name for the goods that have been ordered
                            displayName: Description
                            required: true
                            type: String
                          discountAmount:
                            description: Value of any discounts applied
                            displayName: Discount Amount
                            required: true
                            type: Number
                          discountPercentage:
                            description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount
                            displayName: Discount Percentage
                            required: true
                            type: Number
                          itemRef:
                            description: Reference to the product or inventory item to which the line item is linked
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the item referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          quantity:
                            description: Number of units of the goods that have been ordered
                            displayName: Quantity
                            required: true
                            type: Number
                          subTotal:
                            description: Amount of the line, inclusive of discounts but exclusive of tax
                            displayName: Sub Total
                            required: true
                            type: Number
                          taxAmount:
                            description: Amount of tax for the line
                            displayName: Tax Amount
                            required: true
                            type: Number
                          taxRateRef:
                            description: Reference to the tax rate to which the line item is linked
                            displayName: Tax Rate Reference
                            properties:
                              effectiveTaxRate:
                                description: The total applied tax percentage, including compounding details
                                displayName: Effective Tax Rate
                                required: true
                                type: Number
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the tax rate referenced by the identifier
                                displayName: Name
                                required: true
                                type: String
                            required: true
                            type: Object
                          totalAmount:
                            description: The total amount of the line, inclusive of discounts and tax
                            displayName: Total Amount
                            required: true
                            type: Number
                          trackingCategoryRefs:
                            description: Reference to the tracking categories to which the line item is linked
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                              name:
                                description: The name of the category referenced by the identifier
                                displayName: Tracking Category Name
                                required: true
                                type: String
                            required: true
                            type: Array
                          unitAmount:
                            description: Price of each unit of the goods
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      note:
                        description: Any additional information associated with the payment
                        displayName: Note
                        required: true
                        type: String
                      paymentDueDate:
                        description: Date the supplier is due to be paid
                        displayName: Payment Due Date
                        required: true
                        type: DateTime
                      purchaseOrderNumber:
                        description: Friendly reference for the purchase order, commonly generated by the accounting platform
                        displayName: Purchase Order Number
                        required: true
                        type: String
                      shipTo:
                        description: Delivery details for any goods that have been ordered
                        displayName: Ship To
                        properties:
                          address:
                            description: Delivery address for any goods that have been ordered
                            displayName: Address
                            properties:
                              city:
                                description: The third line of the address, or city
                                displayName: City
                                required: true
                                type: String
                              country:
                                description: The country for the address
                                displayName: Country
                                required: true
                                type: String
                              line1:
                                description: The first line of the address
                                displayName: Line 1
                                required: true
                                type: String
                              line2:
                                description: The second line of the address
                                displayName: Line 2
                                required: true
                                type: String
                              postalCode:
                                description: The postal (or zip) code for the address
                                displayName: Postal/Zip Code
                                required: true
                                type: String
                              region:
                                description: The fourth line of the address, or region
                                displayName: Region
                                required: true
                                type: String
                              type:
                                description: The type of the address
                                displayName: Address Type
                                required: true
                                type: String
                            required: true
                            type: Object
                          contact:
                            description: Details of the named contact at the delivery address
                            displayName: Contact
                            properties:
                              email:
                                description: Email address of the contact at the delivery address
                                displayName: Email
                                required: true
                                type: String
                              name:
                                description: Name of the contact at the delivery address
                                displayName: Name
                                required: true
                                type: String
                              phone:
                                description: Phone number of the contact at the delivery address
                                displayName: Phone
                                required: true
                                type: String
                            required: true
                            type: Object
                        required: true
                        type: Object
                      status:
                        description: Current state of the purchase order
                        displayName: Status
                        required: true
                        type: String
                      subTotal:
                        description: Total amount of the purchase order, including discounts but excluding tax
                        displayName: Sub Total
                        required: true
                        type: Number
                      supplierRef:
                        description: Supplier that the purchase order is recorded against in the accounting system
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                          supplierName:
                            description: The name of the supplier referenced by the identifier
                            displayName: Name
                            required: true
                            type: String
                        required: true
                        type: Object
                      totalAmount:
                        description: Total amount of the purchase order, including discounts and tax
                        displayName: Total Amount
                        required: true
                        type: Number
                      totalDiscount:
                        description: Total value of any discounts applied to the purchase order
                        displayName: Total Discount
                        required: true
                        type: Number
                      totalTaxAmount:
                        description: Total amount of tax included in the purchase order
                        displayName: Total Tax Amount
                        required: true
                        type: Number
                    required: true
                    type: Object
                Xero:
                  value:
                    description: A purchase order is an official document issued by a buyer to their supplier. It details the types, quantities, and agreed prices of the goods the buyer wishes to purchase
                    displayName: Purchase Order
                    properties:
                      currency:
                        description: Currency of the purchase order
                        displayName: Currency
                        required: false
                        type: String
                      currencyRate:
                        description: Rate for converting the total amount of the purchase order into the base currency for the company
                        displayName: Currency Rate
                        required: false
                        type: Number
                        validation:
                          information:
                            - details: If no rate is specified, the Xero day rate will be applied.
                              field: CurrencyRate
                              ref: https://central.xero.com/s/#CurrencySettings$Rates
                          warnings: []
                      deliveryDate:
                        description: Actual delivery date for any goods that have been ordered
                        displayName: Delivery Date
                        required: false
                        type: DateTime
                      expectedDeliveryDate:
                        description: Expected delivery date for any goods that have been ordered
                        displayName: Expected Delivery Date
                        required: false
                        type: DateTime
                        validation:
                          information: []
                          warnings:
                            - details: Can only be provided for Purchase Orders with an Open status.
                              field: ExpectedDeliveryDate
                      issueDate:
                        description: Date of the purchase order as recorded in the accounting platform
                        displayName: Issue Date
                        required: false
                        type: DateTime
                      lineItems:
                        description: Collection of items that relate to the purchase order
                        displayName: Line Items
                        properties:
                          accountRef:
                            description: Reference to the account to which the line item is linked
                            displayName: Account Reference
                            properties:
                              id:
                                description: The identifier for the account
                                displayName: Account ID
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing account.
                                      field: AccountRef.Id
                                    - details: Must be provided.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided.
                                  field: LineItems.AccountRef
                          description:
                            description: Friendly name for the goods that have been ordered
                            displayName: Description
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must not exceed 4000 characters.
                                  field: LineItems.Description
                          discountAmount:
                            description: Value of any discounts applied
                            displayName: Discount Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must match DiscountPercentage if supplied
                                  field: LineItems.DiscountAmount
                          discountPercentage:
                            description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount
                            displayName: Discount Percentage
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must match DiscountAmount if supplied
                                  field: LineItems.DiscountPercentage
                          itemRef:
                            description: Reference to the product or inventory item to which the line item is linked
                            displayName: Item Reference
                            properties:
                              id:
                                description: The reference identifier for the item
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be a valid GUID.
                                      field: ItemRef.Id
                                    - details: Must match the ID of an existing item.
                                      field: ItemRef.Id
                            required: false
                            type: Object
                          quantity:
                            description: Number of units of the goods that have been ordered
                            displayName: Quantity
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must not be negative
                                  field: LineItems.Quantity
                          taxRateRef:
                            description: Reference to the tax rate to which the line item is linked
                            displayName: Tax Rate Reference
                            properties:
                              id:
                                description: The reference identifier for the tax rate
                                displayName: Identifier
                                required: false
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing tax rate.
                                      field: TaxRateRef.Id
                            required: false
                            type: Object
                          trackingCategoryRefs:
                            description: Reference to the tracking categories to which the line item is linked
                            displayName: Tracking Category References
                            properties:
                              id:
                                description: The identifier for the item, unique per tracking category
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must be provided.
                                      field: TrackingCategoryRefs.Id
                            required: false
                            type: Array
                            validation:
                              information: []
                              warnings:
                                - details: Tracking categories must not have the same parent tracking category.
                                  field: LineItems.TrackingCategoryRefs
                                - details: Maximum of 2 Tracking Categories.
                                  field: LineItems.TrackingCategoryRefs
                          unitAmount:
                            description: Price of each unit of the goods
                            displayName: Unit Amount
                            required: true
                            type: Number
                        required: true
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Must be provided and must not be empty
                              field: LineItems
                      note:
                        description: Any additional information associated with the payment
                        displayName: Note
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must not exceed 500 characters.
                              field: Note
                      purchaseOrderNumber:
                        description: Friendly reference for the purchase order, commonly generated by the accounting platform
                        displayName: Purchase Order Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be unique.
                              field: PurchaseOrderNumber
                      shipTo:
                        description: Delivery details for any goods that have been ordered
                        displayName: Ship To
                        properties:
                          address:
                            description: Delivery address for any goods that have been ordered
                            displayName: Address
                            properties:
                              city:
                                description: The third line of the address, or city
                                displayName: City
                                required: false
                                type: String
                              country:
                                description: The country for the address
                                displayName: Country
                                required: false
                                type: String
                              line1:
                                description: The first line of the address
                                displayName: Line 1
                                required: false
                                type: String
                              line2:
                                description: The second line of the address
                                displayName: Line 2
                                required: false
                                type: String
                              postalCode:
                                description: The postal (or zip) code for the address
                                displayName: Postal/Zip Code
                                required: false
                                type: String
                              region:
                                description: The fourth line of the address, or region
                                displayName: Region
                                required: false
                                type: String
                            required: false
                            type: Object
                          contact:
                            description: Details of the named contact at the delivery address
                            displayName: Contact
                            properties:
                              name:
                                description: Name of the contact at the delivery address
                                displayName: Name
                                required: false
                                type: String
                              phone:
                                description: Phone number of the contact at the delivery address
                                displayName: Phone
                                required: false
                                type: String
                            required: false
                            type: Object
                        required: false
                        type: Object
                      status:
                        description: Current state of the purchase order
                        displayName: Status
                        options:
                          - displayName: Draft
                            required: false
                            type: String
                            value: Draft
                          - displayName: Open
                            required: false
                            type: String
                            value: Open
                          - displayName: Closed
                            required: false
                            type: String
                            value: Closed
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: ExpectedDeliveryDate can only be provided for Purchase Orders with an Open status.
                              field: Status
                            - details: Must be provided.
                              field: Status
                      subTotal:
                        description: Total amount of the purchase order, including discounts but excluding tax
                        displayName: Sub Total
                        required: false
                        type: Number
                      supplierRef:
                        description: Supplier that the purchase order is recorded against in the accounting system
                        displayName: Supplier Reference
                        properties:
                          id:
                            description: The reference identifier for the supplier
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a valid GUID.
                                  field: SupplierRef.Id
                                - details: Must match the ID of an existing Supplier.
                                  field: SupplierRef.Id
                                - details: Must be provided.
                                  field: SupplierRef.Id
                        required: true
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: Must be provided.
                              field: SupplierRef
                      totalAmount:
                        description: Total amount of the purchase order, including discounts and tax
                        displayName: Total Amount
                        required: false
                        type: Number
                      totalDiscount:
                        description: Total value of any discounts applied to the purchase order
                        displayName: Total Discount
                        required: false
                        type: Number
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update purchase order model
      tags:
        - Purchase orders
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/suppliers":
    get:
      description: |-
        Get create/update supplier model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers) for integrations that support creating and updating suppliers.
      operationId: get-create-update-suppliers-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Exact (Netherlands):
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a 2-letter country code
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Only the first address provided will be considered, all other entries will be not be recorded
                              field: Addresses
                          warnings: []
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: false
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Only for Exact Netherlands, if provided, must be exactly 20 characters in length
                              field: RegistrationNumber
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                Exact (UK):
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a 2-letter country code
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Only the first address provided will be considered, all other entries will be not be recorded
                              field: Addresses
                          warnings: []
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: false
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Only for Exact Netherlands, if provided, must be exactly 20 characters in length
                              field: RegistrationNumber
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: true
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Only one address may be specified
                              field: Addresses
                          warnings: []
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                MYOB AccountRight and Essentials:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 255 characters.
                                  field: Addresses.City
                              warnings: []
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 255 characters.
                                  field: Addresses.Country
                              warnings: []
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 127 characters.
                                  field: Addresses.Line1
                              warnings: []
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 127 characters.
                                  field: Addresses.Line2
                              warnings: []
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 11 characters.
                                  field: Addresses.PostalCode
                              warnings: []
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information:
                                - details: Must not be longer than 255 characters.
                                  field: Addresses.Region
                              warnings: []
                        required: true
                        type: Array
                        validation:
                          information:
                            - details: Must be provided.
                              field: Addresses
                          warnings:
                            - details: Must only have 5 address entries at most.
                              field: Addresses
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 255 characters.
                              field: EmailAddress
                          warnings: []
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 21 characters.
                              field: Phone
                          warnings: []
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 14 characters.
                              field: RegistrationNumber
                          warnings: []
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - required: false
                            type: String
                            value: Active
                          - required: false
                            type: String
                            value: Unknown
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided.
                              field: Status
                          warnings: []
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                        validation:
                          information:
                            - details: Must be provided and must contain a First and Last name separated by a ' '(space).
                              field: SupplierName
                          warnings:
                            - details: Must not have the part after the first name longer than 30 characters.
                              field: SupplierName
                            - details: Must not have its first part (i.e. the first name) longer than 20 characters.
                              field: SupplierName
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 19 characters.
                              field: TaxNumber
                          warnings: []
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be a two letter Country ISO code
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery
                                required: false
                                type: String
                                value: Delivery
                              - displayName: Unknown
                                required: false
                                type: String
                                value: Unknown
                            required: true
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Multiple addresses of Unknown type may be provided
                              field: Addresses
                          warnings:
                            - details: Only one each of Billing and Delivery addresses can be provided
                              field: Addresses
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                QuickBooks Desktop:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 31 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 31 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 41 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 41 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 13 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 21 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Only 1 address each of type(s) Billing/Delivery may be specified.
                                  field: Addresses.Type
                              warnings: []
                        required: false
                        type: Array
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 25 characters for first and last names
                              field: ContactName
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: false
                        type: String
                        validation:
                          information:
                            - details: If not set, will default to the base currency of the QuickBooks Desktop company
                              field: DefaultCurrency
                          warnings:
                            - details: Must be a three letter ISO code that matches an existing, active currency in the QuickBooks Desktop company
                              field: DefaultCurrency
                            - details: Can only be set if Multicurrency is enabled within the QuickBooks Desktop company
                              field: DefaultCurrency
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 41 characters.
                              field: SupplierName
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 30 characters.
                              field: TaxNumber
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 50 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only English alphabet characters are permitted.
                                  field: Addresses.PostalCode
                                - details: Max length of 50 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                            required: true
                            type: String
                        required: false
                        type: Array
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Country, area, and number are space separated
                              field: Phone
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                QuickBooks Online Sandbox:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 50 characters.
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only English alphabet characters are permitted.
                                  field: Addresses.PostalCode
                                - details: Max length of 50 characters.
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: Addresses.Region
                          type:
                            description: The type of the address
                            displayName: Address Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                            required: true
                            type: String
                        required: false
                        type: Array
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Country, area, and number are space separated
                              field: Phone
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                Sage 50 (UK):
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: Contact addresses for the supplier.
                        displayName: Addresses
                        properties:
                          city:
                            description: The city of the supplier address.
                            displayName: City
                            required: false
                            type: String
                          line1:
                            description: Line 1 of the supplier address.
                            displayName: Line 1
                            required: true
                            type: String
                          line2:
                            description: Line 2 of the supplier address.
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: Post or Zip code for the address.
                            displayName: Postal code
                            required: false
                            type: String
                          region:
                            description: The region of the supplier address.
                            displayName: Region
                            required: false
                            type: String
                          type:
                            description: The type of address as it related to the supplier.
                            displayName: Type
                            options:
                              - displayName: Unknown Address
                                required: false
                                type: String
                                value: Unknown
                            required: false
                            type: String
                            validation:
                              information:
                                - details: If Address type is not specified, it will default to type ''Unknown''
                                  field: addresses.type
                              warnings: []
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: Only one address can be included in the Addresses array.
                              field: addresses
                      contactName:
                        description: The name of the main contact for the supplier.
                        displayName: Contact Name
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The contact name can have a maximum of 30 characters
                              field: contactName
                      defaultCurrency:
                        description: If not provided, the currency will default to the company's base currency.
                        displayName: Default Currency
                        required: false
                        type: String
                      emailAddress:
                        description: The email address that the supplier may be contacted on.
                        displayName: Email Address
                        required: false
                        type: String
                      id:
                        description: ID of the supplier.
                        displayName: Id
                        required: true
                        type: String
                        validation:
                          information:
                            - details: The supplier ID must be all Uppercase, if it is not, it will be converted to Uppercase before pushing.
                              field: id
                          warnings:
                            - details: The supplier ID must be unique, contain no spaces and have a maximum of 8 characters.
                              field: id
                      phone:
                        description: The telephone number that the supplier may be contacted on.
                        displayName: Telephone
                        required: false
                        type: String
                      status:
                        description: The status of the supplier.
                        displayName: Status
                        options:
                          - displayName: Active Status
                            required: false
                            type: String
                            value: Active
                        required: false
                        type: String
                      supplierName:
                        description: Name of the supplier.
                        displayName: Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: The supplier name can have a maximum of 60 characters
                              field: supplierName
                      taxNumber:
                        description: Legal company registration identifier.
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                    validation:
                      information:
                        - details: Pushing to Sage 50 2015 (v21) or below is not supported. To enable push, please upgrade to at least Sage 50 2016 (v22) and re-sync the company.
                      warnings: []
                Sage Business Cloud Accounting:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            options:
                              - displayName: Afghanistan (AF)
                                required: false
                                type: String
                                value: Afghanistan (AF)
                              - displayName: Albania (AL)
                                required: false
                                type: String
                                value: Albania (AL)
                              - displayName: Algeria (DZ)
                                required: false
                                type: String
                                value: Algeria (DZ)
                              - displayName: Andorra (AD)
                                required: false
                                type: String
                                value: Andorra (AD)
                              - displayName: Angola (AO)
                                required: false
                                type: String
                                value: Angola (AO)
                              - displayName: Argentina (AR)
                                required: false
                                type: String
                                value: Argentina (AR)
                              - displayName: Armenia (AM)
                                required: false
                                type: String
                                value: Armenia (AM)
                              - displayName: Aruba (AW)
                                required: false
                                type: String
                                value: Aruba (AW)
                              - displayName: Australia (AU)
                                required: false
                                type: String
                                value: Australia (AU)
                              - displayName: Austria (AT)
                                required: false
                                type: String
                                value: Austria (AT)
                              - displayName: Azerbaijan (AZ)
                                required: false
                                type: String
                                value: Azerbaijan (AZ)
                              - displayName: Bahamas (BS)
                                required: false
                                type: String
                                value: Bahamas (BS)
                              - displayName: Bahrain (BH)
                                required: false
                                type: String
                                value: Bahrain (BH)
                              - displayName: Bangladesh (BD)
                                required: false
                                type: String
                                value: Bangladesh (BD)
                              - displayName: Barbados (BB)
                                required: false
                                type: String
                                value: Barbados (BB)
                              - displayName: Belarus (BY)
                                required: false
                                type: String
                                value: Belarus (BY)
                              - displayName: Belgium (BE)
                                required: false
                                type: String
                                value: Belgium (BE)
                              - displayName: Belize (BZ)
                                required: false
                                type: String
                                value: Belize (BZ)
                              - displayName: Benin (BJ)
                                required: false
                                type: String
                                value: Benin (BJ)
                              - displayName: Bermuda (BM)
                                required: false
                                type: String
                                value: Bermuda (BM)
                              - displayName: Bhutan (BT)
                                required: false
                                type: String
                                value: Bhutan (BT)
                              - displayName: Bolivia (BO)
                                required: false
                                type: String
                                value: Bolivia (BO)
                              - displayName: Bosnia and Herzegovina (BA)
                                required: false
                                type: String
                                value: Bosnia and Herzegovina (BA)
                              - displayName: Botswana (BW)
                                required: false
                                type: String
                                value: Botswana (BW)
                              - displayName: Brazil (BR)
                                required: false
                                type: String
                                value: Brazil (BR)
                              - displayName: British Virgin Islands (VG)
                                required: false
                                type: String
                                value: British Virgin Islands (VG)
                              - displayName: Brunei Darussalam (BN)
                                required: false
                                type: String
                                value: Brunei Darussalam (BN)
                              - displayName: Bulgaria (BG)
                                required: false
                                type: String
                                value: Bulgaria (BG)
                              - displayName: Burkina Faso (BF)
                                required: false
                                type: String
                                value: Burkina Faso (BF)
                              - displayName: Burundi (BI)
                                required: false
                                type: String
                                value: Burundi (BI)
                              - displayName: Cambodia (KH)
                                required: false
                                type: String
                                value: Cambodia (KH)
                              - displayName: Cameroon (CM)
                                required: false
                                type: String
                                value: Cameroon (CM)
                              - displayName: Canada (CA)
                                required: false
                                type: String
                                value: Canada (CA)
                              - displayName: Cape Verde (CV)
                                required: false
                                type: String
                                value: Cape Verde (CV)
                              - displayName: Cayman Islands (KY)
                                required: false
                                type: String
                                value: Cayman Islands (KY)
                              - displayName: Central African Republic (CF)
                                required: false
                                type: String
                                value: Central African Republic (CF)
                              - displayName: Chad (TD)
                                required: false
                                type: String
                                value: Chad (TD)
                              - displayName: Chile (CL)
                                required: false
                                type: String
                                value: Chile (CL)
                              - displayName: China (CN)
                                required: false
                                type: String
                                value: China (CN)
                              - displayName: Colombia (CO)
                                required: false
                                type: String
                                value: Colombia (CO)
                              - displayName: Comoros (KM)
                                required: false
                                type: String
                                value: Comoros (KM)
                              - displayName: Congo (CG)
                                required: false
                                type: String
                                value: Congo (CG)
                              - displayName: Costa Rica (CR)
                                required: false
                                type: String
                                value: Costa Rica (CR)
                              - displayName: Croatia (HR)
                                required: false
                                type: String
                                value: Croatia (HR)
                              - displayName: Cuba (CU)
                                required: false
                                type: String
                                value: Cuba (CU)
                              - displayName: Cura�ao (CW)
                                required: false
                                type: String
                                value: Cura�ao (CW)
                              - displayName: Cyprus (CY)
                                required: false
                                type: String
                                value: Cyprus (CY)
                              - displayName: Czech Republic (CZ)
                                required: false
                                type: String
                                value: Czech Republic (CZ)
                              - displayName: Democratic Republic of the Congo (CD)
                                required: false
                                type: String
                                value: Democratic Republic of the Congo (CD)
                              - displayName: Denmark (DK)
                                required: false
                                type: String
                                value: Denmark (DK)
                              - displayName: Djibouti (DJ)
                                required: false
                                type: String
                                value: Djibouti (DJ)
                              - displayName: Dominica (DM)
                                required: false
                                type: String
                                value: Dominica (DM)
                              - displayName: Dominican Republic (DO)
                                required: false
                                type: String
                                value: Dominican Republic (DO)
                              - displayName: East Timor (TP)
                                required: false
                                type: String
                                value: East Timor (TP)
                              - displayName: Ecuador (EC)
                                required: false
                                type: String
                                value: Ecuador (EC)
                              - displayName: Egypt (EG)
                                required: false
                                type: String
                                value: Egypt (EG)
                              - displayName: El Salvador (SV)
                                required: false
                                type: String
                                value: El Salvador (SV)
                              - displayName: Equatorial Guinea (GQ)
                                required: false
                                type: String
                                value: Equatorial Guinea (GQ)
                              - displayName: Eritrea (ER)
                                required: false
                                type: String
                                value: Eritrea (ER)
                              - displayName: Estonia (EE)
                                required: false
                                type: String
                                value: Estonia (EE)
                              - displayName: Ethiopia (ET)
                                required: false
                                type: String
                                value: Ethiopia (ET)
                              - displayName: Falkland Islands (Malvinas) (FK)
                                required: false
                                type: String
                                value: Falkland Islands (Malvinas) (FK)
                              - displayName: Federated States of Micronesia (FM)
                                required: false
                                type: String
                                value: Federated States of Micronesia (FM)
                              - displayName: Fiji (FJ)
                                required: false
                                type: String
                                value: Fiji (FJ)
                              - displayName: Finland (FI)
                                required: false
                                type: String
                                value: Finland (FI)
                              - displayName: France (FR)
                                required: false
                                type: String
                                value: France (FR)
                              - displayName: French Polynesia (PF)
                                required: false
                                type: String
                                value: French Polynesia (PF)
                              - displayName: Gabon (GA)
                                required: false
                                type: String
                                value: Gabon (GA)
                              - displayName: Gambia (GM)
                                required: false
                                type: String
                                value: Gambia (GM)
                              - displayName: Georgia (GE)
                                required: false
                                type: String
                                value: Georgia (GE)
                              - displayName: Germany (DE)
                                required: false
                                type: String
                                value: Germany (DE)
                              - displayName: Ghana (GH)
                                required: false
                                type: String
                                value: Ghana (GH)
                              - displayName: Gibraltar (GI)
                                required: false
                                type: String
                                value: Gibraltar (GI)
                              - displayName: Greece (GR)
                                required: false
                                type: String
                                value: Greece (GR)
                              - displayName: Greenland (GL)
                                required: false
                                type: String
                                value: Greenland (GL)
                              - displayName: Grenada (GD)
                                required: false
                                type: String
                                value: Grenada (GD)
                              - displayName: Guadaloupe (GP)
                                required: false
                                type: String
                                value: Guadaloupe (GP)
                              - displayName: Guam (GU)
                                required: false
                                type: String
                                value: Guam (GU)
                              - displayName: Guatemala (GT)
                                required: false
                                type: String
                                value: Guatemala (GT)
                              - displayName: Guernsey (GG)
                                required: false
                                type: String
                                value: Guernsey (GG)
                              - displayName: Guinea (GN)
                                required: false
                                type: String
                                value: Guinea (GN)
                              - displayName: Guinea-Bissau (GW)
                                required: false
                                type: String
                                value: Guinea-Bissau (GW)
                              - displayName: Guyana (GY)
                                required: false
                                type: String
                                value: Guyana (GY)
                              - displayName: Haiti (HT)
                                required: false
                                type: String
                                value: Haiti (HT)
                              - displayName: Honduras (HN)
                                required: false
                                type: String
                                value: Honduras (HN)
                              - displayName: Hong Kong (HK)
                                required: false
                                type: String
                                value: Hong Kong (HK)
                              - displayName: Hungary (HU)
                                required: false
                                type: String
                                value: Hungary (HU)
                              - displayName: Iceland (IS)
                                required: false
                                type: String
                                value: Iceland (IS)
                              - displayName: India (IN)
                                required: false
                                type: String
                                value: India (IN)
                              - displayName: Indonesia (ID)
                                required: false
                                type: String
                                value: Indonesia (ID)
                              - displayName: Iran (IR)
                                required: false
                                type: String
                                value: Iran (IR)
                              - displayName: Iraq (IQ)
                                required: false
                                type: String
                                value: Iraq (IQ)
                              - displayName: Ireland (IE)
                                required: false
                                type: String
                                value: Ireland (IE)
                              - displayName: Israel (IL)
                                required: false
                                type: String
                                value: Israel (IL)
                              - displayName: Italy (IT)
                                required: false
                                type: String
                                value: Italy (IT)
                              - displayName: Ivory Coast (CI)
                                required: false
                                type: String
                                value: Ivory Coast (CI)
                              - displayName: Jamaica (JM)
                                required: false
                                type: String
                                value: Jamaica (JM)
                              - displayName: Japan (JP)
                                required: false
                                type: String
                                value: Japan (JP)
                              - displayName: Jersey (JE)
                                required: false
                                type: String
                                value: Jersey (JE)
                              - displayName: Jordan (JO)
                                required: false
                                type: String
                                value: Jordan (JO)
                              - displayName: Kazakhstan (KZ)
                                required: false
                                type: String
                                value: Kazakhstan (KZ)
                              - displayName: Kenya (KE)
                                required: false
                                type: String
                                value: Kenya (KE)
                              - displayName: Kuwait (KW)
                                required: false
                                type: String
                                value: Kuwait (KW)
                              - displayName: Kyrgyzstan (KG)
                                required: false
                                type: String
                                value: Kyrgyzstan (KG)
                              - displayName: Laos (LA)
                                required: false
                                type: String
                                value: Laos (LA)
                              - displayName: Latvia (LV)
                                required: false
                                type: String
                                value: Latvia (LV)
                              - displayName: Lebanon (LB)
                                required: false
                                type: String
                                value: Lebanon (LB)
                              - displayName: Lesotho (LS)
                                required: false
                                type: String
                                value: Lesotho (LS)
                              - displayName: Liberia (LR)
                                required: false
                                type: String
                                value: Liberia (LR)
                              - displayName: Libya (LY)
                                required: false
                                type: String
                                value: Libya (LY)
                              - displayName: Liechtenstein (LI)
                                required: false
                                type: String
                                value: Liechtenstein (LI)
                              - displayName: Lithuania (LT)
                                required: false
                                type: String
                                value: Lithuania (LT)
                              - displayName: Luxembourg (LU)
                                required: false
                                type: String
                                value: Luxembourg (LU)
                              - displayName: Macau (MO)
                                required: false
                                type: String
                                value: Macau (MO)
                              - displayName: Macedonia (MK)
                                required: false
                                type: String
                                value: Macedonia (MK)
                              - displayName: Madagascar (MG)
                                required: false
                                type: String
                                value: Madagascar (MG)
                              - displayName: Malawi (MW)
                                required: false
                                type: String
                                value: Malawi (MW)
                              - displayName: Malaysia (MY)
                                required: false
                                type: String
                                value: Malaysia (MY)
                              - displayName: Maldives (MV)
                                required: false
                                type: String
                                value: Maldives (MV)
                              - displayName: Mali (ML)
                                required: false
                                type: String
                                value: Mali (ML)
                              - displayName: Malta (MT)
                                required: false
                                type: String
                                value: Malta (MT)
                              - displayName: Mauritania (MR)
                                required: false
                                type: String
                                value: Mauritania (MR)
                              - displayName: Mauritius (MU)
                                required: false
                                type: String
                                value: Mauritius (MU)
                              - displayName: Mexico (MX)
                                required: false
                                type: String
                                value: Mexico (MX)
                              - displayName: Moldova (MD)
                                required: false
                                type: String
                                value: Moldova (MD)
                              - displayName: Monaco (MC)
                                required: false
                                type: String
                                value: Monaco (MC)
                              - displayName: Mongolia (MN)
                                required: false
                                type: String
                                value: Mongolia (MN)
                              - displayName: Montenegro (ME)
                                required: false
                                type: String
                                value: Montenegro (ME)
                              - displayName: Morocco (MA)
                                required: false
                                type: String
                                value: Morocco (MA)
                              - displayName: Mozambique (MZ)
                                required: false
                                type: String
                                value: Mozambique (MZ)
                              - displayName: Myanmar (MM)
                                required: false
                                type: String
                                value: Myanmar (MM)
                              - displayName: Namibia (NA)
                                required: false
                                type: String
                                value: Namibia (NA)
                              - displayName: Nepal (NP)
                                required: false
                                type: String
                                value: Nepal (NP)
                              - displayName: Netherlands (NL)
                                required: false
                                type: String
                                value: Netherlands (NL)
                              - displayName: Netherlands Antilles (AN)
                                required: false
                                type: String
                                value: Netherlands Antilles (AN)
                              - displayName: New Caledonia (NC)
                                required: false
                                type: String
                                value: New Caledonia (NC)
                              - displayName: New Zealand (NZ)
                                required: false
                                type: String
                                value: New Zealand (NZ)
                              - displayName: Nicaragua (NI)
                                required: false
                                type: String
                                value: Nicaragua (NI)
                              - displayName: Niger (NE)
                                required: false
                                type: String
                                value: Niger (NE)
                              - displayName: Nigeria (NG)
                                required: false
                                type: String
                                value: Nigeria (NG)
                              - displayName: North Korea (KP)
                                required: false
                                type: String
                                value: North Korea (KP)
                              - displayName: Norway (NO)
                                required: false
                                type: String
                                value: Norway (NO)
                              - displayName: Oman (OM)
                                required: false
                                type: String
                                value: Oman (OM)
                              - displayName: Pakistan (PK)
                                required: false
                                type: String
                                value: Pakistan (PK)
                              - displayName: Panama (PA)
                                required: false
                                type: String
                                value: Panama (PA)
                              - displayName: Papua New Guinea (PG)
                                required: false
                                type: String
                                value: Papua New Guinea (PG)
                              - displayName: Paraguay (PY)
                                required: false
                                type: String
                                value: Paraguay (PY)
                              - displayName: Peru (PE)
                                required: false
                                type: String
                                value: Peru (PE)
                              - displayName: Philippines (PH)
                                required: false
                                type: String
                                value: Philippines (PH)
                              - displayName: Poland (PL)
                                required: false
                                type: String
                                value: Poland (PL)
                              - displayName: Portugal (PT)
                                required: false
                                type: String
                                value: Portugal (PT)
                              - displayName: Puerto Rico (PR)
                                required: false
                                type: String
                                value: Puerto Rico (PR)
                              - displayName: Qatar (QA)
                                required: false
                                type: String
                                value: Qatar (QA)
                              - displayName: Romania (RO)
                                required: false
                                type: String
                                value: Romania (RO)
                              - displayName: Russia (RU)
                                required: false
                                type: String
                                value: Russia (RU)
                              - displayName: Rwanda (RW)
                                required: false
                                type: String
                                value: Rwanda (RW)
                              - displayName: Saint Kitts and Nevis (KN)
                                required: false
                                type: String
                                value: Saint Kitts and Nevis (KN)
                              - displayName: Saint Pierre and Miquelon (PM)
                                required: false
                                type: String
                                value: Saint Pierre and Miquelon (PM)
                              - displayName: Samoa (WS)
                                required: false
                                type: String
                                value: Samoa (WS)
                              - displayName: San Marino (SM)
                                required: false
                                type: String
                                value: San Marino (SM)
                              - displayName: Sao Tome and Principe (ST)
                                required: false
                                type: String
                                value: Sao Tome and Principe (ST)
                              - displayName: Saudi Arabia (SA)
                                required: false
                                type: String
                                value: Saudi Arabia (SA)
                              - displayName: Senegal (SN)
                                required: false
                                type: String
                                value: Senegal (SN)
                              - displayName: Serbia (RS)
                                required: false
                                type: String
                                value: Serbia (RS)
                              - displayName: Seychelles (SC)
                                required: false
                                type: String
                                value: Seychelles (SC)
                              - displayName: Sierra Leone (SL)
                                required: false
                                type: String
                                value: Sierra Leone (SL)
                              - displayName: Singapore (SG)
                                required: false
                                type: String
                                value: Singapore (SG)
                              - displayName: Slovakia (SK)
                                required: false
                                type: String
                                value: Slovakia (SK)
                              - displayName: Slovenia (SI)
                                required: false
                                type: String
                                value: Slovenia (SI)
                              - displayName: Solomon Islands (SB)
                                required: false
                                type: String
                                value: Solomon Islands (SB)
                              - displayName: Somalia (SO)
                                required: false
                                type: String
                                value: Somalia (SO)
                              - displayName: South Africa (ZA)
                                required: false
                                type: String
                                value: South Africa (ZA)
                              - displayName: South Korea (KR)
                                required: false
                                type: String
                                value: South Korea (KR)
                              - displayName: Spain (ES)
                                required: false
                                type: String
                                value: Spain (ES)
                              - displayName: Sri Lanka (LK)
                                required: false
                                type: String
                                value: Sri Lanka (LK)
                              - displayName: St. Lucia (LC)
                                required: false
                                type: String
                                value: St. Lucia (LC)
                              - displayName: Sudan (SD)
                                required: false
                                type: String
                                value: Sudan (SD)
                              - displayName: Surinam (SR)
                                required: false
                                type: String
                                value: Surinam (SR)
                              - displayName: Swaziland (SZ)
                                required: false
                                type: String
                                value: Swaziland (SZ)
                              - displayName: Sweden (SE)
                                required: false
                                type: String
                                value: Sweden (SE)
                              - displayName: Switzerland (CH)
                                required: false
                                type: String
                                value: Switzerland (CH)
                              - displayName: Syria (SY)
                                required: false
                                type: String
                                value: Syria (SY)
                              - displayName: Taiwan (TW)
                                required: false
                                type: String
                                value: Taiwan (TW)
                              - displayName: Tajikistan (TJ)
                                required: false
                                type: String
                                value: Tajikistan (TJ)
                              - displayName: Tanzania (TZ)
                                required: false
                                type: String
                                value: Tanzania (TZ)
                              - displayName: Thailand (TH)
                                required: false
                                type: String
                                value: Thailand (TH)
                              - displayName: Togo (TG)
                                required: false
                                type: String
                                value: Togo (TG)
                              - displayName: Tonga (TO)
                                required: false
                                type: String
                                value: Tonga (TO)
                              - displayName: Trinidad and Tobago (TT)
                                required: false
                                type: String
                                value: Trinidad and Tobago (TT)
                              - displayName: Tunisia (TN)
                                required: false
                                type: String
                                value: Tunisia (TN)
                              - displayName: Turkey (TR)
                                required: false
                                type: String
                                value: Turkey (TR)
                              - displayName: Turkmenistan (TM)
                                required: false
                                type: String
                                value: Turkmenistan (TM)
                              - displayName: Tuvalu (TV)
                                required: false
                                type: String
                                value: Tuvalu (TV)
                              - displayName: Uganda (UG)
                                required: false
                                type: String
                                value: Uganda (UG)
                              - displayName: Ukraine (UA)
                                required: false
                                type: String
                                value: Ukraine (UA)
                              - displayName: United Arab Emirates (AE)
                                required: false
                                type: String
                                value: United Arab Emirates (AE)
                              - displayName: United Kingdom (GB)
                                required: false
                                type: String
                                value: United Kingdom (GB)
                              - displayName: United States (US)
                                required: false
                                type: String
                                value: United States (US)
                              - displayName: Uruguay (UY)
                                required: false
                                type: String
                                value: Uruguay (UY)
                              - displayName: Uzbekistan (UZ)
                                required: false
                                type: String
                                value: Uzbekistan (UZ)
                              - displayName: Vanuatu (VU)
                                required: false
                                type: String
                                value: Vanuatu (VU)
                              - displayName: Venezuela (VE)
                                required: false
                                type: String
                                value: Venezuela (VE)
                              - displayName: Vietnam (VN)
                                required: false
                                type: String
                                value: Vietnam (VN)
                              - displayName: Virgin Islands U.S. (VI)
                                required: false
                                type: String
                                value: Virgin Islands U.S. (VI)
                              - displayName: Western Sahara (EH)
                                required: false
                                type: String
                                value: Western Sahara (EH)
                              - displayName: Yemen (YE)
                                required: false
                                type: String
                                value: Yemen (YE)
                              - displayName: Zaire (ZR)
                                required: false
                                type: String
                                value: Zaire (ZR)
                              - displayName: Zambia (ZM)
                                required: false
                                type: String
                                value: Zambia (ZM)
                              - displayName: Zimbabwe (ZW)
                                required: false
                                type: String
                                value: Zimbabwe (ZW)
                            required: false
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: If you're adding an address for this Supplier, you must also include the first line
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                        required: false
                        type: Array
                        validation:
                          information:
                            - details: Can contain a maximum of one address
                              field: Addresses
                          warnings: []
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
                Sage Intacct:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 80 characters
                                  field: Addresses.City
                          country:
                            description: The country for the address
                            displayName: Country
                            options:
                              - displayName: United States
                                required: false
                                type: String
                                value: United States
                              - displayName: Afghanistan
                                required: false
                                type: String
                                value: Afghanistan
                              - displayName: Aland Islands
                                required: false
                                type: String
                                value: Aland Islands
                              - displayName: Albania
                                required: false
                                type: String
                                value: Albania
                              - displayName: Algeria
                                required: false
                                type: String
                                value: Algeria
                              - displayName: American Samoa
                                required: false
                                type: String
                                value: American Samoa
                              - displayName: Andorra
                                required: false
                                type: String
                                value: Andorra
                              - displayName: Angola
                                required: false
                                type: String
                                value: Angola
                              - displayName: Anguilla
                                required: false
                                type: String
                                value: Anguilla
                              - displayName: Antarctica
                                required: false
                                type: String
                                value: Antarctica
                              - displayName: Antigua and Barbuda
                                required: false
                                type: String
                                value: Antigua and Barbuda
                              - displayName: Argentina
                                required: false
                                type: String
                                value: Argentina
                              - displayName: Armenia
                                required: false
                                type: String
                                value: Armenia
                              - displayName: Aruba
                                required: false
                                type: String
                                value: Aruba
                              - displayName: Australia
                                required: false
                                type: String
                                value: Australia
                              - displayName: Austria
                                required: false
                                type: String
                                value: Austria
                              - displayName: Azerbaijan
                                required: false
                                type: String
                                value: Azerbaijan
                              - displayName: Bahamas
                                required: false
                                type: String
                                value: Bahamas
                              - displayName: Bahrain
                                required: false
                                type: String
                                value: Bahrain
                              - displayName: Bangladesh
                                required: false
                                type: String
                                value: Bangladesh
                              - displayName: Barbados
                                required: false
                                type: String
                                value: Barbados
                              - displayName: Belarus
                                required: false
                                type: String
                                value: Belarus
                              - displayName: Belgium
                                required: false
                                type: String
                                value: Belgium
                              - displayName: Belize
                                required: false
                                type: String
                                value: Belize
                              - displayName: Benin
                                required: false
                                type: String
                                value: Benin
                              - displayName: Bermuda
                                required: false
                                type: String
                                value: Bermuda
                              - displayName: Bhutan
                                required: false
                                type: String
                                value: Bhutan
                              - displayName: Bolivia
                                required: false
                                type: String
                                value: Bolivia
                              - displayName: Bonaire, Sint Eustatius and Saba
                                required: false
                                type: String
                                value: Bonaire, Sint Eustatius and Saba
                              - displayName: Bosnia and Herzegovina
                                required: false
                                type: String
                                value: Bosnia and Herzegovina
                              - displayName: Botswana
                                required: false
                                type: String
                                value: Botswana
                              - displayName: Bouvet Island
                                required: false
                                type: String
                                value: Bouvet Island
                              - displayName: Brazil
                                required: false
                                type: String
                                value: Brazil
                              - displayName: British Indian Ocean Territory
                                required: false
                                type: String
                                value: British Indian Ocean Territory
                              - displayName: Brunei Darussalam
                                required: false
                                type: String
                                value: Brunei Darussalam
                              - displayName: Bulgaria
                                required: false
                                type: String
                                value: Bulgaria
                              - displayName: Burkina Faso
                                required: false
                                type: String
                                value: Burkina Faso
                              - displayName: Burundi
                                required: false
                                type: String
                                value: Burundi
                              - displayName: Cambodia
                                required: false
                                type: String
                                value: Cambodia
                              - displayName: Cameroon
                                required: false
                                type: String
                                value: Cameroon
                              - displayName: Canada
                                required: false
                                type: String
                                value: Canada
                              - displayName: Cape Verde
                                required: false
                                type: String
                                value: Cape Verde
                              - displayName: Cayman Islands
                                required: false
                                type: String
                                value: Cayman Islands
                              - displayName: Central African Republic
                                required: false
                                type: String
                                value: Central African Republic
                              - displayName: Chad
                                required: false
                                type: String
                                value: Chad
                              - displayName: Chile
                                required: false
                                type: String
                                value: Chile
                              - displayName: China
                                required: false
                                type: String
                                value: China
                              - displayName: Christmas Island
                                required: false
                                type: String
                                value: Christmas Island
                              - displayName: Cocos (Keeling) Islands
                                required: false
                                type: String
                                value: Cocos (Keeling) Islands
                              - displayName: Colombia
                                required: false
                                type: String
                                value: Colombia
                              - displayName: Comoros
                                required: false
                                type: String
                                value: Comoros
                              - displayName: Congo
                                required: false
                                type: String
                                value: Congo
                              - displayName: Congo, Democratic Republic
                                required: false
                                type: String
                                value: Congo, Democratic Republic
                              - displayName: Cook Islands
                                required: false
                                type: String
                                value: Cook Islands
                              - displayName: Costa Rica
                                required: false
                                type: String
                                value: Costa Rica
                              - displayName: C�te d'Ivoire
                                required: false
                                type: String
                                value: C�te d'Ivoire
                              - displayName: Croatia
                                required: false
                                type: String
                                value: Croatia
                              - displayName: Cuba
                                required: false
                                type: String
                                value: Cuba
                              - displayName: Cura�ao
                                required: false
                                type: String
                                value: Cura�ao
                              - displayName: Cyprus
                                required: false
                                type: String
                                value: Cyprus
                              - displayName: Czech Republic
                                required: false
                                type: String
                                value: Czech Republic
                              - displayName: Denmark
                                required: false
                                type: String
                                value: Denmark
                              - displayName: Djibouti
                                required: false
                                type: String
                                value: Djibouti
                              - displayName: Dominica
                                required: false
                                type: String
                                value: Dominica
                              - displayName: Dominican Republic
                                required: false
                                type: String
                                value: Dominican Republic
                              - displayName: Ecuador
                                required: false
                                type: String
                                value: Ecuador
                              - displayName: Egypt
                                required: false
                                type: String
                                value: Egypt
                              - displayName: El Salvador
                                required: false
                                type: String
                                value: El Salvador
                              - displayName: Equatorial Guinea
                                required: false
                                type: String
                                value: Equatorial Guinea
                              - displayName: Eritrea
                                required: false
                                type: String
                                value: Eritrea
                              - displayName: Estonia
                                required: false
                                type: String
                                value: Estonia
                              - displayName: Eswatini
                                required: false
                                type: String
                                value: Eswatini
                              - displayName: Ethiopia
                                required: false
                                type: String
                                value: Ethiopia
                              - displayName: Falkland Islands (Malvinas
                                required: false
                                type: String
                                value: Falkland Islands (Malvinas
                              - displayName: Faroe Islands
                                required: false
                                type: String
                                value: Faroe Islands
                              - displayName: Fiji
                                required: false
                                type: String
                                value: Fiji
                              - displayName: Finland
                                required: false
                                type: String
                                value: Finland
                              - displayName: France
                                required: false
                                type: String
                                value: France
                              - displayName: French Guiana
                                required: false
                                type: String
                                value: French Guiana
                              - displayName: French Polynesia
                                required: false
                                type: String
                                value: French Polynesia
                              - displayName: French Southern Territories
                                required: false
                                type: String
                                value: French Southern Territories
                              - displayName: Gabon
                                required: false
                                type: String
                                value: Gabon
                              - displayName: Gambia
                                required: false
                                type: String
                                value: Gambia
                              - displayName: Georgia
                                required: false
                                type: String
                                value: Georgia
                              - displayName: Germany
                                required: false
                                type: String
                                value: Germany
                              - displayName: Ghana
                                required: false
                                type: String
                                value: Ghana
                              - displayName: Gibraltar
                                required: false
                                type: String
                                value: Gibraltar
                              - displayName: Greece
                                required: false
                                type: String
                                value: Greece
                              - displayName: Greenland
                                required: false
                                type: String
                                value: Greenland
                              - displayName: Grenada
                                required: false
                                type: String
                                value: Grenada
                              - displayName: Guadeloupe
                                required: false
                                type: String
                                value: Guadeloupe
                              - displayName: Guam
                                required: false
                                type: String
                                value: Guam
                              - displayName: Guatemala
                                required: false
                                type: String
                                value: Guatemala
                              - displayName: Guernsey
                                required: false
                                type: String
                                value: Guernsey
                              - displayName: Guinea
                                required: false
                                type: String
                                value: Guinea
                              - displayName: Guinea-Bissau
                                required: false
                                type: String
                                value: Guinea-Bissau
                              - displayName: Guyana
                                required: false
                                type: String
                                value: Guyana
                              - displayName: Haiti
                                required: false
                                type: String
                                value: Haiti
                              - displayName: Heard Is. & Mcdonald Islands
                                required: false
                                type: String
                                value: Heard Is. & Mcdonald Islands
                              - displayName: Honduras
                                required: false
                                type: String
                                value: Honduras
                              - displayName: Hong Kong
                                required: false
                                type: String
                                value: Hong Kong
                              - displayName: Hungary
                                required: false
                                type: String
                                value: Hungary
                              - displayName: Iceland
                                required: false
                                type: String
                                value: Iceland
                              - displayName: India
                                required: false
                                type: String
                                value: India
                              - displayName: Indonesia
                                required: false
                                type: String
                                value: Indonesia
                              - displayName: Iran, Islamic Republic of
                                required: false
                                type: String
                                value: Iran, Islamic Republic of
                              - displayName: Iraq
                                required: false
                                type: String
                                value: Iraq
                              - displayName: Ireland
                                required: false
                                type: String
                                value: Ireland
                              - displayName: Isle of Man
                                required: false
                                type: String
                                value: Isle of Man
                              - displayName: Israel
                                required: false
                                type: String
                                value: Israel
                              - displayName: Italy
                                required: false
                                type: String
                                value: Italy
                              - displayName: Jamaica
                                required: false
                                type: String
                                value: Jamaica
                              - displayName: Japan
                                required: false
                                type: String
                                value: Japan
                              - displayName: Jersey
                                required: false
                                type: String
                                value: Jersey
                              - displayName: Jordan
                                required: false
                                type: String
                                value: Jordan
                              - displayName: Kazakhstan
                                required: false
                                type: String
                                value: Kazakhstan
                              - displayName: Kenya
                                required: false
                                type: String
                                value: Kenya
                              - displayName: Kiribati
                                required: false
                                type: String
                                value: Kiribati
                              - displayName: Korea, Republic of
                                required: false
                                type: String
                                value: Korea, Republic of
                              - displayName: Korea, Demo. People's Rep
                                required: false
                                type: String
                                value: Korea, Demo. People's Rep
                              - displayName: Kosovo
                                required: false
                                type: String
                                value: Kosovo
                              - displayName: Kuwait
                                required: false
                                type: String
                                value: Kuwait
                              - displayName: Kyrgyzstan
                                required: false
                                type: String
                                value: Kyrgyzstan
                              - displayName: Lao
                                required: false
                                type: String
                                value: Lao
                              - displayName: Latvia
                                required: false
                                type: String
                                value: Latvia
                              - displayName: Lebanon
                                required: false
                                type: String
                                value: Lebanon
                              - displayName: Lesotho
                                required: false
                                type: String
                                value: Lesotho
                              - displayName: Liberia
                                required: false
                                type: String
                                value: Liberia
                              - displayName: Libyan Arab Jamahiriya
                                required: false
                                type: String
                                value: Libyan Arab Jamahiriya
                              - displayName: Liechtenstein
                                required: false
                                type: String
                                value: Liechtenstein
                              - displayName: Lithuania
                                required: false
                                type: String
                                value: Lithuania
                              - displayName: Luxembourg
                                required: false
                                type: String
                                value: Luxembourg
                              - displayName: Macao
                                required: false
                                type: String
                                value: Macao
                              - displayName: Macedonia
                                required: false
                                type: String
                                value: Macedonia
                              - displayName: Madagascar
                                required: false
                                type: String
                                value: Madagascar
                              - displayName: Malawi
                                required: false
                                type: String
                                value: Malawi
                              - displayName: Malaysia
                                required: false
                                type: String
                                value: Malaysia
                              - displayName: Maldives
                                required: false
                                type: String
                                value: Maldives
                              - displayName: Mali
                                required: false
                                type: String
                                value: Mali
                              - displayName: Malta
                                required: false
                                type: String
                                value: Malta
                              - displayName: Marshall Islands
                                required: false
                                type: String
                                value: Marshall Islands
                              - displayName: Martinique
                                required: false
                                type: String
                                value: Martinique
                              - displayName: Mauritania
                                required: false
                                type: String
                                value: Mauritania
                              - displayName: Mauritius
                                required: false
                                type: String
                                value: Mauritius
                              - displayName: Mayotte
                                required: false
                                type: String
                                value: Mayotte
                              - displayName: Mexico
                                required: false
                                type: String
                                value: Mexico
                              - displayName: Micronesia
                                required: false
                                type: String
                                value: Micronesia
                              - displayName: Moldova, Republic of
                                required: false
                                type: String
                                value: Moldova, Republic of
                              - displayName: Monaco
                                required: false
                                type: String
                                value: Monaco
                              - displayName: Mongolia
                                required: false
                                type: String
                                value: Mongolia
                              - displayName: Montenegro
                                required: false
                                type: String
                                value: Montenegro
                              - displayName: Montserrat
                                required: false
                                type: String
                                value: Montserrat
                              - displayName: Morocco
                                required: false
                                type: String
                                value: Morocco
                              - displayName: Mozambique
                                required: false
                                type: String
                                value: Mozambique
                              - displayName: Myanmar
                                required: false
                                type: String
                                value: Myanmar
                              - displayName: Namibia
                                required: false
                                type: String
                                value: Namibia
                              - displayName: Nauru
                                required: false
                                type: String
                                value: Nauru
                              - displayName: Nepal
                                required: false
                                type: String
                                value: Nepal
                              - displayName: Netherlands
                                required: false
                                type: String
                                value: Netherlands
                              - displayName: Netherlands Antilles
                                required: false
                                type: String
                                value: Netherlands Antilles
                              - displayName: New Caledonia
                                required: false
                                type: String
                                value: New Caledonia
                              - displayName: New Zealand
                                required: false
                                type: String
                                value: New Zealand
                              - displayName: Nicaragua
                                required: false
                                type: String
                                value: Nicaragua
                              - displayName: Niger
                                required: false
                                type: String
                                value: Niger
                              - displayName: Nigeria
                                required: false
                                type: String
                                value: Nigeria
                              - displayName: Niue
                                required: false
                                type: String
                                value: Niue
                              - displayName: Norfolk Island
                                required: false
                                type: String
                                value: Norfolk Island
                              - displayName: Northern Mariana Islands
                                required: false
                                type: String
                                value: Northern Mariana Islands
                              - displayName: Norway
                                required: false
                                type: String
                                value: Norway
                              - displayName: Oman
                                required: false
                                type: String
                                value: Oman
                              - displayName: Pakistan
                                required: false
                                type: String
                                value: Pakistan
                              - displayName: Palau
                                required: false
                                type: String
                                value: Palau
                              - displayName: Palestinian Territory, Occupied
                                required: false
                                type: String
                                value: Palestinian Territory, Occupied
                              - displayName: Panama
                                required: false
                                type: String
                                value: Panama
                              - displayName: Papua New Guinea
                                required: false
                                type: String
                                value: Papua New Guinea
                              - displayName: Paraguay
                                required: false
                                type: String
                                value: Paraguay
                              - displayName: Peru
                                required: false
                                type: String
                                value: Peru
                              - displayName: Philippines
                                required: false
                                type: String
                                value: Philippines
                              - displayName: Pitcairn
                                required: false
                                type: String
                                value: Pitcairn
                              - displayName: Poland
                                required: false
                                type: String
                                value: Poland
                              - displayName: Portugal
                                required: false
                                type: String
                                value: Portugal
                              - displayName: Puerto Rico
                                required: false
                                type: String
                                value: Puerto Rico
                              - displayName: Qatar
                                required: false
                                type: String
                                value: Qatar
                              - displayName: Reunion
                                required: false
                                type: String
                                value: Reunion
                              - displayName: Romania
                                required: false
                                type: String
                                value: Romania
                              - displayName: Russian Federation
                                required: false
                                type: String
                                value: Russian Federation
                              - displayName: Rwanda
                                required: false
                                type: String
                                value: Rwanda
                              - displayName: Saint Barthelemy
                                required: false
                                type: String
                                value: Saint Barthelemy
                              - displayName: Saint Helena
                                required: false
                                type: String
                                value: Saint Helena
                              - displayName: Saint Kitts and Nevis
                                required: false
                                type: String
                                value: Saint Kitts and Nevis
                              - displayName: Saint Lucia
                                required: false
                                type: String
                                value: Saint Lucia
                              - displayName: Saint Martin
                                required: false
                                type: String
                                value: Saint Martin
                              - displayName: Saint Pierre and Miquelon
                                required: false
                                type: String
                                value: Saint Pierre and Miquelon
                              - displayName: Saint Vincent and the Grenadines
                                required: false
                                type: String
                                value: Saint Vincent and the Grenadines
                              - displayName: Samoa
                                required: false
                                type: String
                                value: Samoa
                              - displayName: San Marino
                                required: false
                                type: String
                                value: San Marino
                              - displayName: Sao Tome and Principe
                                required: false
                                type: String
                                value: Sao Tome and Principe
                              - displayName: Saudi Arabia
                                required: false
                                type: String
                                value: Saudi Arabia
                              - displayName: Senegal
                                required: false
                                type: String
                                value: Senegal
                              - displayName: Serbia
                                required: false
                                type: String
                                value: Serbia
                              - displayName: Seychelles
                                required: false
                                type: String
                                value: Seychelles
                              - displayName: Sierra Leone
                                required: false
                                type: String
                                value: Sierra Leone
                              - displayName: Singapore
                                required: false
                                type: String
                                value: Singapore
                              - displayName: Sint Maarten
                                required: false
                                type: String
                                value: Sint Maarten
                              - displayName: Slovakia
                                required: false
                                type: String
                                value: Slovakia
                              - displayName: Slovenia
                                required: false
                                type: String
                                value: Slovenia
                              - displayName: Solomon Islands
                                required: false
                                type: String
                                value: Solomon Islands
                              - displayName: Somalia
                                required: false
                                type: String
                                value: Somalia
                              - displayName: South Africa
                                required: false
                                type: String
                                value: South Africa
                              - displayName: S. Georgia & S. Sandwich Is
                                required: false
                                type: String
                                value: S. Georgia & S. Sandwich Is
                              - displayName: Spain
                                required: false
                                type: String
                                value: Spain
                              - displayName: Sri Lanka
                                required: false
                                type: String
                                value: Sri Lanka
                              - displayName: Sudan
                                required: false
                                type: String
                                value: Sudan
                              - displayName: South Sudan
                                required: false
                                type: String
                                value: South Sudan
                              - displayName: Suriname
                                required: false
                                type: String
                                value: Suriname
                              - displayName: Svalbard and Jan Mayen
                                required: false
                                type: String
                                value: Svalbard and Jan Mayen
                              - displayName: Sweden
                                required: false
                                type: String
                                value: Sweden
                              - displayName: Switzerland
                                required: false
                                type: String
                                value: Switzerland
                              - displayName: Syrian Arab Republic
                                required: false
                                type: String
                                value: Syrian Arab Republic
                              - displayName: Taiwan
                                required: false
                                type: String
                                value: Taiwan
                              - displayName: Tajikistan
                                required: false
                                type: String
                                value: Tajikistan
                              - displayName: Tanzania, United Republic of
                                required: false
                                type: String
                                value: Tanzania, United Republic of
                              - displayName: Thailand
                                required: false
                                type: String
                                value: Thailand
                              - displayName: Timor-Leste
                                required: false
                                type: String
                                value: Timor-Leste
                              - displayName: Togo
                                required: false
                                type: String
                                value: Togo
                              - displayName: Tokelau
                                required: false
                                type: String
                                value: Tokelau
                              - displayName: Tonga
                                required: false
                                type: String
                                value: Tonga
                              - displayName: Trinidad and Tobago
                                required: false
                                type: String
                                value: Trinidad and Tobago
                              - displayName: Tunisia
                                required: false
                                type: String
                                value: Tunisia
                              - displayName: Turkey
                                required: false
                                type: String
                                value: Turkey
                              - displayName: Turkmenistan
                                required: false
                                type: String
                                value: Turkmenistan
                              - displayName: Turks and Caicos Islands
                                required: false
                                type: String
                                value: Turks and Caicos Islands
                              - displayName: Tuvalu
                                required: false
                                type: String
                                value: Tuvalu
                              - displayName: Uganda
                                required: false
                                type: String
                                value: Uganda
                              - displayName: Ukraine
                                required: false
                                type: String
                                value: Ukraine
                              - displayName: United Arab Emirates
                                required: false
                                type: String
                                value: United Arab Emirates
                              - displayName: United Kingdom
                                required: false
                                type: String
                                value: United Kingdom
                              - displayName: US Minor Outlying Islands
                                required: false
                                type: String
                                value: US Minor Outlying Islands
                              - displayName: Uruguay
                                required: false
                                type: String
                                value: Uruguay
                              - displayName: Uzbekistan
                                required: false
                                type: String
                                value: Uzbekistan
                              - displayName: Vanuatu
                                required: false
                                type: String
                                value: Vanuatu
                              - displayName: Vatican City State
                                required: false
                                type: String
                                value: Vatican City State
                              - displayName: Venezuela
                                required: false
                                type: String
                                value: Venezuela
                              - displayName: Vietnam
                                required: false
                                type: String
                                value: Vietnam
                              - displayName: Virgin Islands, British
                                required: false
                                type: String
                                value: Virgin Islands, British
                              - displayName: Virgin Islands, U.S
                                required: false
                                type: String
                                value: Virgin Islands, U.S
                              - displayName: Wallis and Futuna
                                required: false
                                type: String
                                value: Wallis and Futuna
                              - displayName: Western Sahara
                                required: false
                                type: String
                                value: Western Sahara
                              - displayName: Yemen
                                required: false
                                type: String
                                value: Yemen
                              - displayName: Zambia
                                required: false
                                type: String
                                value: Zambia
                              - displayName: Zimbabwe
                                required: false
                                type: String
                                value: Zimbabwe
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Required if TaxNumber is supplied
                                  field: Addresses.Country
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 200 characters
                                  field: Addresses.Line1
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 200 characters
                                  field: Addresses.Line2
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 30 characters
                                  field: Addresses.PostalCode
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must be no greater than 40 characters
                                  field: Addresses.Region
                        required: false
                        type: Array
                        validation:
                          information: []
                          warnings:
                            - details: If supplied, must contain only 1 address
                              field: Addresses
                            - details: If TaxNumber is supplied, an Address with a Country is required
                              field: Addresses
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be between 1 and 200 characters
                              field: ContactName
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        options:
                          - displayName: Australian Dollar
                            required: false
                            type: String
                            value: AUD
                          - displayName: Canadian Dollar
                            required: false
                            type: String
                            value: CAD
                          - displayName: Pound Sterling
                            required: false
                            type: String
                            value: GBP
                          - displayName: US Dollar
                            required: false
                            type: String
                            value: USD
                          - displayName: Rand
                            required: false
                            type: String
                            value: ZAR
                        required: false
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 200 characters
                              field: EmailAddress
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 30 characters
                              field: Phone
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 100 characters
                              field: RegistrationNumber
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Archived
                            required: false
                            type: String
                            value: Archived
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be between 1 and 100 characters
                              field: SupplierName
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Must be no greater than 20 characters
                              field: TaxNumber
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: A Supplier is a person or organisation that provides a product or service
                    displayName: Supplier
                    properties:
                      addresses:
                        description: A collection of addresses associated to the supplier
                        displayName: Addresses
                        properties:
                          city:
                            description: The third line of the address, or city
                            displayName: City
                            required: true
                            type: String
                          country:
                            description: The country for the address
                            displayName: Country
                            required: true
                            type: String
                          line1:
                            description: The first line of the address
                            displayName: Line 1
                            required: true
                            type: String
                          line2:
                            description: The second line of the address
                            displayName: Line 2
                            required: true
                            type: String
                          postalCode:
                            description: The postal (or zip) code for the address
                            displayName: Postal/Zip Code
                            required: true
                            type: String
                          region:
                            description: The fourth line of the address, or region
                            displayName: Region
                            required: true
                            type: String
                          type:
                            description: The type of the address
                            displayName: Address Type
                            required: true
                            type: String
                        required: true
                        type: Array
                      contactName:
                        description: The name of the main contact for the supplier
                        displayName: Contact Name
                        required: true
                        type: String
                      defaultCurrency:
                        description: The default currency for transactions recorded against the supplier
                        displayName: Default Currency
                        required: true
                        type: String
                      emailAddress:
                        description: The preferred email address the supplier should be contacted on
                        displayName: Email Address
                        required: true
                        type: String
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      phone:
                        description: The preferred phone number the supplier should be contacted on
                        displayName: Phone
                        required: true
                        type: String
                      registrationNumber:
                        description: The supplier's registration number
                        displayName: Registration Number
                        required: true
                        type: String
                      status:
                        description: The current state of the supplier
                        displayName: Supplier Status
                        required: true
                        type: String
                      supplierName:
                        description: The name for the supplier, typically a company name
                        displayName: Supplier Name
                        required: true
                        type: String
                      taxNumber:
                        description: The supplier's tax number
                        displayName: Tax Number
                        required: true
                        type: String
                    required: true
                    type: Object
                Xero:
                  value:
                    description: An accounts payable contact that supplies good or services, also referred to as a vendor.
                    displayName: Suppliers
                    properties:
                      addresses:
                        description: Contact addresses for the supplier.
                        displayName: Addresses
                        properties:
                          city:
                            description: Local city for the address.
                            displayName: City
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: addresses.city
                          country:
                            description: Country for the address.
                            displayName: Country
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 50 characters.
                                  field: addresses.country
                          line1:
                            description: First line of the address.
                            displayName: Address Line 1
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: addresses.line1
                          line2:
                            description: Second line of the address.
                            displayName: Address Line 2
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 500 characters.
                                  field: addresses.line2
                          postalCode:
                            description: Post or Zip code for the address.
                            displayName: Postal code
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Only English alphabet characters are permitted.
                                  field: addresses.postalCode
                                - details: Max length of 50 characters.
                                  field: addresses.postalCode
                          region:
                            description: Region the address is located in.
                            displayName: Region
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Max length of 255 characters.
                                  field: addresses.region
                          type:
                            description: The type of address as it related to the supplier.
                            displayName: Type
                            options:
                              - displayName: Billing Address
                                required: false
                                type: String
                                value: Billing
                              - displayName: Delivery Address
                                required: false
                                type: String
                                value: Delivery
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Billing = POBOX, Delivery/Unknown = DELIVERY
                                  field: addresses.type
                        required: false
                        type: Array
                      emailAddress:
                        description: Main contact email for the supplier.
                        displayName: Email
                        required: false
                        type: String
                      phone:
                        description: Main contact phone number for the supplier.
                        displayName: Phone
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Country, area, and number are space separated
                              field: phone
                      registrationNumber:
                        description: Legal company registration identifier.
                        displayName: Registration Number
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 50 characters
                              field: registrationNumber
                      status:
                        description: Status of the supplier account.
                        displayName: Status
                        options:
                          - displayName: Active
                            required: false
                            type: String
                            value: Active
                          - displayName: Inactive
                            required: false
                            type: String
                            value: InActive
                        required: false
                        type: String
                      supplierName:
                        description: Name of the supplier.
                        displayName: Name
                        required: true
                        type: String
                      taxNumber:
                        description: Legal tax registration identifier.
                        displayName: Tax Number
                        required: false
                        type: String
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create/update supplier model
      tags:
        - Suppliers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/options/transfers":
    get:
      description: |-
        Get create transfer model. Returns the expected data for the request payload.

        See the examples for integration-specific indicative models.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=transfers) for integrations that support creating transfers.
      operationId: get-create-transfers-model
      responses:
        "200":
          content:
            application/json:
              examples:
                Exact (Netherlands):
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      contactRef:
                        description: The customer or supplier for this transfer if known
                        displayName: Contact Reference
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: customers
                                required: false
                                type: String
                                value: customers
                              - displayName: suppliers
                                required: false
                                type: String
                                value: suppliers
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer or supplier.
                                  field: ContactRef.Id
                        required: false
                        type: Object
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              dataType:
                                description: The name of the data type for which the ID is valid.
                                displayName: DataType
                                options:
                                  - displayName: chartOfAccounts
                                    required: false
                                    type: String
                                    value: chartOfAccounts
                                required: true
                                type: String
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank or nominal account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Transfers between two bank accounts must be handled with two separate transfers to/from an offset account (only balance sheet type nominal account).
                                  field: From.AccountRef
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Transfer Amount must be greater than zero.
                                  field: From.Amount
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: false
                            type: String
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              dataType:
                                description: The name of the data type for which the ID is valid.
                                displayName: DataType
                                options:
                                  - displayName: chartOfAccounts
                                    required: false
                                    type: String
                                    value: chartOfAccounts
                                required: true
                                type: String
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank or nominal account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Transfers between two bank accounts must be handled with two separate transfers to/from an offset account (only balance sheet type nominal account).
                                  field: To.AccountRef
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Transfer Amount must be greater than zero.
                                  field: To.Amount
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: false
                            type: String
                        required: true
                        type: Object
                      trackingCategoryRefs:
                        description: A collection of categories this transfer is being tracked against
                        displayName: Tracking Category References
                        properties:
                          id:
                            description: The identifier for the item, unique per tracking category
                            displayName: Identifier
                            required: false
                            type: String
                        required: false
                        type: Array
                    required: true
                    type: Object
                Exact (UK):
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      contactRef:
                        description: The customer or supplier for this transfer if known
                        displayName: Contact Reference
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: customers
                                required: false
                                type: String
                                value: customers
                              - displayName: suppliers
                                required: false
                                type: String
                                value: suppliers
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: Must match the ID of an existing customer or supplier.
                                  field: ContactRef.Id
                        required: false
                        type: Object
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              dataType:
                                description: The name of the data type for which the ID is valid.
                                displayName: DataType
                                options:
                                  - displayName: chartOfAccounts
                                    required: false
                                    type: String
                                    value: chartOfAccounts
                                required: true
                                type: String
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank or nominal account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Transfers between two bank accounts must be handled with two separate transfers to/from an offset account (only balance sheet type nominal account).
                                  field: From.AccountRef
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Transfer Amount must be greater than zero.
                                  field: From.Amount
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: false
                            type: String
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              dataType:
                                description: The name of the data type for which the ID is valid.
                                displayName: DataType
                                options:
                                  - displayName: chartOfAccounts
                                    required: false
                                    type: String
                                    value: chartOfAccounts
                                required: true
                                type: String
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank or nominal account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                            validation:
                              information: []
                              warnings:
                                - details: Transfers between two bank accounts must be handled with two separate transfers to/from an offset account (only balance sheet type nominal account).
                                  field: To.AccountRef
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Transfer Amount must be greater than zero.
                                  field: To.Amount
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: false
                            type: String
                        required: true
                        type: Object
                      trackingCategoryRefs:
                        description: A collection of categories this transfer is being tracked against
                        displayName: Tracking Category References
                        properties:
                          id:
                            description: The identifier for the item, unique per tracking category
                            displayName: Identifier
                            required: false
                            type: String
                        required: false
                        type: Array
                    required: true
                    type: Object
                FreeAgent:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be provided and be greater than zero.
                                  field: From.Amount
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: false
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: If provided, must be greater than zero.
                                  field: To.Amount
                                - details: It will be taken into account just if the accounts are in different currencies and will override the automatic currency conversion.
                                  field: To.Amount
                        required: true
                        type: Object
                    required: true
                    type: Object
                Oracle NetSuite:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: false
                        type: DateTime
                        validation:
                          information:
                            - details: Will default to today's date if not provided
                              field: Date
                          warnings: []
                      depositedRecordRefs:
                        description: A collection of selected transactions to associate with the transfer. Use this field to include transactions which are posted to the undeposited funds (or other holding) account within this transfer.
                        displayName: Deposited Record References
                        properties:
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Array
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Either the 'From' account or the 'To' account must be a bank account - the other must be an undeposited funds account
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Either the 'From' account or the 'To' account must be a bank account - the other must be an undeposited funds account
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                        required: true
                        type: Object
                      trackingCategoryRefs:
                        description: A collection of categories this transfer is being tracked against
                        displayName: Tracking Category References
                        properties:
                          id:
                            description: The identifier for the item, unique per tracking category
                            displayName: Identifier
                            required: true
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: One location, one department and one classification may be provided
                                  field: TrackingCategoryRefs.Id
                        required: false
                        type: Array
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: Currently only transfers between bank accounts and undeposited funds accounts are supported
                QuickBooks Desktop:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      contactRef:
                        description: The customer or supplier for this transfer if known
                        displayName: Contact Reference
                        required: false
                        type: Object
                        validation:
                          information: []
                          warnings:
                            - details: This value is not used in the push, and will be ignored.
                              field: ContactRef
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                        validation:
                          information: []
                          warnings:
                            - details: Max length of 4096 characters.
                              field: Description
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Value should match To.Amount
                                  field: From.Amount
                                - details: Value should be greater than zero
                                  field: From.Amount
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: This value is not used in the push, and will be ignored.
                                  field: From.Currency
                        required: true
                        type: Object
                      sourceModifiedDate:
                        description: The date the record was last changed in the originating system
                        displayName: Source Modified Date
                        required: true
                        type: DateTime
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Value should match To.Amount
                                  field: To.Amount
                                - details: Value should be greater than zero
                                  field: To.Amount
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: false
                            type: String
                            validation:
                              information: []
                              warnings:
                                - details: This value is not used in the push, and will be ignored.
                                  field: To.Currency
                        required: true
                        type: Object
                      trackingCategoryRefs:
                        description: A collection of categories this transfer is being tracked against
                        displayName: Tracking Category References
                        required: false
                        type: Array
                    required: true
                    type: Object
                QuickBooks Online:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      depositedRecordRefs:
                        description: A collection of selected transactions to associate with the transfer. Use this field to include transactions which are posted to the undeposited funds (or other holding) account within this transfer.
                        displayName: Deposited Record References
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: Payments
                                required: false
                                type: String
                                value: payments
                              - displayName: DirectIncomes
                                required: false
                                type: String
                                value: directIncomes
                              - displayName: JournalEntries
                                required: false
                                type: String
                                value: journalEntries
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: false
                        type: Array
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                        required: true
                        type: Object
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: When pushing a transfer using two different currencies, the exchange rate will be calculated and passed to QuickBooks, QuickBooks performs rounding on this value which may affect the values in the transfer
                        - details: Transfers between accounts in different currencies can only be made if multi-currency is enabled for company
                        - details: The currency of at least one of the accounts used must be the same as the company's currency
                QuickBooks Online Sandbox:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      depositedRecordRefs:
                        description: A collection of selected transactions to associate with the transfer. Use this field to include transactions which are posted to the undeposited funds (or other holding) account within this transfer.
                        displayName: Deposited Record References
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            options:
                              - displayName: Payments
                                required: false
                                type: String
                                value: payments
                              - displayName: DirectIncomes
                                required: false
                                type: String
                                value: directIncomes
                              - displayName: JournalEntries
                                required: false
                                type: String
                                value: journalEntries
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: false
                        type: Array
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                        required: true
                        type: Object
                    required: true
                    type: Object
                    validation:
                      information: []
                      warnings:
                        - details: When pushing a transfer using two different currencies, the exchange rate will be calculated and passed to QuickBooks, QuickBooks performs rounding on this value which may affect the values in the transfer
                        - details: Transfers between accounts in different currencies can only be made if multi-currency is enabled for company
                        - details: The currency of at least one of the accounts used must be the same as the company's currency
                Sage Business Cloud Accounting:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                        validation:
                          information:
                            - details: Must be provided.
                              field: Date
                          warnings: []
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: false
                        type: String
                        validation:
                          information:
                            - details: Must not be longer than 2000 characters.
                              field: Description
                          warnings:
                            - details: Must be provided if pushing a bank deposit.
                              field: Description
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be different from To.AccountRef.Id.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing bank account in the company's base currency.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be equal to To.Amount.
                                  field: From.Amount
                                - details: Must be greater than zero.
                                  field: From.Amount
                              warnings: []
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information:
                                    - details: Must be different from From.AccountRef.Id.
                                      field: AccountRef.Id
                                    - details: Must match the ID of an existing bank account in the company's base currency.
                                      field: AccountRef.Id
                                  warnings: []
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information:
                                - details: Must be equal to From.Amount.
                                  field: To.Amount
                                - details: Must be greater than zero.
                                  field: To.Amount
                              warnings: []
                        required: true
                        type: Object
                    required: true
                    type: Object
                Sandbox:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      contactRef:
                        description: The customer or supplier for this transfer if known
                        displayName: Contact Reference
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Object
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                      depositedRecordRefs:
                        description: A collection of selected transactions to associate with the transfer. Use this field to include transactions which are posted to the undeposited funds (or other holding) account within this transfer.
                        displayName: Deposited Record References
                        properties:
                          dataType:
                            description: The name of the data type for which the ID is valid.
                            displayName: DataType
                            required: true
                            type: String
                          id:
                            description: The reference identifier for the record
                            displayName: Identifier
                            required: true
                            type: String
                        required: true
                        type: Array
                      description:
                        description: The description of the transfer
                        displayName: Transfer Description
                        required: true
                        type: String
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              dataType:
                                description: The name of the data type for which the ID is valid.
                                displayName: DataType
                                required: true
                                type: String
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: true
                            type: String
                          status:
                            description: The status of the transfer in the account
                            displayName: Status
                            required: true
                            type: String
                        required: true
                        type: Object
                      metadata:
                        description: Miscellaneous data about the item
                        displayName: Metadata
                        properties:
                          isDeleted:
                            description: A boolean to indicate whether the object has been deleted
                            displayName: IsDeleted
                            required: true
                            type: Boolean
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              dataType:
                                description: The name of the data type for which the ID is valid.
                                displayName: DataType
                                required: true
                                type: String
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                          currency:
                            description: The currency of the transfer
                            displayName: Currency
                            required: true
                            type: String
                          status:
                            description: The status of the transfer in the account
                            displayName: Status
                            required: true
                            type: String
                        required: true
                        type: Object
                      trackingCategoryRefs:
                        description: A collection of categories this transfer is being tracked against
                        displayName: Tracking Category References
                        properties:
                          id:
                            description: The identifier for the item, unique per tracking category
                            displayName: Identifier
                            required: true
                            type: String
                          name:
                            description: The name of the category referenced by the identifier
                            displayName: Tracking Category Name
                            required: true
                            type: String
                        required: true
                        type: Array
                    required: true
                    type: Object
                Xero:
                  value:
                    description: Transfers to or from a bank account
                    displayName: Transfer
                    properties:
                      date:
                        description: The date the transfer occurred
                        displayName: Transfer Date
                        required: true
                        type: DateTime
                      from:
                        description: The account and amount that money was transfered from
                        displayName: Transfered From
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be equal to To.Amount.
                                  field: From.Amount
                                - details: Must be greater than zero.
                                  field: From.Amount
                          status:
                            description: The status of the transfer in the account
                            displayName: Status
                            options:
                              - displayName: Unknown
                                required: false
                                type: String
                                value: Unknown
                              - displayName: Unreconciled
                                required: false
                                type: String
                                value: Unreconciled
                              - displayName: Reconciled
                                required: false
                                type: String
                                value: Reconciled
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: From.Status
                              warnings: []
                        required: true
                        type: Object
                      to:
                        description: The account and amount that money was transfered to
                        displayName: Transfered To
                        properties:
                          accountRef:
                            description: Reference to the bank or nominal account
                            displayName: Account Reference
                            properties:
                              id:
                                description: The reference identifier for the record
                                displayName: Identifier
                                required: true
                                type: String
                                validation:
                                  information: []
                                  warnings:
                                    - details: Must match the ID of an existing bank account.
                                      field: AccountRef.Id
                            required: true
                            type: Object
                          amount:
                            description: The amount transfered
                            displayName: Amount
                            required: true
                            type: Number
                            validation:
                              information: []
                              warnings:
                                - details: Must be equal to From.Amount.
                                  field: To.Amount
                                - details: Must be greater than zero.
                                  field: To.Amount
                          status:
                            description: The status of the transfer in the account
                            displayName: Status
                            options:
                              - displayName: Unknown
                                required: false
                                type: String
                                value: Unknown
                              - displayName: Unreconciled
                                required: false
                                type: String
                                value: Unreconciled
                              - displayName: Reconciled
                                required: false
                                type: String
                                value: Reconciled
                            required: true
                            type: String
                            validation:
                              information:
                                - details: Must be provided.
                                  field: To.Status
                              warnings: []
                        required: true
                        type: Object
                    required: true
                    type: Object
              schema:
                $ref: "#/components/schemas/PushOption"
          description: OK
      summary: Get create transfer model
      tags:
        - Transfers
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/push/accounts":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Creates a new account for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create account model](https://docs.codat.io/accounting-api#/operations/get-create-chartOfAccounts-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=chartOfAccounts) for integrations that support creating an account.
      operationId: create-account
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Account"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateAccountResponse"
          description: Success
      summary: Create account
      tags:
        - Accounts
  "/companies/{companyId}/connections/{connectionId}/push/bankAccounts":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new bank account to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call []().

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankAccounts) for integrations that support creating bank accounts.
      operationId: create-bank-account
      parameters:
        - $ref: "#/components/parameters/allowSyncOnPushComplete"
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BankAccount"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateBankAccountResponse"
          description: Success
      summary: Create bank account
      tags:
        - Bank accounts
  "/companies/{companyId}/connections/{connectionId}/push/bankAccounts/{accountId}/bankTransactions":
    post:
      description: |-
        Posts bank transactions to the accounting package for a given company.

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankTransactions) for integrations that support POST methods.
      operationId: create-bank-transactions
      parameters:
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/connectionId"
        - $ref: "#/paths/~1companies~1%7BcompanyId%7D~1connections~1%7BconnectionId%7D~1data~1bankAccounts~1%7BaccountId%7D~1bankTransactions/get/parameters/2"
        - $ref: "#/components/parameters/allowSyncOnPushComplete"
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BankTransactions"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateBankTransactionsResponse"
          description: Success
      summary: Create bank transactions
      tags:
        - Bank account transactions
  "/companies/{companyId}/connections/{connectionId}/push/bankAccounts/{bankAccountId}":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/bankAccountId"
    put:
      description: |-
        Posts an updated bank account to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call []().

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankAccounts) for integrations that support updating bank accounts.
      operationId: update-bank-account
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BankAccount"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateBankAccountResponse"
          description: Success
      summary: Update bank account
      tags:
        - Bank accounts
  "/companies/{companyId}/connections/{connectionId}/push/billCreditNotes":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new billCreditNote to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update bill credit note model](https://docs.codat.io/accounting-api#/operations/get-create-update-billCreditNotes-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billCreditNotes) for integrations that support creating bill credit notes.
      operationId: create-bill-credit-note
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BillCreditNote"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateBillCreditNoteResponse"
          description: Success
      summary: Create bill credit note
      tags:
        - Bill credit notes
  "/companies/{companyId}/connections/{connectionId}/push/billCreditNotes/{billCreditNoteId}":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: billCreditNoteId
        required: true
        schema:
          type: string
    put:
      description: |-
        Posts an updated billCreditNote to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update bill credit note model](https://docs.codat.io/accounting-api#/operations/get-create-update-billCreditNotes-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billCreditNotes) for integrations that support updating bill credit notes.
      operationId: update-bill-credit-note
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BillCreditNote"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateBillCreditNoteResponse"
          description: Success
      summary: Update bill credit note
      tags:
        - Bill credit notes
  "/companies/{companyId}/connections/{connectionId}/push/billPayments":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new bill payment to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create bill payment model](https://docs.codat.io/accounting-api#/operations/get-create-billPayments-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billPayments) for integrations that support creating bill payments.
      operationId: create-bill-payment
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BillPayment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateBillPaymentResponse"
          description: Success
      summary: Create bill payments
      tags:
        - Bill payments
  "/companies/{companyId}/connections/{connectionId}/push/billPayments/{billPaymentId}":
    delete:
      description: |-
        Deletes a bill payment from the accounting package for a given company.

        > **Supported Integrations**
        > 
        > This functionality is currently only supported for our Oracle NetSuite integration. Check out our [public roadmap](https://portal.productboard.com/codat/7-public-product-roadmap/tabs/46-accounting-api) to see what we're building next, and to submit ideas for new features.
      operationId: delete-billPayment
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PushOperationSummary"
          description: OK
      summary: Delete bill payment
      tags:
        - Bill payments
    parameters:
      - in: path
        name: companyId
        required: true
        schema:
          type: string
      - in: path
        name: connectionId
        required: true
        schema:
          type: string
      - in: path
        name: billPaymentId
        required: true
        schema:
          type: string
  "/companies/{companyId}/connections/{connectionId}/push/bills":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new bill to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update bill model](https://docs.codat.io/accounting-api#/operations/get-create-update-bills-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bills) for integrations that support creating a bill.
      operationId: create-bill
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Bill"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateBillResponse"
          description: Success
      summary: Create bill
      tags:
        - Bills
  "/companies/{companyId}/connections/{connectionId}/push/bills/{billId}":
    delete:
      description: |-
        Deletes a bill from the accounting package for a given company.

        > **Supported Integrations**
        > 
        > This functionality is currently only supported for our Oracle NetSuite and QuickBooks Online integrations. Check out our [public roadmap](https://portal.productboard.com/codat/7-public-product-roadmap/tabs/46-accounting-api) to see what we're building next, and to submit ideas for new features.
      operationId: delete-bill
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PushOperationSummary"
          description: OK
          headers: {}
      summary: Delete bill
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/billId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    put:
      description: |-
        Posts an updated bill to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update bill model](https://docs.codat.io/accounting-api#/operations/get-create-update-bills-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bills) for integrations that support updating a bill.
      operationId: update-bill
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Bill"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateBillResponse"
          description: Success
      summary: Update bill
      tags:
        - Bills
  "/companies/{companyId}/connections/{connectionId}/push/bills/{billId}/attachments":
    parameters:
      - $ref: "#/components/parameters/billId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: Upload bill attachments
      operationId: upload-bill-attachments
      requestBody:
        content:
          multipart/form-data:
            schema: {}
      responses:
        "200":
          description: Success
      summary: Upload bill attachments
      tags:
        - Bills
  "/companies/{companyId}/connections/{connectionId}/push/creditNotes":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Push credit note


        Required data may vary by integration. To see what data to post, first call [Get create/update credit note model](https://docs.codat.io/accounting-api#/operations/get-create-update-creditNotes-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=creditNotes) for integrations that support creating a credit note.
      operationId: create-credit-note
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreditNote"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateCreditNoteResponse"
          description: Success
      summary: Create credit note
      tags:
        - Credit notes
  "/companies/{companyId}/connections/{connectionId}/push/creditNotes/{creditNoteId}":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: creditNoteId
        required: true
        schema:
          type: string
    put:
      description: |-
        Posts an updated credit note to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update credit note model](https://docs.codat.io/accounting-api#/operations/get-create-update-creditNotes-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=creditNotes) for integrations that support updating a credit note.
      operationId: update-credit-note
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreditNote"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateCreditNoteResponse"
          description: Success
      summary: Update creditNote
      tags:
        - Credit notes
  "/companies/{companyId}/connections/{connectionId}/push/customers":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts an individual customer for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update customer model](https://docs.codat.io/accounting-api#/operations/get-create-update-customers-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers) for integrations that support creating customers.
      operationId: create-customer
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Customer"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateCustomerResponse"
          description: Success
      summary: Create customer
      tags:
        - Customers
  "/companies/{companyId}/connections/{connectionId}/push/customers/{customerId}":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: customerId
        required: true
        schema:
          type: string
    put:
      description: |-
        Posts an updated customer for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update customer model](https://docs.codat.io/accounting-api#/operations/get-create-update-customers-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers) for integrations that support updating customers.
      operationId: update-customer
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Customer"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateCustomerResponse"
          description: Success
      summary: Update customer
      tags:
        - Customers
  "/companies/{companyId}/connections/{connectionId}/push/directCosts":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new direct cost to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create direct cost model](https://docs.codat.io/accounting-api#/operations/get-create-directCosts-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=directCosts) for integrations that support creating direct costs.
      operationId: create-direct-cost
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DirectCost"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateDirectCostResponse"
          description: Success
      summary: Create direct cost
      tags:
        - Direct costs
  "/companies/{companyId}/connections/{connectionId}/push/directCosts/{directCostId}/attachment":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - $ref: "#/components/parameters/directCostId"
    post:
      description: Posts a new direct cost attachment for a given company.
      operationId: upload-direct-cost-attachment
      requestBody:
        content:
          multipart/form-data:
            schema: {}
      responses:
        "200":
          description: Success
      summary: Upload direct cost attachment
      tags:
        - Direct costs
  "/companies/{companyId}/connections/{connectionId}/push/directIncomes":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new direct income to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create direct income model](https://docs.codat.io/accounting-api#/operations/get-create-directIncomes-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=directIncomes) for integrations that support creating direct incomes.
      operationId: create-direct-income
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DirectIncome"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateDirectIncomeResponse"
          description: Success
      summary: Create direct income
      tags:
        - Direct incomes
  "/companies/{companyId}/connections/{connectionId}/push/directIncomes/{directIncomeId}/attachment":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: Posts a new direct income attachment for a given company.
      operationId: upload-direct-income-attachment
      parameters:
        - in: path
          name: directIncomeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema: {}
      responses:
        "200":
          description: Success
      summary: Create direct income attachment
      tags:
        - Direct incomes
  "/companies/{companyId}/connections/{connectionId}/push/invoices":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new invoice to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update invoice model](https://docs.codat.io/accounting-api#/operations/get-create-update-invoices-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=invoices) for integrations that support creating invoices.
      operationId: create-invoice
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Invoice"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateInvoiceResponse"
          description: Success
      summary: Create invoice
      tags:
        - Invoices
  "/companies/{companyId}/connections/{connectionId}/push/invoices/{invoiceId}":
    delete:
      description: |-
        Deletes an invoice from the accounting package for a given company.

        > **Supported Integrations**
        > 
        > This functionality is currently only supported for our QuickBooks Online integration. Check out our [public roadmap](https://portal.productboard.com/codat/7-public-product-roadmap/tabs/46-accounting-api) to see what we're building next, and to submit ideas for new features.
      operationId: delete-invoice
      parameters:
        - $ref: "#/components/parameters/invoiceId"
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/connectionId"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PushOperationSummary"
          description: OK
          headers: {}
      summary: Delete invoice
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    put:
      description: |-
        Posts an updated invoice to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update invoice model](https://docs.codat.io/accounting-api#/operations/get-create-update-invoices-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=invoices) for integrations that support updating invoices.
      operationId: update-invoice
      parameters:
        - $ref: "#/components/parameters/invoiceId"
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Invoice"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateInvoiceResponse"
          description: Success
      summary: Update invoice
      tags:
        - Invoices
  "/companies/{companyId}/connections/{connectionId}/push/invoices/{invoiceId}/attachment":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: Push invoice attachment
      operationId: upload-invoice-attachment
      parameters:
        - $ref: "#/components/parameters/invoiceId"
      requestBody:
        content:
          multipart/form-data:
            schema: {}
      responses:
        "200":
          description: Success
      summary: Push invoice attachment
      tags:
        - Invoices
  "/companies/{companyId}/connections/{connectionId}/push/items":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new item to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create item model](https://docs.codat.io/accounting-api#/operations/get-create-items-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=items) for integrations that support creating items.
      operationId: create-item
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Item"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateItemResponse"
          description: Success
      summary: Create item
      tags:
        - Items
  "/companies/{companyId}/connections/{connectionId}/push/journalEntries":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new journalEntry to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create journal entry model](https://docs.codat.io/accounting-api#/operations/get-create-journalEntries-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=journalEntries) for integrations that support creating journal entries.
      operationId: create-journal-entry
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JournalEntry"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateJournalEntryResponse"
          description: Success
      summary: Create journal entry
      tags:
        - Journal entries
  "/companies/{companyId}/connections/{connectionId}/push/journalEntries/{journalEntryId}":
    delete:
      description: |-
        Deletes a journal entry from the accounting package for a given company.

        > **Supported Integrations**
        > 
        > This functionality is currently only supported for our QuickBooks Online integration. Check out our [public roadmap](https://portal.productboard.com/codat/7-public-product-roadmap/tabs/46-accounting-api) to see what we're building next, and to submit ideas for new features.
      operationId: delete-journal-entry
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PushOperationSummary"
          description: OK
          headers: {}
      summary: Delete journal entry
      tags:
        - Journal entries
    parameters:
      - $ref: "#/components/parameters/journalEntryId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
  "/companies/{companyId}/connections/{connectionId}/push/journals":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new journal to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create journal model](https://docs.codat.io/accounting-api#/operations/get-create-journals-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=journals) for integrations that support creating journals.
      operationId: push-journal
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Journal"
      responses:
        "200":
          content:
            application/json:
              schema:
                allOf:
                  - properties:
                      data:
                        $ref: "#/components/schemas/Journal"
                    type: object
                  - $ref: "#/components/schemas/PushOperationSummary"
          description: Success
      summary: Create journal
      tags:
        - Journals
  "/companies/{companyId}/connections/{connectionId}/push/payments":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new payment to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create payment model](https://docs.codat.io/accounting-api#/operations/get-create-payments-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=payments) for integrations that support creating payments.
      operationId: create-payment
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Payment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreatePaymentResponse"
          description: Success
      summary: Create payment
      tags:
        - Payments
  "/companies/{companyId}/connections/{connectionId}/push/purchaseOrders":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new purchase order to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create/update purchase order model](https://docs.codat.io/accounting-api#/operations/get-create-update-purchaseOrders-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=purchaseOrders) for integrations that support creating purchase orders.
      operationId: create-purchase-order
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PurchaseOrder"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreatePurchaseOrderResponse"
          description: Success
      summary: Create purchase order
      tags:
        - Purchase orders
  "/companies/{companyId}/connections/{connectionId}/push/purchaseOrders/{purchaseOrderId}":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
      - in: path
        name: purchaseOrderId
        required: true
        schema:
          type: string
    put:
      description: |-
        Posts an updated purchase order to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call []().

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=purchaseOrders) for integrations that support updating purchase orders.
      operationId: update-purchase-order
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PurchaseOrder"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdatePurchaseOrderResponse"
          description: Success
      summary: Update purchase order
      tags:
        - Purchase orders
  "/companies/{companyId}/connections/{connectionId}/push/suppliers":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Push suppliers

        Required data may vary by integration. To see what data to post, first call [Get create/update supplier model](https://docs.codat.io/accounting-api#/operations/get-create-update-suppliers-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers) for integrations that support creating suppliers.
      operationId: create-supplier
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Supplier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateSupplierResponse"
          description: Success
      summary: Create suppliers
      tags:
        - Suppliers
  "/companies/{companyId}/connections/{connectionId}/push/suppliers/{supplierId}":
    parameters:
      - $ref: "#/components/parameters/supplierId"
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    put:
      description: |-
        Push supplier

        Required data may vary by integration. To see what data to post, first call [Get create/update supplier model](https://docs.codat.io/accounting-api#/operations/get-create-update-suppliers-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers) for integrations that support updating suppliers.
      operationId: put-supplier
      parameters:
        - $ref: "#/components/parameters/timeoutInMinutes"
        - $ref: "#/components/parameters/forceUpdate"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Supplier"
      responses:
        "200":
          content:
            application/json:
              schema:
                allOf:
                  - properties:
                      data:
                        $ref: "#/components/schemas/Supplier"
                    type: object
                  - $ref: "#/components/schemas/PushOperationSummary"
          description: Success
      summary: Update supplier
      tags:
        - Suppliers
  "/companies/{companyId}/connections/{connectionId}/push/transfers":
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/connectionId"
    post:
      description: |-
        Posts a new transfer to the accounting package for a given company.

        Required data may vary by integration. To see what data to post, first call [Get create transfer model](https://docs.codat.io/accounting-api#/operations/get-create-transfers-model).

        > **Supported Integrations**
        > 
        > Check out our [Knowledge UI](https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=transfers) for integrations that support creating transfers.
      operationId: create-transfer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Transfer"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateTransferResponse"
          description: Success
      summary: Create transfer
      tags:
        - Transfers
  "/companies/{companyId}/data/accounts":
    get:
      description: Gets the latest accounts for a company
      operationId: list-accounts
      parameters:
        - $ref: "#/components/parameters/companyId"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Accounts"
              x-speakeasy-usage-example: true
          description: Success
      summary: List accounts
      tags:
        - Accounts
  "/companies/{companyId}/data/accounts/{accountId}":
    get:
      deprecated: true
      description: Gets a single account corresponding to the given ID.
      operationId: get-account
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Account"
          description: Success
      summary: Get account
      tags:
        - Accounts
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/accountId"
  "/companies/{companyId}/data/bankAccounts/{accountId}":
    get:
      deprecated: true
      description: Gets the bank account for given account ID.
      operationId: get-all-bank-account
      parameters:
        - $ref: "#/components/parameters/query"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BankStatementAccount"
          description: Success
      summary: Get bank account
      tags:
        - Bank accounts
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/accountId"
  "/companies/{companyId}/data/bankAccounts/{accountId}/transactions":
    get:
      description: Gets the latest bank transactions for given account ID and company. Doesn't require connection ID.
      operationId: list-bank-transactions
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BankAccountTransactions"
          description: Success
      summary: List all bank transactions
      tags:
        - Bank account transactions
    parameters:
      - $ref: "#/components/parameters/companyId"
      - $ref: "#/components/parameters/accountId"
  "/companies/{companyId}/data/billCreditNotes":
    get:
      description: Gets a list of all bill credit notes for a company, with pagination
      operationId: list-bill-credit-notes
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillCreditNotes"
          description: Success
      summary: List bill credit notes
      tags:
        - Bill credit notes
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/billCreditNotes/{billCreditNoteId}":
    get:
      deprecated: true
      description: Gets a single billCreditNote corresponding to the given ID.
      operationId: get-bill-credit-note
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillCreditNote"
          description: Success
      summary: Get bill credit note
      tags:
        - Bill credit notes
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: billCreditNoteId
        required: true
        schema:
          type: string
  "/companies/{companyId}/data/billPayments":
    get:
      description: Gets the latest billPayments for a company, with pagination
      operationId: list-bill-payments
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillPayments"
          description: Success
      summary: List bill payments
      tags:
        - Bill payments
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/billPayments/{billPaymentId}":
    get:
      deprecated: true
      description: Get a bill payment
      operationId: get-bill-payments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillPayment"
          description: Success
      summary: Get bill payment
      tags:
        - Bill payments
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: billPaymentId
        required: true
        schema:
          type: string
  "/companies/{companyId}/data/bills":
    get:
      description: Gets the latest bills for a company, with pagination
      operationId: list-bills
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Bills"
          description: Success
      summary: List bills
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/bills/{billId}":
    get:
      description: Get bill
      operationId: get-bill
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Bill"
          description: Success
      summary: Get bill
      tags:
        - Bills
    parameters:
      - $ref: "#/components/parameters/billId"
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/creditNotes":
    get:
      description: Gets a list of all credit notes for a company, with pagination
      operationId: list-credit-notes
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreditNotes"
          description: Success
      summary: List credit notes
      tags:
        - Credit notes
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/creditNotes/{creditNoteId}":
    get:
      deprecated: true
      description: Gets a single creditNote corresponding to the given ID.
      operationId: get-credit-note
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreditNote"
          description: Success
      summary: Get credit note
      tags:
        - Credit notes
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: creditNoteId
        required: true
        schema:
          type: string
  "/companies/{companyId}/data/customers":
    get:
      description: Gets the latest customers for a company, with pagination
      operationId: get-customers
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Customers"
          description: Success
      summary: List customers
      tags:
        - Customers
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/customers/{customerId}":
    get:
      deprecated: true
      description: Gets a single customer corresponding to the given ID.
      operationId: get-customer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Customer"
          description: Success
      summary: Get customer
      tags:
        - Customers
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: customerId
        required: true
        schema:
          type: string
  "/companies/{companyId}/data/financials/balanceSheet":
    get:
      description: Gets the latest balance sheet for a company.
      operationId: get-balance-sheet
      parameters:
        - $ref: "#/components/parameters/periodLength"
        - $ref: "#/components/parameters/periodsToCompare"
        - $ref: "#/components/parameters/startMonth"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BalanceSheet"
          description: Success
      summary: Get balance sheet
      tags:
        - Financials
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/financials/cashFlowStatement":
    get:
      description: Gets the latest cash flow statement for a company.
      operationId: get-cash-flow-statement
      parameters:
        - $ref: "#/components/parameters/periodLength"
        - $ref: "#/components/parameters/periodsToCompare"
        - $ref: "#/components/parameters/startMonth"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CashFlowStatement"
          description: Success
      summary: Get cash flow statement
      tags:
        - Financials
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/financials/profitAndLoss":
    get:
      description: Gets the latest profit and loss for a company.
      operationId: get-profit-and-loss
      parameters:
        - $ref: "#/components/parameters/periodLength"
        - $ref: "#/components/parameters/periodsToCompare"
        - $ref: "#/components/parameters/startMonth"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProfitAndLossReport"
          description: Success
      summary: Get profit and loss
      tags:
        - Financials
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/info":
    get:
      description: Gets the latest basic info for a company.
      operationId: get-company-info
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CompanyDataset"
          description: Success
      summary: Get company info
      tags:
        - Company info
    parameters:
      - $ref: "#/components/parameters/companyId"
    post:
      description: Initiates the process of synchronising basic info for a company
      operationId: post-sync-info
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Dataset"
          description: Success
      summary: Refresh company info
      tags:
        - Company info
  "/companies/{companyId}/data/invoices":
    get:
      description: Gets the latest invoices for a company, with pagination
      operationId: list-invoices
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Invoices"
          description: Success
      summary: List invoices
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/invoices/{invoiceId}":
    get:
      deprecated: true
      description: Get invoice
      operationId: get-invoice
      parameters:
        - $ref: "#/components/parameters/invoiceId"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Invoice"
          description: Success
      summary: Get invoice
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/invoices/{invoiceId}/pdf":
    get:
      description: Get invoice as PDF
      operationId: Download-invoice-pdf
      parameters:
        - $ref: "#/components/parameters/invoiceId"
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                title: Data
          description: Success
      summary: Get invoice as PDF
      tags:
        - Invoices
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/items":
    get:
      description: Gets the items for a given company.
      operationId: list-items
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Items"
          description: Success
      summary: List items
      tags:
        - Items
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/items/{itemId}":
    get:
      deprecated: true
      description: Gets the specified item for a given company.
      operationId: get-item
      parameters:
        - in: path
          name: itemId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Item"
          description: Success
      summary: Get item
      tags:
        - Items
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/journalEntries":
    get:
      description: Gets the latest journal entries for a company, with pagination
      operationId: list-journal-entries
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JournalEntries"
          description: Success
      summary: List journal entries
      tags:
        - Journal entries
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/journalEntries/{journalEntryId}":
    get:
      deprecated: true
      description: Gets a single JournalEntry corresponding to the given ID.
      operationId: get-journal-entry
      parameters:
        - in: path
          name: journalEntryId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JournalEntry"
          description: Success
      summary: Get journal entry
      tags:
        - Journal entries
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/journals":
    get:
      description: Gets the latest journals for a company, with pagination
      operationId: list-journals
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Journals"
          description: Success
      summary: List journals
      tags:
        - Journals
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/journals/{journalId}":
    get:
      deprecated: true
      description: Gets a single journal corresponding to the given ID.
      operationId: get-journal
      parameters:
        - in: path
          name: journalId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Journal"
          description: Success
      summary: Get journal
      tags:
        - Journals
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/paymentMethods":
    get:
      deprecated: true
      description: Gets the payment methods for a given company.
      operationId: list-payment-methods
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PaymentMethods"
          description: Success
      summary: List all payment methods
      tags:
        - Payment methods
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/paymentMethods/{paymentMethodId}":
    get:
      deprecated: true
      description: Gets the specified payment method for a given company.
      operationId: get-payment-method
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PaymentMethod"
          description: Success
      summary: Get payment method
      tags:
        - Payment methods
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: paymentMethodId
        required: true
        schema:
          type: string
  "/companies/{companyId}/data/payments":
    get:
      description: Gets the latest payments for a company, with pagination
      operationId: list-payments
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Payments"
          description: Success
      summary: List payments
      tags:
        - Payments
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/payments/{paymentId}":
    get:
      deprecated: true
      description: Get payment
      operationId: get-payment
      parameters:
        - in: path
          name: paymentId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Payment"
          description: Success
      summary: Get payment
      tags:
        - Payments
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/purchaseOrders":
    get:
      description: Get purchase orders
      operationId: list-purchase-orders
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PurchaseOrders"
          description: Success
      summary: List purchase orders
      tags:
        - Purchase orders
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/purchaseOrders/{purchaseOrderId}":
    get:
      deprecated: true
      description: Get purchase order
      operationId: get-purchase-order
      parameters:
        - in: path
          name: purchaseOrderId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PurchaseOrder"
          description: Success
      summary: Get purchase order
      tags:
        - Purchase orders
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/salesOrders":
    get:
      description: Get sales orders
      operationId: list-sales-orders
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SalesOrders"
          description: Success
      summary: List sales orders
      tags:
        - Sales orders
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/salesOrders/{salesOrderId}":
    get:
      deprecated: true
      description: Get sales order
      operationId: get-sales-order
      parameters:
        - in: path
          name: salesOrderId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SalesOrder"
          description: Success
      summary: Get sales order
      tags:
        - Sales orders
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/suppliers":
    get:
      description: Gets the latest suppliers for a company, with pagination
      operationId: list-suppliers
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Suppliers"
          description: Success
      summary: List suppliers
      tags:
        - Suppliers
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/suppliers/{supplierId}":
    get:
      deprecated: true
      description: Gets a single supplier corresponding to the given ID.
      operationId: get-supplier
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Supplier"
          description: Success
      summary: Get supplier
      tags:
        - Suppliers
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/supplierId"
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/taxRates":
    get:
      description: Gets the latest tax rates for a given company.
      operationId: list-tax-rates
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaxRates"
          description: Success
      summary: List all tax rates
      tags:
        - Tax rates
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/taxRates/{taxRateId}":
    get:
      deprecated: true
      description: Gets the specified tax rate for a given company.
      operationId: get-tax-rate
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaxRate"
          description: Success
      summary: Get tax rate
      tags:
        - Tax rates
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: taxRateId
        required: true
        schema:
          type: string
  "/companies/{companyId}/data/trackingCategories":
    get:
      description: Gets the latest tracking categories for a given company.
      operationId: list-tracking-categories
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/query"
        - $ref: "#/components/parameters/orderBy"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TrackingCategories"
          description: Success
      summary: List tracking categories
      tags:
        - Tracking categories
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/data/trackingCategories/{trackingCategoryId}":
    get:
      deprecated: true
      description: Gets the specified tracking categories for a given company.
      operationId: get-tracking-category
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TrackingCategoryTree"
          description: Success
      summary: Get tracking categories
      tags:
        - Tracking categories
      x-internal: true
    parameters:
      - $ref: "#/components/parameters/companyId"
      - in: path
        name: trackingCategoryId
        required: true
        schema:
          type: string
  "/companies/{companyId}/reports/agedCreditor":
    get:
      description: Returns aged creditors report for company that shows the total balance owed by a business to its suppliers over time.
      operationId: get-aged-creditors-report
      parameters:
        - $ref: "#/components/parameters/reportDate"
        - $ref: "#/components/parameters/numberOfPeriods"
        - $ref: "#/components/parameters/periodLengthDays"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AgedCreditorReport"
          description: OK
      summary: Aged creditors report
      tags:
        - Reports
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/reports/agedCreditor/available":
    get:
      description: Indicates whether the aged creditor report is available for the company.
      operationId: is-aged-creditors-report-available
      responses:
        "200":
          content:
            application/json:
              schema:
                type: boolean
          description: OK
      summary: Aged creditors report available
      tags:
        - Reports
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/reports/agedDebtor":
    get:
      description: Returns aged debtors report for company that shows the total outstanding balance due from customers to the business over time.
      operationId: get-aged-debtors-report
      parameters:
        - $ref: "#/components/parameters/reportDate"
        - $ref: "#/components/parameters/numberOfPeriods"
        - $ref: "#/components/parameters/periodLengthDays"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AgedDebtorReport"
          description: OK
      summary: Aged debtors report
      tags:
        - Reports
    parameters:
      - $ref: "#/components/parameters/companyId"
  "/companies/{companyId}/reports/agedDebtor/available":
    get:
      description: Indicates whether the aged debtor report is available for the company.
      operationId: is-aged-debtor-report-available
      responses:
        "200":
          content:
            application/json:
              schema:
                type: boolean
          description: OK
      summary: Aged debtors report available
      tags:
        - Reports
    parameters:
      - $ref: "#/components/parameters/companyId"
components:
  parameters:
    accountId:
      description: Unique identifier for an account
      in: path
      name: accountId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    allowSyncOnPushComplete:
      in: query
      name: allowSyncOnPushComplete
      schema:
        default: true
        type: boolean
      x-stoplight:
        id: kc8ehjqr6p02q
    attachmentId:
      description: Unique identifier for an attachment
      in: path
      name: attachmentId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    bankAccountId:
      description: Unique identifier for a bank account
      in: path
      name: bankAccountId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    billId:
      description: Unique identifier for a bill
      in: path
      name: billId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    companyId:
      in: path
      name: companyId
      required: true
      schema:
        description: Unique identifier for your SMB in Codat.
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    connectionId:
      in: path
      name: connectionId
      required: true
      schema:
        description: Unique identifier for a company's data connection.
        examples:
          - 2e9d2c44-f675-40ba-8049-353bfcb5e171
        format: uuid
        type: string
    directCostId:
      description: Unique identifier for a direct cost
      in: path
      name: directCostId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    directIncomeId:
      description: Unique identifier for a direct income
      in: path
      name: directIncomeId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    forceUpdate:
      in: query
      name: forceUpdate
      schema:
        default: false
        type: boolean
    invoiceId:
      description: Unique identifier for an invoice
      in: path
      name: invoiceId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    journalEntryId:
      description: Unique identifier for a journal entry
      in: path
      name: journalEntryId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        format: uuid
        type: string
    numberOfPeriods:
      description: Number of periods to include in the report.
      in: query
      name: numberOfPeriods
      schema:
        examples:
          - 12
        format: int32
        type: integer
    orderBy:
      description: Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).
      in: query
      name: orderBy
      required: false
      schema:
        examples:
          - -modifiedDate
        type: string
      x-stoplight:
        id: 4je9lwo02netu
    page:
      description: Page number. [Read more](https://docs.codat.io/using-the-api/paging).
      in: query
      name: page
      required: true
      schema:
        default: 1
        examples:
          - 1
        format: int32
        minimum: 0
        type: integer
      x-stoplight:
        id: 1318joqblpp4e
    pageSize:
      description: Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging).
      in: query
      name: pageSize
      schema:
        default: 100
        examples:
          - 100
        format: int32
        maximum: 5000
        minimum: 1
        type: integer
      x-stoplight:
        id: s2ika6rltk5y6
    periodLength:
      in: query
      name: periodLength
      required: true
      schema:
        format: int32
        type: integer
    periodLengthDays:
      description: The length of period in days.
      in: query
      name: periodLengthDays
      schema:
        examples:
          - 30
        format: int32
        type: integer
    periodsToCompare:
      in: query
      name: periodsToCompare
      required: true
      schema:
        format: int32
        type: integer
    query:
      description: Codat query string. [Read more](https://docs.codat.io/using-the-api/querying).
      in: query
      name: query
      required: false
      schema:
        type: string
      x-stoplight:
        id: gupdb9kt30hfq
    reportDate:
      description: Date the report is generated up to.
      in: query
      name: reportDate
      schema:
        examples:
          - 2022-12-31
        format: date
        type: string
    startMonth:
      in: query
      name: startMonth
      schema:
        $ref: "#/components/schemas/DateTime"
    supplierId:
      description: Unique identifier for a supplier
      in: path
      name: supplierId
      required: true
      schema:
        examples:
          - 8a210b68-6988-11ed-a1eb-0242ac120002
        type: string
    timeoutInMinutes:
      in: query
      name: timeoutInMinutes
      schema:
        format: int32
        type: integer
      x-stoplight:
        id: irz50qjbs3yef
  schemas:
    Account:
      allOf:
        - properties:
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
            currentBalance:
              description: Current balance in the account.
              type:
                - number
                - "null"
            description:
              description: Description for the account.
              type:
                - string
                - "null"
            fullyQualifiedCategory:
              description: |-
                Full category of the account. For example:
                Liability.Current or Income.Revenue. See example data.
              type:
                - string
                - "null"
            fullyQualifiedName:
              description: |-
                Full name of the account, for example:
                - `Liability.Current.VAT`
                - `Income.Revenue.Sales`
              type:
                - string
                - "null"
            id:
              description: Identifier for the account, unique for the company.
              type: string
            isBankAccount:
              description: Confirms whether the account is a bank account or not.
              type: boolean
            metadata:
              $ref: "#/components/schemas/Metadata"
            name:
              description: Name of the account.
              type:
                - string
                - "null"
            nominalCode:
              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.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/Account/definitions/accountStatus"
            type:
              $ref: "#/components/schemas/Account/definitions/accountType"
            validDatatypeLinks:
              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.'"
              items:
                $ref: "#/components/schemas/ValidDataTypeLinks"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        accountRef:
          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:
              description: "'id' from the Accounts data type."
              type: string
            name:
              description: "'name' from the Accounts data type."
              type: string
          title: Account reference
          type: object
        accountStatus:
          description: Status of the account
          enum:
            - Unknown
            - Active
            - Archived
            - Pending
          title: Account status
          type: string
        accountType:
          description: Type of account
          enum:
            - Unknown
            - Asset
            - Expense
            - Income
            - Liability
            - Equity
          title: Account type
          type: string
      description: |-
        > **Language tip:** Accounts are also referred to as **chart of accounts**, **nominal accounts**, and **general ledger**.

        View the coverage for accounts in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=chartOfAccounts" target="_blank">Data coverage explorer</a>.

        ## Overview

        Accounts 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. 

        The categories for an account include:
          * Asset
          * Expense
          * Income
          * Liability
          * Equity.

        > **Accounts with no category**
        > 
        > 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`.
        > 
        > 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.
      required:
        - type
        - status
        - isBankAccount
      title: Account
      type: object
    AccountTransaction:
      allOf:
        - properties:
            bankAccountRef:
              $ref: "#/components/schemas/BankAccount/definitions/bankAccountRef"
              description: Reference to the bank account the account transaction is recorded against.
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            date:
              $ref: "#/components/schemas/DateTime"
              description: The date the account transaction was recorded in the platform.
            id:
              description: Identifier of the direct cost (unique to the company).
              type: string
            lines:
              description: Array of account transaction lines.
              items:
                $ref: "#/components/schemas/AccountTransaction/definitions/accountTransactionLine"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Additional information about the account transaction, if available.
              type:
                - string
                - "null"
            status:
              description: The status of the account transaction.
              enum:
                - Unknown
                - Unreconciled
                - Reconciled
                - Void
              type: string
            totalAmount:
              description: Total amount of the account transactions, inclusive of tax.
              type: number
            transactionId:
              description: Identifier of the transaction (unique to the company).
              type:
                - string
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        accountTransactionLine:
          properties:
            amount:
              description: Amount in the bill payment currency.
              type: number
            description:
              description: Description of the account transaction.
              nullable: true
              type: string
            recordRef:
              $ref: "#/components/schemas/DirectCost/definitions/tracking/properties/invoiceTo"
              description: Links an account transaction line to the underlying record that created it.
          type: object
      description: |-
        > **Language tip:** In Codat, account transactions represent all transactions posted to a bank account within an accounting platform. For bank transactions posted within a banking platform, refer to [Banking transactions](https://docs.codat.io/banking-api#/operations/list-all-banking-transactions).

        > View the coverage for account transactions in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=accountTransactions" target="_blank">Data coverage explorer</a>.

        ## Overview

        In Codat’s data model, account transactions represent bank activity within an accounting platform. All transactions that go through a bank account are recorded as account transactions.

        Account transactions are created as a result of different business activities, for example:

        * Payments: for example, receiving money for payment against an invoice.
        * Bill payments: for example, spending money for a payment against a bill.
        * Direct costs: for example, withdrawing money from a bank account, either for cash purposes or to make a payment.
        * Direct incomes: for example, selling an item directly to a contact and receiving payment at point of sale.
        * Transfers: for example, transferring money between two bank accounts.

        Account transactions is the parent data type of [payments](https://docs.codat.io/accounting-api#/schemas/Payment), [bill payments](https://docs.codat.io/accounting-api#/schemas/BillPayment), [direct costs](https://docs.codat.io/accounting-api#/schemas/DirectCost), [direct incomes](https://docs.codat.io/accounting-api#/schemas/DirectIncome), and [transfers](https://docs.codat.io/accounting-api#/schemas/Transfer).
      title: Account transaction
      type: object
    AccountTransactions:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/AccountTransaction"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Accounts:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Account"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    AgedCreditorReport:
      definitions:
        agedCreditor:
          properties:
            agedCurrencyOutstanding:
              description: Array of aged creditors by currency.
              items:
                properties:
                  agedOutstandingAmounts:
                    description: Array of outstanding amounts by period.
                    items:
                      properties:
                        amount:
                          description: The amount outstanding.
                          type: number
                        details:
                          description: Array of details.
                          items:
                            properties:
                              amount:
                                description: The amount outstanding.
                                type: number
                              name:
                                description: Name of data type with outstanding amount for given period.
                                type: string
                            title: Amounts outstanding by data type
                            type: object
                          type: array
                        fromDate:
                          $ref: "#/components/schemas/DateTime"
                          description: Start date of period.
                        toDate:
                          $ref: "#/components/schemas/DateTime"
                          description: End date of period.
                      title: Aged outstanding amount
                      type: object
                    type: array
                  currency:
                    $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
                title: Aged currency outstanding
                type: object
              type: array
            supplierId:
              description: Supplier ID of the aged creditor.
              example: f594cefb-7750-4c3a-bab2-b5322026dee9
              type: string
            supplierName:
              description: Supplier name of the aged creditor.
              example: John Doe
              type: string
          title: Aged creditor
          type: object
      description: |-
        The Aged Creditors report shows the total balance owed by a business to its suppliers over time.

        You can generate it for a company based on recently synced data from your customers' accounting platforms. The report is available in the **Reports** tab in the Codat portal.

        Total assets or liabilities are grouped into 30-day periods for each supplier, up to the current date. You can adjust the report date, period length, and number of periods to show on each report. The data can be grouped by customer or currency.

        > It is not guaranteed that write-offs are included in the Aged Creditors report.

        ## Underlying data

        The Aged Creditors report is generated from a set of required data types: [Suppliers](https://docs.codat.io/accounting-api#/schemas/Supplier), [Bills](https://docs.codat.io/accounting-api#/schemas/Bill), [Bill credit notes](https://docs.codat.io/accounting-api#/schemas/BillCreditNote), and [Bill payments](https://docs.codat.io/accounting-api#/schemas/BillPayment).

        To generate the report, the underlying data types must have been synced within 24 hours of each other. Otherwise an error is displayed when you try to run the report. Sync the required data types by clicking the link in the error, and then run the report again.

        > The Aged Creditor report runs based on the **issue dates** of the underlying data types rather than the due date.

        ## Accessing the Aged Creditors report in Portal

        Apart from returning the report via the API as JSON and query, you can also return the Aged Creditors report in the Codat portal.

        1. In the navigation bar, click **Companies**.
        2. Click the name of the company you want to generate the report for. The company's data page is displayed.
        3. Click the **Accounting** tab then click **Reports**.
        4. Select **Aged Creditors**.
        5. _(Optional)_ Edit the default reporting parameters.
           a. You can change the report date in the **Date** box. By default, the report includes transactions that occurred up to, but not including, today's date. To include transactions for today, enter tomorrow's date. 
           b. In the **Period Length Days** box, select the default period length for each column (the default is 30 days).
           b. In the **Number of Periods** box, enter the number of periods to show as columns in the report (the default is 4 periods).
        6. To run the report, click **Load aged creditors**.
        7. The report is generated and displayed at the bottom of the page.

        The report will be grouped per supplier and depending on the periods requested. The details indicates whether the amounts owed come from outstanding bills or bill credit notes.
      examples:
        - data:
            - agedCurrencyOutstanding:
                - agedOutstandingAmounts:
                    - amount: 1547.5
                      details:
                        - amount: 1547.5
                          name: Bills
                      fromDate: 2022-10-01T00:00:00Z
                      toDate: 2022-10-31T00:00:00Z
                  currency: GBP
              customerId: f594cefb-7750-4c3a-bab2-b5322026dee9
              customerName: John Doe
          generated: 2022-10-23T00:00:00Z
          reportDate: 2022-10-23T00:00:00Z
      properties:
        data:
          description: Array of aged creditor.
          items:
            $ref: "#/components/schemas/AgedCreditorReport/definitions/agedCreditor"
          type: array
        generated:
          $ref: "#/components/schemas/DateTime"
          description: Date and time the report was generated.
        reportDate:
          $ref: "#/components/schemas/DateTime"
          description: Date the report is generated up to.
      title: Aged creditors report
      type: object
    AgedDebtorReport:
      definitions:
        agedDebtor:
          properties:
            agedCurrencyOutstanding:
              description: Array of aged debtors by currency.
              items:
                $ref: "#/components/schemas/AgedCreditorReport/definitions/agedCreditor/properties/agedCurrencyOutstanding/items"
              type: array
            customerId:
              description: Customer ID of the aged debtor.
              example: f594cefb-7750-4c3a-bab2-b5322026dee9
              type: string
            customerName:
              description: Customer name of the aged debtor.
              example: John Doe
              type: string
          title: Aged debtor
          type: object
      description: |-
        The Aged Debtors report shows the total outstanding balance due from customers to the business over time. 

        You can generate it for a company based on recently synced data from your customers' accounting platforms. The report is available in the **Reports** tab in the Codat portal.

        Total assets or liabilities are grouped into 30-day periods for each customer, up to the current date. You can adjust the report date, period length, and number of periods to show on each report. The data can be grouped by customer or currency.

        > It is not guaranteed that write-offs are included in the Aged Debtors report.

        ## Underlying data

        The Aged Debtors report is generated from a set of required data types: [Customers](https://docs.codat.io/accounting-api#/schemas/Customer), [Invoices](https://docs.codat.io/accounting-api#/schemas/Invoice), [Credit notes](https://docs.codat.io/accounting-api#/schemas/CreditNote), and [Payments](https://docs.codat.io/accounting-api#/schemas/Payment).

        To generate the report, the underlying data types must have been synced within 24 hours of each other. Otherwise an error is displayed when you try to run the report. Sync the required data types by clicking the link in the error, and then run the report again.

        > The Aged Debtors report runs based on the **issue dates** of the underlying data types rather than the due date.

        ## Accessing the Aged Debtors report in Portal

        Apart from returning the report via the API as JSON and query, you can also return the Aged Debtors report in the Codat portal.

        1. In the navigation bar, click **Companies**.
        2. Click the name of the company you want to generate the report for. The company's data page is displayed.
        3. Click the **Accounting** tab then click **Reports**.
        4. Select **Aged Debtors**.
        5. _(Optional)_ Edit the default reporting parameters.
           a. You can change the report date in the **Date** box. By default, the report includes transactions that occurred up to, but not including, today's date. To include transactions for today, enter tomorrow's date. 
           b. In the **Period Length Days** box, select the default period length for each column (the default is 30 days).
           b. In the **Number of Periods** box, enter the number of periods to show as columns in the report (the default is 4 periods).
        6. To run the report, click **Load aged debtors**.
        7. The report is generated and displayed at the bottom of the page.

        The report will be grouped per supplier and depending on the periods requested. The details indicates whether the amounts owed come from outstanding invoices or credit notes.
      examples:
        - data:
            - agedCurrencyOutstanding:
                - agedOutstandingAmounts:
                    - amount: 1547.5
                      details:
                        - amount: 1547.5
                          name: Invoices
                      fromDate: 2022-10-01T00:00:00Z
                      toDate: 2022-10-31T00:00:00Z
                  currency: GBP
              customerId: f594cefb-7750-4c3a-bab2-b5322026dee9
              customerName: John Doe
          generated: 2022-10-23T00:00:00Z
          reportDate: 2022-10-23T00:00:00Z
      properties:
        data:
          description: Array of aged debtors.
          items:
            $ref: "#/components/schemas/AgedDebtorReport/definitions/agedDebtor"
          type: array
        generated:
          $ref: "#/components/schemas/DateTime"
          description: Date and time the report was generated.
        reportDate:
          $ref: "#/components/schemas/DateTime"
          description: Date the report is generated up to.
      title: Aged debtors report
      type: object
    Attachment:
      allOf:
        - properties:
            contentType:
              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. 
              type:
                - string
                - "null"
            dateCreated:
              $ref: "#/components/schemas/DateTime"
            fileSize:
              description: File size in bytes. For example, if this reads **46153**, then the file size is 46kb.
              format: int32
              type:
                - integer
                - "null"
            id:
              description: Identifier for the attachment, unique for the company in the accounting platform.
              type: string
            includeWhenSent:
              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 platform allows this.
              type: boolean
            name:
              description: Name of the attachment file.
              type:
                - string
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      description: |
        The Codat API supports pulling and pushing of file attachments for invoices, bills, direct costs, and direct incomes.

        > **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.

        Unlike other data types, Codat doesn't support sync settings for attachments.

        View the coverage for accounts in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=chartOfAccounts" target="_blank">Data coverage explorer</a>.
      examples: []
      title: Attachment
      type: object
    AttachmentsDataset:
      properties:
        attachments:
          items:
            $ref: "#/components/schemas/Attachment"
          type:
            - array
            - "null"
      title: Attachments
      type: object
      x-internal: true
    BalanceSheet:
      additionalProperties: false
      definitions:
        balanceSheet:
          properties:
            assets:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLines for assets. For example, fixed and current assets.
            date:
              $ref: "#/components/schemas/DateTime"
              description: Point in time when a snapshot of a company's financial position is taken.
            equity:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLines for equities. For example, retained and current year earnings. See below.
            liabilities:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLines for liabilities. For example, current liabilities.
            netAssets:
              description: Value of net assets for a company in their base currency.
              type: number
          required:
            - netAssets
          type: object
      description: |-
        > View the coverage for balance sheet in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=balanceSheet" target="_blank">Data coverage explorer</a>.

        ## Overview

        The balance sheet is a snapshot of a company's accounts at a single point in time that provides a statement of the assets, liabilities and equity of an organization. It gives interested parties an idea of the company's financial position, in addition to displaying what the company owns and owes.

        > **Balance sheet or profit and loss report?**
        >
        > A profit and loss report summarises the total revenue, expenses, and profit or loss during a specified time period. A balance sheet report shows the financial position of a company at a specific moment in time.

        **Structure of this report**
        This report will reflect the structure and line descriptions that the business has set in their own accounting platform.

        **History**
        By default, Codat pulls (up to) 24 months of balance sheets for a company. You can adjust this to fetch more history, where available, by updating the `monthsToSync` value for `balanceSheet` on the [data type settings endpoint](https://docs.codat.io/codat-api#/operations/post-profile-syncSettings).

        **Want to pull this in a standardised structure?**
        Our [Enhanced Financials](https://docs.codat.io/assess/reports/enhanced-financials/financials) endpoints provide the same report under standardized headings, allowing you to pull it in the same format for all of your business customers.
      properties:
        currency:
          $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
          description: Currency of the balance sheet.
        earliestAvailableMonth:
          $ref: "#/components/schemas/DateTime"
          description: Earliest available monthly report data.
          nullable: true
        mostRecentAvailableMonth:
          $ref: "#/components/schemas/DateTime"
          description: Most recent available monthly report data.
          nullable: true
        reports:
          description: An array of balance sheet reports.
          items:
            $ref: "#/components/schemas/BalanceSheet/definitions/balanceSheet"
          type: array
      required:
        - currency
        - reports
      title: Balance sheet
      type: object
    BankAccount:
      allOf:
        - properties:
            accountName:
              description: Name of the bank account in the accounting platform.
              type:
                - string
                - "null"
            accountNumber:
              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.
              type:
                - string
                - "null"
            accountType:
              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.
              enum:
                - Unknown
                - Credit
                - Debit
              title: Bank Account Type
              type: string
              x-internal: true
            availableBalance:
              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.
              type:
                - number
                - "null"
            balance:
              description: Balance of the bank account.
              type:
                - number
                - "null"
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Base currency of the bank account.
            iBan:
              description: International bank account number of the account. Often used when making or receiving international payments.
              type:
                - string
                - "null"
            id:
              description: Identifier for the account, unique for the company in the accounting platform.
              type: string
            institution:
              description: The institution of the bank account.
              type:
                - string
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            nominalCode:
              description: Code used to identify each nominal account for a business.
              type:
                - string
                - "null"
            overdraftLimit:
              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`.
              type:
                - number
                - "null"
            sortCode:
              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.
              type:
                - string
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        bankAccountRef:
          description: Links to the Account transactions data type.
          properties:
            id:
              description: Bank account 'id' for the account transaction.
              type: string
            name:
              description: bank account 'name' for the account transaction.
              type: string
          title: Bank account reference
          type: object
      description: |-
        > **Accessing Bank Accounts through Banking API**
        > 
        > This datatype was originally used for accessing bank account data both in accounting integrations and open banking aggregators. 
        > 
        > To view bank account data through the Banking API, please refer to the new datatype [here](https://docs.codat.io/banking-api#/schemas/Account)

        > View the coverage for bank accounts in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankAccounts" target="_blank">Data coverage explorer</a>.

        ## 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 platform.
        * The currency and balance of the account.
        * The sort code and account number.
      title: Bank account
      type: object
    BankAccountTransactions:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/BankTransactions/definitions/bankTransactionLine"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    BankAccounts:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/BankAccount"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    BankStatementAccount:
      properties:
        accountName:
          type:
            - string
            - "null"
        accountNumber:
          type:
            - string
            - "null"
        availableBalance:
          type:
            - number
            - "null"
        balance:
          type:
            - number
            - "null"
        currency:
          type:
            - string
            - "null"
        fromDate:
          $ref: "#/components/schemas/DateTime"
        iban:
          type:
            - string
            - "null"
        id:
          type: string
        institution:
          type:
            - string
            - "null"
        modifiedDate:
          $ref: "#/components/schemas/ModifiedDates/allOf/0"
        nominalCode:
          type:
            - string
            - "null"
        overdraftLimit:
          type:
            - number
            - "null"
        sortCode:
          type:
            - string
            - "null"
        sourceModifiedDate:
          $ref: "#/components/schemas/ModifiedDates/allOf/1"
        toDate:
          $ref: "#/components/schemas/DateTime"
      title: Bank statement account
      type: object
    BankTransactions:
      definitions:
        bankTransactionLine:
          allOf:
            - properties:
                amount:
                  type: number
                balance:
                  type: number
                clearedOnDate:
                  $ref: "#/components/schemas/DateTime"
                counterparty:
                  nullable: true
                  type: string
                description:
                  nullable: true
                  type: string
                id:
                  type: string
                reconciled:
                  type: boolean
                reference:
                  nullable: true
                  type: string
                transactionType:
                  $ref: "#/components/schemas/BankTransactions/definitions/bankTransactionType"
              type: object
            - $ref: "#/components/schemas/ModifiedDates"
          required:
            - amount
            - balance
            - date
            - reconciled
            - transactionType
          title: Bank transaction line
          type: object
        bankTransactionType:
          description: Type of transaction for the bank statement line
          enum:
            - Unknown
            - Credit
            - Debit
            - Int
            - Div
            - Fee
            - SerChg
            - Dep
            - Atm
            - Pos
            - Xfer
            - Check
            - Payment
            - Cash
            - DirectDep
            - DirectDebit
            - RepeatPmt
            - Other
          title: Bank transaction type
          type: string
      description: |-
        > **Accessing Bank Accounts through Banking API**
        > 
        > This datatype was originally used for accessing bank account data both in accounting integrations and open banking aggregators. 
        >
        > To view bank account data through the Banking API, please refer to the new datatype [here](https://docs.codat.io/banking-api#/operations/list-all-banking-transactions)

        > View the coverage for bank transactions in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bankTransactions" target="_blank">Data coverage explorer</a>.

        ## Overview

        Transactional banking data for a specific company and account.

        Bank transactions include the:
        * Amount of the transaction.
        * Current account balance.
        * Transaction type, for example, credit, debit, or transfer.
      properties:
        accountId:
          type:
            - string
            - "null"
        transactions:
          items:
            $ref: "#/components/schemas/BankTransactions/definitions/bankTransactionLine"
          type:
            - array
            - "null"
      title: Bank account transactions
      type: object
    BankTransactionsResponse:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/BankTransactions"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Bill:
      allOf:
        - properties:
            amountDue:
              description: Amount outstanding on the bill.
              type:
                - number
                - "null"
            currency:
              allOf:
                - $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
                - type: "null"
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            dueDate:
              allOf:
                - description: Date the supplier is due to be paid.
                - $ref: "#/components/schemas/DateTime"
            id:
              description: Identifier for the bill, unique for the company in the accounting platform.
              type: string
            issueDate:
              allOf:
                - description: Date of the bill as recorded in the accounting platform.
                - $ref: "#/components/schemas/DateTime"
            lineItems:
              description: Array of Bill line items.
              items:
                $ref: "#/components/schemas/Bill/definitions/billLineItem"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any private, company notes about the bill, such as payment information.
              type:
                - string
                - "null"
            paymentAllocations:
              description: An array of payment allocations.
              items:
                definitions:
                  paymentAllocationPayment:
                    properties:
                      accountRef:
                        $ref: "#/components/schemas/Account/definitions/accountRef"
                        description: The account that the allocated payment is made from or to.
                      currency:
                        $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
                        description: Currency the payment has been made in.
                      currencyRate:
                        $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
                      id:
                        description: Identifier of the allocated payment.
                        type: string
                      note:
                        description: Notes attached to the allocated payment.
                        nullable: true
                        type: string
                      paidOnDate:
                        $ref: "#/components/schemas/DateTime"
                        description: The date the payment was paid.
                      reference:
                        description: Reference to the allocated payment.
                        nullable: true
                        type: string
                      totalAmount:
                        description: Total amount that was paid.
                        type: number
                    type: object
                properties:
                  allocation:
                    properties:
                      allocatedOnDate:
                        $ref: "#/components/schemas/DateTime"
                        description: The date the payment was allocated.
                      currency:
                        $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
                        description: The currency of the transaction.
                      currencyRate:
                        $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
                      totalAmount:
                        description: The total amount that has been allocated.
                        type: number
                    type: object
                  payment:
                    $ref: "#/components/schemas/Bill/allOf/0/properties/paymentAllocations/items/definitions/paymentAllocationPayment"
                required:
                  - payment
                  - allocation
                title: Payment allocation
                type: object
              type:
                - array
                - "null"
            purchaseOrderRefs:
              items:
                $ref: "#/components/schemas/PurchaseOrder/definitions/purchaseOrderRef"
              type:
                - array
                - "null"
            reference:
              description: User-friendly reference for the bill.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/Bill/definitions/billStatus"
            subTotal:
              description: Total amount of the bill, excluding any taxes.
              type: number
            supplementalData:
              description: Reference to a configured dynamic key value pair that is unique to the accounting platform. This feature is in private beta, contact us if you would like to learn more.
              properties:
                content:
                  additionalProperties:
                    additionalProperties: {}
                    type: object
                  type:
                    - object
                    - "null"
              type: object
            supplierRef:
              $ref: "#/components/schemas/Supplier/definitions/supplierRef"
            taxAmount:
              description: Amount of tax on the bill.
              type: number
            totalAmount:
              description: Amount of the bill, including tax.
              type: number
            withholdingTax:
              items:
                properties:
                  amount:
                    type: number
                  name:
                    minLength: 1
                    type: string
                required:
                  - amount
                  - name
                type: object
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        billLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: Friendly name of the goods or services received.
              nullable: true
              type: string
            discountAmount:
              description: |-
                Numerical value of any discounts applied.

                Do not use to apply discounts in Oracle NetSuite—see Oracle NetSuite integration reference.
              nullable: true
              type: number
            discountPercentage:
              nullable: true
              type: number
            isDirectCost:
              type: boolean
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the product, service type, or inventory item to which the line item is linked.
            quantity:
              description: Number of units of goods or services received.
              type: number
            subTotal:
              description: Amount of the line, inclusive of discounts but exclusive of tax.
              nullable: true
              type: number
            taxAmount:
              description: Amount of tax for the line.
              nullable: true
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the line item is linked.
            totalAmount:
              description: Total amount of the line, including tax.
              nullable: true
              type: number
            tracking:
              $ref: "#/components/schemas/BillCreditNote/definitions/billCreditNoteLineItem/properties/tracking"
            trackingCategoryRefs:
              deprecated: true
              description: Collection of categories against which this item is tracked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: Price of each unit of goods or services.
              type: number
          required:
            - unitAmount
            - quantity
          type: object
        billStatus:
          description: Current state of the bill.
          enum:
            - Unknown
            - Open
            - PartiallyPaid
            - Paid
            - Void
            - Draft
          type: string
      description: |-
        > **Invoices or bills?**
        >
        > In Codat, bills are for accounts payable only. For the accounts receivable equivalent of bills, see [Invoices](https://docs.codat.io/accounting-api#/schemas/Invoice).

        View the coverage for bills in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=bills" target="_blank">Data coverage explorer</a>.

        ## Overview

        In Codat, a bill contains details of:
        * When the bill was recorded in the accounting system.
        * How much the bill is for and the currency of the amount.
        * Who the bill was received from — the *supplier*.
        * What the bill is for — the *line items*.

        Some accounting platforms give a separate name to purchases where the payment is made immediately, such as something bought with a credit card or online payment. One example of this would be QuickBooks Online's *expenses*.

        You can find these types of transactions in our [Direct costs](https://docs.codat.io/accounting-api#/schemas/DirectCost) data model.
      required:
        - issueDate
        - status
        - subTotal
        - taxAmount
        - totalAmount
      title: Bill
      type: object
    BillCreditNote:
      allOf:
        - properties:
            allocatedOnDate:
              $ref: "#/components/schemas/DateTime"
              description: Date the bill credit note was fully refunded or allocated.
              nullable: true
            billCreditNoteNumber:
              description: Friendly reference for the bill credit note.
              type:
                - string
                - "null"
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Currency of the bill credit note.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            discountPercentage:
              description: Percentage rate of any discount applied to the bill credit note.
              type: number
            id:
              description: Identifier for the bill credit note that is unique to a company in the accounting platform.
              type: string
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date the bill credit note was issued by the supplier.
            lineItems:
              description: "An array of line "
              items:
                $ref: "#/components/schemas/BillCreditNote/definitions/billCreditNoteLineItem"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any additional information about the bill credit note.
              type:
                - string
                - "null"
            paymentAllocations:
              description: An array of payment allocations.
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/paymentAllocations/items"
              type:
                - array
                - "null"
            remainingCredit:
              description: Amount of the bill credit note that is still outstanding.
              type: number
            status:
              $ref: "#/components/schemas/BillCreditNote/definitions/billCreditNoteStatus"
            subTotal:
              description: Total amount of the bill credit note, including discounts but excluding tax.
              type: number
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            supplierRef:
              $ref: "#/components/schemas/Supplier/definitions/supplierRef"
            totalAmount:
              description: Total amount of credit that has been applied to the business' account with the supplier, including discounts and tax.
              type: number
            totalDiscount:
              description: Total value of any discounts applied.
              type: number
            totalTaxAmount:
              description: Amount of tax included in the bill credit note.
              type: number
            withholdingTax:
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/withholdingTax/items"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        billCreditNoteLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
            description:
              description: Friendly name of each line item. For example, the goods or service for which credit has been received.
              nullable: true
              type: string
            discountAmount:
              description: Value of any discounts applied.
              nullable: true
              type: number
            discountPercentage:
              description: Percentage rate of any discount applied to the line item.
              nullable: true
              type: number
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the item the line is linked to.
            quantity:
              description: Number of units of the goods or service for which credit has been received.
              type: number
            subTotal:
              description: Amount of credit associated with the line item, including discounts but excluding tax.
              nullable: true
              type: number
            taxAmount:
              description: Amount of tax associated with the line item.
              nullable: true
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
            totalAmount:
              description: Total amount of the line item, including discounts and tax.
              nullable: true
              type: number
            tracking:
              definitions:
                billedToType:
                  enum:
                    - Unknown
                    - NotApplicable
                    - Customer
                    - Project
                  type: string
              description: Categories, and a project and customer, against which the item is tracked.
              properties:
                categoryRefs:
                  items:
                    $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
                  type: array
                customerRef:
                  $ref: "#/components/schemas/Customer/definitions/customerRef"
                isBilledTo:
                  $ref: "#/components/schemas/BillCreditNote/definitions/billCreditNoteLineItem/properties/tracking/definitions/billedToType"
                isRebilledTo:
                  $ref: "#/components/schemas/BillCreditNote/definitions/billCreditNoteLineItem/properties/tracking/definitions/billedToType"
                projectRef:
                  $ref: "#/components/schemas/ProjectRef"
              required:
                - categoryRefs
                - isBilledTo
                - isRebilledTo
              title: Tracking
              type: object
              x-stoplight:
                id: 2158cacd7b329
            trackingCategoryRefs:
              deprecated: true
              description: Reference to the tracking categories to which the line item is linked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: Unit price of the goods or service.
              type: number
          required:
            - unitAmount
            - quantity
          type: object
        billCreditNoteStatus:
          description: Current state of the bill credit note
          enum:
            - Unknown
            - Draft
            - Submitted
            - Paid
            - Void
            - PartiallyPaid
          type: string
      description: |-
        > **Bill credit notes or credit notes?**
        > 
        > In Codat, bill credit notes represent accounts payable only. For accounts receivable, see [Credit notes](https://docs.codat.io/accounting-api#/schemas/CreditNote).

        View the coverage for bill credit notes in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billCreditNotes" target="_blank">Data coverage explorer</a>.

        ## Overview

        A bill credit note is issued by a supplier for the purpose of recording credit. For example, if a supplier was unable to fulfil an order that was placed by a business, or delivered damaged goods, they would issue a bill credit note. A bill credit note reduces the amount a business owes to the supplier. It can be refunded to the business or used to pay off future bills.

        In the Codat API, a bill credit note is an accounts payable record issued by a [supplier](https://docs.codat.io/accounting-api#/schemas/Supplier). 

        A bill credit note includes details of:
        * The original and remaining credit.
        * Any allocations of the credit against other records, such as [bills](https://docs.codat.io/accounting-api#/schemas/Bill).
        * The supplier that issued the bill credit note.
      examples:
        - billCreditNoteNumber: "14763237"
          currency: USD
          id: 6a0e9dfb-87b0-47d3-aaaf-9753ae9e757d
          issueDate: 2019-02-18T16:03:07.268Z
          lineItems:
            - accountRef:
                id: 3f267b10-757d-44c0-bef9-20f70cc8fbe3
              description: AcmeMagnet
              discountAmount: 0
              itemRef:
                id: "3"
              quantity: 4
              subTotal: 100
              taxAmount: 10
              taxRateRef:
                id: 6c88aff3-7cb9-4980-a3d3-443e72e02498
              totalAmount: 110
              trackingCategoryRefs:
                - id: department_1
                  name: ACMERockets
                - id: costcode_2
                  name: ACM2-ACMESigns
              unitAmount: 25
            - accountRef:
                id: 3f267b10-757d-44c0-bef9-20f70cc8fbe3
              description: ACMEDisintegratingPistol
              discountAmount: 0
              itemRef:
                id: 3abf0883-03f7-44c6-bc15-1372522d25e1
              quantity: 3
              subTotal: 75
              taxAmount: 7.5
              taxRateRef:
                id: 6c88aff3-7cb9-4980-a3d3-443e72e02498
              totalAmount: 82.5
              unitAmount: 25
            - accountRef:
                id: 3f267b10-757d-44c0-bef9-20f70cc8fbe3
              description: ACMEWhippedCreamDispenser
              discountAmount: 0
              itemRef:
                id: 3691f3d9-0ff7-4358-8a93-bed31c1b4b03
              quantity: 6
              subTotal: 312
              taxAmount: 31.2
              taxRateRef:
                id: 6c88aff3-7cb9-4980-a3d3-443e72e02498
              totalAmount: 343.2
              unitAmount: 52
            - accountRef:
                id: 3f267b10-757d-44c0-bef9-20f70cc8fbe3
              description: ACMEJetPropelledPogoStick
              discountAmount: 0
              itemRef:
                id: 075410d4-7edc-4936-ba52-9e1e43cbe300
              quantity: 1
              subTotal: 130
              taxAmount: 27.3
              taxRateRef:
                id: d606732b-db18-44d7-823b-7f15f42c32ea
              totalAmount: 157.3
              unitAmount: 130
          note: Track separately
          remainingCredit: 693
          status: Submitted
          supplierRef:
            id: 67C6A7A1-5E84-4AC4-B950-24A114E379D0
            supplierName: Chin's Gas and Oil
          totalAmount: 693
      required:
        - totalAmount
        - totalDiscount
        - subTotal
        - totalTaxAmount
        - discountPercentage
        - remainingCredit
        - status
      title: Bill credit note
      type: object
    BillCreditNotes:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/BillCreditNote"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    BillPayment:
      allOf:
        - properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Account the payment is linked to in the accounting platform.
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            date:
              $ref: "#/components/schemas/DateTime"
              description: Date the bill payment was recorded in the accounting software.
            id:
              description: Identifier for the bill payment, unique for the company in the accounting platform.
              type: string
            lines:
              description: An array of bill payment lines.
              items:
                $ref: "#/components/schemas/BillPayment/definitions/billPaymentLine"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Additional information associated with the payment.
              type:
                - string
                - "null"
            paymentMethodRef:
              $ref: "#/components/schemas/PaymentMethod/definitions/paymentMethodRef"
              description: The Payment Method to which the payment is linked in the accounting platform.
            reference:
              description: Additional information associated with the payment.
              type:
                - string
                - "null"
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            supplierRef:
              $ref: "#/components/schemas/Supplier/definitions/supplierRef"
            totalAmount:
              description: Amount of the payment in the payment currency. This value never changes and represents the amount of money that is paid into the supplier's account.
              type: number
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        billPaymentLine:
          properties:
            allocatedOnDate:
              $ref: "#/components/schemas/DateTime"
              description: AllocatedOnDate must be specified and be later than the issue date of the bill.
            amount:
              description: Amount in the bill payment currency.
              type: number
            links:
              items:
                $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink"
              nullable: true
              type: array
          required:
            - amount
          type: object
        billPaymentLineLink:
          properties:
            amount:
              description: |-
                Amount by which the balance of the linked entity is altered, in the currency of the linked entity.

                - A negative link amount reduces the outstanding amount on the accounts payable account.
                - A positive link amount increases the outstanding amount on the accounts payable account.
              nullable: true
              type: number
            currencyRate:
              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.  

                Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places). 

                For accounting platforms 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                      |
              nullable: true
              title: Currency rate
              type: number
            id:
              description: Unique identifier of the transaction represented by the link.
              nullable: true
              type: string
            type:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLinkType"
          required:
            - type
          type: object
        billPaymentLineLinkType:
          description: Types of links to bill payment lines.
          enum:
            - Unknown
            - Unlinked
            - Bill
            - Other
            - CreditNote
            - BillPayment
            - PaymentOnAccount
            - Refund
            - ManualJournal
            - Discount
          type: string
      description: |
        > **Bill payments or payments?**  
        > 
        > In Codat, bill payments represent accounts payable only. For accounts receivable, see [payments](https://docs.codat.io/accounting-api#/schemas/Payment), which includes [invoices](https://docs.codat.io/accounting-api#/schemas/Invoice) and [credit notes](https://docs.codat.io/accounting-api#/schemas/CreditNote).

        > View the coverage for bill payments in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=billPayments" target="_blank">Data coverage explorer</a>.

        ## Overview

        Bill payments include all accounts payable transaction data. This includes [bills](https://docs.codat.io/accounting-api#/schemas/Bill) and [credit notes against bills](https://docs.codat.io/accounting-api#/schemas/BillCreditNote).

        A bill payment in Codat usually represents an allocation of money within any customer accounts payable account. This includes, but is not strictly limited to:

        - A payment made against a bill — for example, a credit card payment, cheque payment, or cash payment.
        - An allocation of a supplier's credit note to a bill or perhaps a refund.
        - A bill payment made directly to an accounts payable account. This could be an overpayment or a prepayment, or a refund of a payment made directly to an accounts payable account.

        Depending on the bill payments which are allowed by the underlying accounting package, some of these types may be combined. Please see the example data section for samples of what these cases look like.

        In Codat, a bill payment contains details of:

        - When the bill payment was recorded in the accounting system.
        - How much it is for and in the currency.
        - Who the payment has been paid to, the _supplier_.
        - The types of bill payments, the _line items_.  

        Some accounting platforms give a separate name to purchases where the payment is made immediately, such as something bought with a credit card or online payment. One example of this would be QuickBooks Online's _expenses_. You can find these types of transactions in our [Direct costs](https://docs.codat.io/accounting-api#/schemas/DirectCost) data model.

        Bill payments is a child data type of [account transactions](https://docs.codat.io/accounting-api#/schemas/AccountTransaction).

        ---

        ## Bill payment types

        ### Payment of a bill

        A payment paying a single bill should have the following properties:

        - A `totalAmount` indicating the amount of the bill that was paid. This is always positive.
        - A `lines` array containing one element with the following properties:
          - An `amount` equal to the `totalAmount` above.
          - A `links` array containing one element with the following properties:
            - A `type` indicating the type of link, in this case a `Bill`.
            - An `id` containing the ID of the bill that was paid.
            - An amount of `-totalAmount` (negative `totalAmount`), indicating that the entirety of the paid amount is allocated to the bill.

        ### Payment of multiple bills

        It is possible for one payment to pay multiple bills. This can be represented using two possible formats, depending on how the supplier keeps their books:

        1. The payment has multiple entries in its **lines** array, one for each bill that is paid. Each line will follow the above example for paying a bill, and the rules detailed in the data model.
        2. The payment has a line with multiple links to each bill. This occurs when the proportion of the original payment allocated to each bill is not available.

        Each line is the same as those described above, with the **amount** indicating how much of the payment is allocated to the bill. The **amount** on the lines sum to the **totalAmount** on the payment.

        > Pushing batch payments to Xero
        > 
        > When pushing a single bill payment to Xero to pay multiple bills, only the first format is supported—multiple entries in the payment **lines** array.

        ### Payments and refunds on account

        A payment on account, that is a payment that doesn’t pay a specific bill, has one entry in its lines array.

        The line has the following properties:

        - A **totalAmount** indicating the amount paid by a supplier or refunded to them by a company. A payment to the supplier is always negative. A refund is always positive.
        - A **links** array containing one element with the following properties:
          - A **type** indicating the type of link. For a payment this is `PaymentOnAccount`. For a refund this is `Refund`.
          - The **id** containing the ID of the supplier.
          - An amount for the link is `0` **totalAmount** or the amount of the payment or refund.

        It is possible to have a payment that is part on account and part allocated to a bill. Each line should follow the examples above.

        ### Using a credit note to pay a bill

        The payment of a bill using a credit note has one entry in its `lines` array. This **line** has the following properties:

        - An **amount** indicating the amount of money moved, which in this case is `0`, as the credit note and bill allocation must balance each other.
        - A **links** array containing two elements:
          - The first link has:
            - A **type** indicating the type of link, in this case a `Bill`.
            - An **id** containing the ID of the bill that was paid.
          - The second link has:
            - A **type** indicating the type of link, in this case a `CreditNote`.
            - An **id** containing the ID of the credit note used by this payment.

        The **amount** field on the **line** equals the **totalAmount** on the payment.

        ### Refunding a credit note

        A bill payment refunding a credit note has one entry in its **lines** array. This line has the following properties:

        - An **amount** indicating the amount of the credit note that was refunded. This is always negative, indicating that it is a refund.
        - A **links** array containing one element with the following properties:
          - A **type** indicating the type of `link`, in this case a `CreditNote`.
          - An **id** containing the ID of the credit note that was refunded.

        The **totalAmount** field on the payment equals the line's **amount** field. These are both negative, as this is money leaving accounts payable.

        ### Refunding a payment

        If a payment is refunded, for example, when a company overpaid a bill and the overpayment is returned, there are two payment records: 

        - One for the incoming overpayment.
        - Another for the outgoing refund.

        The payment issuing the refund is identified by the fact that the **totalAmount** is negative. This payment has one entry in its lines array that have the following properties:

        - An **amount** indicating the amount that was refunded. This is always negative.
        - A **links** array containing one element with the following properties:
          - A **type** indicating the type of a the link, in this case a `BillPayment`.
          - An **id** containing the ID of the payment that was refunded.

        The **amount** field on the line equals the **totalAmount** on the payment and is negative as this is money leaving accounts payable.

        The payment that was refunded can be identified as it has a line where the `amount` on its `line` is positive and the type of the link is `Refund`. This payment may have several entries in its **lines** array if it was partly used to pay an bill. For example, a £1,050 payment paying a £1,000 bill with a refund of £50 has two lines: 

        - One for £1,000 linked to the bill that was paid
        - Another for £50 linked to the payment that refunded the over payment. This link is of type `Refund` but the ID corresponds to a bill payment.

        The line linked to the bill payment has the following properties:

        - An **amount** indicating the amount that was refunded. This is positive as its money that was added to accounts payable, but is balanced out by the negative amount of the refund.
        - A **links** array containing one element with the following properties:
          - A **type** indicating the type of the link, in this case a `Refund`.
          - An **id** containing the ID of the payment that refunded this line.

        > Linked payments
        > 
        > Not all accounting packages support linked payments in this way. In these platforms you may see a payment on account and a refund on account.

        ## Foreign currencies

        There are two types of currency rate that are detailed in the bill payments data type: 

        Payment currency rate: 

        - Base currency of the accounts payable account.
        - Foreign currency of the bill payment.

        Payment line link currency rate: 

        - Base currency of the item that the link represents.
        - Foreign currency of the payment.

        These two rates allow the calculation of currency loss or gain for any of the transactions affected by the payment lines. The second rate is used when a bill payment is applied to an item in a currency that does not match either:

        - The base currency for the accounts payable account. 
        - The currency of the item.
      examples:
        - lines:
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
          totalAmount: 1000
        - lines:
            - amount: 0
              links:
                - amount: -1000
                  id: x
                  type: Bill
                - amount: 1000
                  id: y
                  type: CreditNote
          totalAmount: 0
        - lines:
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
            - amount: 1000
              links:
                - amount: -1000
                  id: y
                  type: PaymentOnAccount
          totalAmount: 2000
        - lines:
            - amount: -1000
              links:
                - amount: 1000
                  id: y
                  type: CreditNote
          totalAmount: -1000
        - lines:
            - amount: -1000
              links:
                - amount: 1000
                  id: y
                  type: PaymentOnAccount
          totalAmount: -1000
        - lines:
            - amount: 0
              links:
                - amount: -750
                  id: x
                  type: Bill
                - amount: 750
                  id: y
                  type: CreditNote
            - amount: 250
              links:
                - amount: -250
                  id: x
                  type: Bill
          totalAmount: 250
        - lines:
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
          modifiedDate: 2022-10-23T00:00:00Z
          sourceModifiedDate: 2022-10-23T00:00:00Z
          totalAmount: 1000
        - lines:
            - amount: 0
              links:
                - amount: -1000
                  id: x
                  type: Bill
                - amount: 1000
                  id: y
                  type: CreditNote
            - amount: 0
              links:
                - amount: -1000
                  id: x
                  type: Bill
                - amount: 1000
                  id: z
                  type: CreditNote
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
            - amount: 1000
              links:
                - amount: -1000
                  id: customer-001
                  type: PaymentOnAccount
          totalAmount: 2000
        - lines:
            - amount: 0
              links:
                - amount: -1000
                  id: w
                  type: Bill
                - amount: -1000
                  id: x
                  type: Bill
                - amount: 1000
                  id: y
                  type: CreditNote
                - amount: 1000
                  id: z
                  type: CreditNote
          totalAmount: 0
        - lines:
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
          modifiedDate: 2022-10-23T00:00:00Z
          sourceModifiedDate: 2022-10-23T00:00:00Z
          totalAmount: 1000
        - date: 1901-01-01
          id: "001"
          lines:
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
            - amount: 4000
              links:
                - amount: -4000
                  id: y
                  type: PaymentOnAccount
          totalAmount: 5000
        - date: 1901-01-01
          id: "001"
          lines:
            - amount: 1000
              links:
                - amount: -1000
                  id: x
                  type: Bill
            - amount: 1000
              links:
                - amount: -1000
                  id: y
                  type: Bill
            - amount: 3000
              links:
                - amount: -3000
                  id: y
                  type: PaymentOnAccount
          totalAmount: 5000
        - lines:
            - amount: 500
              links:
                - amount: -1000
                  id: a
                  type: Bill
                - amount: -1000
                  id: b
                  type: Bill
                - amount: 750
                  id: y
                  type: CreditNote
                - amount: 750
                  id: z
                  type: CreditNote
          totalAmount: 500
      required:
        - date
      title: Bill payment
      type: object
    BillPayments:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/BillPayment"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Bills:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Bill"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    CashFlowStatement:
      definitions:
        cashFlowStatement:
          properties:
            cashPayments:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLines for cash payments to suppliers for the purchase of goods or services.
            cashReceipts:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLines for cash receipts from the sale of goods.
            fromDate:
              $ref: "#/components/schemas/DateTime"
              description: Start date for the reporting period.
            toDate:
              $ref: "#/components/schemas/DateTime"
              description: End date for the reporting period.
          title: Cash flow statement
          type: object
        reportBasis:
          description: Accounting method used when aggregating the report data. In this case, `Cash`.
          enum:
            - Unknown
            - Accrual
            - Cash
          title: Report basis
          type: string
        reportInput:
          description: Accounting method used to prepare the cash flow statement.
          enum:
            - Unknown
            - Indirect
            - Direct
          type: string
      description: |-
        > View the coverage for cash flow statement in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=cashFlowStatement" target="_blank">Data coverage explorer</a>.

        > **Operating activities only**  
        > 
        > Currently, the cash flow statement shows cash that flows into and out of the company from operating activities *only*. Operating activities generate cash from the sale of goods or services.

        ## Overview

        A cash flow statement is a financial report that records all cash that is received or spent by a company during a given period. It gives you a clearer picture of the company’s performance, and their ability to pay creditors and finance growth.

        > **Cash flow statement or balance sheet?**
        > 
        > Look at the cash flow statement to understand a company's ability to pay its bills. Although the balance sheet may show healthy earnings at a specific point in time, the cash flow statement allows you to see whether the company is meeting its financial commitments, such as paying creditors or its employees.
      properties:
        currency:
          $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
          description: Currency of all values in the cash flow statement.
        earliestAvailableMonth:
          $ref: "#/components/schemas/DateTime"
          nullable: true
        mostRecentAvailableMonth:
          $ref: "#/components/schemas/DateTime"
          nullable: true
        reportBasis:
          $ref: "#/components/schemas/CashFlowStatement/definitions/reportBasis"
        reportInput:
          $ref: "#/components/schemas/CashFlowStatement/definitions/reportInput"
        reports:
          description: Array of cash flow statements.
          items:
            $ref: "#/components/schemas/CashFlowStatement/definitions/cashFlowStatement"
          type: array
      required:
        - reports
        - reportBasis
        - reportInput
        - currency
      title: Cash flow statement
      type: object
    CompanyDataset:
      description: |-
        > View the coverage for company info in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=cashFlowStatement" target="_blank">Data coverage explorer</a>.

        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 platform about a company. `Companies` is an endpoint that lists businesses in the Codat system that have linked and shared their data sources.
      examples:
        - accountingPlatformRef: 4444e827-401b-4925-92cb-d79086bf3b6b
          addresses:
            - city: London
              country: United Kingdom
              line1: Warner House
              line2: 98 Theobald's Road
              postalcode: WC1X 8WB
              region: ""
              type: Billing
            - city: San Pablo
              country: ""
              line1: 123 Sierra Way
              line2: ""
              postalCode: "87999"
              region: CA
              type: Unknown
          baseCurrency: USD
          companyLegalName: ACME Corporation Ltd.
          companyName: ACME Corporation
          createdDate: 2020-02-03T16:42:02Z
          financialYearStartDate: 2019-04-01T00:00:00Z
          ledgerLockDate: 2019-03-04T12:08:01.881Z
          phoneNumbers:
            - number: 010 1234 5678
              type: Landline
          registrationNumber: "1234567890"
          sourceUrls:
            url1: https://go.xero.com/organisationlogin/default.aspx?shortcode=!rxs0Q
            url2: https://reporting.xero.com/!rxs0Q
          taxNumber: GB 123456789
          webLinks:
            - type: Website
              url: https://www.wbsl.com/
      properties:
        accountingPlatformRef:
          description: Identifier or reference for the company in the accounting platform.
          type:
            - string
            - "null"
        addresses:
          description: An array of Addresses.
          items:
            definitions:
              addressType:
                description: The type of the address
                enum:
                  - Unknown
                  - Billing
                  - Delivery
                type: string
            properties:
              city:
                description: City of the customer address.
                type:
                  - string
                  - "null"
              country:
                description: Country of the customer address.
                type:
                  - string
                  - "null"
              line1:
                description: Line 1 of the customer address.
                type:
                  - string
                  - "null"
              line2:
                description: Line 2 of the customer address.
                type:
                  - string
                  - "null"
              postalCode:
                description: Postal code or zip code.
                type:
                  - string
                  - "null"
              region:
                description: Region of the customer address.
                type:
                  - string
                  - "null"
              type:
                $ref: "#/components/schemas/CompanyDataset/properties/addresses/items/definitions/addressType"
            required:
              - type
            type: object
          type:
            - array
            - "null"
        baseCurrency:
          description: Currency set in the accounting platform of the linked company. Used by the currency rate.
          type:
            - string
            - "null"
        companyLegalName:
          description: Registered legal name of the linked company.
          type:
            - string
            - "null"
        companyName:
          description: Name of the linked company.
          type:
            - string
            - "null"
        createdDate:
          $ref: "#/components/schemas/DateTime"
          description: Date the linked company was created in the accounting platform.
        financialYearStartDate:
          $ref: "#/components/schemas/DateTime"
          description: Start date of the financial year for the company.
        ledgerLockDate:
          $ref: "#/components/schemas/DateTime"
          description: If set in the accounting platform, 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.
        phoneNumbers:
          description: An array of phone numbers.
          items:
            definitions:
              phoneNumberType:
                description: The type of phone number
                enum:
                  - Primary
                  - Landline
                  - Mobile
                  - Fax
                  - Unknown
                type: string
            properties:
              number:
                description: A phone number.
                examples:
                  - +44 25691 154789
                  - (877) 492-8687
                  - 01224 658 999
                type:
                  - string
                  - "null"
              type:
                $ref: "#/components/schemas/CompanyDataset/properties/phoneNumbers/items/definitions/phoneNumberType"
            required:
              - number
              - type
            title: Phone
            type: object
            x-internal: true
          type:
            - array
            - "null"
        registrationNumber:
          description: Registration number given to the linked company by the companies authority in the country of origin. In the UK this is Companies House.
          type:
            - string
            - "null"
        sourceUrls:
          additionalProperties:
            type:
              - string
              - "null"
          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).
          type:
            - object
            - "null"
        taxNumber:
          description: Company tax number.
          type:
            - string
            - "null"
        webLinks:
          description: An array of weblinks.
          items:
            description: Weblink associated with the company.
            examples:
              - type: Website
                url: https://codat.io
            properties:
              type:
                description: The type of the weblink.
                enum:
                  - Website
                  - Social
                  - Unknown
                type: string
              url:
                description: The full URL for the weblink.
                format: url
                type: string
            title: Weblink
            type: object
          type:
            - array
            - "null"
      title: Company information
      type: object
    CreateAccountResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Account"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateBankAccountResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Account"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateBankTransactionsResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/BankTransactions"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateBillCreditNoteResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/BillCreditNote"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateBillPaymentResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/BillPayment"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateBillResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Bill"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateCreditNoteResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/CreditNote"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateCustomerResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Customer"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateDirectCostResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/DirectCost"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateDirectIncomeResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/DirectIncome"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateInvoiceResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Invoice"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateItemResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Item"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateJournalEntryResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/JournalEntry"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreatePaymentResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Payment"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreatePurchaseOrderResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/PurchaseOrder"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateSupplierResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Supplier"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreateTransferResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Transfer"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    CreditNote:
      allOf:
        - properties:
            additionalTaxAmount:
              type: number
            additionalTaxPercentage:
              type: number
            allocatedOnDate:
              $ref: "#/components/schemas/DateTime"
              description: Date on which the credit note was fully allocated.
            creditNoteNumber:
              description: Friendly reference for the credit note.
              type:
                - string
                - "null"
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Currency of the credit note.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            customerRef:
              $ref: "#/components/schemas/Customer/definitions/customerRef"
              description: Reference to the customer the credit note has been issued to.
            discountPercentage:
              description: Percentage rate (from 0 to 100) of discounts applied to the credit note.
              type: number
            id:
              description: Identifier for the credit note, unique to the company in the accounting platform.
              type: string
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date of the credit note as recorded in the accounting system.
            lineItems:
              items:
                $ref: "#/components/schemas/CreditNote/definitions/creditNoteLineItem"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any additional information about the credit note. Where possible, Codat links to a data field in the accounting platform that is publicly available. This means that the contents of the note field are included when a credit note is emailed from the accounting platform to the customer.
              type:
                - string
                - "null"
            paymentAllocations:
              description: An array of payment allocations.
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/paymentAllocations/items"
              type:
                - array
                - "null"
            remainingCredit:
              description: Unused balance of totalAmount originally raised.
              type: number
            status:
              $ref: "#/components/schemas/CreditNote/definitions/creditNoteStatus"
              description: Current state of the credit note.
            subTotal:
              description: Value of the credit note, including discounts and excluding tax.
              type: number
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            totalAmount:
              description: Total amount of credit that has been applied to the customer's accounts receivable
              type: number
            totalDiscount:
              description: Any discounts applied to the credit note amount.
              type: number
            totalTaxAmount:
              description: Any tax applied to the credit note amount.
              type: number
            withholdingTax:
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/withholdingTax/items"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        creditNoteLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: Friendly name of each line item. For example, the goods or service for which credit has been issued.
              nullable: true
              type: string
            discountAmount:
              description: Value of any discounts applied.
              nullable: true
              type: number
            discountPercentage:
              description: Percentage rate of any discount applied to the line item.
              nullable: true
              type: number
            isDirectIncome:
              type: boolean
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the item the line is linked to.
            quantity:
              description: Number of units of the goods or service for which credit has been issued.
              type: number
            subTotal:
              description: Amount of credit associated with the line item, including discounts but excluding tax.
              nullable: true
              type: number
            taxAmount:
              description: Amount of tax associated with the line item.
              nullable: true
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the line item is linked.
            totalAmount:
              description: Total amount of the line item, including discounts and tax.
              nullable: true
              type: number
            tracking:
              definitions:
                billedToType:
                  enum:
                    - Unknown
                    - NotApplicable
                    - Project
                  type: string
              description: Categories, and a project and customer, against which the item is tracked.
              properties:
                categoryRefs:
                  items:
                    $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
                  type: array
                customerRef:
                  $ref: "#/components/schemas/Customer/definitions/customerRef"
                isBilledTo:
                  $ref: "#/components/schemas/CreditNote/definitions/creditNoteLineItem/properties/tracking/definitions/billedToType"
                isRebilledTo:
                  $ref: "#/components/schemas/CreditNote/definitions/creditNoteLineItem/properties/tracking/definitions/billedToType"
                projectRef:
                  $ref: "#/components/schemas/ProjectRef"
              required:
                - categoryRefs
                - isBilledTo
                - isRebilledTo
              title: Tracking
              type: object
            trackingCategoryRefs:
              deprecated: true
              description: Reference to the tracking categories to which the line item is linked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: Unit price of the goods or service.
              type: number
          required:
            - unitAmount
            - quantity
          type: object
        creditNoteStatus:
          enum:
            - Unknown
            - Draft
            - Submitted
            - Paid
            - Void
            - PartiallyPaid
          type: string
      description: |-
        > View the coverage for credit notes in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=creditNotes" target="_blank">Data coverage explorer</a>.

        ## Overview

        Think of a credit note as a voucher issued to a customer. It is a reduction that can be applied against one or multiple invoices. A credit note can either reduce the amount owed or cancel out an invoice entirely.

        In the Codat system a credit note is issued to a [customer's](https://docs.codat.io/accounting-api#/schemas/Customer) accounts receivable. 

        It contains details of:
        * The amount of credit remaining and its status.
        * Payment allocations against the payments type, in this case an invoice.
        * Which customers the credit notes have been issued to.
      examples:
        - - allocatedOnDate: null
            creditNoteNumber: "5239277"
            currency: USD
            currencyRate: null
            customerRef:
              companyName: Tool Hire Company
              id: b5511228-b9ef-4713-91b1-ad2cf60eadb1
            discountPercentage: 0
            id: 0316bd24-8a01-4a3a-a0e5-a73f14ebcbec
            issueDate: 2018-03-28T21:28:58.249Z
            lineItems:
              - accountRef:
                  id: 3f267b10-757d-44c0-bef9-20f70cc8fbe3
                  name: null
                description: Anvil10000Lb
                discountAmount: 0
                discountPercentage: null
                itemRef:
                  id: "1"
                  name: null
                quantity: 10
                subTotal: 500
                taxAmount: 50
                taxRateRef:
                  id: 6c88aff3-7cb9-4980-a3d3-443e72e02498
                  name: null
                totalAmount: 550
                unitAmount: 50
            modifiedDate: null
            note: More information available on request.
            paymentAllocations: []
            remainingCredit: 550
            sourceModifiedDate: null
            status: Submitted
            subTotal: 0
            totalAmount: 550
            totalDiscount: 0
            totalTaxAmount: 0
      required:
        - totalAmount
        - totalDiscount
        - subTotal
        - totalTaxAmount
        - discountPercentage
        - remainingCredit
        - status
      title: CreditNote
      type: object
    CreditNotes:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/CreditNote"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Customer:
      allOf:
        - properties:
            addresses:
              description: An array of Addresses.
              items:
                $ref: "#/components/schemas/CompanyDataset/properties/addresses/items"
              type:
                - array
                - "null"
            contactName:
              description: Name of the main contact for the identified customer.
              type:
                - string
                - "null"
            contacts:
              description: An array of Contacts.
              items:
                $ref: "#/components/schemas/Customer/definitions/contact"
              type:
                - array
                - "null"
            customerName:
              description: Name of the customer as recorded in the accounting system, typically the company name.
              type:
                - string
                - "null"
            defaultCurrency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Default currency the transactional data of the customer is recorded in.
            emailAddress:
              description: Email address the customer can be contacted by.
              type:
                - string
                - "null"
            id:
              description: Identifier for the customer, unique to the company in the accounting platform.
              type: string
            metadata:
              $ref: "#/components/schemas/Metadata"
            phone:
              description: Phone number the customer can be contacted by.
              type:
                - string
                - "null"
            registrationNumber:
              description: Company number. In the UK, this is typically the Companies House company registration number.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/Customer/definitions/customerStatus"
              description: Current state of the customer.
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            taxNumber:
              description: Company tax number.
              type:
                - string
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        contact:
          properties:
            address:
              $ref: "#/components/schemas/CompanyDataset/properties/addresses/items"
              description: An object of Address information.
            email:
              description: Email of a contact for a customer.
              nullable: true
              type: string
            modifiedDate:
              $ref: "#/components/schemas/DateTime"
            name:
              description: Name of a contact for a customer.
              nullable: true
              type: string
            phone:
              description: An array of Phone numbers.
              items:
                $ref: "#/components/schemas/CompanyDataset/properties/phoneNumbers/items"
              nullable: true
              type: array
            status:
              $ref: "#/components/schemas/Customer/definitions/customerStatus"
          required:
            - status
          type: object
        customerRef:
          properties:
            companyName:
              description: "`customerName` from the Customer data type"
              nullable: true
              type: string
            id:
              description: "`id` from the Customers data type"
              minLength: 1
              type: string
          required:
            - id
          type: object
        customerStatus:
          description: Status of customer.
          enum:
            - Unknown
            - Active
            - Archived
          type: string
      description: |
        > View the coverage for customers in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=customers" target="_blank">Data coverage explorer</a>.

        ## 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/accounting-api#/schemas/Invoice).
      required:
        - status
      title: Customer
      type: object
    Customers:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Customer"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    DataType:
      description: Available Data types
      enum:
        - accountTransactions
        - balanceSheet
        - bankAccounts
        - bankTransactions
        - billCreditNotes
        - billPayments
        - bills
        - cashFlowStatement
        - chartOfAccounts
        - company
        - creditNotes
        - customers
        - directCosts
        - directIncomes
        - invoices
        - items
        - journalEntries
        - journals
        - paymentMethods
        - payments
        - profitAndLoss
        - purchaseOrders
        - salesOrders
        - suppliers
        - taxRates
        - trackingCategories
        - transfers
        - banking-accountBalances
        - banking-accounts
        - banking-transactionCategories
        - banking-transactions
        - commerce-companyInfo
        - commerce-customers
        - commerce-disputes
        - commerce-locations
        - commerce-orders
        - commerce-paymentMethods
        - commerce-payments
        - commerce-productCategories
        - commerce-products
        - commerce-taxComponents
        - commerce-transactions
      examples:
        - invoices
      type: string
      x-internal: true
    Dataset:
      properties:
        companyId:
          format: uuid
          type: string
        completed:
          $ref: "#/components/schemas/DateTime"
          nullable: true
        connectionId:
          format: uuid
          type: string
        dataType:
          type:
            - string
            - "null"
        datasetLogsUrl:
          type:
            - string
            - "null"
        errorMessage:
          type:
            - string
            - "null"
        id:
          format: uuid
          type: string
        isCompleted:
          type: boolean
        isErrored:
          type: boolean
        progress:
          format: int32
          type: integer
        requested:
          $ref: "#/components/schemas/DateTime"
        status:
          enum:
            - Initial
            - Queued
            - Fetching
            - MapQueued
            - Mapping
            - Complete
            - FetchError
            - MapError
            - InternalError
            - ProcessingQueued
            - Processing
            - ProcessingError
            - ValidationQueued
            - Validating
            - ValidationError
            - AuthError
            - Cancelled
            - NotSupported
            - RateLimitError
            - PermissionsError
            - PrerequisiteNotMet
          type: string
        validationInformationUrl:
          type:
            - string
            - "null"
      required:
        - companyId
        - connectionId
        - id
        - isCompleted
        - isErrored
        - progress
        - requested
        - status
      title: ""
      type: object
      x-internal: true
    DateTime:
      description: |-
        In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example:

        ```
        2020-10-08T22:40:50Z
        2021-01-01T00:00:00
        ```



        When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:

        - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
        - Unqualified local time: `2021-11-15T01:00:00`
        - UTC time offsets: `2021-11-15T01:00:00-05:00`

        > Time zones
        > 
        > Not all dates from Codat will contain information about time zones.  
        > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
      examples:
        - 2022-10-23T00:00:00Z
      title: Date time
      type: string
    DirectCost:
      allOf:
        - properties:
            contactRef:
              $ref: "#/components/schemas/Transfer/allOf/0/properties/contactRef"
              description: A customer or supplier associated with the direct cost.
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Currency of the direct cost.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            id:
              description: Identifier of the direct cost, unique for the company.
              type: string
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date of the direct cost as recorded in the accounting platform.Date of the direct cost as recorded in the accounting platform.
            lineItems:
              description: An array of line items.
              items:
                $ref: "#/components/schemas/DirectCost/definitions/directCostLineItem"
              type: array
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: A note attached to the direct cost.
              type:
                - string
                - "null"
            paymentAllocations:
              description: An array of payment allocations.
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/paymentAllocations/items"
              type: array
            reference:
              description: User-friendly reference for the direct cost.
              type:
                - string
                - "null"
            subTotal:
              description: The total amount of the direct costs, excluding any taxes.
              type: number
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            taxAmount:
              description: The total amount of tax on the direct costs.
              type: number
            totalAmount:
              description: The amount of the direct costs, inclusive of tax.
              type: number
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        directCostLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: Friendly name of the goods or services.
              nullable: true
              type: string
            discountAmount:
              description: Discount amount for the line before tax.
              nullable: true
              type: number
            discountPercentage:
              description: Discount percentage for the line before tax.
              nullable: true
              type: number
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the product, service type, or inventory item to which the direct cost is linked.
            quantity:
              description: |-
                Number of units of goods or services received.

                Note: If the platform does not provide this information, the quantity will be mapped as 1.
              type: number
            subTotal:
              description: Amount of the line, inclusive of discounts but exclusive of tax.
              nullable: true
              type: number
            taxAmount:
              description: Amount of tax for the line.
              nullable: true
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the the line item is linked.
            totalAmount:
              description: Total amount of the line, including tax.
              nullable: true
              type: number
            tracking:
              $ref: "#/components/schemas/DirectCost/definitions/tracking"
            trackingCategoryRefs:
              deprecated: true
              description: Collection of categories against which this direct cost is tracked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: |-
                Price of each unit of goods or services.
                Note: If the platform does not provide this information, the unit amount will be mapped to the total amount.
              type: number
          required:
            - unitAmount
            - quantity
          type: object
        tracking:
          additionalProperties: false
          properties:
            invoiceTo:
              description: |-
                Links to the underlying record or data type.

                Found on:

                - Journal entries
                - Account transactions
                - Invoices
                - Transfers
              properties:
                dataType:
                  description: Name of the 'dataType'.
                  type: string
                id:
                  description: "'id' of the underlying record or data type."
                  type: string
              type: object
            recordRefs:
              items:
                $ref: "#/components/schemas/DirectCost/definitions/tracking/properties/invoiceTo"
              type: array
          required:
            - recordRefs
          title: Invoiceable tracking
          type: object
      description: |-
        > **Language tip:** Direct costs may also be referred to as **Spend transactions**, **Spend money transactions**, or **Payments** in various accounting platforms.

        > View the coverage for direct costs in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=directCosts" target="_blank">Data coverage explorer</a>.

        ## Overview

        Direct costs include:
          * Purchasing an item and paying it off at the point of the purchase
          * Receiving cash from a refunded item if the refund is made by the supplier
          * Withdrawing money from a bank account 
          * Writing a cheque

        Direct costs is a child data type of [account transactions](https://docs.codat.io/accounting-api#/schemas/AccountTransaction).
      required:
        - issueDate
        - currency
        - lineItems
        - paymentAllocations
        - subTotal
        - taxAmount
        - totalAmount
      title: Direct cost
      type: object
    DirectCosts:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/DirectCost"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    DirectIncome:
      allOf:
        - properties:
            contactRef:
              $ref: "#/components/schemas/Transfer/allOf/0/properties/contactRef"
              description: A customer or supplier associated with the direct income.
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: The currency of the direct income.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            id:
              description: Identifier of the direct income, unique for the company.
              type: string
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: The date of the direct income as recorded in the accounting platform.
            lineItems:
              description: An array of line items.
              items:
                $ref: "#/components/schemas/DirectIncome/definitions/directIncomeLineItem"
              type: array
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              type:
                - string
                - "null"
            paymentAllocations:
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/paymentAllocations/items"
              type: array
            reference:
              description: User-friendly reference for the direct income.
              type:
                - string
                - "null"
            subTotal:
              description: The total amount of the direct incomes, excluding any taxes.
              type: number
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            taxAmount:
              description: The total amount of tax on the direct incomes.
              type: number
            totalAmount:
              description: The amount of the direct incomes, inclusive of tax.
              type: number
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        directIncomeLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: A user-friendly name of the goods or services.
              nullable: true
              type: string
            discountAmount:
              description: Discount amount for the line before tax.
              nullable: true
              type: number
            discountPercentage:
              description: Discount percentage for the line before tax.
              nullable: true
              type: number
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the product, service type, or inventory item to which the direct cost is linked.
            quantity:
              description: |-
                The number of units of goods or services received.

                Note: If the platform does not provide this information, the quantity will be mapped as 1.
              type: number
            subTotal:
              description: The amount of the line, inclusive of discounts, but exclusive of tax.
              nullable: true
              type: number
            taxAmount:
              description: |-
                The amount of tax for the line.
                Note: If the platform does not provide this information, the quantity will be mapped as 0.00.
              nullable: true
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the line item is linked.
            totalAmount:
              description: The total amount of the line, including tax.
              nullable: true
              type: number
            trackingCategoryRefs:
              description: An array of categories against which this direct cost is tracked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: |-
                The price of each unit of goods or services.
                Note: If the platform does not provide this information, the unit amount will be mapped to the total amount.
              type: number
          required:
            - unitAmount
            - quantity
          type: object
      description: |
        > **Language tip:**  Direct incomes may also be referred to as **Receive transactions**, **Receive money transactions**, **Sales receipts**, or **Cash sales** in various accounting platforms.

        > View the coverage for direct incomes in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=directIncomes" target="_blank">Data coverage explorer</a>.

        ## Overview

        Direct incomes include: 

        - Selling an item directly to a contact, and receiving payment at the point of the sale.
        - Refunding an item in cash to a contact.
        - Depositing money into a bank account.

        Direct incomes is a child data type of [account transactions](https://docs.codat.io/accounting-api#/schemas/AccountTransaction).
      required:
        - issueDate
        - currency
        - lineItems
        - paymentAllocations
        - subTotal
        - taxAmount
        - totalAmount
      title: Direct income
      type: object
    DirectIncomes:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/DirectIncome"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    HalRef:
      properties:
        href:
          format: uri-reference
          type: string
      title: Hypertext reference
      type: object
      x-internal: true
    Invoice:
      allOf:
        - properties:
            additionalTaxAmount:
              type: number
            additionalTaxPercentage:
              type: number
            amountDue:
              description: Amount outstanding on the invoice.
              type: number
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Currency of the invoice.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            customerRef:
              $ref: "#/components/schemas/Customer/definitions/customerRef"
              description: Reference to the customer the invoice has been issued to.
            discountPercentage:
              description: "Percentage rate (from 0 to 100) of discounts applied to the invoice. For example: A 5% discount will return a value of `5`, not `0.05`."
              type:
                - number
                - "null"
            dueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date the customer is due to be paid by.
            id:
              description: Identifier for the invoice, unique to the company in the accounting platform.
              type: string
            invoiceNumber:
              description: Friendly reference for the invoice. If available, this appears in the file name of invoice attachments.
              type:
                - string
                - "null"
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date of the invoice as recorded in the accounting system.
            lineItems:
              description: An array of line items.
              items:
                $ref: "#/components/schemas/Invoice/definitions/invoiceLineItem"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any additional information about the invoice. Where possible, Codat links to a data field in the accounting platform that is publicly available. This means that the contents of the note field are included when an invoice is emailed from the accounting platform to the customer.
              type:
                - string
                - "null"
            paidOnDate:
              $ref: "#/components/schemas/DateTime"
              description: Date the invoice was marked as paid in the accounting system. If this field is not available from the accounting software, it is calculated by Codat using associated payments.
            paymentAllocations:
              description: An array of payment allocations.
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/paymentAllocations/items"
              type:
                - array
                - "null"
            salesOrderRefs:
              description: List of references to related Sales orders.
              items:
                type: string
              type:
                - array
                - "null"
            status:
              $ref: "#/components/schemas/Invoice/definitions/invoiceStatus"
            subTotal:
              description: Total amount of the invoice excluding any taxes.
              type:
                - number
                - "null"
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            totalAmount:
              description: Amount of the invoice, inclusive of tax.
              type: number
            totalDiscount:
              description: Numerical value of discounts applied to the invoice.
              type:
                - number
                - "null"
            totalTaxAmount:
              description: Amount of tax on the invoice.
              type: number
            withholdingTax:
              items:
                $ref: "#/components/schemas/Bill/allOf/0/properties/withholdingTax/items"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        invoiceLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: Friendly name of the goods or services provided.
              nullable: true
              type: string
            discountAmount:
              description: Numerical value of any discounts applied.
              nullable: true
              type: number
            discountPercentage:
              description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount.
              nullable: true
              type: number
            isDirectIncome:
              type: boolean
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the item the line is linked to.
            quantity:
              description: Number of units of goods or services provided.
              type: number
            subTotal:
              description: Amount of the line, inclusive of discounts but exclusive of tax.
              nullable: true
              type: number
            taxAmount:
              description: Amount of tax for the line.
              nullable: true
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the line item is linked.
            totalAmount:
              description: Total amount of the line, including tax. When pushing invoices to Xero, the total amount is exclusive of tax to allow automatic calculations if a tax rate or tax amount is not specified.
              nullable: true
              type: number
            tracking:
              $ref: "#/components/schemas/CreditNote/definitions/creditNoteLineItem/properties/tracking"
            trackingCategoryRefs:
              deprecated: true
              description: Reference to the tracking categories to which the line item is linked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: Price of each unit of goods or services.
              type: number
          required:
            - unitAmount
            - quantity
          type: object
        invoiceStatus:
          description: |-
            Current state of the invoice:

            - `Draft` - Invoice hasn't been submitted to the supplier. It may be in a pending state or is scheduled for future submission, for example by email.
            - `Submitted` - Invoice is no longer a draft. It has been processed and, or, sent to the customer. In this state, it will impact the ledger. It also has no payments made against it (amountDue == totalAmount).
            - `PartiallyPaid` - The balance paid against the invoice is positive, but less than the total invoice amount (0 < amountDue < totalAmount).
            - `Paid` - Invoice is paid in full. This includes if the invoice has been credited or overpaid (amountDue == 0).
            - `Void` - An invoice can become Void when it's deleted, refunded, written off, or cancelled. A voided invoice may still be PartiallyPaid, and so all outstanding amounts on voided invoices are removed from the accounts receivable account.
          enum:
            - Unknown
            - Draft
            - Submitted
            - PartiallyPaid
            - Paid
            - Void
          type: string
      description: |-
        > View the coverage for invoices in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=invoices" target="_blank">Data coverage explorer</a>.

        ## Overview

        An invoice is an itemized record of goods sold or services provided to a [customer](https://docs.codat.io/accounting-api#/schemas/Customer).

        In Codat, an invoice contains details of:

        - The timeline of the invoice—when it was raised, marked as paid, last edited, and so on.
        - How much the invoice is for, what portion of the invoice is tax or discounts, and what currency the amounts are represented in. 
        - Who the invoice has been raised to; the _customer_.
        - The breakdown of what the invoice is for; the _line items_.
        - Any [payments](https://docs.codat.io/accounting-api#/schemas/Payment) assigned to the invoice; the _payment allocations_.

        > **Invoices or bills?**  
        >
        > In Codat, invoices represent accounts receivable only. For accounts payable invoices, see [Bills](https://docs.codat.io/accounting-api#/schemas/Bill).

        > **Invoice PDF downloads**  
        >
        > You can <a className="external" href="https://docs.codat.io/accounting-api#/operations/get-invoice-pdf" target="_blank">download a PDF version</a> of an invoice for supported integrations.
        > 
        > The filename will be invoice-{number}.pdf.

        > **Referencing an invoice in Sage 50 and ClearBooks**
        >
        > In Sage 50 and ClearBooks, you may prefer to use the **invoiceNumber** to identify an invoice rather than the invoice **id**. Each time a draft invoice is submitted or printed, the draft **id** becomes void and a submitted invoice with a new **id** exists in its place. In both platforms, the **invoiceNumber** should remain the same.
      required:
        - issueDate
        - totalTaxAmount
        - totalAmount
        - amountDue
        - status
      title: Invoice
      type: object
    Invoices:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Invoice"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Item:
      allOf:
        - properties:
            billItem:
              $ref: "#/components/schemas/Item/definitions/billItem"
            code:
              description: Friendly reference for the item.
              type:
                - string
                - "null"
            id:
              description: Identifier for the item that is unique to a company in the accounting platform.
              type: string
            invoiceItem:
              $ref: "#/components/schemas/Item/definitions/invoiceItem"
            isBillItem:
              description: Whether you can use this item for bills.
              type: boolean
            isInvoiceItem:
              description: Whether you can use this item for invoices.
              type: boolean
            itemStatus:
              $ref: "#/components/schemas/Item/definitions/itemStatus"
            metadata:
              $ref: "#/components/schemas/Metadata"
            name:
              description: Name of the item in the accounting platform.
              type:
                - string
                - "null"
            type:
              $ref: "#/components/schemas/Item/definitions/itemType"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        billItem:
          description: Item details that are only for bills.
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference of the account to which the item is linked.
            description:
              description: Short description of the product or service that has been bought by the customer.
              nullable: true
              type: string
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference of the tax rate to which the item is linked.
            unitPrice:
              description: Unit price of the product or service.
              nullable: true
              type: number
          type: object
        invoiceItem:
          description: Item details that are only for bills.
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference of the account to which the item is linked.
            description:
              description: Short description of the product or service that has been bought by the customer.
              nullable: true
              type: string
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
            unitPrice:
              description: Unit price of the product or service.
              nullable: true
              type: number
          type: object
        itemRef:
          properties:
            id:
              description: Unique identifier for the item in the accounting platform.
              minLength: 1
              type: string
            name:
              description: Name of the item in the accounting platform.
              nullable: true
              type: string
          required:
            - id
          title: Item reference
          type: object
        itemStatus:
          description: |-
            Current state of the item, either:

            - `Active`: Available for use
            - `Archived`: Unavailable
            - `Unknown`

            Due to a [limitation in Xero's API](https://docs.codat.io/integrations/accounting/xero/xero-faq#why-do-all-of-my-items-from-xero-have-their-status-as-unknown), all items from Xero are mapped as `Unknown`.
          enum:
            - Unknown
            - Active
            - Archived
          type: string
        itemType:
          type:
            description: Type of the item.
            enum:
              - Unknown
              - Inventory
              - NonInventory
              - Service
            type: string
      description: |
        > View the coverage for items in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=items" target="_blank">Data coverage explorer</a>.

        ## Overview

        **Items** allow your customers to save and track details of the products and services that they buy and sell.
      required:
        - itemStatus
        - type
        - isBillItem
        - isInvoiceItem
      title: Item
      type: object
    Items:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Item"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Journal:
      allOf:
        - properties:
            createdOn:
              $ref: "#/components/schemas/DateTime"
              description: Journal creation date.
            hasChildren:
              description: If the journal has child journals, this value is true. If it doesn’t, it is false.
              type: boolean
            id:
              description: Journal ID.
              type: string
            journalCode:
              description: Native journal number or code.
              type:
                - string
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            name:
              description: |-
                Journal name.
                The maximum length for a journal name is 256 characters. All characters above that number will be truncated.
              type:
                - string
                - "null"
            parentId:
              description: |-
                Parent journal ID.
                If the journal is a parent journal, this value is not present.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/Journal/definitions/journalStatus"
            type:
              description: The type of the journal.
              type:
                - string
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        journalRef:
          additionalProperties: false
          description: Links journal entries to the relevant journal in accounting integrations that use multi-book accounting (multiple journals).
          properties:
            id:
              description: GUID of the underlying journal.
              minLength: 1
              type: string
            name:
              description: Name of journal
              maxLength: 256
              nullable: true
              type: string
          required:
            - id
          title: Journal reference
          type: object
        journalStatus:
          description: Current journal status.
          enum:
            - Unknown
            - Active
            - Archived
          type: string
      description: |
        > **Language tip:** For line items, or individual transactions, of a company's financial documents, refer to the [Journal entries](https://docs.codat.io/accounting-api#/schemas/JournalEntry) data type

        > View the coverage for journals in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=journals" target="_blank">Data coverage explorer</a>.

        ## Overview

        In accounting software, journals are used to record all the financial transactions of a company. Each transaction in a journal is represented by a separate [journal entry](https://docs.codat.io/accounting-api#/schemas/JournalEntry). These entries are used to create the general ledger, which is then used to create the financial statements of a business.

        When a company records all their transactions in a single journal, it can become large and difficult to maintain and track. This is why large companies often use multiple journals (also known as subjournals) to categorize and manage journal entries.

        Such journals can be divided into two categories:

        - Special journals: journals used to record specific types of transactions; for example, a purchases journal, a sales journal, or a cash management journal.
        - General journals: journals used to record transactions that fall outside the scope of the special journals.

        Multiple journals or subjournals are used in the following Codat integrations:

        - [Sage Intacct](https://docs.codat.io/integrations/accounting/sage-intacct/accounting-sage-intacct)  (mandatory)
        - [Exact Online](https://docs.codat.io/integrations/accounting/exact-online/accounting-exact-online)  (mandatory)
        - [Oracle NetSuite](https://docs.codat.io/integrations/accounting/netsuite/accounting-netsuite) (optional)

        > When pushing journal entries to an accounting platform that doesn’t support multiple journals (multi-book accounting), the entries will be linked to the platform-generic journal. The Journals data type will only include one object.
      title: Journal
      type: object
    JournalEntries:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/JournalEntry"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    JournalEntry:
      allOf:
        - properties:
            createdOn:
              $ref: "#/components/schemas/DateTime"
              description: Date on which the journal was created in the accounting platform.
            description:
              description: Optional description of the journal entry.
              type:
                - string
                - "null"
            id:
              description: Unique identifier of the journal entry for the company in the accounting platform.
              type: string
            journalLines:
              description: An array of journal lines.
              items:
                $ref: "#/components/schemas/JournalEntry/definitions/journalLine"
              type:
                - array
                - "null"
            journalRef:
              $ref: "#/components/schemas/Journal/definitions/journalRef"
            metadata:
              $ref: "#/components/schemas/Metadata"
            postedOn:
              $ref: "#/components/schemas/DateTime"
              description: |-
                Date on which the journal entry was posted to the accounting platform, and had an impact on the general ledger. This may be different from the creation date.

                For example, a user creates a journal entry on Monday and saves it as draft, which has no impact on the general ledger. On Thursday, they return to the entry and post it.

                The **createdOn** date shows as Monday.
                The **postedOn** date shows as Thursday.
                Journal entries can also be backdated, so the **postedOn** date may be earlier than the **createdOn** date.
            recordRef:
              $ref: "#/components/schemas/DirectCost/definitions/tracking/properties/invoiceTo"
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            updatedOn:
              $ref: "#/components/schemas/DateTime"
              description: Date on which the journal was last updated in the accounting platform.
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        journalLine:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
            currency:
              description: Currency for the journal line item.
              nullable: true
              type: string
            description:
              description: Description of the journal line item.
              nullable: true
              type: string
            netAmount:
              description: Amount for the journal line. Debit entries are considered positive, and credit entries are considered negative.
              type: number
            tracking:
              $ref: "#/components/schemas/SalesOrder/definitions/salesOrderLineItem/properties/tracking"
              description: List of record refs associated with the tracking information for the line (eg to a Tracking Category, or customer etc.)
          required:
            - netAmount
          type: object
      description: |-
        > **Language tip:** For the top-level record of a company's financial transactions, refer to the [Journals](https://docs.codat.io/accounting-api#/schemas/Journal) data type

        > View the coverage for journal entries in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=journalEntries" target="_blank">Data coverage explorer</a>.

        ## Overview

        A journal entry report shows the entries made in a company's general ledger, or [accounts](https://docs.codat.io/accounting-api#/schemas/Account), when transactions are approved. The journal line items for each journal entry should balance.

        A journal entry line item is a single transaction line on the journal entry. For example: 

        - When a journal entry is recording a receipt of cash, the credit to accounts receivable and the debit to cash are separate line items. 
        - When a company needs to recognise revenue from an annual contract on a monthly basis, on receipt of cash for month one, they make a debit to deferred income and a credit to revenue.

        In Codat a journal entry contains details of:

        - The date on which the entry was created and posted.
        - Itemised lines, including amounts and currency.
        - A reference to the associated accounts.
        - A reference to the underlying record. For example, the invoice, bill, or other data type that triggered the posting of the journal entry to the general ledger. 

        > **Pushing journal entries**  
        > Codat only supports journal entries in the base currency of the company that are pushed into accounts denominated in the same base currency.
      title: Journal entry
      type: object
    Journals:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Journal"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Links:
      examples:
        - current:
            href: /companies/{id}/data/{dataType}?page=1&pageSize=10
          self:
            href: /companies/{id}/data/{dataType}
      properties:
        current:
          $ref: "#/components/schemas/HalRef"
        next:
          $ref: "#/components/schemas/HalRef"
        previous:
          $ref: "#/components/schemas/HalRef"
        self:
          $ref: "#/components/schemas/HalRef"
      required:
        - self
        - current
      type: object
      x-internal: true
    Metadata:
      properties:
        isDeleted:
          description: Indicates whether the record has been deleted in the third-party system this record originated from.
          type:
            - boolean
            - "null"
      type: object
      x-internal: true
    ModifiedDates:
      allOf:
        - properties:
            modifiedDate:
              $ref: "#/components/schemas/DateTime"
              description: The date on which this record was last modified in Codat.
          title: ModifiedDate
          type: object
          x-internal: true
        - properties:
            sourceModifiedDate:
              $ref: "#/components/schemas/DateTime"
              description: The date on which this record was last modified in the originating system
          title: Source Modified Date
          type: object
          x-internal: true
      x-internal: true
    PagingInfo:
      examples:
        - _links:
            current:
              href: /companies/{id}/data/{dataType}?page=1&pageSize=10
            pageNumber: 1
            pageSize: 10
            self:
              href: /companies/{id}/data/{dataType}
            totalResults: 1
      properties:
        _links:
          $ref: "#/components/schemas/Links"
        pageNumber:
          type: integer
        pageSize:
          type: integer
        totalResults:
          type: integer
      required:
        - pageNumber
        - pageSize
        - totalResults
        - _links
      type: object
      x-internal: true
    Payment:
      allOf:
        - properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Account the payment is recorded against in the accounting platform.
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: ISO currency code recorded for the payment in the accounting platform.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            customerRef:
              $ref: "#/components/schemas/Customer/definitions/customerRef"
              description: Customer the payment is recorded against in the accounting platform.
            date:
              $ref: "#/components/schemas/DateTime"
              description: Date the payment was recorded in the accounting software.
            id:
              description: Identifier for the payment, unique to the company in the accounting platform.
              type: string
            lines:
              description: An array of payment lines.
              items:
                $ref: "#/components/schemas/Payment/definitions/paymentLine"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any additional information associated with the payment.
              type:
                - string
                - "null"
            paymentMethodRef:
              $ref: "#/components/schemas/PaymentMethod/definitions/paymentMethodRef"
              description: The Payment Method to which the payment is linked in the accounting platform.
            reference:
              description: Friendly reference for the payment.
              type:
                - string
                - "null"
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            totalAmount:
              description: Amount of the payment in the payment currency. This value should never change and represents the amount of money paid into the customer's account.
              type: number
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        paymentLine:
          properties:
            allocatedOnDate:
              $ref: "#/components/schemas/DateTime"
              description: The date the payment was allocated.
            amount:
              description: Amount in the payment currency.
              type: number
            links:
              items:
                $ref: "#/components/schemas/Payment/definitions/paymentLineLink"
              nullable: true
              type: array
          required:
            - amount
          title: Payment Line
          type: object
        paymentLineLink:
          additionalProperties: false
          properties:
            amount:
              description: |-
                Amount by which the balance of the linked entity is altered, in the currency of the linked entity.  
                A negative link amount _reduces_ the outstanding amount on the accounts receivable account.  
                A positive link amount _increases_ the outstanding amount on the accounts receivable account.
              nullable: true
              type: number
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            id:
              description: Unique identifier of the transaction represented by the link.
              type: string
            type:
              $ref: "#/components/schemas/Payment/definitions/paymentLinkType"
          required:
            - type
          title: Payment Line Link
          type: object
        paymentLinkType:
          description: |-
            Types of payment line links, either:  
            `Unknown`  
            `Unlinked` - Not used  
            `Invoice` - ID refers to the invoice  
            `CreditNote` - ID refers to the credit note  
            `Refund` - ID refers to the sibling payment  
            `Payment` - ID refers to the sibling payment  
            `PaymentOnAccount` - ID refers to the customer  
            `Other` - ID refers to the customer  
            `Manual Journal`  
            `Discount` - ID refers to the payment
          enum:
            - Unknown
            - Unlinked
            - Invoice
            - CreditNote
            - Other
            - Refund
            - Payment
            - PaymentOnAccount
            - ManualJournal
            - Discount
          title: Payment Link Type
          type: string
      description: |-
        > **Payments or bill payments?**  
        > 
        >  In Codat, payments represent accounts receivable only. For accounts payable, see [bill payments](https://docs.codat.io/accounting-api#/schemas/BillPayment). These include [bills](https://docs.codat.io/accounting-api#/schemas/Bill) and credit notes against bills.

        > View the coverage for payments in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=payments" target="_blank">Data coverage explorer</a>.

        ## Overview

        Payments include all accounts receivable transaction data. This includes [invoices](https://docs.codat.io/accounting-api#/schemas/Invoice) and [credit notes](https://docs.codat.io/accounting-api#/schemas/CreditNote).

        A payment in Codat usually represents an allocation of money within any customer accounts receivable account. This includes, but is not strictly limited to: 

        - A payment made against an invoice, like a credit card, cheque, or cash payment.
        - An allocation of a customer's credit note, either to an invoice or maybe a refund.
        - A payment made directly to that accounts receivable account. This might be an overpayment or a prepayment. It might also be the refund of a payment made directly to an accounts receivable account.

        Depending on the payments allowed by the underlying accounting package, some payment types may be combined. Please see the example for more details.

        In Codat, a payment contains details of:

        - When the payment was recorded in the accounting system.
        - How much it is for and in what currency that amount is in.
        - Who the payment was _paid by_ – the _customer_.
        - The payment method used.
        - The breakdown of the types of payments – the _line items_.

        Payments is a child data type of [account transactions](https://docs.codat.io/accounting-api#/schemas/AccountTransaction).

        ## Payment types

        ## Payment of an invoice

        A payment paying a single invoice has one entry in its `lines` array. This **line** has the following properties:

        - An _amount_ that indicates the amount of the invoice that was paid. This is always positive.
        - A **links** array containing one element with the following properties:
          - A **type** that indicates the type of **link**, in this case an `Invoice`.
          - An **id** that contains the ID of the invoice that was paid.
          - An **amount** for the link. The sum of the **line.amount** and the **links.amount** must equal `0`.

        The **amount** field on the **line** equals the **totalAmount** on the payment.

        ## Payment of multiple invoices

        A single payment can pay multiple invoices. This can be represented in one of two formats depending on how the customer keeps their books:

        - The payment has multiple entries in its **lines** array, one for each invoice that is paid. Each line follows the example and rules described in [Payment of an invoice](#payment-of-an-invoice).
        - The payment has a line with multiple links to each invoice. This occurs when the proportion of the original payment allocated to each invoice is not available.

        Each **line** has the same properties as those described in [Payment of an invoice](#payment-of-an-invoice), with the **amount** indicating how much of the payment was allocated to the invoice. The sum of line amounts equals the **totalAmount** on the payment.

        ## Payments and refunds on account

        A payment on account, that is a payment that doesn’t pay a specific invoice, has one entry in its lines array. The **line** has the following properties:

        - A **totalAmount** that indicates the amount paid by a customer or refunded to them by a company. A payment to the customer is always negative. A refund is always positive.
        - A **links** array containing one element with the following properties:
        - A **type** that indicates the type of link. For a payment this is `PaymentOnAccount`. For a refund this is `Refund`.
        - The **id** containing the ID of the customer.
        - The **amount** for the link is `0` – the **totalAmount** _or_ the amount of the payment or refund.

        It is possible to have a payment that is part _on account_ and part _allocated_ to an invoice. Each line should follow the examples above.

        ## Using a credit note to pay an invoice

        The payment of an invoice using a credit note has one entry in its **lines** array. This **line** has the following properties:

        - An **amount** that indicates the amount of money moved, which in this case is `0`, as the credit note and invoice allocation must balance each other.
        - A **links** array containing two elements:
          - The first **link** has:
            - A **type** that indicates the type of **link**, in this case an `Invoice`.
            - An **id** that contains the ID of the invoice that was paid.
          - The second **link** has:
            - A **type** that indicates the type of **link**, in this case a `CreditNote`.
            - An **id** that contains the ID of the credit note used by this payment.

        The **amount** field on the **line** equals the **totalAmount** on the payment.

        ## Refunding a credit note

        A payment refunding a credit note has one entry in its **lines** array. This **line** has the following properties:

        - An **amount** that indicates the amount of the credit note that was refunded. This is always negative for a refund.
        - A **links** array that contains one element with the following properties:
          - A **type** that indicates the type of **link**, in this case a `CreditNote`.
          - An **id** that contains the ID of the credit note that was refunded.

        The **totalAmount** field on the payment equals the **amount** field of the **line**. These are both negative, as this is money leaving accounts receivable.

        ## Refunding a payment

        If a payment is refunded, for example, if a customer overpaid an invoice and the overpayment is returned to the customer, there are two payment records: 

        - One for the incoming over payment.
        - Another for the outgoing refund.

        The payment issuing the refund has a negative **totalAmount**. This payment also has one entry in its lines array with the following properties:

        - An **amount** that indicates the amount that was refunded. This is always negative.
        - A **links** array that contains one element with the following properties:
          - A **type** that indicates the type of **link**, in this case a `Payment`.
          - An **id** that contains the ID of the payment that was refunded.

        The **amount** field on the **line** equals the **totalAmount** on the payment and is negative, as this is money leaving accounts receivable.

        The payment that was refunded has a line where the **amount** is positive and the type of the link is `Refund`. This payment may have several entries in its **lines** array if it was used to partly pay an invoice. 

        For example: A £1,050 payment on a £1,000 invoice with a refund of £50 has two lines: 

        - One for £1,000 linked to the invoice that was paid.
        - Another for £50 linked to the payment that refunded the overpayment with a** type** of `Refund` and an ID that corresponds to the payment.

        The **line** linked to the payment has the following properties:

        - An **amount** that indicates the amount that was refunded. This is positive as its money that was added to accounts receivable. It's balanced out by the negative amount of the refund.
        - A **links** array containing one element with the following properties:
          - A **type** that indicates the type of **link**, in this case a `Refund`.
          - An **id** that contains the ID of the payment that refunded this line.

        > **Support for linked payments**
        > 
        > Not all accounting packages support linking payments in this way. In some platforms, you may see a payment on account and a refund on account.

        ## Foreign currencies

        There are two types of currency rate that are included in the payments data type: 

        Payment currency rate: 

        - Base currency of the accounts receivable account.
        - Foreign currency of the payment.

        Payment line link currency rate: 

        - Base currency of the item the link represents.
        - Foreign currency of the payment.

        These two rates allow the calculation of currency loss or gain for any of the transactions affected by the payment lines. The second rate is used when a payment is applied to an item in a currency that doesn't match either:

        - The base currency for the accounts receivable account. 
        - The currency of the item.

        ```json title="Currency rate example"
        {
            "id": "123",
            "note": ""
            "totalAmount": 99.99,
            "currency": "GBP",
            "lines": [
                {
                    "amount": 99.99,
                    "links": [
                        {
                            "type": "Invoice",
                            "id": "178",
                            "amount": -50,
                            "currencyRate":  1.9998,
                        }
                    ]
                }
            ]
        }
        ```



        ## Example data

        > **Object properties**
        > 
        > For the sake of brevity, the examples here may omit properties from objects. For the full object definition, see [Payments](https://api.codat.io/swagger/index.html#/Payments).

        ## Simple examples

        ```json title="Payment for invoice"
        {
            "totalAmount": 1000,
            "lines": [
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Allocation of credit note"
        {
            "totalAmount": 0,
            "lines": [
                {
                    "amount" : 0,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "y",
                            "amount" : 1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Payment of invoice and payment on account"
        {
            "totalAmount": 2000,
            "lines": [
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        }
                    ]
                },
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "PaymentOnAccount",
                            "id" : "y",
                            "amount" : -1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Refund of credit note"
        {
            "totalAmount": -1000,
            "lines": [
                {
                    "amount" : -1000,
                    "links" : [
                        {
                            "type" : "CreditNote",
                            "id" : "y",
                            "amount" : 1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Refund on accounts receivable account"
        {
            "totalAmount": -1000,
            "lines": [
                {
                    "amount" : -1000,
                    "links" : [
                        {
                            "type" : "PaymentOnAccount",
                            "id" : "y",
                            "amount" : 1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Linked refund on accounts receivable account"
        {
            "id" : "payment-001",
            "totalAmount": 1000,
            "lines": [
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Refund",
                            "id" : "refund-001",
                            "amount" : -1000
                        }
                    ]
                }
            ]
        }
        {
            "id" : "refund-001",
            "totalAmount": -1000,
            "lines": [
                {
                    "amount" : -1000,
                    "links" : [
                        {
                            "type" : "Payment",
                            "id" : "payment-001",
                            "amount" : 1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Using a credit note and cash to pay an invoice"
        {
            "totalAmount": 250,
            "lines": [
                {
                    "amount": 0,
                    "links": [
                        {
                            "type": "Invoice",
                            "id": "x",
                            "amount": -750
                        }, 
                        {
                            "type": "CreditNote",
                            "id": "y",
                            "amount": 750
                        }
                    ]
                },
                {
                    "amount": 250,
                    "links": [
                        {
                            "type": "Invoice",
                            "id": "x",
                            "amount": -250
                        }
                    ]
                }
            ]
        }
        ```



        ## Complex examples

        ```json title="Use two credit notes and 1000 in to "bank" (cash, cheque etc.) to pay invoice"
        {
            "totalAmount": 1000,
            "lines": [
                {
                    "amount" : 0,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "y",
                            "amount" : 1000
                        }
                    ]
                },
                {
                    "amount" : 0,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "z",
                            "amount" : 1000
                        }
                    ]
                },
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Pay an invoice with two credit notes and cash, with 1000 left 'on account'"
        {
            "totalAmount": 2000,
            "lines": [
                {
                    "amount" : 0,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "y",
                            "amount" : 1000
                        }
                    ]
                },
                {
                    "amount" : 0,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "z",
                            "amount" : 1000
                        }
                    ]
                },
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        }
                    ]
                },
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "PaymentOnAccount",
                            "id" : "customer-001",
                            "amount" : -1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Two credit notes pay two invoices with no allocation amount specified"
        {
            "totalAmount": 0,
            "lines": [
                {
                    "amount" : 0,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "w",
                            "amount" : -1000
                        },
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "y",
                            "amount" : 1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "z",
                            "amount" : 1000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Two credit notes and cash pay three invoices with no allocation amount specified, and refund cash"
        {
            "totalAmount": 2000,
            "lines": [
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "w",
                            "amount" : -1000
                        },
                        {
                            "type" : "Invoice",
                            "id" : "x",
                            "amount" : -1000
                        },
                        {
                            "type" : "Invoice",
                            "id" : "u",
                            "amount" : -1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "y",
                            "amount" : 1000
                        },
                        {
                            "type" : "CreditNote",
                            "id" : "z",
                            "amount" : 1000
                        }
                    ]
                },
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Refund",
                            "id" : "refund-001",
                            "amount" : -1000
                        }
                    ]
                }
            ]
        }
        {
            "id" : "refund-001",
            "totalAmount": -1000,
            "lines": [
                {
                    "amount" : -1000,
                    "links" : [
                        {
                            "type" : "Payment",
                            "id" : "payment-001",
                            "amount" : 1000
                        }
                    ]
                }
            ]
        }
        ```



        In this example, a payment on account is used to pay the same invoice in January and again in February.

        ```json title="January"
        {
            "id": "001",
            "totalAmount": 5000,
            "date" : "1901-01-01",
            "lines": [
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "Invoice-x",
                            "amount" : -1000
                        }
                    ]
                },
                {
                    "amount" : 4000,
                    "links" : [
                        {
                            "type" : "PaymentOnAccount",
                            "id" : "PaymentOnAccount-y",
                            "amount" : -4000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="February"
        {
            "id": "001",
            "totalAmount": 5000,
            "date" : "1901-02-01",
            "lines": [
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "Invoice-x",
                            "amount" : -1000
                        }
                    ]
                },
                {
                    "amount" : 1000,
                    "links" : [
                        {
                            "type" : "Invoice",
                            "id" : "Invoice-y",
                            "amount" : -1000
                        }
                    ]
                },
                {
                    "amount" : 3000,
                    "links" : [
                        {
                            "type" : "PaymentOnAccount",
                            "id" : "PaymentOnAccount-y",
                            "amount" : -3000
                        }
                    ]
                }
            ]
        }
        ```



        ```json title="Two credit notes and some cash pay two invoices with no allocations specified"
        {
            "totalAmount": 500,
            "lines": [
                {
                    "amount": 500,
                    "links": [{
                            "type": "Invoice",
                            "id": "a",
                            "amount": -1000
                        }, {
                            "type": "Invoice",
                            "id": "b",
                            "amount": -1000
                        }, {
                            "type": "CreditNote",
                            "id": "y",
                            "amount": 750
                        },{
                            "type": "CreditNote",
                            "id": "z",
                            "amount": 750
                        }
                    ]
                }
            ]
        }
        ```
      required:
        - date
      title: Payment
      type: object
    PaymentMethod:
      allOf:
        - properties:
            id:
              description: Unique identifier for the payment method.
              type: string
            metadata:
              $ref: "#/components/schemas/Metadata"
            name:
              description: Name of the payment method.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/PaymentMethod/definitions/paymentMethodStatus"
            type:
              $ref: "#/components/schemas/PaymentMethod/definitions/paymentMethodType"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        paymentMethodRef:
          properties:
            id:
              description: "`id` from the Payment Methods data type"
              type: string
            name:
              description: "`name` from the Payment Methods data type"
              nullable: true
              type: string
          type: object
        paymentMethodStatus:
          description: Status of the Payment Method.
          enum:
            - Unknown
            - Active
            - Archived
          type: string
        paymentMethodType:
          description: Method of payment.
          enum:
            - Unknown
            - Cash
            - Check
            - CreditCard
            - DebitCard
            - BankTransfer
            - Other
          type: string
      description: |-
        > View the coverage for payment methods in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=paymentMethods" target="_blank">Data coverage explorer</a>.

        ## Overview

        A Payment Method represents the payment method(s) used to pay a Bill. Payment Methods are referenced on [Bill Payments](https://docs.codat.io/accounting-api#/schemas/BillPayment) and [Payments](https://docs.codat.io/accounting-api#/schemas/Payment).
      title: Payment method
      type: object
    PaymentMethods:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Bill"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Payments:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Payments"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    ProfitAndLossReport:
      definitions:
        profitAndLossReport:
          additionalProperties: false
          properties:
            costOfSales:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLine items for cost of sales in the given date range.
            expenses:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLine items for expenses in the given date range.
            fromDate:
              $ref: "#/components/schemas/DateTime"
              description: Date from which the report data begins.
            grossProfit:
              description: Gross profit of the company in the given date range.
              type: number
            income:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLine items for income in the given date range.
            netOperatingProfit:
              description: Net operating profit of the company in the given date range.
              type: number
            netOtherIncome:
              description: Net other income of the company in the given date range.
              type: number
            netProfit:
              description: Net profit of the company in the given date range.
              type: number
            otherExpenses:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLine items for other expenses in the given date range.
            otherIncome:
              $ref: "#/components/schemas/ReportLine"
              description: ReportLine items for other income in the given date range.
            toDate:
              $ref: "#/components/schemas/DateTime"
              description: Date on which the report data ends.
          required:
            - grossProfit
            - netOperatingProfit
            - netOtherIncome
            - netProfit
          type: object
        reportBasis:
          description: The basis of a report.
          enum:
            - Unknown
            - Accrual
            - Cash
          type: string
      description: |-
        > **Language tip:** Profit and loss statement is also referred to as **income statement** under US GAAP (Generally Accepted Accounting Principles).

        > View the coverage for profit and loss in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=profitAndLoss" target="_blank">Data coverage explorer</a>.

        ## Overview

        The purpose of a profit and loss report is to present the financial performance of a company over a specified time period.

        A profit and loss report shows a company's total income and expenses for a specified period of time and whether a profit or loss has been made.

        > **Profit and loss or balance sheet?**  
        > Profit and loss reports summarise the total revenue, expenses, and profit or loss over a specified time period. A balance sheet report presents all assets, liability, and equity for a given date.


        **Structure of this report**  
        This report will reflect the structure and line descriptions that the business has set in their own accounting platform.

        **History**  
        By default, Codat pulls (up to) 24 months of profit and loss history for a company. You can adjust this to fetch more history, where available, by updating the `monthsToSync` value for `profitAndLoss` on the [data type settings endpoint](https://docs.codat.io/codat-api#/operations/post-profile-syncSettings).

        **Want to pull this in a standardised structure?**  
        Our [Enhanced Financials](https://docs.codat.io/assess/reports/enhanced-financials/financials) endpoints provide the same report under standardized headings, allowing you to pull it in the same format for all of your business customers.
      properties:
        currency:
          description: Base currency of the company in which the profit and loss report is presented.
          minLength: 1
          type: string
        earliestAvailableMonth:
          $ref: "#/components/schemas/DateTime"
          description: Earliest available monthly report data.
        mostRecentAvailableMonth:
          $ref: "#/components/schemas/DateTime"
          description: Most recent available monthly report data.
        reportBasis:
          $ref: "#/components/schemas/ProfitAndLossReport/definitions/reportBasis"
        reports:
          description: An array of profit and loss reports.
          items:
            $ref: "#/components/schemas/ProfitAndLossReport/definitions/profitAndLossReport"
          type: array
      required:
        - reports
        - reportBasis
        - currency
      title: Profit and loss report
      type: object
    ProjectRef:
      properties:
        id:
          minLength: 1
          type: string
        name:
          type:
            - string
            - "null"
      required:
        - id
      type: object
      x-internal: true
    PurchaseOrder:
      allOf:
        - properties:
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Currency of the purchase order.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            deliveryDate:
              $ref: "#/components/schemas/DateTime"
              description: Actual delivery date for any goods that have been ordered.
              nullable: true
            expectedDeliveryDate:
              $ref: "#/components/schemas/DateTime"
              description: Expected delivery date for any goods that have been ordered.
              nullable: true
            id:
              description: Identifier for the purchase order, unique for the company in the accounting platform.
              type: string
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date of the purchase order as recorded in the accounting platform.
            lineItems:
              description: Array of line items.
              items:
                $ref: "#/components/schemas/PurchaseOrder/definitions/purchaseOrderLineItem"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any additional information associated with the purchase order.
              type:
                - string
                - "null"
            paymentDueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date the supplier is due to be paid.
              nullable: true
            purchaseOrderNumber:
              description: Friendly reference for the purchase order, commonly generated by the accounting platform.
              type:
                - string
                - "null"
            shipTo:
              $ref: "#/components/schemas/SalesOrder/allOf/0/properties/shipTo"
              description: Delivery details for any goods that have been ordered.
            status:
              $ref: "#/components/schemas/PurchaseOrder/definitions/purchaseOrderStatus"
            subTotal:
              description: Total amount of the purchase order, including discounts but excluding tax.
              type: number
            supplierRef:
              $ref: "#/components/schemas/Supplier/definitions/supplierRef"
              description: Supplier that the purchase order is recorded against in the accounting system.
            totalAmount:
              description: Total amount of the purchase order, including discounts and tax.
              type: number
            totalDiscount:
              description: Total value of any discounts applied to the purchase order.
              type: number
            totalTaxAmount:
              description: |-
                	
                Total amount of tax included in the purchase order.
              type: number
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        purchaseOrderLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: Description of the goods / services that have been ordered.
              nullable: true
              type: string
            discountAmount:
              description: Value of any discounts applied.
              type: number
            discountPercentage:
              description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount.
              type: number
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the product or inventory item to which the line item is linked.
            quantity:
              description: Number of units that have been ordered.
              type: number
            subTotal:
              description: Amount of the line, inclusive of discounts but exclusive of tax.
              type: number
            taxAmount:
              description: Amount of tax for the line.
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the line item is linked.
            totalAmount:
              description: Total amount of the line, inclusive of discounts and tax.
              type: number
            trackingCategoryRefs:
              description: Reference to the tracking categories to which the line item is linked.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              nullable: true
              type: array
            unitAmount:
              description: Price of each unit.
              type: number
          type: object
        purchaseOrderRef:
          additionalProperties: false
          properties:
            id:
              description: Identifier for the purchase order, unique for the company in the accounting platform.
              type: string
            purchaseOrderNumber:
              description: Friendly reference for the purchase order, commonly generated by the accounting platform.
              nullable: true
              type: string
          title: Purchase order Reference
          type: object
        purchaseOrderStatus:
          description: Current state of the purchase order
          enum:
            - Unknown
            - Draft
            - Open
            - Closed
            - Void
          type: string
      description: |-
        > View the coverage for purchase orders in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=purchaseOrders" target="_blank">Data coverage explorer</a>.

        ## Overview

        Purchase orders represent a business's intent to purchase goods or services from a supplier and normally include information such as expected delivery dates and shipping details.  

        This information can be used to provide visibility on a business's expected payables and to track a purchase through the full procurement process.
      examples:
        - currency: GBP
          currencyRate: 1
          deliveryDate: 2021-02-02T00:00:00Z
          expectedDeliveryDate: 2021-01-29T00:00:00Z
          id: 7e2380af-b51f-4393-92d7-6ff0382da26c
          issueDate: 2020-10-24T00:00:00Z
          lineItems:
            - accountRef:
                id: 13931cbf-ea06-4d6e-9538-a8457fa66011
                name: Cost of Goods Sold
              description: Electric Eye purchase
              discountAmount: 0
              discountPercentage: 0
              itemRef:
                id: 9409d23d-1011-432e-98a4-591fcd8d5404
                name: ACME Electric Eye
              quantity: 9
              subTotal: 1035
              taxAmount: 103.5
              taxRateRef:
                id: 6c88aff3-7cb9-4980-a3d3-443e72e02498
                name: ACME Sales Tax (10%)
              totalAmount: 1138.5
              trackingCategoryRefs: []
              unitAmount: 115
          modifiedDate: 2020-11-17T21:11:20Z
          note: purchaseorder with 1 line items, totalling 1138.5
          paymentDueDate: 2021-09-13T00:00:00Z
          purchaseOrderNumber: "89443280"
          shipTo:
            address:
              city: Dallas
              country: USA
              line1: 1 Carolyns Circle
              line2: ""
              postalCode: "511210"
              region: Texas
              type: Billing
            contact:
              email: sales@carltoninnov.com
              name: Carlton Innovations
              phone: ""
          sourceModifiedDate: 2020-10-25T06:37:33Z
          status: Closed
          subTotal: 1035
          supplierRef:
            id: 7ff6add1-b0e7-496f-b655-48e20c8fdb2e
            supplierName: Carlton Innovations
          totalAmount: 1138.5
          totalDiscount: 0
          totalTaxAmount: 103.5
      title: Purchase order
      type: object
    PurchaseOrders:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/PurchaseOrder"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    PushOperationSummary:
      definitions:
        pushChangeType:
          enum:
            - Unknown
            - Created
            - Modified
            - Deleted
            - AttachmentUploaded
          title: Push change type
          type: string
        pushOperationChange:
          properties:
            attachmentId:
              nullable: true
              type: string
            recordRef:
              $ref: "#/components/schemas/PushOperationSummary/definitions/pushOperationRef"
            type:
              $ref: "#/components/schemas/PushOperationSummary/definitions/pushChangeType"
          type: object
        pushOperationRef:
          additionalProperties: false
          properties:
            dataType:
              $ref: "#/components/schemas/DataType"
              nullable: true
            id:
              type: string
          title: Push operation reference
          type: object
          x-internal: true
        pushOperationStatus:
          description: The status of the push operation.
          enum:
            - Pending
            - Failed
            - Success
            - TimedOut
          title: Push operation status
          type: string
        validation:
          description: A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here.
          properties:
            errors:
              items:
                $ref: "#/components/schemas/PushOperationSummary/definitions/validationItem"
              nullable: true
              type: array
            warnings:
              items:
                $ref: "#/components/schemas/PushOperationSummary/definitions/validationItem"
              nullable: true
              type: array
          title: Validation
          type: object
        validationItem:
          additionalProperties: false
          properties:
            itemId:
              nullable: true
              type: string
            message:
              nullable: true
              type: string
            validatorName:
              nullable: true
              type: string
          title: Validation item
          type: object
      properties:
        changes:
          items:
            $ref: "#/components/schemas/PushOperationSummary/definitions/pushOperationChange"
          type:
            - array
            - "null"
        companyId:
          $ref: "#/components/parameters/companyId/schema"
        completedOnUtc:
          $ref: "#/components/schemas/DateTime"
          description: The datetime when the push was completed, null if Pending.
        dataConnectionKey:
          $ref: "#/components/parameters/connectionId/schema"
        dataType:
          $ref: "#/components/schemas/DataType"
          description: The type of data being pushed, eg invoices, customers.
          nullable: true
        errorMessage:
          type:
            - string
            - "null"
        pushOperationKey:
          description: A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted.
          format: uuid
          type: string
        requestedOnUtc:
          $ref: "#/components/schemas/DateTime"
          description: The datetime when the push was requested.
        status:
          $ref: "#/components/schemas/PushOperationSummary/definitions/pushOperationStatus"
        statusCode:
          type: integer
        timeoutInMinutes:
          format: int32
          type:
            - integer
            - "null"
        timeoutInSeconds:
          deprecated: true
          format: int32
          type:
            - integer
            - "null"
        validation:
          $ref: "#/components/schemas/PushOperationSummary/definitions/validation"
      required:
        - companyId
        - pushOperationKey
        - dataConnectionKey
        - requestedOnUtc
        - status
        - statusCode
      type: object
      x-internal: true
    PushOption:
      definitions:
        pushFieldValidation:
          additionalProperties: false
          properties:
            details:
              minLength: 1
              type: string
            field:
              type: string
            ref:
              format: uri
              nullable: true
              type: string
          required:
            - details
          title: Push field validation
          type: object
        pushOptionChoice:
          properties:
            description:
              type: string
            displayName:
              type: string
            required:
              type: boolean
            type:
              $ref: "#/components/schemas/PushOption/definitions/pushOptionType"
            value:
              description: Allowed value for field.
              minLength: 1
              type: string
          title: Push Option Choice
          type: object
        pushOptionProperty:
          properties:
            description:
              minLength: 1
              type: string
            displayName:
              minLength: 1
              type: string
            options:
              items:
                $ref: "#/components/schemas/PushOption/definitions/pushOptionChoice"
              nullable: true
              type: array
            properties:
              additionalProperties:
                $ref: "#/components/schemas/PushOption/definitions/pushOptionProperty"
              nullable: true
              type: object
            required:
              type: boolean
            type:
              $ref: "#/components/schemas/PushOption/definitions/pushOptionType"
            validation:
              $ref: "#/components/schemas/PushOption/definitions/pushValidationInfo"
          required:
            - description
            - displayName
            - required
            - type
          title: Push Option Property
          type: object
        pushOptionType:
          enum:
            - Array
            - Object
            - String
            - Number
            - Boolean
            - DateTime
            - File
            - MultiPart
          title: Option Type
          type: string
        pushValidationInfo:
          additionalProperties: false
          properties:
            information:
              items:
                $ref: "#/components/schemas/PushOption/definitions/pushFieldValidation"
              nullable: true
              type: array
            warnings:
              items:
                $ref: "#/components/schemas/PushOption/definitions/pushFieldValidation"
              nullable: true
              type: array
          title: Push validation info
          type: object
      properties:
        description:
          type: string
        displayName:
          minLength: 1
          type: string
        options:
          items:
            $ref: "#/components/schemas/PushOption/definitions/pushOptionChoice"
          type:
            - array
            - "null"
        properties:
          additionalProperties:
            $ref: "#/components/schemas/PushOption/definitions/pushOptionProperty"
          type:
            - object
            - "null"
        required:
          type: boolean
        type:
          $ref: "#/components/schemas/PushOption/definitions/pushOptionType"
        validation:
          $ref: "#/components/schemas/PushOption/definitions/pushValidationInfo"
          nullable: true
      required:
        - displayName
        - required
        - type
      title: Push Option
      type: object
      x-internal: true
    ReportLine:
      properties:
        accountId:
          description: Identifier for the account, unique for the company in the accounting platform.
          type:
            - string
            - "null"
        items:
          description: An array of ReportLine items.
          items:
            $ref: "#/components/schemas/ReportLine"
          type:
            - array
            - "null"
        name:
          description: Name of the report line item.
          type:
            - string
            - "null"
        value:
          description: Numerical value of the line item.
          type: number
      required:
        - value
      title: Report Line
      type: object
      x-internal: true
    SalesOrder:
      allOf:
        - properties:
            currency:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount/properties/currency"
              description: Currency of the sales order.
            currencyRate:
              $ref: "#/components/schemas/BillPayment/definitions/billPaymentLineLink/properties/currencyRate"
            customerPurchaseOrderNumber:
              description: A customer-supplied identifier for the purchase order in the customer's system.
              type:
                - string
                - "null"
            customerRef:
              $ref: "#/components/schemas/Customer/definitions/customerRef"
              description: The customer that the sales order is recorded against in the accounting system.
            expectedDeliveryDate:
              $ref: "#/components/schemas/DateTime"
              description: Expected delivery date for any goods that have been ordered.
              nullable: true
            id:
              description: Identifier for the sales order, unique for the company in the accounting platform.
              type: string
            invoicingStatus:
              $ref: "#/components/schemas/SalesOrder/definitions/salesOrderInvoiceStatus"
            issueDate:
              $ref: "#/components/schemas/DateTime"
              description: Date of the sales order as recorded in the accounting platform.
            lineItems:
              description: An array of line items.
              items:
                $ref: "#/components/schemas/SalesOrder/definitions/salesOrderLineItem"
              type:
                - array
                - "null"
            metadata:
              $ref: "#/components/schemas/Metadata"
            note:
              description: Any additional information associated with the sales order.
              type:
                - string
                - "null"
            salesOrderNumber:
              description: Friendly reference for the sales order, commonly generated by the accounting platform.
              type:
                - string
                - "null"
            shipTo:
              description: Delivery details for any goods that have been ordered.
              properties:
                address:
                  $ref: "#/components/schemas/CompanyDataset/properties/addresses/items"
                  description: Delivery address for any goods that have been ordered.
                contact:
                  description: Details of the named contact at the delivery address.
                  properties:
                    email:
                      description: Email address of the contact at the delivery address.
                      type:
                        - string
                        - "null"
                    name:
                      description: Name of the contact at the delivery address.
                      type:
                        - string
                        - "null"
                    phone:
                      description: Phone number of the contact at the delivery address.
                      type:
                        - string
                        - "null"
                  type: object
              title: Ship to
              type: object
            status:
              $ref: "#/components/schemas/SalesOrder/definitions/salesOrderStatus"
            subTotal:
              description: Total amount of the sales order, including discounts but excluding tax.
              type: number
            totalAmount:
              description: Total amount of the sales order, including discounts and tax.
              type: number
            totalDiscount:
              description: |-
                	
                Total value of any discounts applied to the sales order.
              type: number
            totalTaxAmount:
              description: Total amount of tax included in the sales order.
              type: number
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        salesOrderInvoiceStatus:
          description: If the sales order is converted to an invoice, or will be in future, the invoicingStatus field indicates the current stage of the invoicing process.
          enum:
            - Unknown
            - PartiallyInvoiced
            - Invoiced
            - NotInvoiced
          type: string
        salesOrderLineItem:
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: Reference to the account to which the line item is linked.
            description:
              description: Description of the goods or services that have been ordered.
              nullable: true
              type: string
            discountAmount:
              description: Value of any discounts applied.
              type: number
            discountPercentage:
              description: Percentage rate (from 0 to 100) of any discounts applied to the unit amount.
              type: number
            itemRef:
              $ref: "#/components/schemas/Item/definitions/itemRef"
              description: Reference to the product or inventory item to which the line item is linked.
            quantity:
              description: Number of units that have been ordered.
              type: number
            subTotal:
              description: Amount of the line, inclusive of discounts but exclusive of tax.
              type: number
            taxAmount:
              description: Amount of tax for the line.
              type: number
            taxRateRef:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateRef"
              description: Reference to the tax rate to which the line item is linked.
            totalAmount:
              description: Total amount of the line, inclusive of discounts and tax.
              type: number
            tracking:
              properties:
                recordRefs:
                  items:
                    $ref: "#/components/schemas/DirectCost/definitions/tracking/properties/invoiceTo"
                  nullable: true
                  type: array
              type: object
            unitAmount:
              description: Price of each unit.
              type: number
          title: Invoice line item
          type: object
        salesOrderStatus:
          description: Current state of the sales order.
          enum:
            - Unknown
            - Draft
            - Open
            - Closed
            - Void
          type: string
      description: |-
        > View the coverage for sales orders in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=salesOrders" target="_blank">Data coverage explorer</a>.

        ## Overview

        A sales order represents a customer's intention to purchase goods or services from a seller and usually includes information such as the expected delivery date and shipping details. This information can be used to provide visibility on a business's expected receivables and to track sales through the full procurement process.

        A sales order is typically converted to an [invoice](https://docs.codat.io/accounting-api#/schemas/Invoice) after approval.
      examples:
        - currency: GBP
          currencyRate: 0
          customerPurchaseOrderNumber: string
          customerRef:
            companyName: string
            id: string
          expectedDeliveryDate: 2022-10-23T00:00:00Z
          id: string
          invoicingStatus: Unknown
          issueDate: 2022-10-23T00:00:00Z
          lineItems:
            - accountRef:
                id: string
                name: string
              description: string
              discountAmount: 0
              discountPercentage: 0
              itemRef:
                id: string
                name: string
              quantity: 0
              subTotal: 0
              taxAmount: 0
              taxRateRef:
                effectiveTaxRate: 0
                id: string
                name: string
              totalAmount: 0
              tracking:
                recordRefs:
                  - string
              unitAmount: 0
          metadata:
            isDeleted: true
          modifiedDate: 2022-10-23T00:00:00Z
          note: string
          salesOrderNumber: string
          shipTo:
            address:
              city: string
              country: string
              line1: string
              line2: string
              postalCode: string
              region: string
              type: Unknown
            contact:
              email: string
              name: string
              phone: string
          sourceModifiedDate: 2022-10-23T00:00:00Z
          status: Unknown
          subTotal: 0
          totalAmount: 0
          totalDiscount: 0
          totalTaxAmount: 0
      title: Sales order
      type: object
    SalesOrders:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/SalesOrder"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    Supplier:
      allOf:
        - properties:
            addresses:
              description: An array of Addresses.
              items:
                $ref: "#/components/schemas/CompanyDataset/properties/addresses/items"
              type:
                - array
                - "null"
            contactName:
              description: Name of the main contact for the supplier.
              type:
                - string
                - "null"
            defaultCurrency:
              description: Default currency the supplier's transactional data is recorded in.
              type:
                - string
                - "null"
            emailAddress:
              description: Email address that the supplier may be contacted on.
              type:
                - string
                - "null"
            id:
              description: Identifier for the supplier, unique to the company in the accounting platform.
              type: string
            metadata:
              $ref: "#/components/schemas/Metadata"
            phone:
              description: Phone number that the supplier may be contacted on.
              examples:
                - +44 25691 154789
                - (877) 492-8687
                - 01224 658 999
              type:
                - string
                - "null"
            registrationNumber:
              description: Company number of the supplier. In the UK, this is typically the company registration number issued by Companies House.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/Supplier/definitions/supplierStatus"
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            supplierName:
              description: Name of the supplier as recorded in the accounting system, typically the company name.
              type:
                - string
                - "null"
            taxNumber:
              description: Supplier's company tax number.
              type:
                - string
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        supplierRef:
          description: Reference to the supplier the record relates to.
          properties:
            id:
              description: The supplier's unique ID
              minLength: 1
              type: string
            supplierName:
              description: The supplier's name
              nullable: true
              type: string
          required:
            - id
          title: Supplier reference
          type: object
        supplierStatus:
          description: Status of the supplier.
          enum:
            - Unknown
            - Active
            - Archived
          type: string
      description: |-
        > View the coverage for suppliers in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=suppliers" target="_blank">Data coverage explorer</a>.

        ## Overview

        From the **Suppliers** endpoints, you can retrieve a list of [all the suppliers for a company](https://docs.codat.io/accounting-api#/operations/list-suppliers). Suppliers' data links to accounts payable [bills](https://docs.codat.io/accounting-api#/schemas/Bill).
      examples:
        - addresses:
            - city: Bakersfield
              country: USA
              line1: Unit 51
              line2: Bakersfield Industrial Estate
              postalcode: "93308"
              region: California
              type: Billing
          contactName: Kelly's Industrial Supplies
          defaultCurrency: string
          emailAddress: sales@kellysupplies.com
          id: C520FFD4-F6F6-4FC2-A6D2-5D7088B2B14F
          metadata:
            isDeleted: true
          modifiedDate: 2022-10-23T00:00:00Z
          phone: 07999 999999
          registrationNumber: string
          sourceModifiedDate: 2022-10-23T00:00:00Z
          status: Unknown
          supplementalData:
            content:
              property1:
                property1: null
                property2: null
              property2:
                property1: null
                property2: null
          supplierName: Kelly's Industrial Supplies
          taxNumber: string
      required:
        - status
      title: Supplier
      type: object
    Suppliers:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Supplier"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    TaxRate:
      allOf:
        - properties:
            code:
              description: Code for the tax rate from the accounting platform.
              type:
                - string
                - "null"
            components:
              items:
                $ref: "#/components/schemas/TaxRate/definitions/taxRateComponent"
              type:
                - array
                - "null"
            effectiveTaxRate:
              description: See Effective tax rates description.
              type:
                - number
                - "null"
            id:
              description: Identifier for the tax rate, unique for the company in the accounting platform.
              type: string
            metadata:
              $ref: "#/components/schemas/Metadata"
            name:
              description: Codat-augmented name of the tax rate in the accounting platform.
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/TaxRate/definitions/taxRateStatus"
            totalTaxRate:
              description: Total (not compounded) sum of the components of a tax rate.
              type:
                - number
                - "null"
            validDatatypeLinks:
              items:
                $ref: "#/components/schemas/ValidDataTypeLinks"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        taxRateComponent:
          additionalProperties: false
          description: A tax rate can be made up of multiple sub taxes, often called components of the tax.
          properties:
            isCompound:
              description: "A flag to indicate with the tax is calculated using the principle of compounding. "
              type: boolean
            name:
              description: Name of the tax rate component.
              nullable: true
              type: string
            rate:
              description: The rate of the tax rate component, usually a percentage.
              nullable: true
              type: number
          required:
            - isCompound
          title: Tax Rate Component
          type: object
        taxRateRef:
          description: |-
            Data types that reference a tax rate, for example invoice and bill line items, use a taxRateRef that includes the ID and name of the linked tax rate.

            Found on:

            - Bill line items
            - Bill Credit Note line items
            - Credit Note line items
            - Direct incomes line items
            - Invoice line items
            - Items
          properties:
            effectiveTaxRate:
              description: Applicable tax rate.
              type: number
            id:
              description: Unique identifier for the tax rate in the accounting platform.
              type: string
            name:
              description: Name of the tax rate in the accounting platform.
              type: string
          title: Tax rate reference
          type: object
        taxRateStatus:
          description: |-
            Status of the tax rate in the accounting platform.  
            - `Active` - An active tax rate in use by a company.  
            - `Archived` - A tax rate that has been archived or is inactive in the accounting platform.  
            - `Unknown` - Where the status of the tax rate cannot be determined from the underlying platform.
          enum:
            - Unknown
            - Active
            - Archived
          title: Tax rate status
          type: string
      description: |-
        > View the coverage for tax rates in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=taxRates" target="_blank">Data coverage explorer</a>.

        ## Overview

        Accounting systems typically store a set of taxes and associated rates within the accounting package. This means that users don't have to look up or remember the rates for each type of tax. For example, applying the tax "UK sales VAT" to line items of an invoice adds the correct rate of 20%. 

        ### Tax components

        In some cases, a tax is made up of multiple sub taxes, often called _components_ of the tax.  For example, you may have an item that is charged a tax rate called "City import tax (8%)" that has two components: 

        - A city tax of 5%  
        - An import tax of 3%

        > **Effective tax rates**  
        > - Where there are multiple components of a tax, each component may be calculated on the original amount and added together. Alternatively, one tax may be calculated on the sub-total of the original amount plus another tax, which is referred to as _compounding_. When there is compounding, the effective tax rate is the rate that, if applied to the original amount, would result in the total amount of tax with compounding.  
        >
        > **Example:**  
        > A tax has two components. Both components have a rate of 10%, and one component is compound. In this case, there is a total tax rate of 20% but an effective tax rate of 21%.
        >
        > - For QuickBooks Online, Codat doesn't use compound rates. Instead, the calculated effective tax rate for each component is shown. This means that the effective and total rates are the same because the total tax rate is a sum of the component rates.
      title: Tax Rate
      type: object
    TaxRates:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/TaxRate"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    TrackingCategories:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/TrackingCategory"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    TrackingCategory:
      allOf:
        - properties:
            hasChildren:
              description: Boolean value indicating whether this category has SubCategories
              type: boolean
            id:
              description: The identifier for the item, unique per tracking category
              type:
                - string
                - "null"
            name:
              description: The name of the tracking category
              type:
                - string
                - "null"
            parentId:
              description: The identifier for this item's immediate parent
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/TrackingCategory/definitions/status"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        status:
          description: Current state of the tracking category.
          enum:
            - Unknown
            - Active
            - Archived
          title: Tracking category status
          type: string
        trackingCategoryRef:
          deprecated: true
          description: References a category against which the item is tracked.
          properties:
            id:
              minLength: 1
              type: string
            name:
              nullable: true
              type: string
          required:
            - id
          type: object
      description: |-
        Details of a category used for tracking transactions.

        > Language tip
        >
        > Parameters used to track types of spend in various parts of an organization can be called  **dimensions**, **projects**, **classes**, or **locations** in different accounting platforms. In Codat, we refer to these as tracking categories.

        View the coverage for tracking categories in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=trackingCategories" target="_blank">Data coverage explorer</a>.

        ## Overview

        Tracking categories are used to monitor cost centres and control budgets that sit outside the standard chart of accounts. Customers may use tracking categories to group together and track the income and costs of specific departments, projects, locations or customers.

        From their accounting system, customers can: 

        - Create and maintain tracking categories and tracking category types.
        - View all tracking categories that are available for use.
        - View the relationships between the categories.
        - Assign invoices, bills, credit notes, or bill credit notes to one or more categories.
        - View the categories that a transaction belongs to.
        - View all transactions in a tracking category.

        > **Example use case**
        >
        > Monitor the budget for your annual conference using a tracking category called 'AnnualConference2020' with the **type** set to **Costing**.

        If a tracking category has a parent category, the ID of that parent category is displayed. There is also a `hasChildren` field that shows whether there are child subcategories nested beneath. 
      examples:
        - hasChildren: true
          id: string
          modifiedDate: 2022-10-23T00:00:00Z
          name: string
          parentId: string
          sourceModifiedDate: 2022-10-23T00:00:00Z
          status: Unknown
      title: Tracking category
      type: object
    TrackingCategoryTree:
      allOf:
        - properties:
            hasChildren:
              description: Boolean value indicating whether this category has SubCategories
              type: boolean
            id:
              description: The identifier for the item, unique per tracking category
              type:
                - string
                - "null"
            name:
              description: The name of the tracking category
              type:
                - string
                - "null"
            parentId:
              description: The identifier for this item's immediate parent
              type:
                - string
                - "null"
            status:
              $ref: "#/components/schemas/TrackingCategory/definitions/status"
            subCategories:
              description: A collection of subcategories that are nested beneath this category.
              items:
                $ref: "#/components/schemas/TrackingCategoryTree"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      description: The full structure of a specific tracking category including any child or subcategories.
      title: Tracking category tree
      type: object
    Transfer:
      allOf:
        - properties:
            contactRef:
              description: The customer or supplier for the transfer, if available.
              properties:
                dataType:
                  type:
                    - string
                    - "null"
                id:
                  minLength: 1
                  type: string
              required:
                - id
              type: object
            date:
              $ref: "#/components/schemas/DateTime"
              description: The day on which the transfer was made.
            depositedRecordRefs:
              items:
                type: string
              type:
                - array
                - "null"
            description:
              description: Description of the transfer.
              type:
                - string
                - "null"
            from:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount"
              description: The details of the accounts the transfer is moving from.
            id:
              description: Unique identifier for the transfer.
              type: string
            metadata:
              $ref: "#/components/schemas/Metadata"
            supplementalData:
              $ref: "#/components/schemas/Bill/allOf/0/properties/supplementalData"
            to:
              $ref: "#/components/schemas/Transfer/definitions/transferAccount"
              description: The details of the accounts the transfer is moving to.
            trackingCategoryRefs:
              description: Reference to the tracking categories this transfer is being tracked against.
              items:
                $ref: "#/components/schemas/TrackingCategory/definitions/trackingCategoryRef"
              type:
                - array
                - "null"
          type: object
        - $ref: "#/components/schemas/ModifiedDates"
      definitions:
        transferAccount:
          description: ""
          properties:
            accountRef:
              $ref: "#/components/schemas/Account/definitions/accountRef"
              description: The account that the transfer is moving from or to.
            amount:
              description: The amount transferred between accounts.
              type: number
            currency:
              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.
              examples:
                - GBP
                - USD
                - EUR
              format: ISO4217
              title: Currency
              type: string
              x-internal: true
          title: Transfer account
          type: object
      description: |-
        > View the coverage for transfers in the <a className="external" href="https://knowledge.codat.io/supported-features/accounting?view=tab-by-data-type&dataType=transfers" target="_blank">Data coverage explorer</a>.

        A transfer records the movement of money between two bank accounts, or between a bank account and a nominal account. It is a child data type of [account transactions](https://docs.codat.io/accounting-api#/schemas/AccountTransaction).
      title: Transfer
      type: object
    Transfers:
      allOf:
        - properties:
            results:
              items:
                $ref: "#/components/schemas/Transfer"
              type: array
          type: object
        - $ref: "#/components/schemas/PagingInfo"
      x-internal: true
    UpdateBankAccountResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/BankAccount"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    UpdateBillCreditNoteResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/BillCreditNote"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    UpdateBillResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Bill"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    UpdateCreditNoteResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/CreditNote"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    UpdateCustomerResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Customer"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    UpdateInvoiceResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/Invoice"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    UpdatePurchaseOrderResponse:
      allOf:
        - properties:
            data:
              $ref: "#/components/schemas/PurchaseOrder"
          type: object
        - $ref: "#/components/schemas/PushOperationSummary"
      x-internal: true
    ValidDataTypeLinks:
      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 <a href="https://portal.productboard.com/codat/5-product-roadmap">Product Roadmap</a>.
      properties:
        links:
          description: Supported `dataTypes` that the record can be linked to.
          items:
            type: string
          type:
            - array
            - "null"
        property:
          description: The property from the account that can be linked.
          type:
            - string
            - "null"
      title: Valid data type links
      type: object
  securitySchemes:
    auth_header:
      description: The word "Basic" followed by a space and your API Key, base64 encoded, which can be found [here](https://app.codat.io/developers/api-keys)
      in: header
      name: Authorization
      type: apiKey
x-speakeasy-retries:
  backoff:
    exponent: 1.5
    initialInterval: 500
    maxElapsedTime: 3600000
    maxInterval: 60000
  retryConnectionErrors: true
  statusCodes:
    - 408
    - 429
    - 5XX
  strategy: backoff
x-stoplight:
  id: tfrhp9p2h6on2
