Skip to content

Commit 0467b08

Browse files
committed
Add a FreeAgent bank feeds section
Covers how FreeAgent takes transaction direction from the type, and the Xfer to OTHER conversion Codat applies. Nav entries point at the new pages.
1 parent c8471c2 commit 0467b08

6 files changed

Lines changed: 93 additions & 4 deletions

File tree

cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@
242242
"XLSB",
243243
"Xero's",
244244
"Xero",
245+
"Xfer",
245246
"YNAB",
246247
"Yundt",
247248
"yzth",
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "Write bank transactions to FreeAgent"
3+
sidebar_label: Write bank transactions
4+
description: "Learn how to write your SMB users' bank transactions via our FreeAgent Bank Feeds integration"
5+
---
6+
7+
When an SMB user has set up a bank feed connection, you can write bank transactions for source bank accounts to FreeAgent. Write them using the [Create bank transactions](/bank-feeds-api#/operations/create-bank-transactions) endpoint, as described in [Write transactions](/bank-feeds/pushing-transactions).
8+
9+
This article explains how FreeAgent decides whether a transaction is money in or money out, because it differs from other bank feeds integrations.
10+
11+
## Prerequisites
12+
13+
- Your SMB user has an authorized FreeAgent connection and has [established a bank feed](/bank-feeds/mapping/overview).
14+
15+
## Transaction direction comes from the type
16+
17+
In Codat's bank transactions schema, the sign of the `amount` determines the direction of a transaction: positive is money in, negative is money out. The `transactionType` describes the kind of transaction.
18+
19+
FreeAgent takes the direction from the `transactionType` instead, and overrides the sign of the `amount` for most types.
20+
21+
| FreeAgent behavior | Transaction types |
22+
| ------------------ | ---------------------------------------------------------------------------------------- |
23+
| Always money out | `Debit`, `Fee`, `SerChg`, `Xfer`, `Check`, `Payment`, `Cash`, `DirectDebit`, `RepeatPmt` |
24+
| Always money in | `Credit`, `Div`, `Dep`, `DirectDep` |
25+
| Uses the sign | `INT`, `ATM`, `POS`, `OTHER` |
26+
27+
So a transaction sent as `amount: 1.60` with `transactionType: Xfer` is recorded in FreeAgent as £1.60 out, while the same transaction is recorded as £1.60 in by integrations that use the sign, such as Xero and QuickBooks Online.
28+
29+
## Codat converts a positive transfer
30+
31+
To keep the direction consistent with the `amount` you send, Codat writes a positive `Xfer` transaction to FreeAgent as `OTHER`. FreeAgent uses the sign for `OTHER` in both directions, so the transaction is recorded as money in, matching the sign of the `amount`.
32+
33+
All other transactions are written to FreeAgent with the `transactionType` you supplied, unchanged. A negative `Xfer` is not converted, because the type and the sign already agree.
34+
35+
:::caution Other conflicting types are not converted
36+
37+
Codat only converts `Xfer`. If you send a positive amount with any other type from the "Always money out" row above, FreeAgent records it as money out. Send those transactions with a type that matches the direction you want, or use `OTHER`.
38+
39+
:::
40+
41+
## The type appears in the description
42+
43+
FreeAgent includes the transaction type in the description that the SMB user sees against the bank transaction. A transaction sent as `Xfer` reads as `//XFER/`, followed by the amount:
44+
45+
```text
46+
your-transaction-description//XFER/£1.60
47+
```
48+
49+
Because a positive `Xfer` is written as `OTHER`, the SMB user sees `//OTHER/` instead:
50+
51+
```text
52+
your-transaction-description//OTHER/£1.60
53+
```
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: "FreeAgent Bank Feeds"
3+
displayed_sidebar: integrationsBankFeeds
4+
description: "Learn about our FreeAgent Bank Feeds integration"
5+
---
6+
7+
Our FreeAgent Bank Feeds integration allows you to set up a bank feed from a bank account in your application (the source bank account) to an account within FreeAgent (the target bank account). After a feed connection is established, you can write bank transactions from the source account to the target account.
8+
9+
Bank feeds functionality is part of our existing [FreeAgent accounting integration](/integrations/accounting/freeagent/accounting-freeagent).
10+
11+
## Supported data types and operations
12+
13+
Bank feeds are represented as streams of [Bank account transactions](/bank-feeds-api#/schemas/BankTransactions) written to Codat in chronological order. Target bank accounts are represented as [Bank feed accounts](/bank-feeds-api#/schemas/BankFeedAccount).
14+
15+
## How it works
16+
17+
1. [Create a company and a data connection](/bank-feeds/create-account) using the `fbrh` platform key.
18+
19+
2. Your SMB users authorize the connection with FreeAgent using our [Link auth flow](/auth-flow/overview).
20+
21+
3. Your SMB users create account mappings and feed connections. See [Establish a bank feed](/bank-feeds/mapping/overview).
22+
23+
4. Using the [Create bank transactions](/bank-feeds-api#/operations/create-bank-transactions) endpoint, you write bank transactions to Codat for authenticated users. See [Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions).
24+
25+
## Read next
26+
27+
[Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions)

docs/integrations/bank-feeds/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Read more about our [Bank Feeds](/bank-feeds/overview) solution.
1818
- [Xero](/integrations/bank-feeds/xero-bank-feeds/)
1919
- [NetSuite](/integrations/bank-feeds/netsuite-bank-feeds/netsuite-bank-feeds-setup)
2020
- [Exact Online (NL)](/integrations/accounting/exact-online/accounting-exact-online)
21-
- [FreeAgent](/integrations/accounting/freeagent/accounting-freeagent)
21+
- [FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/)
2222

2323
## Relevant solutions
2424

sidebars/bank-feeds.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ module.exports = [
8282
},
8383
{
8484
type: "link",
85-
href: "/integrations/accounting/freeagent/accounting-freeagent",
85+
href: "/integrations/bank-feeds/freeagent-bank-feeds",
8686
label: "FreeAgent",
8787
},
8888
{

sidebars/integrations-bank-feeds.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,16 @@ module.exports = [
7272
label: "Exact Online (NL)",
7373
},
7474
{
75-
type: "link",
76-
href: "/integrations/accounting/freeagent/accounting-freeagent",
75+
type: "category",
7776
label: "FreeAgent",
77+
collapsed: true,
78+
items: [
79+
{
80+
type: "doc",
81+
label: "Overview",
82+
id: "integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds",
83+
},
84+
"integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions",
85+
],
7886
},
7987
];

0 commit comments

Comments
 (0)