---
title: "Create a Bank Transaction"
method: POST
path: "/v2/accounting/bankTransactions"
tags: ["Bank Transactions (Accounting)"]
---

# Create a Bank Transaction

`POST /v2/accounting/bankTransactions`

**Supported for:**

`xero` `wave` `myob` `zohoBooks`

## Request body

- PushBankTransactionV2Dto
  - `connectionUuid` string, required — Unique connection identifier.
  - `data` PushBankTransactionV2, required
    - `currencyRate` number
    - `currency` string
    - `transactionType` 'payment' | 'refund' | 'deposit' | 'expense' | 'transfer' | 'overPayment' | 'unknown' | 'salesReturn' | 'ownerDrawings' | 'salesWithoutInvoices' | 'interestIncome' | 'otherIncome' | 'expenseRefund' | 'depositFromOtherAccounts' | 'ownersContribution'
    - `bankAccountRef` BankAccountRefDto, required
      - `id` string, required
    - `entityRef` EntityRefDto
      - `type` 'customer' | 'vendor'
      - `id` string, required
    - `lines` PushBankTransactionLineV2[]
      - `quantity` number, float
      - `unitAmount` number, float
      - `description` string
      - `accountRef` AccountRefDto, required
        - `id` string, required
      - `taxRateRef` BaseTaxRateRef
        - `id` string, required
      - `taxAmount` number, float
      - `trackingCategoryRefs` TrackingCategoryRefV2Dto[]
        - `id` string
        - `type` 'class' | 'department' | 'location' | 'unknown'
    - `totalAmount` number, float
    - `memo` string
    - `postedDate` string, date-time
    - `transactionDirection` 'outgoing' | 'incoming'
    - `passThrough` object

## Response `200`

- PushBankTransactionResponseV2Dto
  - `connectionUuid` string, required
  - `businessName` string, required
  - `serviceName` 'freshbooks' | 'quickbooks' | 'quickbooksDesktop' | 'xero' | 'oracleNetsuite' | 'sageBusinessCloud' | 'sageIntacct' | 'dynamicsBusinessCentral' | 'dynamics365Finance' | 'wave' | 'myob' | 'zohoBooks' | 'byod', required
  - `pushCommunicationId` string, required
  - `requestedOn` string, date-time, required
  - `status` 'success' | 'failed' | 'pending', required
  - `data` PushBankTransactionV2, required
    - `currencyRate` number
    - `currency` string
    - `transactionType` 'payment' | 'refund' | 'deposit' | 'expense' | 'transfer' | 'overPayment' | 'unknown' | 'salesReturn' | 'ownerDrawings' | 'salesWithoutInvoices' | 'interestIncome' | 'otherIncome' | 'expenseRefund' | 'depositFromOtherAccounts' | 'ownersContribution'
    - `bankAccountRef` BankAccountRefDto, required
      - `id` string, required
    - `entityRef` EntityRefDto
      - `type` 'customer' | 'vendor'
      - `id` string, required
    - `lines` PushBankTransactionLineV2[]
      - `quantity` number, float
      - `unitAmount` number, float
      - `description` string
      - `accountRef` AccountRefDto, required
        - `id` string, required
      - `taxRateRef` BaseTaxRateRef
        - `id` string, required
      - `taxAmount` number, float
      - `trackingCategoryRefs` TrackingCategoryRefV2Dto[]
        - `id` string
        - `type` 'class' | 'department' | 'location' | 'unknown'
    - `totalAmount` number, float
    - `memo` string
    - `postedDate` string, date-time
    - `transactionDirection` 'outgoing' | 'incoming'
    - `passThrough` object

## Other responses

- `400` — Bad Request Error - Thrown if fields sent via query does not follow specifications
- `401` — Unauthorized - Not logged in or log in expired
- `403` — Forbidden - Not enough permission
- `500` — Server Error

---

[API](https://skmtc.net/railz/apis/fis-accounting-data-as-a-service-api.md) · [All operations](https://skmtc.net/railz/apis/fis-accounting-data-as-a-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/railz/fis-accounting-data-as-a-service-api/revisions/5cdfae3fa1fa/schema)
