openapi: 3.0.0
paths:
  /erp-chart-of-accounts:
    get:
      summary: List ERP chart of accounts
      operationId: ErpChartOfAccountController_findAll
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: page
          required: false
          in: query
          schema:
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          schema:
            example: 10
            type: number
        - name: status
          required: false
          in: query
          schema:
            example: draft
            type: string
        - name: updatedAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: updatedAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: createdAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: createdAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: accountCurrency
          required: false
          in: query
          schema:
            example: AED
            type: string
        - name: accountType
          required: false
          in: query
          schema:
            example: asset
            type: string
        - name: accountNumber
          required: false
          in: query
          schema:
            example: '1001'
            type: string
        - name: isDeleted
          required: false
          in: query
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: remoteName
          required: false
          in: query
          schema:
            example: Fuel
            type: string
        - name: remoteId
          required: false
          in: query
          schema:
            example: '123'
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns paginated ERP Chart of Accounts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FindAllResErpChartOfAccountDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Chart of Accounts
  /erp-chart-of-accounts/{id}:
    get:
      summary: Get ERP chart of account by ID
      operationId: ErpChartOfAccountController_findOne
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            example: AccountName
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns a ERP Chart of Account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindOneResErpChartOfAccountDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Chart of Accounts
  /erp-suppliers:
    get:
      summary: List ERP suppliers
      operationId: ErpSupplierController_findAll
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: page
          required: false
          in: query
          schema:
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          schema:
            example: 10
            type: number
        - name: status
          required: false
          in: query
          schema:
            example: draft
            type: string
        - name: updatedAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: updatedAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: createdAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: createdAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: isDeleted
          required: false
          in: query
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: remoteName
          required: false
          in: query
          schema:
            example: Fuel
            type: string
        - name: remoteId
          required: false
          in: query
          schema:
            example: '123'
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns all ERP Suppliers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FindAllResErpSupplierDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Suppliers
  /erp-suppliers/{id}:
    get:
      summary: Get ERP supplier by ID
      operationId: ErpSupplierController_findOne
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            example: AccountName
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns a ERP Supplier
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindOneResErpSupplierDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Suppliers
  /erp-tax-rates:
    get:
      summary: List ERP tax rates
      operationId: ErpTaxRateController_findAll
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: page
          required: false
          in: query
          schema:
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          schema:
            example: 10
            type: number
        - name: status
          required: false
          in: query
          schema:
            example: draft
            type: string
        - name: updatedAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: updatedAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: createdAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: createdAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: isDeleted
          required: false
          in: query
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: countryCode
          required: false
          in: query
          schema:
            example: US
            type: string
        - name: totalTaxRate
          required: false
          in: query
          schema:
            example: 12.5
            type: number
        - name: taxRateCode
          required: false
          in: query
          schema:
            example: VAT
            type: string
        - name: remoteName
          required: false
          in: query
          schema:
            example: Fuel
            type: string
        - name: remoteId
          required: false
          in: query
          schema:
            example: '123'
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns all ERP Suppliers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FindAllResErpTaxRateDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Tax Rates
  /erp-tax-rates/{id}:
    get:
      summary: Get ERP tax rate by ID
      operationId: ErpTaxRateController_findOne
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            example: AccountName
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns a ERP Supplier
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindOneResErpTaxRateDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Tax Rates
  /erp-bank-accounts:
    get:
      summary: List ERP bank accounts
      operationId: ErpBankAccountController_findAll
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: page
          required: false
          in: query
          schema:
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          schema:
            example: 10
            type: number
        - name: status
          required: false
          in: query
          schema:
            example: draft
            type: string
        - name: updatedAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: updatedAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: createdAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: createdAtTo
          required: false
          in: query
          schema:
            example: '2025-05-31'
            type: string
        - name: isDeleted
          required: false
          in: query
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: reconciliationAccount
          required: false
          in: query
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: accountNumber
          required: false
          in: query
          schema:
            example: '123456789'
            type: string
        - name: accountType
          required: false
          in: query
          schema:
            example: Savings
            type: string
        - name: remoteName
          required: false
          in: query
          schema:
            example: Fuel
            type: string
        - name: remoteId
          required: false
          in: query
          schema:
            example: '123'
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns all ERP Suppliers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FindAllResErpBankAccountDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Bank Accounts
  /erp-bank-accounts/{id}:
    get:
      summary: Get ERP bank account by ID
      operationId: ErpBankAccountController_findOne
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            example: AccountName
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns a ERP Supplier
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindOneResErpBankAccountDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Bank Accounts
  /erp-transactions:
    get:
      summary: List ERP transactions
      operationId: ErpTransactionController_findAll
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: page
          required: false
          in: query
          schema:
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          schema:
            example: 10
            type: number
        - name: transactionCategory
          required: false
          in: query
          schema:
            example: card_loading
            type: string
        - name: erpSyncStatus
          required: false
          in: query
          schema:
            example: pending
            type: string
        - name: approvalStatus
          required: false
          in: query
          schema:
            example: pending
            type: string
        - name: transactionStatus
          required: false
          in: query
          schema:
            example: draft
            type: string
        - name: cardLastFour
          required: false
          in: query
          schema:
            example: '1234'
            type: string
        - name: erpChatOfAccountName
          required: false
          in: query
          schema:
            example: Expenses
            type: string
        - name: erpChatOfAccountRemoteId
          required: false
          in: query
          schema:
            example: abc
            type: string
        - name: erpTaxRateName
          required: false
          in: query
          schema:
            example: VAT 5%
            type: string
        - name: erpTaxRateRemoteId
          required: false
          in: query
          schema:
            example: tax_rate_1
            type: string
        - name: vatAmountFrom
          required: false
          in: query
          schema:
            example: 5
            type: number
        - name: vatAmountTo
          required: false
          in: query
          schema:
            example: 50
            type: number
        - name: transactionAmountFrom
          required: false
          in: query
          schema:
            example: 100
            type: number
        - name: transactionAmountTo
          required: false
          in: query
          schema:
            example: 1000
            type: number
        - name: billingCurrency
          required: false
          in: query
          schema:
            example: USD
            type: string
        - name: transactionCurrency
          required: false
          in: query
          schema:
            example: USD
            type: string
        - name: cardHolderEmail
          required: false
          in: query
          schema:
            example: example@exmaple.com
            type: string
        - name: clearedAtFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: clearedAtTo
          required: false
          in: query
          schema:
            example: '2025-12-31'
            type: string
        - name: transactionTimeFrom
          required: false
          in: query
          schema:
            example: '2024-01-01'
            type: string
        - name: transactionTimeTo
          required: false
          in: query
          schema:
            example: '2024-12-31'
            type: string
        - name: excludeFromSync
          required: false
          in: query
          schema:
            example: false
            type: boolean
        - name: qashioId
          required: false
          in: query
          schema:
            example: CT123asd123
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns all ERP Suppliers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FindAllResErpTransactionDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Transactions
  /erp-transactions/{id}:
    get:
      summary: Get ERP transaction by ID
      operationId: ErpTransactionController_findOne
      parameters:
        - name: companyId
          required: true
          in: header
          description: ID of the ERP company to filter records
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            example: e9ef4087-5bd6-4ead-b472-e5e88aecf2f8
            type: string
        - name: x-api-key
          in: header
          description: Please provide a valid API Key
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns a ERP Supplier
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindOneResErpTransactionDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example:
                  message:
                    - id must be a UUID
                  error: Bad Request
                  statusCode: 400
      tags:
        - Erp Transactions
