openapi: 3.0.0
info:
  title: Bank Transactions
  description: In many instances, you would wish to record manual entries for your offline transactions for your bank or credit card accounts. These entries might not be a part of your bank feeds but would make an important entry for your business records.
  contact: {}
  version: 1.0.0
servers:
  - url: https://www.zohoapis.com/books/v3
    description: API Endpoint
tags:
  - name: bank-transactions
    description: Bank-Transactions Module
paths:
  /banktransactions:
    post:
      tags:
        - bank-transactions
      operationId: create_bank_transaction
      summary: Create a transaction for an account
      description: Create a bank transaction based on the allowed transaction types.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-transaction-for-an-account-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-a-transaction-for-an-account-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    get:
      tags:
        - bank-transactions
      operationId: list_bank_transactions
      summary: Get transactions list
      description: Get all the transaction details involved in an account.
      parameters:
        - name: account_id
          in: query
          required: false
          schema:
            type: integer
            format: int64
          example: '460000000048001'
        - name: transaction_type
          in: query
          required: false
          schema:
            type: string
          example: deposit
        - name: date
          in: query
          description: 'Start and end date, to provide a range within which the transaction date exist. Variants: <code>date_start</code> and <code>date_end</code>'
          required: false
          schema:
            type: string
          example: '2013-10-01'
        - name: amount
          in: query
          description: 'Start and end amount, to provide a range within which the transaction amount exist. Variants: <code>amount_start</code> and <code>amount_end</code>'
          required: false
          schema:
            type: number
            format: double
          example: 2000
        - name: status
          in: query
          description: Transaction status wise list view - All, uncategorized, manually_added, matched, excluded, categorized
          required: false
          schema:
            type: string
          example: categorized
        - name: reference_number
          in: query
          description: Search using Reference Number of the transaction
          required: false
          schema:
            type: string
          example: Ref-121
        - name: filter_by
          in: query
          description: 'Filters the transactions based on the allowed types. Allowed Values: <code>Status.All</code>, <code>Status.Uncategorized</code>, <code>Status.Categorized</code>, <code>Status.ManuallyAdded</code>, <code>Status.Excluded</code> and <code>Status.Matched</code>.'
          required: false
          schema:
            type: string
          example: ''
        - name: sort_column
          in: query
          description: 'Sorts the transactions based on the allowed sort types. Allowed Values: <code>date</code>.'
          required: false
          schema:
            type: string
          example: ''
        - name: transaction_status
          in: query
          description: Transaction status wise list view - All, uncategorized, manually_added, matched, excluded, categorized
          required: false
          schema:
            type: string
          example: ''
        - name: search_text
          in: query
          description: Search Transactions by contact name or description
          required: false
          schema:
            type: string
          example: ''
        - name: page
          in: query
          description: Page number to be fetched. Default value is 1.
          required: false
          schema:
            type: integer
            default: 1
          example: 1
        - name: per_page
          in: query
          description: Number of records to be fetched per page. Default value is 200.
          required: false
          schema:
            type: integer
            default: 200
          example: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-transactions-list-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.READ
    parameters:
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/{bank_transaction_id}:
    put:
      tags:
        - bank-transactions
      operationId: update_bank_transaction
      summary: Update a transaction
      description: Make changes in the applicable fields of a transaction and update it.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-transaction-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.UPDATE
    get:
      tags:
        - bank-transactions
      operationId: get_bank_transaction
      summary: Get transaction
      description: Fetch the details of a transaction by specifying the transaction_id.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.READ
    delete:
      tags:
        - bank-transactions
      operationId: delete_bank_transaction
      summary: Delete a transaction
      description: Delete a transaction from an account by specifying the transaction_id.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.DELETE
    parameters:
      - name: bank_transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/match:
    get:
      tags:
        - bank-transactions
      operationId: get_matching_bank_transactions
      summary: Get matching transactions
      description: Provide criteria to search for matching uncategorised transactions. The list of transactions can also include invoices/bills/credit-notes which will not be matched directly. Instead, a new (payment/refund) transaction is recorded and matched.
      parameters:
        - name: transaction_id
          in: query
          description: ID of the Transaction
          required: false
          schema:
            type: string
          example: '460000000048017'
        - name: transaction_type
          in: query
          description: 'Type of the transaction. <br> <strong>Allowed transaction types</strong> : deposit, refund(*Supported only in Credit Card accounts), transfer_fund, card_payment, sales_without_invoices, expense_refund, owner_contribution, interest_income, other_income, owner_drawings, sales_return <br> <strong>Note:</strong> You will not be able to create the following module-specific transaction types under Bank Transaction endpoints :<div> <a href="#Expenses">Expense</a>, <a href="#Vendor-Payments">Vendor Advance/Vendor Payment/Bill Payment</a>, <a href="#Vendor-Credits_Refund_a_vendor_credit">Vendor Credit Refund</a>, <a href="#Vendor-Payments_Refund_an_excess_vendor_payment">Vendor Payment Refund</a>, <a href="#Customer-Payments">Customer Advance/Customer Payment</a>, <a href="#Credit-Notes_Refund_credit_note">Credit Note Refund</a>, <a href="#Customer-Payments_Refund_an_excess_customer_payment">Payment Refund</a>. Hence, refer them in their repective modules.</div>'
          required: false
          schema:
            type: string
          example: deposit
        - name: date_after
          in: query
          description: Date after which Transactions are to be filtered
          required: false
          schema:
            type: string
          example: ''
        - name: date_before
          in: query
          description: Date before which Transactions are to be filtered
          required: false
          schema:
            type: string
          example: ''
        - name: amount_start
          in: query
          description: Starting amout with which transactions are to be filtered
          required: false
          schema:
            type: number
            format: double
          example: ''
        - name: amount_end
          in: query
          description: Starting amout with which transactions are to be filtered
          required: false
          schema:
            type: number
            format: double
          example: ''
        - name: contact
          in: query
          description: Contact person name, involved in the transaction.
          required: false
          schema:
            type: string
          example: ''
        - name: reference_number
          in: query
          description: Reference Number of the transaction
          required: false
          schema:
            type: string
          example: Ref-121
        - name: show_all_transactions
          in: query
          description: Check if all transactions must be shown
          required: false
          schema:
            type: boolean
        - name: page
          in: query
          description: Page number to be fetched. Default value is 1.
          required: false
          schema:
            type: integer
            default: 1
          example: 1
        - name: per_page
          in: query
          description: Number of records to be fetched per page. Default value is 200.
          required: false
          schema:
            type: integer
            default: 200
          example: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-matching-transactions-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.READ
    post:
      tags:
        - bank-transactions
      operationId: match_bank_transaction
      summary: Match a transaction
      description: Match an uncategorized transaction with an existing transaction in the account.
      parameters:
        - name: account_id
          in: query
          description: Mandatory Account id for which transactions are to be listed.
          required: false
          schema:
            type: string
          example: '460000000048001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/match-a-transaction-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/match-a-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/{transaction_id}/unmatch:
    post:
      tags:
        - bank-transactions
      operationId: unmatch_bank_transaction
      summary: Unmatch a matched transaction
      description: Unmatch a transaction that was previously matched and make it uncategorized.
      parameters:
        - name: account_id
          in: query
          description: Mandatory Account id for which transactions are to be listed.
          required: false
          schema:
            type: string
          example: '460000000048001'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/unmatch-a-matched-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/exclude:
    post:
      tags:
        - bank-transactions
      operationId: exclude_bank_transaction
      summary: Exclude a transaction
      description: Exclude a transaction from your bank or credit card account.
      parameters:
        - name: account_id
          in: query
          description: Mandatory Account id for which transactions are to be listed.
          required: false
          schema:
            type: string
          example: '460000000048001'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/exclude-a-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/restore:
    post:
      tags:
        - bank-transactions
      operationId: restore_bank_transaction
      summary: Restore a transaction
      description: Restore an excluded transaction in your account.
      parameters:
        - name: account_id
          in: query
          description: Mandatory Account id for which transactions are to be listed.
          required: false
          schema:
            type: string
          example: '460000000048001'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restore-a-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/categorize:
    post:
      tags:
        - bank-transactions
      operationId: categorize_bank_transaction
      summary: Categorize an uncategorized transaction
      description: Categorize an uncategorized transaction by creating a new transaction.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-an-uncategorized-transaction-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-an-uncategorized-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/categorize/expenses:
    post:
      tags:
        - bank-transactions
      operationId: categorize_bank_transaction_as_expense
      summary: Categorize as expense
      description: Categorize an Uncategorized transaction as expense.
      parameters:
        - name: doc
          in: query
          description: Document that is to be attached
          required: false
          schema:
            type: string
          example: ''
        - name: totalFiles
          in: query
          description: Total number of files.
          required: false
          schema:
            type: integer
          example: 0
        - name: document_ids
          in: query
          required: false
          schema:
            type: integer
            format: int64
          example: ''
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-as-expense-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-as-expense-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/{transaction_id}/uncategorize:
    post:
      tags:
        - bank-transactions
      operationId: uncategorize_bank_transaction
      summary: Uncategorize a categorized transaction
      description: Revert a categorized transaction as uncategorized.
      parameters:
        - name: account_id
          in: query
          description: Mandatory Account id for which transactions are to be listed.
          required: false
          schema:
            type: string
          example: '460000000048001'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uncategorize-a-categorized-transaction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/categorize/vendorpayments:
    post:
      tags:
        - bank-transactions
      operationId: categorize_bank_transaction_as_vendor_payment
      summary: Categorize a vendor payment
      description: Categorize an uncategorized transaction as Vendor Payment.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-a-vendor-payment-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-a-vendor-payment-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/categorize/customerpayments:
    post:
      tags:
        - bank-transactions
      operationId: categorize_bank_transaction_as_customer_payment
      summary: Categorize as customer payment
      description: Categorize an uncategorized transaction as Customer Payment.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-as-customer-payment-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-as-customer-payment-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/categorize/creditnoterefunds:
    post:
      tags:
        - bank-transactions
      operationId: categorize_as_credit_note_refunds
      summary: Categorize as credit note refunds
      description: Categorize an Uncategorized transaction as a refund from a credit note.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-as-credit-note-refunds-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-as-credit-note-refunds-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{transaction_id}/categorize/vendorcreditrefunds:
    post:
      tags:
        - bank-transactions
      operationId: categorize_as_vendor_credit_refunds
      summary: Categorize as vendor credit refunds
      description: Categorize an uncategorized transaction as a refund from a vendor credit.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-as-vendor-credit-refunds-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-as-vendor-credit-refunds-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: transaction_id
        in: path
        required: true
        description: Unique identifier of the bank transaction.
        schema:
          type: string
        example: '460000000048017'
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{statement_line_id}/categorize/paymentrefunds:
    post:
      tags:
        - bank-transactions
      operationId: categorize_bank_transaction_as_payment_refund
      summary: Categorize as Customer Payment refund
      description: Categorizing bank transactions as Payment Refund.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-as-customer-payment-refund-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-as-customer-payment-refund-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: statement_line_id
        in: path
        required: true
        description: Unique identifier of the bank statement line.
        schema:
          type: string
        example: ''
      - $ref: '#/components/parameters/organization_id'
  /banktransactions/uncategorized/{statement_line_id}/categorize/vendorpaymentrefunds:
    post:
      tags:
        - bank-transactions
      operationId: categorize_as_vendor_payment_refund
      summary: Categorize as Vendor Payment refund
      description: Categorizing bank transactions as Vendor Payment Refund.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/categorize-as-vendor-payment-refund-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/categorize-as-vendor-payment-refund-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.banking.CREATE
    parameters:
      - name: statement_line_id
        in: path
        required: true
        description: Unique identifier of the bank statement line.
        schema:
          type: string
        example: ''
      - $ref: '#/components/parameters/organization_id'
