---
title: "Create transfer transaction"
method: PUT
path: "/companies/{companyId}/sync/expenses/transfer-transactions/{transactionId}"
tags: ["Transfers"]
---

# Create transfer transaction

`PUT /companies/{companyId}/sync/expenses/transfer-transactions/{transactionId}`

Use the *Create transfer* endpoint to create or update a [transfer transaction](https://docs.codat.io/sync-for-expenses-api#/schemas/TransferTransactionRequest) in the accounting software for a given company's connection. 

Transfers record the movement of money between two bank accounts, or between a bank account and a nominal account. Use them to represent actions such as topping up a debit card account or a balance transfer to another credit card.

The `from.amount` and `to.amount` fields are in the native currency of the account.

### Supported Integrations
| Integration           | Create transfer  | Update transfer  |
|-----------------------|------------------|------------------|
| Dynamics				| No			   | No				  |
| FreeAgent             | Yes              | Yes              |
| NetSuite              | No               | No               |
| QuickBooks Desktop    | Yes              | No               |
| QuickBooks Online     | Yes              | Yes              |
| Sage Intacct          | No               | No               |
| Xero                  | Yes              | No               |
| Zoho Books            | No               | No               |

## Request body

- TransferTransactionRequest
  - `description` string — Any private, company notes about the transaction.
  - `date` string, required — In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example: ``` 2020-10-08T22:40:50Z 2021-01-01T00:00:00 ``` When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - Unqualified local time: `2021-11-15T01:00:00` - UTC time offsets: `2021-11-15T01:00:00-05:00` > Time zones > > Not all dates from Codat will contain information about time zones. > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
  - `from` object, required
    - `accountRef` object, required — Reference of the account you are transferring money from.
      - `id` string, required — 'id' from the Accounts data type.
    - `amount` number, required — Amount that has been transferred from the account in the native currency of the account.
  - `to` object, required
    - `accountRef` object, required — Reference of the account you are transferring money to.
      - `id` string, required — 'id' from the Accounts data type.
    - `amount` number, required — Amount that has been transferred to the account in the native currency of the account.

## Response `200`

OK

- TransferTransactionResponse
  - `syncId` string, uuid — Unique id of sync created

## Other responses

- `400` — The request made is not valid.
- `401` — Your API request was not properly authorized.
- `402` — An account limit has been exceeded. The type of limit is described in the error property: - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io.
- `403` — You are using an outdated API key or a key not associated with that resource.
- `404` — One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted.
- `429` — Too many requests were made in a given amount of time. Wait a short period and then try again.
- `500` — There is a problem with our server. Please try again later.
- `503` — The Codat API is temporarily offline for maintenance. Please try again later.

---

[API](https://skmtc.net/codatio/apis/sync-for-expenses-v1.md) · [All operations](https://skmtc.net/codatio/apis/sync-for-expenses-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/codatio/sync-for-expenses-v1/revisions/3a810b6f9c66/schema)