info:
  title: Qashio ERP APIs
  description: API for managing qashio erp system
  version: '1.0'
  contact: {}
tags:
  - name: Erp Bank Accounts
    description: Operations related to Erp Bank Accounts
  - name: Erp Chart of Accounts
    description: Operations related to Erp Chart of Accounts
  - name: Erp Suppliers
    description: Operations related to Erp Suppliers
  - name: Erp Tax Rates
    description: Operations related to Erp Tax Rates
  - name: Erp Transactions
    description: Operations related to Erp Transactions
servers:
  - url: https://erp.qashio.io
    description: Sandbox
components:
  schemas:
    FindAllResErpChartOfAccountObjectDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        accountCurrency:
          type: string
          example: AED
        accountType:
          type: string
          example: Asset
        description:
          type: string
          example: Primary cash holding account
        accountNumber:
          type: string
          example: '1001'
        status:
          type: string
          example: active
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
      required:
        - id
        - remoteId
        - remoteName
        - accountCurrency
        - accountType
        - description
        - accountNumber
        - status
        - isDeleted
        - createdAt
        - updatedAt
    FindAllResErpChartOfAccountDto:
      type: object
      properties:
        page:
          type: number
          example: 1
        totalPages:
          type: number
          example: 1
        total:
          type: number
          example: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/FindAllResErpChartOfAccountObjectDto'
      required:
        - page
        - totalPages
        - total
        - data
    FindOneResErpChartOfAccountDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        accountCurrency:
          type: string
          example: AED
        accountType:
          type: string
          example: Assest
        description:
          type: string
          example: Primary cash holding account
        accountNumber:
          type: string
          example: '1001'
        status:
          type: string
          example: active
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
        erpCompany:
          type: object
          example:
            id: a01bce14-a29a-4104-a350-1d48ec371729
            name: Company 46
            businessLegalName: Business Legal Name 46
            companyCountry: US
            status: active
            isDeleted: false
            createdAt: '2025-02-10T11:52:53.007Z'
            updatedAt: '2025-02-10T11:52:53.007Z'
      required:
        - id
        - remoteId
        - remoteName
        - accountCurrency
        - accountType
        - description
        - accountNumber
        - status
        - isDeleted
        - createdAt
        - updatedAt
        - erpCompany
    FindAllResErpSupplierObjectDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        status:
          type: string
          example: active
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
      required:
        - id
        - remoteId
        - remoteName
        - status
        - isDeleted
        - createdAt
        - updatedAt
    FindAllResErpSupplierDto:
      type: object
      properties:
        page:
          type: number
          example: 1
        totalPages:
          type: number
          example: 1
        total:
          type: number
          example: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/FindAllResErpSupplierObjectDto'
      required:
        - page
        - totalPages
        - total
        - data
    FindOneResErpSupplierDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        status:
          type: string
          example: active
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
        erpCompany:
          type: object
          example:
            id: a01bce14-a29a-4104-a350-1d48ec371729
            name: Company 46
            businessLegalName: Business Legal Name 46
            companyCountry: US
            status: active
            isDeleted: false
            createdAt: '2025-02-10T11:52:53.007Z'
            updatedAt: '2025-02-10T11:52:53.007Z'
      required:
        - id
        - remoteId
        - remoteName
        - status
        - isDeleted
        - createdAt
        - updatedAt
        - erpCompany
    FindAllResErpTaxRateObjectDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        taxRateCode:
          type: string
          example: TAX_RATE_01
        totalTaxRate:
          type: number
          example: 15.5
        status:
          type: string
          example: active
        countryCode:
          type: string
          example: US
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
      required:
        - id
        - remoteId
        - remoteName
        - taxRateCode
        - totalTaxRate
        - status
        - countryCode
        - isDeleted
        - createdAt
        - updatedAt
    FindAllResErpTaxRateDto:
      type: object
      properties:
        page:
          type: number
          example: 1
        totalPages:
          type: number
          example: 1
        total:
          type: number
          example: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/FindAllResErpTaxRateObjectDto'
      required:
        - page
        - totalPages
        - total
        - data
    FindOneResErpTaxRateDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        taxRateCode:
          type: string
          example: TAX_RATE_01
        totalTaxRate:
          type: number
          example: 15.5
        status:
          type: string
          example: active
        countryCode:
          type: string
          example: US
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
        erpCompany:
          type: object
          example:
            id: a01bce14-a29a-4104-a350-1d48ec371729
            name: Company 46
            businessLegalName: Business Legal Name 46
            companyCountry: US
            parentCompanyId: a01bce14-a29a-4104-a350-1d48ec371739
            status: active
            isDeleted: false
            createdAt: '2025-02-10T11:52:53.007Z'
            updatedAt: '2025-02-10T11:52:53.007Z'
      required:
        - id
        - remoteId
        - remoteName
        - taxRateCode
        - totalTaxRate
        - status
        - countryCode
        - isDeleted
        - createdAt
        - updatedAt
        - erpCompany
    FindAllResErpBankAccountObjectDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        accountType:
          type: string
          example: Savings
        accountNumber:
          type: string
          example: '123456789'
        reconciliationAccount:
          type: boolean
          example: false
        status:
          type: string
          example: active
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
      required:
        - id
        - remoteId
        - remoteName
        - accountType
        - accountNumber
        - reconciliationAccount
        - status
        - isDeleted
        - createdAt
        - updatedAt
    FindAllResErpBankAccountDto:
      type: object
      properties:
        page:
          type: number
          example: 1
        totalPages:
          type: number
          example: 1
        total:
          type: number
          example: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/FindAllResErpBankAccountObjectDto'
      required:
        - page
        - totalPages
        - total
        - data
    FindOneResErpBankAccountDto:
      type: object
      properties:
        id:
          type: string
          example: fdce2210-0ab9-4e59-bf3e-46a9e87f755b
        remoteId:
          type: string
          example: remote-001
        remoteName:
          type: string
          example: Cash Account
        accountType:
          type: string
          example: Savings
        accountNumber:
          type: string
          example: '123456789'
        reconciliationAccount:
          type: boolean
          example: false
        status:
          type: string
          example: active
        isDeleted:
          type: boolean
          example: false
        createdAt:
          type: string
          example: '2024-02-05T12:00:00Z'
        updatedAt:
          type: string
          example: '2024-02-05T12:30:00Z'
        erpCompany:
          type: object
          example:
            id: a01bce14-a29a-4104-a350-1d48ec371729
            name: Company 46
            businessLegalName: Business Legal Name 46
            companyCountry: US
            status: active
            isDeleted: false
            createdAt: '2025-02-10T11:52:53.007Z'
            updatedAt: '2025-02-10T11:52:53.007Z'
      required:
        - id
        - remoteId
        - remoteName
        - accountType
        - accountNumber
        - reconciliationAccount
        - status
        - isDeleted
        - createdAt
        - updatedAt
        - erpCompany
    FindAllResErpTransactionObjectDto:
      type: object
      properties:
        id:
          type: string
          example: c4943209-4462-455a-9bb9-f6781b3838bf
        amount:
          type: number
          example: 102
        currency:
          type: string
          example: USD
        transactionTime:
          type: string
          example: '2025-02-18T11:44:39.204Z'
        transactionStatus:
          type: string
          example: draft
        transactionMode:
          type: string
          example: Online
        rrn:
          type: string
          example: RRN-1739879079204-2
        transactionDescription:
          type: string
          example: Transaction for vendor 2
        transactionType:
          type: string
          example: Purchase
        messageType:
          type: string
          example: MTI123
        transmissionDateTime:
          type: string
          example: '2025-02-18T11:44:39.204Z'
        vendorTrn:
          type: string
          example: VendorTrn-2
        transactionAmount:
          type: number
          example: 102.5
        transactionCurrency:
          type: string
          example: USD
        purchaseOrderNumber:
          type: string
          example: PO-2
        parentId:
          type: string
          example: example-parent-id
        memo:
          type: string
          example: Memo for transaction 2
        clearingStatus:
          type: string
          example: Processed
        vatAmount:
          type: number
          example: 12
        transactionCategory:
          type: string
          example: Purchase
        visible:
          type: boolean
          example: true
        clearedAt:
          type: string
          example: '2025-02-18T11:44:39.204Z'
        excludeFromSync:
          type: boolean
          example: false
        status:
          type: string
          example: draft
        syncErrors:
          example: []
          type: array
          items:
            type: string
        erpSyncStatus:
          type: string
          example: Pending
        erpSyncType:
          type: string
          example: Full
        merchantName:
          type: string
          example: Amazon
        erpSupplierName:
          type: string
          example: Supplier 2
        erpSupplierRemoteId:
          type: string
          example: remote-id-2
        poolAccountName:
          type: string
          example: Account 2
        cardName:
          type: string
          example: Visa Platinum
        cardLastFour:
          type: string
          example: '0002'
        cardHolderName:
          type: string
          example: Card Holder 2
        cardHolderEmail:
          type: string
          example: holder2@example.com
        approvalStatus:
          type: string
          example: Pending
        receipts:
          example:
            - https://example.com/receipt1.jpg
            - https://example.com/receipt2.jpg
          type: array
          items:
            type: string
        createdAt:
          type: string
          example: '2025-02-18T11:44:39.211Z'
        updatedAt:
          type: string
          example: '2025-02-18T11:44:39.211Z'
        lineItems:
          type: array
          example:
            - id: 7d31f208-e6d7-42c8-adad-a66a19206ffa
              amount: 120
              vatAmount: 14
              description: Line Item for Transaction 2
              expenseCategory: Office Supplies
              erpTaxRateName: Tax Rate 2
              erpTaxRateRemoteId: tax-rate-remote-id-2
              erpChatOfAccountName: Account 2
              erpChatOfAccountRemoteId: chart-account-remote-id-2
              segments:
                - value: Value 2
                  segmentName: Segment 2
              createdAt: '2025-02-18T12:59:22.393Z'
              updatedAt: '2025-02-18T12:59:22.393Z'
            - id: a2f5bcf2-3743-4573-a88f-477cfd6f3e52
              amount: 120
              vatAmount: 14
              description: Line Item for Transaction 2
              erpTaxRateName: Tax Rate 2
              erpTaxRateRemoteId: tax-rate-remote-id-2
              erpChatOfAccountName: Account 2
              erpChatOfAccountRemoteId: chart-account-remote-id-2
              segments:
                - value: Value 2
                  segmentName: Segment 2
              createdAt: '2025-02-18T12:59:46.648Z'
              updatedAt: '2025-02-18T12:59:46.648Z'
      required:
        - id
        - amount
        - currency
        - transactionTime
        - transactionStatus
        - transactionMode
        - rrn
        - transactionDescription
        - transactionType
        - messageType
        - transmissionDateTime
        - vendorTrn
        - transactionAmount
        - transactionCurrency
        - purchaseOrderNumber
        - memo
        - clearingStatus
        - vatAmount
        - transactionCategory
        - visible
        - clearedAt
        - excludeFromSync
        - status
        - syncErrors
        - erpSyncStatus
        - erpSyncType
        - merchantName
        - erpSupplierName
        - erpSupplierRemoteId
        - poolAccountName
        - cardName
        - cardLastFour
        - cardHolderName
        - cardHolderEmail
        - approvalStatus
        - receipts
        - createdAt
        - updatedAt
        - lineItems
    FindAllResErpTransactionDto:
      type: object
      properties:
        page:
          type: number
          example: 1
        totalPages:
          type: number
          example: 1
        total:
          type: number
          example: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/FindAllResErpTransactionObjectDto'
      required:
        - page
        - totalPages
        - total
        - data
    FindOneResErpTransactionDto:
      type: object
      properties:
        id:
          type: string
          example: 32cdd629-cd1c-4979-a76c-cbb3a3f14516
        amount:
          type: number
          example: 102
        currency:
          type: string
          example: USD
        transactionTime:
          type: string
          example: '2025-02-18T12:58:36.407Z'
        transactionStatus:
          type: string
          example: draft
        transactionMode:
          type: string
          example: Online
        rrn:
          type: string
          example: RRN-1739883516407-2
        transactionDescription:
          type: string
          example: Transaction for vendor 2
        transactionType:
          type: string
          example: Purchase
        messageType:
          type: string
          example: MTI123
        transmissionDateTime:
          type: string
          example: '2025-02-18T12:58:36.407Z'
        vendorTrn:
          type: string
          example: VendorTrn-2
        transactionAmount:
          type: number
          example: 102.5
        transactionCurrency:
          type: string
          example: USD
        purchaseOrderNumber:
          type: string
          example: PO-2
        parentId:
          type: string
          example: example-parent-id
        memo:
          type: string
          example: Memo for transaction 2
        clearingStatus:
          type: string
          example: Processed
        vatAmount:
          type: number
          example: 12
        transactionCategory:
          type: string
          example: Purchase
        visible:
          type: boolean
          example: true
        clearedAt:
          type: string
          example: '2025-02-18T12:58:36.407Z'
        excludeFromSync:
          type: boolean
          example: false
        status:
          type: string
          example: draft
        syncErrors:
          example: []
          type: array
          items:
            type: string
        erpSyncStatus:
          type: string
          example: Pending
        erpSyncType:
          type: string
          example: Full
        merchantName:
          type: string
          example: Amazon
        erpSupplierName:
          type: string
          example: Supplier 2
        erpSupplierRemoteId:
          type: string
          example: remote-id-2
        poolAccountName:
          type: string
          example: Account 2
        cardName:
          type: string
          example: Visa Platinum
        cardLastFour:
          type: string
          example: '0002'
        cardHolderName:
          type: string
          example: Card Holder 2
        cardHolderEmail:
          type: string
          example: holder2@example.com
        approvalStatus:
          type: string
          example: Pending
        receipts:
          example:
            - https://example.com/receipt1.jpg
            - https://example.com/receipt2.jpg
          type: array
          items:
            type: string
        createdAt:
          type: string
          example: '2025-02-18T12:58:36.410Z'
        updatedAt:
          type: string
          example: '2025-02-18T12:58:36.410Z'
        lineItems:
          type: array
          example:
            - id: 7d31f208-e6d7-42c8-adad-a66a19206ffa
              amount: 120
              vatAmount: 14
              description: Line Item for Transaction 2
              expenseCategory: Office Supplies
              erpTaxRateName: Tax Rate 2
              erpTaxRateRemoteId: tax-rate-remote-id-2
              erpChatOfAccountName: Account 2
              erpChatOfAccountRemoteId: chart-account-remote-id-2
              segments:
                - value: Value 2
                  segmentName: Segment 2
              createdAt: '2025-02-18T12:59:22.393Z'
              updatedAt: '2025-02-18T12:59:22.393Z'
            - id: a2f5bcf2-3743-4573-a88f-477cfd6f3e52
              amount: 120
              vatAmount: 14
              description: Line Item for Transaction 2
              expenseCategory: Office Supplies
              erpTaxRateName: Tax Rate 2
              erpTaxRateRemoteId: tax-rate-remote-id-2
              erpChatOfAccountName: Account 2
              erpChatOfAccountRemoteId: chart-account-remote-id-2
              segments:
                - value: Value 2
                  segmentName: Segment 2
              createdAt: '2025-02-18T12:59:46.648Z'
              updatedAt: '2025-02-18T12:59:46.648Z'
        erpCompany:
          type: object
          example:
            id: a01bce14-a29a-4104-a350-1d48ec371729
            name: Company 46
            businessLegalName: Business Legal Name 46
            companyCountry: US
            parentCompanyId: aaaaaa-a29a-4104-a350-1d48ec371729
            status: active
            isDeleted: false
            createdAt: '2025-02-10T11:52:53.007Z'
            updatedAt: '2025-02-10T11:52:53.007Z'
      required:
        - id
        - amount
        - currency
        - transactionTime
        - transactionStatus
        - transactionMode
        - rrn
        - transactionDescription
        - transactionType
        - messageType
        - transmissionDateTime
        - vendorTrn
        - transactionAmount
        - transactionCurrency
        - purchaseOrderNumber
        - memo
        - clearingStatus
        - vatAmount
        - transactionCategory
        - visible
        - clearedAt
        - excludeFromSync
        - status
        - syncErrors
        - erpSyncStatus
        - erpSyncType
        - merchantName
        - erpSupplierName
        - erpSupplierRemoteId
        - poolAccountName
        - cardName
        - cardLastFour
        - cardHolderName
        - cardHolderEmail
        - approvalStatus
        - receipts
        - createdAt
        - updatedAt
        - lineItems
        - erpCompany