components:
  parameters:
    organization_id:
      name: organization_id
      description: ID of the organization
      in: query
      required: true
      schema:
        type: string
      example: '10234695'
  schemas:
    gendoc-attributes-schema:
      $ref: '#/components/schemas/banktransaction'
    account_id:
      description: Mandatory Account id for which transactions are to be listed.
      type: string
      example: '460000000048001'
    filter_by:
      description: 'Filters the transactions based on the allowed types. Allowed Values: <code>Status.All</code>, <code>Status.Uncategorized</code>, <code>Status.Categorized</code>, <code>Status.ManuallyAdded</code>, <code>Status.Excluded</code> and <code>Status.Matched</code>.'
      type: string
    transaction_type:
      description: 'Type of the transaction. <br> <strong>Allowed transaction types</strong> : deposit, refund(*Supported only in Credit Card accounts), transfer_fund, card_payment, sales_without_invoices, expense_refund, owner_contribution, interest_income, other_income, owner_drawings, sales_return <br> <strong>Note:</strong> You will not be able to create the following module-specific transaction types under Bank Transaction endpoints :<div> <a href="#Expenses">Expense</a>, <a href="#Vendor-Payments">Vendor Advance/Vendor Payment/Bill Payment</a>, <a href="#Vendor-Credits_Refund_a_vendor_credit">Vendor Credit Refund</a>, <a href="#Vendor-Payments_Refund_an_excess_vendor_payment">Vendor Payment Refund</a>, <a href="#Customer-Payments">Customer Advance/Customer Payment</a>, <a href="#Credit-Notes_Refund_credit_note">Credit Note Refund</a>, <a href="#Customer-Payments_Refund_an_excess_customer_payment">Payment Refund</a>. Hence, refer them in their repective modules.</div>'
      type: string
      example: deposit
    date:
      description: Transaction date.
      type: string
      example: '2013-10-01'
    vendorpayment_refund_id:
      description: ID of the Vendor Payment
      type: string
      example: '460000000000007'
    amount:
      description: Amount of the transaction
      type: number
      format: double
      example: 2000
    status:
      description: Transaction status wise list view - All, uncategorized, manually_added, matched, excluded, categorized
      type: string
      example: categorized
    reference_number:
      description: Reference Number of the transaction
      type: string
      example: Ref-121
    sort_column:
      description: 'Sorts the transactions based on the allowed sort types. Allowed Values: <code>date</code>.'
      type: string
    transaction_id:
      description: ID of the Transaction
      type: string
      example: '460000000048017'
    source:
      description: Source of the transaction
      type: string
      example: manually_added
    account_name:
      description: Name of the Account
      type: string
      example: Petty Cash
    account_type:
      description: Type of the Account
      type: string
      example: cash
    price_precision:
      description: Price Precision of the Values
      type: integer
      example: 2
    customer_id:
      description: ID of the customer or vendor.
      type: string
      example: '460000000000111'
    payee:
      description: Payee involved in the transaction
      type: string
      example: Smith
    is_paid_via_print_check:
      description: Is the entity paid via print check
      type: boolean
      example: false
      x-node_available_in:
        - us
        - ca
      x-node_unavailable_in: []
    description:
      description: A brief description about the transaction.
      type: string
    currency_id:
      description: The currency ID involved in the transaction.
      type: string
      example: '460000000000097'
    currency_code:
      description: Code of the currency involved in the transaction
      type: string
      example: USD
    currency_symbol:
      description: Symbol of the currency involved in the transaction
      type: string
      example: $
    debit_or_credit:
      description: Indicates if transaction is Credit or Debit
      type: string
      example: debit
    offset_account_name:
      description: Name of the Offset Account
      type: string
      example: Petty Cash
    is_offsetaccount_matched:
      description: Check if Offset Account is matched
      type: boolean
      example: false
    is_rule_exist:
      description: Check if rule exists for the transaction
      type: boolean
      example: false
    rule_details:
      description: Details of the Rule
      type: array
      items:
        type: string
    from_account_id:
      description: 'The account ID from which money will be transferred(Mandatory for specific type of transactions). These accounts differ with respect to transaction_type. Ex: To a bank account, from-account can be: bank , card, income, refund. To a card account, from account can be: bank, card, refund.'
      type: string
      example: '460000000070003'
    from_account_name:
      description: The account Name from which money will be transferred
      type: string
      example: Sales
    payment_mode:
      description: Mode of payment for the transaction. (not applicable for transfer_fund, card_payment, owner_drawings). Ex:cash, cheque, etc.,
      type: string
      example: Cash
    customer_name:
      description: Name of the Customer
      type: string
    vendor_id:
      description: ID of the Vendor
      type: string
      example: '460000000026049'
    vendor_name:
      description: Name of the Vendor
      type: string
      example: Bowmen and co
    sub_total:
      description: Sub Total of the transaction
      type: integer
      example: 33
    total:
      description: Total of the transaction
      type: integer
      example: 33
    vendor_credit_id:
      description: ID of the vendor credit that has to be refunded.
      type: string
      example: '460000000030049'
    bcy_total:
      description: Total in Base Currency of the Organisation
      type: integer
      example: 33
    paid_through_account_id:
      description: ID of the credit/ bank account the payment is made.
      type: string
      example: '460000000000358'
    project_id:
      description: ID of the project associated with the expense.
      type: string
    start_reading:
      description: Start Reading of the Odometer
      type: string
    end_reading:
      description: End Reading of the Odometer
      type: string
    is_billable:
      description: A boolean value to specify if the expense is billable.
      type: boolean
    imported_transaction_id:
      description: ID of the Imported Transaction
      type: integer
      format: int64
      example: '460000000013297'
    imported_transactions:
      type: array
      items:
        type: object
        properties:
          imported_transaction_id:
            $ref: '#/components/schemas/imported_transaction_id'
          date:
            description: Date of the transaction Imported
            type: string
            example: '2013-01-22'
          amount:
            description: Amount in the transaction
            type: number
            format: double
            example: 10
          payee:
            $ref: '#/components/schemas/payee'
          description:
            description: Description of the transaction
            type: string
            example: Cheque Deposit
          reference_number:
            description: Reference Number of the transaction
            type: string
            example: Ref-1900
          status:
            description: Status of the transaction
            type: string
            example: categorized
          account_id:
            description: Account ID of the transaction
            type: integer
            format: int64
            example: 460000000006294
    to_account_id:
      description: 'ID of the account to which the money gets transferred(Mandatory for specific type of transactions). Ex: From a bank account, to-account can be: bank, card, drawings, expense,credit notes. From a card account, to-account can be: card, bank, expense.'
      type: string
      example: '460000000048001'
    to_account_name:
      type: string
      example: Corporate Account
    exchange_rate:
      description: The foreign currency exchange rate value.
      type: integer
      example: 1
    bank_charges:
      description: Bank Charges applied to the transaction
      type: number
      format: double
      example: 0
    tax_id:
      description: ID of the tax or tax group applied
      type: string
      x-node_available_in: []
      x-node_unavailable_in:
        - us
    documents:
      description: List of files to be attached to a particular transaction.
      type: array
      items:
        type: object
        properties:
          file_name:
            $ref: '#/components/schemas/file_name'
          document_id:
            $ref: '#/components/schemas/document_id'
    document_id:
      description: Unique ID of the attached file.
    file_name:
      description: Name of the attached file.
    is_inclusive_tax:
      description: Check if transaction is tax Inclusive
      type: boolean
      example: false
    tax_name:
      description: Name of the Tax
      type: string
    tax_percentage:
      description: Percentage of the Tax
      type: number
      format: double
      example: 0
    tax_amount:
      description: Amount of Tax
      type: number
      format: double
      example: 0
    index:
      description: Index of the custom field
      type: integer
    label:
      description: Label of the Custom Field
      type: string
    value:
      description: Value of the Custom Field
      type: string
    custom_field_id:
      type: integer
      format: int64
    custom_fields:
      type: array
      items:
        type: object
        properties:
          custom_field_id:
            $ref: '#/components/schemas/custom_field_id'
          index:
            $ref: '#/components/schemas/index'
          label:
            $ref: '#/components/schemas/label'
          value:
            $ref: '#/components/schemas/value'
    vendor_credit_refund_id:
      type: string
      example: '460000000078265'
    tag_id:
      description: ID of the Tag
      type: integer
      format: int64
    tag_option_id:
      description: Id of the Tag Option
      type: integer
      format: int64
    tags:
      type: array
      items:
        type: object
        properties:
          tag_id:
            $ref: '#/components/schemas/tag_id'
          tag_option_id:
            $ref: '#/components/schemas/tag_option_id'
    from_account_tags:
      type: array
      items:
        type: object
        properties:
          tag_id:
            $ref: '#/components/schemas/tag_id'
          tag_option_id:
            $ref: '#/components/schemas/tag_option_id'
    to_account_tags:
      type: array
      items:
        type: object
        properties:
          tag_id:
            $ref: '#/components/schemas/tag_id'
          tag_option_id:
            $ref: '#/components/schemas/tag_option_id'
    contact:
      description: Contact person name, involved in the transaction.
      type: string
    acquisition_vat_id:
      description: (Optional) This is the ID of the tax applied in case this is an EU - goods purchase or expense and acquisition VAT needs to be reported.
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_id:
      description: (Optional) This is the ID of the tax applied in case this is a non UK - service purchase or expense and reverse charge VAT needs to be reported.
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    product_type:
      description: 'Type of the transaction. This denotes whether the transaction line item is to be treated as goods or as a service. Allowed Values: <br/> <b>For UK and Europe: </b><code>digital_service</code>, <code>goods</code> and <code>service</code>.<br/><b>For SouthAfrica Edition:</b> <code>service</code>, <code>goods</code>, <code>capital_service</code> and <code>capital_goods</code>'
      type: string
      x-node_available_in:
        - uk
        - eu
        - za
      x-node_unavailable_in: []
    vat_treatment:
      description: VAT treatment for the bank transaction. VAT treatment denotes the location of the customer or vendor. If the customer or vendor resides in the UK then the VAT treatment is <code>uk</code>. If the customer or vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing/selling Goods then his VAT treatment is <code>eu_vat_registered</code>. And, if he resides outside the UK then his VAT treatment is <code>overseas</code>.
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    tax_treatment:
      description: 'VAT treatment for the bank transaction.Choose whether the contact falls under: <code>vat_registered</code>,<code>vat_not_registered</code>,<code>gcc_vat_not_registered</code>,<code>gcc_vat_registered</code>,<code>non_gcc</code>.</br><code>dz_vat_registered</code> and <code>dz_vat_not_registered</code> are supported only for <b>UAE</b>.<br/><b>For Kenya Edition:</b> <code>vat_registered</code> ,<code>vat_not_registered</code> ,<code>non_kenya</code>(A business that is located outside Kenya).<br/><b>For SouthAfrica Edition:</b> <code>vat_registered</code>, <code>vat_not_registered</code>, <code>overseas</code>(A business that is located outside SouthAfrica).'
      type: string
      example: vat_registered
      x-node_available_in:
        - gcc
        - ke
        - za
      x-node_unavailable_in: []
    is_update_customer:
      description: Check if Customer should be updated
      type: boolean
      example: false
    transaction_number:
      description: Number of the transaction
      type: string
      example: INV-000007
    contact_name:
      description: Name of the Contact
      type: string
      example: Bowman and co
    is_best_match:
      description: Check if the transaction is the best match
      type: boolean
      example: true
    receipt:
      description: 'Param Description. Allowed Extensions: <code>gif</code>, <code>png</code>, <code>jpeg</code>, <code>jpg</code>, <code>bmp</code> and <code>pdf</code>.'
      type: string
      format: binary
    bill_payment_id:
      description: ID of the Bill Payment
      type: string
    bill_id:
      description: ID of the Bill
      type: string
      example: '460000000053199'
    amount_applied:
      description: Amount applied to the Entity
      type: number
      format: double
      example: 150
    matching_documents:
      type: array
      items:
        type: object
        properties:
          document_id:
            $ref: '#/components/schemas/document_id'
          file_name:
            $ref: '#/components/schemas/file_name'
          file_type:
            $ref: '#/components/schemas/file_type'
          file_size:
            $ref: '#/components/schemas/file_size'
          file_size_formatted:
            $ref: '#/components/schemas/file_size_formatted'
          scanned_amount:
            $ref: '#/components/schemas/scanned_amount'
          vendor_name:
            $ref: '#/components/schemas/vendor_name'
          scanned_receipt_date:
            $ref: '#/components/schemas/scanned_receipt_date'
          entity_number:
            $ref: '#/components/schemas/entity_number'
          relevance:
            $ref: '#/components/schemas/relevance'
    file_type:
      description: Type of the attached file.
      type: string
      example: pdf
    file_size:
      type: string
      example: '5447'
    file_size_formatted:
      type: string
      example: 5.3 KB
    entity_number:
      type: integer
    relevance:
      description: Says how relevant is the document to the transaction.
      type: string
      example: best
    scanned_amount:
      description: Amount scanned from the file.
      type: string
    scanned_receipt_date:
      description: Receipt date that is file from the document.
      type: string
    payment_id:
      description: ID of the Payment
      type: string
      example: '460000000076027'
    payment_number:
      description: Number of the Payment
      type: integer
      example: 8
    tax_account_name:
      description: Name of the Tax Account
      type: string
    tax_amount_withheld:
      type: number
      format: double
      example: 0
    balance:
      description: Balance in the Bank Account
      type: number
      format: double
      example: 0
    created_time:
      description: Created Time of the Transaction
      type: string
      example: 2013-01-24T12:03:25+0530
    last_modified_time:
      description: Last Modified time of the Transaction
      type: string
      example: 2013-01-24T12:03:25+0530
    paid_through_account_name:
      description: Name of the Paid through Account
      type: string
    paid_through_account_type:
      description: Type of the Paid through Account
      type: string
      example: bank
    is_ach_payment:
      description: Check if transaction is ACH Payment
      type: boolean
      example: false
    ach_payment_status:
      description: Status of the ACH Payment
      type: string
    vendorpayment_id:
      description: Vendor Payment to which you want to record the refund.
      type: string
      example: '460000000012345'
    vendorpayment_refunds:
      type: string
    address:
      description: Address Involved in the Transaction
      type: string
    city:
      description: City present in the Address
      type: string
    state:
      description: State involved in the Address
      type: string
    zip:
      description: ZIP Code of the Address
      type: string
    country:
      description: Country of the Address
      type: string
    fax:
      description: Fax Number of the Contact
      type: string
    attention:
      type: string
    check_id:
      description: ID of the Check created
      type: string
    check_number:
      description: Number of the Check Created
      type: string
    memo:
      type: string
    amount_in_words:
      description: Amount in Words
      type: string
    check_status:
      description: Status of the Check
      type: string
    check_details:
      type: array
      items:
        type: object
        properties:
          memo:
            $ref: '#/components/schemas/memo'
          check_number:
            $ref: '#/components/schemas/check_number'
    payment_refund_id:
      description: ID of the Payment Refund
      type: string
      example: '460000000078307'
    creditnote_id:
      description: ID of the credit note that has to be refunded.
      type: string
      example: '4000000030049'
    refund_mode:
      description: Mode of refund. Ex - Cash, Cheque etc.,
      type: string
      example: Cash
    invoice_id:
      description: ID of the Invoice
      type: integer
      format: int64
      example: '460000000000481'
    invoice_payment_id:
      description: ID of the Invoice Payment
      type: integer
      format: int64
      example: '460000000134123'
    discount_amount:
      description: Amount of discount in the Invoice
      type: number
      format: double
      example: 20
    invoices:
      type: array
      items:
        type: object
        properties:
          invoice_payment_id:
            $ref: '#/components/schemas/invoice_payment_id'
          invoice_id:
            $ref: '#/components/schemas/invoice_id'
          amount_applied:
            $ref: '#/components/schemas/amount_applied'
          tax_amount_withheld:
            $ref: '#/components/schemas/tax_amount_withheld'
          discount_amount:
            $ref: '#/components/schemas/discount_amount'
    tax_exemption_id:
      description: ID of the Tax Exemption
      type: string
      x-node_available_in:
        - in
        - us
        - au
        - ca
      x-node_unavailable_in: []
    tax_authority_name:
      description: Name of the Tax Authority
      type: string
      x-node_available_in:
        - us
        - au
        - ca
      x-node_unavailable_in: []
    tax_authority_id:
      description: ID of the Tax Authority
      type: string
      x-node_available_in:
        - us
        - au
        - ca
      x-node_unavailable_in: []
    tax_exemption_code:
      description: Code of the Tax Exemption
      type: string
      x-node_available_in:
        - in
        - us
        - au
        - ca
      x-node_unavailable_in: []
    acquisition_vat_name:
      description: Name of the VAT Acquistion
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    acquisition_vat_percentage:
      description: Percentage of the VAT Acquistion
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    acquisition_vat_amount:
      description: Amount of the VAT Acquistion
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_name:
      description: Name of the Reverse Charge
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_percentage:
      description: Percentage of the Reverse Charge
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_amount:
      description: Percentage of the Reverse Charge
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_tax_id:
      description: Enter reverse charge tax ID
      type: string
      example: 982000000567254
      x-node_available_in:
        - in
        - gcc
        - za
    filed_in_vat_return_id:
      description: ID of the VAT Return the Vendor Credit is filed in
      type: string
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    filed_in_vat_return_name:
      description: Name of the VAT Return the Vendor Credit is filed in
      type: string
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    filed_in_vat_return_type:
      description: Type of the VAT Return the Vendor Credit is filed in
      type: string
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    transactions_to_be_matched:
      type: array
      items:
        type: object
        properties:
          transaction_id:
            $ref: '#/components/schemas/transaction_id'
          transaction_type:
            $ref: '#/components/schemas/transaction_type'
    line_items:
      type: array
      items:
        type: object
        properties:
          from_account_id:
            $ref: '#/components/schemas/from_account_id'
          from_account_name:
            $ref: '#/components/schemas/from_account_name'
          payment_mode:
            $ref: '#/components/schemas/payment_mode'
          customer_id:
            $ref: '#/components/schemas/customer_id'
          customer_name:
            $ref: '#/components/schemas/customer_name'
          vendor_id:
            $ref: '#/components/schemas/vendor_id'
          vendor_name:
            $ref: '#/components/schemas/vendor_name'
          sub_total:
            $ref: '#/components/schemas/sub_total'
          total:
            $ref: '#/components/schemas/total'
          bcy_total:
            $ref: '#/components/schemas/bcy_total'
          tags:
            $ref: '#/components/schemas/tags'
    banktransaction:
      type: object
      properties:
        transaction_id:
          $ref: '#/components/schemas/transaction_id'
        from_account_id:
          $ref: '#/components/schemas/from_account_id'
        from_account_name:
          $ref: '#/components/schemas/from_account_name'
        to_account_id:
          $ref: '#/components/schemas/to_account_id'
        to_account_name:
          $ref: '#/components/schemas/to_account_name'
        transaction_type:
          $ref: '#/components/schemas/transaction_type'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        currency_code:
          $ref: '#/components/schemas/currency_code'
        payment_mode:
          $ref: '#/components/schemas/payment_mode'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        date:
          $ref: '#/components/schemas/date'
        customer_id:
          $ref: '#/components/schemas/customer_id'
        customer_name:
          $ref: '#/components/schemas/customer_name'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        vendor_name:
          $ref: '#/components/schemas/vendor_name'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        description:
          $ref: '#/components/schemas/description'
        bank_charges:
          $ref: '#/components/schemas/bank_charges'
        tax_id:
          $ref: '#/components/schemas/tax_id'
        documents:
          $ref: '#/components/schemas/documents'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        tax_name:
          $ref: '#/components/schemas/tax_name'
        tax_percentage:
          $ref: '#/components/schemas/tax_percentage'
        tax_amount:
          $ref: '#/components/schemas/tax_amount'
        sub_total:
          $ref: '#/components/schemas/sub_total'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        tax_authority_name:
          $ref: '#/components/schemas/tax_authority_name'
        tax_exemption_id:
          $ref: '#/components/schemas/tax_exemption_id'
        tax_exemption_code:
          $ref: '#/components/schemas/tax_exemption_code'
        total:
          $ref: '#/components/schemas/total'
        bcy_total:
          $ref: '#/components/schemas/bcy_total'
        amount:
          $ref: '#/components/schemas/amount'
        vat_treatment:
          $ref: '#/components/schemas/vat_treatment'
        tax_treatment:
          $ref: '#/components/schemas/tax_treatment'
        product_type:
          $ref: '#/components/schemas/product_type'
        acquisition_vat_id:
          $ref: '#/components/schemas/acquisition_vat_id'
        acquisition_vat_name:
          $ref: '#/components/schemas/acquisition_vat_name'
        acquisition_vat_percentage:
          $ref: '#/components/schemas/acquisition_vat_percentage'
        acquisition_vat_amount:
          $ref: '#/components/schemas/acquisition_vat_amount'
        reverse_charge_vat_id:
          $ref: '#/components/schemas/reverse_charge_vat_id'
        reverse_charge_vat_name:
          $ref: '#/components/schemas/reverse_charge_vat_name'
        reverse_charge_vat_percentage:
          $ref: '#/components/schemas/reverse_charge_vat_percentage'
        reverse_charge_vat_amount:
          $ref: '#/components/schemas/reverse_charge_vat_amount'
        reverse_charge_tax_id:
          $ref: '#/components/schemas/reverse_charge_tax_id'
        filed_in_vat_return_id:
          $ref: '#/components/schemas/filed_in_vat_return_id'
        filed_in_vat_return_name:
          $ref: '#/components/schemas/filed_in_vat_return_name'
        filed_in_vat_return_type:
          $ref: '#/components/schemas/filed_in_vat_return_type'
        imported_transactions:
          $ref: '#/components/schemas/imported_transactions'
        tags:
          $ref: '#/components/schemas/tags'
        line_items:
          $ref: '#/components/schemas/line_items'
    bills:
      type: array
      items:
        type: object
        properties:
          bill_payment_id:
            $ref: '#/components/schemas/bill_payment_id'
          bill_id:
            $ref: '#/components/schemas/bill_id'
          amount_applied:
            $ref: '#/components/schemas/amount_applied'
          tax_amount_withheld:
            $ref: '#/components/schemas/tax_amount_withheld'
    transaction_status:
      description: Transaction status wise list view - All, uncategorized, manually_added, matched, excluded, categorized
      type: string
    search_text:
      description: Search Transactions by contact name or description
      type: string
    user_id:
      description: ID of the User involved in the Transaction
      type: integer
      format: int64
    date_after:
      description: Date after which Transactions are to be filtered
      type: string
    date_before:
      description: Date before which Transactions are to be filtered
      type: string
    amount_start:
      description: Starting amout with which transactions are to be filtered
      type: number
      format: double
    amount_end:
      description: Starting amout with which transactions are to be filtered
      type: number
      format: double
    show_all_transactions:
      description: Check if all transactions must be shown
      type: boolean
    line_id:
      description: ID of the Line in Bank Transactions
      type: integer
      format: int64
      example: '46000000001234'
    tax_type:
      type: string
      example: tax
    item_total:
      description: Total of the Item
      type: number
      format: double
      example: 7500
    item_total_inclusive_of_tax:
      description: Total of the Item inclusive of Tax
      type: number
      format: double
      example: 7500
    item_order:
      description: Order of the Item
      type: integer
      example: 1
    totalFiles:
      description: Total number of files.
      type: integer
      example: 0
    doc:
      description: Document that is to be attached
      type: string
    document_ids:
      type: integer
      format: int64
    vehicle_id:
      description: ID of the Vehicle
      type: string
    mileage_rate:
      description: Mileage Rate to be Applied
      type: number
      format: double
      example: 0
    mileage_unit:
      description: Unit of Mileage
      type: string
      example: km
    vehicle_type:
      description: 'Type of Vehicle. Allowed values: <code>car</code>, <code>van</code>,<code>motorcycle</code> and <code>bike</code>'
      type: string
      example: car
    zp_project_id:
      description: ID of the Project
      type: integer
      format: int64
    zp_project_name:
      description: Name of the Project
      type: string
    zp_client_id:
      description: ID of client
      type: integer
      format: int64
    can_reclaim_vat_on_mileage:
      description: Check if VAT can be reclaimed on mileage
      type: boolean
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    fuel_type:
      description: 'Type of Fuel Used. Allowed Values : <code>petrol</code>, <code>lpg</code>, <code>diesel</code>'
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    engine_capacity_range:
      description: 'Type of Fuel Used. Allowed Values : <code>less_than_1400cc</code>, <code>between_1401cc_and_1600cc</code>, <code>between_1601cc_and_2000cc</code> and <code>more_than_2000cc</code>'
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    employee_id:
      description: ID of the Employee
      type: integer
      format: int64
    mileage_type:
      description: 'Type of Mileage. Allowed Values : <code>gmaps</code>,<code>imaps</code>,<code>gps</code>,<code>odometer</code>,<code>wmaps</code>,<code>manual</code>,<code>non_mileage</code> and <code>per_diem</code>'
      type: string
      example: non_mileage
    expense_type:
      description: Type of Expense
      type: string
      example: non_mileage
    distance:
      description: Distance Covered
      type: number
      format: double
      example: 4
    recurring_expense_id:
      description: ID of the Recurring Expense
      type: integer
      format: int64
    taxes:
      type: array
      items:
        type: object
        properties:
          tax_name:
            $ref: '#/components/schemas/tax_name'
          tax_amount:
            $ref: '#/components/schemas/tax_amount'
          tax_id:
            $ref: '#/components/schemas/tax_id'
    reason:
      description: Reason
      type: string
    zcrm_potential_id:
      type: integer
      format: int64
    line_item_id:
      description: ID of the Line Item
      type: integer
      format: int64
      example: '460000000012834'
    retainerinvoice_id:
      description: ID of the Retainer Invoice
      type: integer
      format: int64
    template_id:
      description: ID of the template
      type: integer
      format: int64
    contact_person_id:
      description: ID of the Contact Person
      type: integer
      format: int64
    contact_persons:
      description: Array of contact person(s) for whom invoice has to be sent.
      type: array
      items:
        type: string
      example:
        - '460000000870911'
        - '460000000870915'
    create-a-transaction-for-an-account-request:
      required:
        - transaction_type
      type: object
      properties:
        from_account_id:
          $ref: '#/components/schemas/from_account_id'
        to_account_id:
          $ref: '#/components/schemas/to_account_id'
        transaction_type:
          $ref: '#/components/schemas/transaction_type'
        amount:
          $ref: '#/components/schemas/amount'
        payment_mode:
          $ref: '#/components/schemas/payment_mode'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        date:
          $ref: '#/components/schemas/date'
        customer_id:
          $ref: '#/components/schemas/customer_id'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        description:
          $ref: '#/components/schemas/description'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        tax_id:
          $ref: '#/components/schemas/tax_id'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        tags:
          $ref: '#/components/schemas/tags'
        from_account_tags:
          $ref: '#/components/schemas/from_account_tags'
        to_account_tags:
          $ref: '#/components/schemas/to_account_tags'
        documents:
          $ref: '#/components/schemas/documents'
        bank_charges:
          $ref: '#/components/schemas/bank_charges'
        user_id:
          $ref: '#/components/schemas/user_id'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        tax_exemption_id:
          $ref: '#/components/schemas/tax_exemption_id'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
    create-a-transaction-for-an-account-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The bank transaction has been recorded.
          readOnly: true
        banktransaction:
          $ref: '#/components/schemas/banktransaction'
    get-transactions-list-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        banktransactions:
          type: array
          items:
            type: object
            properties:
              transaction_id:
                $ref: '#/components/schemas/transaction_id'
              date:
                $ref: '#/components/schemas/date'
              amount:
                $ref: '#/components/schemas/amount'
              transaction_type:
                $ref: '#/components/schemas/transaction_type'
              status:
                $ref: '#/components/schemas/status'
              source:
                $ref: '#/components/schemas/source'
              account_id:
                $ref: '#/components/schemas/account_id'
              account_name:
                $ref: '#/components/schemas/account_name'
              account_type:
                $ref: '#/components/schemas/account_type'
              price_precision:
                $ref: '#/components/schemas/price_precision'
              customer_id:
                $ref: '#/components/schemas/customer_id'
              payee:
                $ref: '#/components/schemas/payee'
              is_paid_via_print_check:
                $ref: '#/components/schemas/is_paid_via_print_check'
              description:
                $ref: '#/components/schemas/description'
              currency_id:
                $ref: '#/components/schemas/currency_id'
              currency_code:
                $ref: '#/components/schemas/currency_code'
              currency_symbol:
                $ref: '#/components/schemas/currency_symbol'
              debit_or_credit:
                $ref: '#/components/schemas/debit_or_credit'
              offset_account_name:
                $ref: '#/components/schemas/offset_account_name'
              is_offsetaccount_matched:
                $ref: '#/components/schemas/is_offsetaccount_matched'
              reference_number:
                $ref: '#/components/schemas/reference_number'
              imported_transaction_id:
                $ref: '#/components/schemas/imported_transaction_id'
              is_rule_exist:
                $ref: '#/components/schemas/is_rule_exist'
              rule_details:
                $ref: '#/components/schemas/rule_details'
    update-a-transaction-request:
      required:
        - transaction_type
      type: object
      properties:
        from_account_id:
          $ref: '#/components/schemas/from_account_id'
        to_account_id:
          $ref: '#/components/schemas/to_account_id'
        transaction_type:
          $ref: '#/components/schemas/transaction_type'
        amount:
          $ref: '#/components/schemas/amount'
        payment_mode:
          $ref: '#/components/schemas/payment_mode'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        date:
          $ref: '#/components/schemas/date'
        customer_id:
          $ref: '#/components/schemas/customer_id'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        description:
          $ref: '#/components/schemas/description'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        tax_id:
          $ref: '#/components/schemas/tax_id'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        tags:
          $ref: '#/components/schemas/tags'
        from_account_tags:
          $ref: '#/components/schemas/from_account_tags'
        to_account_tags:
          $ref: '#/components/schemas/to_account_tags'
        documents:
          $ref: '#/components/schemas/documents'
        bank_charges:
          $ref: '#/components/schemas/bank_charges'
        user_id:
          $ref: '#/components/schemas/user_id'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        tax_exemption_id:
          $ref: '#/components/schemas/tax_exemption_id'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        line_items:
          type: array
          items:
            type: object
            properties:
              line_id:
                $ref: '#/components/schemas/line_id'
              account_id:
                $ref: '#/components/schemas/account_id'
              account_name:
                $ref: '#/components/schemas/account_name'
              description:
                $ref: '#/components/schemas/description'
              tax_amount:
                $ref: '#/components/schemas/tax_amount'
              tax_id:
                $ref: '#/components/schemas/tax_id'
              tax_name:
                $ref: '#/components/schemas/tax_name'
              tax_type:
                $ref: '#/components/schemas/tax_type'
              tax_percentage:
                $ref: '#/components/schemas/tax_percentage'
              item_total:
                $ref: '#/components/schemas/item_total'
              item_total_inclusive_of_tax:
                $ref: '#/components/schemas/item_total_inclusive_of_tax'
              item_order:
                $ref: '#/components/schemas/item_order'
              tags:
                $ref: '#/components/schemas/tags'
    update-a-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The bank transaction has been updated.
          readOnly: true
        banktransaction:
          $ref: '#/components/schemas/banktransaction'
    get-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        banktransaction:
          $ref: '#/components/schemas/banktransaction'
    delete-a-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction has been deleted.
          readOnly: true
    get-matching-transactions-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        matching_transactions:
          type: array
          items:
            type: object
            properties:
              transaction_id:
                $ref: '#/components/schemas/transaction_id'
              date:
                $ref: '#/components/schemas/date'
              transaction_type:
                $ref: '#/components/schemas/transaction_type'
              reference_number:
                $ref: '#/components/schemas/reference_number'
              amount:
                $ref: '#/components/schemas/amount'
              debit_or_credit:
                $ref: '#/components/schemas/debit_or_credit'
              transaction_number:
                $ref: '#/components/schemas/transaction_number'
              is_paid_via_print_check:
                $ref: '#/components/schemas/is_paid_via_print_check'
              contact_name:
                $ref: '#/components/schemas/contact_name'
              is_best_match:
                $ref: '#/components/schemas/is_best_match'
    match-a-transaction-request:
      type: object
      properties:
        transactions_to_be_matched:
          $ref: '#/components/schemas/transactions_to_be_matched'
    match-a-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction has been matched.
          readOnly: true
    unmatch-a-matched-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction has been unmatched.
          readOnly: true
    exclude-a-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction has been excluded.
          readOnly: true
    restore-a-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The excluded transaction(s) have been restored.
          readOnly: true
    categorize-an-uncategorized-transaction-request:
      required:
        - transaction_type
      type: object
      properties:
        from_account_id:
          $ref: '#/components/schemas/from_account_id'
        to_account_id:
          $ref: '#/components/schemas/to_account_id'
        transaction_type:
          $ref: '#/components/schemas/transaction_type'
        amount:
          $ref: '#/components/schemas/amount'
        date:
          $ref: '#/components/schemas/date'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        payment_mode:
          $ref: '#/components/schemas/payment_mode'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        description:
          $ref: '#/components/schemas/description'
        customer_id:
          $ref: '#/components/schemas/customer_id'
        tags:
          $ref: '#/components/schemas/tags'
        documents:
          $ref: '#/components/schemas/documents'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        tax_id:
          $ref: '#/components/schemas/tax_id'
        to_account_tags:
          $ref: '#/components/schemas/to_account_tags'
        from_account_tags:
          $ref: '#/components/schemas/from_account_tags'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        bank_charges:
          $ref: '#/components/schemas/bank_charges'
        user_id:
          $ref: '#/components/schemas/user_id'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        tax_exemption_id:
          $ref: '#/components/schemas/tax_exemption_id'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        line_items:
          type: array
          items:
            type: object
            properties:
              line_id:
                $ref: '#/components/schemas/line_id'
              account_id:
                $ref: '#/components/schemas/account_id'
              account_name:
                $ref: '#/components/schemas/account_name'
              description:
                $ref: '#/components/schemas/description'
              tax_amount:
                $ref: '#/components/schemas/tax_amount'
              tax_id:
                $ref: '#/components/schemas/tax_id'
              tax_name:
                $ref: '#/components/schemas/tax_name'
              tax_type:
                $ref: '#/components/schemas/tax_type'
              tax_percentage:
                $ref: '#/components/schemas/tax_percentage'
              item_total:
                $ref: '#/components/schemas/item_total'
              item_total_inclusive_of_tax:
                $ref: '#/components/schemas/item_total_inclusive_of_tax'
              item_order:
                $ref: '#/components/schemas/item_order'
              tags:
                $ref: '#/components/schemas/tags'
    categorize-an-uncategorized-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    categorize-as-expense-request:
      type: object
      properties:
        account_id:
          $ref: '#/components/schemas/account_id'
        paid_through_account_id:
          $ref: '#/components/schemas/paid_through_account_id'
        date:
          $ref: '#/components/schemas/date'
        tax_id:
          $ref: '#/components/schemas/tax_id'
        amount:
          $ref: '#/components/schemas/amount'
        project_id:
          $ref: '#/components/schemas/project_id'
        tax_exemption_code:
          $ref: '#/components/schemas/tax_exemption_code'
        tax_exemption_id:
          $ref: '#/components/schemas/tax_exemption_id'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        is_billable:
          $ref: '#/components/schemas/is_billable'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        description:
          $ref: '#/components/schemas/description'
        customer_id:
          $ref: '#/components/schemas/customer_id'
        zp_project_id:
          $ref: '#/components/schemas/zp_project_id'
        zp_project_name:
          $ref: '#/components/schemas/zp_project_name'
        zp_client_id:
          $ref: '#/components/schemas/zp_client_id'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        vehicle_id:
          $ref: '#/components/schemas/vehicle_id'
        mileage_unit:
          $ref: '#/components/schemas/mileage_unit'
        mileage_rate:
          $ref: '#/components/schemas/mileage_rate'
        can_reclaim_vat_on_mileage:
          $ref: '#/components/schemas/can_reclaim_vat_on_mileage'
        fuel_type:
          $ref: '#/components/schemas/fuel_type'
        engine_capacity_range:
          $ref: '#/components/schemas/engine_capacity_range'
        employee_id:
          $ref: '#/components/schemas/employee_id'
        mileage_type:
          $ref: '#/components/schemas/mileage_type'
        expense_type:
          $ref: '#/components/schemas/expense_type'
        distance:
          $ref: '#/components/schemas/distance'
        start_reading:
          $ref: '#/components/schemas/start_reading'
        end_reading:
          $ref: '#/components/schemas/end_reading'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        custom_fields:
          type: array
          items:
            type: object
            properties:
              index:
                $ref: '#/components/schemas/index'
              value:
                $ref: '#/components/schemas/value'
        tags:
          $ref: '#/components/schemas/tags'
        documents:
          $ref: '#/components/schemas/documents'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        recurring_expense_id:
          $ref: '#/components/schemas/recurring_expense_id'
        vat_treatment:
          $ref: '#/components/schemas/vat_treatment'
        tax_treatment:
          $ref: '#/components/schemas/tax_treatment'
        acquisition_vat_id:
          $ref: '#/components/schemas/acquisition_vat_id'
        reverse_charge_vat_id:
          $ref: '#/components/schemas/reverse_charge_vat_id'
        is_update_customer:
          $ref: '#/components/schemas/is_update_customer'
        product_type:
          $ref: '#/components/schemas/product_type'
        taxes:
          $ref: '#/components/schemas/taxes'
        reason:
          $ref: '#/components/schemas/reason'
        line_items:
          type: array
          items:
            type: object
            properties:
              line_item_id:
                $ref: '#/components/schemas/line_item_id'
              account_id:
                $ref: '#/components/schemas/account_id'
              description:
                $ref: '#/components/schemas/description'
              amount:
                $ref: '#/components/schemas/amount'
              tax_id:
                $ref: '#/components/schemas/tax_id'
              item_order:
                $ref: '#/components/schemas/item_order'
              product_type:
                $ref: '#/components/schemas/product_type'
              acquisition_vat_id:
                $ref: '#/components/schemas/acquisition_vat_id'
              reverse_charge_vat_id:
                $ref: '#/components/schemas/reverse_charge_vat_id'
              tax_exemption_code:
                $ref: '#/components/schemas/tax_exemption_code'
              tax_exemption_id:
                $ref: '#/components/schemas/tax_exemption_id'
              tags:
                $ref: '#/components/schemas/tags'
        zcrm_potential_id:
          $ref: '#/components/schemas/zcrm_potential_id'
    categorize-as-expense-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    uncategorize-a-categorized-transaction-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: Transaction(s) have been uncategorized.
          readOnly: true
    categorize-a-vendor-payment-request:
      type: object
      properties:
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        bills:
          $ref: '#/components/schemas/bills'
        payment_mode:
          $ref: '#/components/schemas/payment_mode'
        description:
          $ref: '#/components/schemas/description'
        date:
          $ref: '#/components/schemas/date'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        paid_through_account_id:
          $ref: '#/components/schemas/paid_through_account_id'
        amount:
          $ref: '#/components/schemas/amount'
        custom_fields:
          type: array
          items:
            type: object
            properties:
              index:
                $ref: '#/components/schemas/index'
              value:
                $ref: '#/components/schemas/value'
        is_paid_via_print_check:
          $ref: '#/components/schemas/is_paid_via_print_check'
        check_details:
          $ref: '#/components/schemas/check_details'
    categorize-a-vendor-payment-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    categorize-as-customer-payment-request:
      type: object
      properties:
        customer_id:
          $ref: '#/components/schemas/customer_id'
        retainerinvoice_id:
          $ref: '#/components/schemas/retainerinvoice_id'
        invoices:
          $ref: '#/components/schemas/invoices'
        payment_mode:
          $ref: '#/components/schemas/payment_mode'
        description:
          $ref: '#/components/schemas/description'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        amount:
          $ref: '#/components/schemas/amount'
        bank_charges:
          $ref: '#/components/schemas/bank_charges'
        account_id:
          $ref: '#/components/schemas/account_id'
        custom_fields:
          type: array
          items:
            type: object
            properties:
              index:
                $ref: '#/components/schemas/index'
              value:
                $ref: '#/components/schemas/value'
        documents:
          $ref: '#/components/schemas/documents'
        date:
          $ref: '#/components/schemas/date'
        template_id:
          $ref: '#/components/schemas/template_id'
        contact_persons:
          $ref: '#/components/schemas/contact_persons'
    categorize-as-customer-payment-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    categorize-as-credit-note-refunds-request:
      required:
        - creditnote_id
        - date
      type: object
      properties:
        creditnote_id:
          $ref: '#/components/schemas/creditnote_id'
        date:
          $ref: '#/components/schemas/date'
        refund_mode:
          $ref: '#/components/schemas/refund_mode'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        amount:
          $ref: '#/components/schemas/amount'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        from_account_id:
          $ref: '#/components/schemas/from_account_id'
        description:
          $ref: '#/components/schemas/description'
    categorize-as-credit-note-refunds-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    categorize-as-vendor-credit-refunds-request:
      required:
        - vendor_credit_id
        - date
      type: object
      properties:
        vendor_credit_id:
          $ref: '#/components/schemas/vendor_credit_id'
        date:
          $ref: '#/components/schemas/date'
        refund_mode:
          $ref: '#/components/schemas/refund_mode'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        amount:
          $ref: '#/components/schemas/amount'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        account_id:
          $ref: '#/components/schemas/account_id'
        description:
          $ref: '#/components/schemas/description'
    categorize-as-vendor-credit-refunds-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    categorize-as-customer-payment-refund-request:
      required:
        - date
        - amount
        - from_account_id
      type: object
      properties:
        date:
          $ref: '#/components/schemas/date'
        refund_mode:
          $ref: '#/components/schemas/refund_mode'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        amount:
          $ref: '#/components/schemas/amount'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        from_account_id:
          $ref: '#/components/schemas/from_account_id'
        description:
          $ref: '#/components/schemas/description'
    categorize-as-customer-payment-refund-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
    categorize-as-vendor-payment-refund-request:
      required:
        - date
        - amount
        - to_account_id
      type: object
      properties:
        vendorpayment_id:
          $ref: '#/components/schemas/vendorpayment_id'
        date:
          $ref: '#/components/schemas/date'
        refund_mode:
          $ref: '#/components/schemas/refund_mode'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        amount:
          $ref: '#/components/schemas/amount'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        to_account_id:
          $ref: '#/components/schemas/to_account_id'
        description:
          $ref: '#/components/schemas/description'
    categorize-as-vendor-payment-refund-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The transaction(s) have been categorized.
          readOnly: true
  securitySchemes:
    Zoho_Auth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
          scopes:
            ZohoBooks.banking.CREATE: Create Banking
            ZohoBooks.banking.UPDATE: Update Banking
            ZohoBooks.banking.READ: Read Banking
            ZohoBooks.banking.DELETE: Delete Banking
