---
title: "POST /bankTransactions"
method: POST
path: "/bankTransactions"
tags: ["Bank", "Bank Transactions"]
---

# POST /bankTransactions

`POST /bankTransactions`

## Request

- Base URL: `https://api.railz.ai`
- URL: `https://api.railz.ai/bankTransactions`
- Auth: HTTP bearer

Posts an individual bank transaction to an accounting service provider for a business.

## Request body

- PushBankTransactionDto
  - `connection` PushBankTransactionConnection, required
    - `businessName` string, required: Unique business name identifier.
    - `serviceName` 'xero', required: Name of accounting platform service.
  - `data` PushBankTransaction, required
    - `currencyRate` number
    - `currency` string
    - `transactionType` 'payment' | 'overpayment' | 'deposit' | 'expense', required
    - `customerRef` string
    - `vendorRef` string
    - `bankAccountRef` string, required
    - `lines` PushBankTransactionLine[], required
      - `quantity` number, float, required
      - `unitAmount` number, float, required
      - `description` string, required
      - `accountRef` string, required
      - `subTotal` number, float
      - `totalAmount` number, float
      - `taxRef` string
      - `memo` string
      - `taxAmount` number, float
    - `date` string, date

## Response `200`

- PushBankTransactionResponseDto
  - `businessName` string, required
  - `serviceName` 'quickbooks' | 'xero' | 'freshbooks' | 'quickbooksDesktop' | 'sageIntacct' | 'sageBusinessCloud' | 'oracleNetsuite' | 'dynamicsBusinessCentral' | 'dynamics365Finance' | 'wave' | 'zohoBooks' | 'myob', required
  - `data` PushBankTransaction, required
    - `currencyRate` number
    - `currency` string
    - `transactionType` 'payment' | 'overpayment' | 'deposit' | 'expense', required
    - `customerRef` string
    - `vendorRef` string
    - `bankAccountRef` string, required
    - `lines` PushBankTransactionLine[], required
      - `quantity` number, float, required
      - `unitAmount` number, float, required
      - `description` string, required
      - `accountRef` string, required
      - `subTotal` number, float
      - `totalAmount` number, float
      - `taxRef` string
      - `memo` string
      - `taxAmount` number, float
    - `date` string, date

## 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

## Changes

- **2026-09-03** `1383b9a47ac9`: 1 info
  - api tag `Bank` added
- **2026-08-10** `5cdfae3fa1fa`: 6 breaking, 13 warning, 13 info
  - removed the enum value `overPayment` of the request property `data/transactionType`
  - the `data/date` request property format changed from `date-time` to `date`
  - the `businessName` response's property format changed from `uuid` to no format for status `200`
  - removed the required property `pushCommunicationId` from the response with the `200` status
  - …28 more

[Operation history](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/changes/bankTransactions/post.md)

---

[API](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api.md) - [All operations](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/revisions/1383b9a47ac9?raw)
