From c8471c294b8a2d8ba3ced753a8d12a16a8af3e37 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 11:28:26 +0100 Subject: [PATCH 01/15] Note that some platforms take transaction direction from the type One sentence on the cross-platform write page, where the sign rule already lives. --- docs/bank-feeds/pushing-transactions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/bank-feeds/pushing-transactions.md b/docs/bank-feeds/pushing-transactions.md index 113bf3929..37405bfa9 100644 --- a/docs/bank-feeds/pushing-transactions.md +++ b/docs/bank-feeds/pushing-transactions.md @@ -18,6 +18,8 @@ Collect transaction data within your own application and map it to Codat's [Bank :::caution Transaction signs Make sure the transaction `amount` signs align with the `transactionType`. Codat issues a warning for inconsistencies, such as a `Debit` transaction with a positive amount. + +Some accounting platforms take the direction of a transaction from its `transactionType` rather than the sign of the `amount`. FreeAgent works this way, and Codat adjusts the transaction so the sign you send is honored. See [Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions). ::: ## Write bank transactions From 0467b0812f044674ee316642662138b754b270e4 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 11:28:54 +0100 Subject: [PATCH 02/15] 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. --- cspell.json | 1 + ...agent-bank-feeds-push-bank-transactions.md | 53 +++++++++++++++++++ .../freeagent-bank-feeds.md | 27 ++++++++++ docs/integrations/bank-feeds/overview.md | 2 +- sidebars/bank-feeds.js | 2 +- sidebars/integrations-bank-feeds.js | 12 ++++- 6 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md create mode 100644 docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds.md diff --git a/cspell.json b/cspell.json index 2347f6c0f..b4027210c 100644 --- a/cspell.json +++ b/cspell.json @@ -242,6 +242,7 @@ "XLSB", "Xero's", "Xero", + "Xfer", "YNAB", "Yundt", "yzth", diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md new file mode 100644 index 000000000..66da038bc --- /dev/null +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -0,0 +1,53 @@ +--- +title: "Write bank transactions to FreeAgent" +sidebar_label: Write bank transactions +description: "Learn how to write your SMB users' bank transactions via our FreeAgent Bank Feeds integration" +--- + +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). + +This article explains how FreeAgent decides whether a transaction is money in or money out, because it differs from other bank feeds integrations. + +## Prerequisites + +- Your SMB user has an authorized FreeAgent connection and has [established a bank feed](/bank-feeds/mapping/overview). + +## Transaction direction comes from the type + +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. + +FreeAgent takes the direction from the `transactionType` instead, and overrides the sign of the `amount` for most types. + +| FreeAgent behavior | Transaction types | +| ------------------ | ---------------------------------------------------------------------------------------- | +| Always money out | `Debit`, `Fee`, `SerChg`, `Xfer`, `Check`, `Payment`, `Cash`, `DirectDebit`, `RepeatPmt` | +| Always money in | `Credit`, `Div`, `Dep`, `DirectDep` | +| Uses the sign | `INT`, `ATM`, `POS`, `OTHER` | + +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. + +## Codat converts a positive transfer + +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`. + +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. + +:::caution Other conflicting types are not converted + +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`. + +::: + +## The type appears in the description + +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: + +```text +your-transaction-description//XFER/£1.60 +``` + +Because a positive `Xfer` is written as `OTHER`, the SMB user sees `//OTHER/` instead: + +```text +your-transaction-description//OTHER/£1.60 +``` diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds.md new file mode 100644 index 000000000..332a08588 --- /dev/null +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds.md @@ -0,0 +1,27 @@ +--- +title: "FreeAgent Bank Feeds" +displayed_sidebar: integrationsBankFeeds +description: "Learn about our FreeAgent Bank Feeds integration" +--- + +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. + +Bank feeds functionality is part of our existing [FreeAgent accounting integration](/integrations/accounting/freeagent/accounting-freeagent). + +## Supported data types and operations + +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). + +## How it works + +1. [Create a company and a data connection](/bank-feeds/create-account) using the `fbrh` platform key. + +2. Your SMB users authorize the connection with FreeAgent using our [Link auth flow](/auth-flow/overview). + +3. Your SMB users create account mappings and feed connections. See [Establish a bank feed](/bank-feeds/mapping/overview). + +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). + +## Read next + +[Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions) diff --git a/docs/integrations/bank-feeds/overview.md b/docs/integrations/bank-feeds/overview.md index 4e5d8dd58..f7b319207 100644 --- a/docs/integrations/bank-feeds/overview.md +++ b/docs/integrations/bank-feeds/overview.md @@ -18,7 +18,7 @@ Read more about our [Bank Feeds](/bank-feeds/overview) solution. - [Xero](/integrations/bank-feeds/xero-bank-feeds/) - [NetSuite](/integrations/bank-feeds/netsuite-bank-feeds/netsuite-bank-feeds-setup) - [Exact Online (NL)](/integrations/accounting/exact-online/accounting-exact-online) -- [FreeAgent](/integrations/accounting/freeagent/accounting-freeagent) +- [FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/) ## Relevant solutions diff --git a/sidebars/bank-feeds.js b/sidebars/bank-feeds.js index 924ffd85e..c9324e686 100644 --- a/sidebars/bank-feeds.js +++ b/sidebars/bank-feeds.js @@ -82,7 +82,7 @@ module.exports = [ }, { type: "link", - href: "/integrations/accounting/freeagent/accounting-freeagent", + href: "/integrations/bank-feeds/freeagent-bank-feeds", label: "FreeAgent", }, { diff --git a/sidebars/integrations-bank-feeds.js b/sidebars/integrations-bank-feeds.js index 0834e611d..81ea606c5 100644 --- a/sidebars/integrations-bank-feeds.js +++ b/sidebars/integrations-bank-feeds.js @@ -72,8 +72,16 @@ module.exports = [ label: "Exact Online (NL)", }, { - type: "link", - href: "/integrations/accounting/freeagent/accounting-freeagent", + type: "category", label: "FreeAgent", + collapsed: true, + items: [ + { + type: "doc", + label: "Overview", + id: "integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds", + }, + "integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions", + ], }, ]; From f7be89cc3db6b472d987c5c54ef655acdcb19a9f Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 13:12:00 +0100 Subject: [PATCH 03/15] Address Vale style hits on the FreeAgent write page Active voice, contractions, and a named group reference instead of "row above". --- .../freeagent-bank-feeds-push-bank-transactions.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index 66da038bc..934a05ea6 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -24,17 +24,17 @@ FreeAgent takes the direction from the `transactionType` instead, and overrides | Always money in | `Credit`, `Div`, `Dep`, `DirectDep` | | Uses the sign | `INT`, `ATM`, `POS`, `OTHER` | -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. +So for a transaction sent as `amount: 1.60` with `transactionType: Xfer`, FreeAgent records £1.60 out, while integrations that use the sign, such as Xero and QuickBooks Online, record £1.60 in. ## Codat converts a positive transfer 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`. -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. +All other transactions are written to FreeAgent with the `transactionType` you supplied, unchanged. A negative `Xfer` isn't converted, because the type and the sign already agree. -:::caution Other conflicting types are not converted +:::caution Other conflicting types aren't converted -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`. +Codat only converts `Xfer`. If you send a positive amount with any other type in the **Always money out** group, FreeAgent records it as money out. Send those transactions with a type that matches the direction you want, or use `OTHER`. ::: From b22c5d3c29cfb587737326d476330eaa88e92c68 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 15:06:26 +0100 Subject: [PATCH 04/15] Correct transaction type names and the pass-through claim The sign-respecting row used FreeAgent's casing and left out `Unknown`. Codat also renames `SerChg` to `SRVCHG`, so types aren't all passed through unchanged. Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index 934a05ea6..daaa2ccc2 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -22,7 +22,7 @@ FreeAgent takes the direction from the `transactionType` instead, and overrides | ------------------ | ---------------------------------------------------------------------------------------- | | Always money out | `Debit`, `Fee`, `SerChg`, `Xfer`, `Check`, `Payment`, `Cash`, `DirectDebit`, `RepeatPmt` | | Always money in | `Credit`, `Div`, `Dep`, `DirectDep` | -| Uses the sign | `INT`, `ATM`, `POS`, `OTHER` | +| Uses the sign | `Int`, `Atm`, `Pos`, `Other`, `Unknown` | So for a transaction sent as `amount: 1.60` with `transactionType: Xfer`, FreeAgent records £1.60 out, while integrations that use the sign, such as Xero and QuickBooks Online, record £1.60 in. @@ -30,7 +30,7 @@ So for a transaction sent as `amount: 1.60` with `transactionType: Xfer`, FreeAg 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`. -All other transactions are written to FreeAgent with the `transactionType` you supplied, unchanged. A negative `Xfer` isn't converted, because the type and the sign already agree. +A negative `Xfer` isn't converted, because the type and the sign already agree. Codat converts no other type, but it does rename `SerChg` to FreeAgent's `SRVCHG` and writes `Unknown` as `OTHER`, neither of which changes the direction. :::caution Other conflicting types aren't converted From fd932f3ded78f2d03a4c669fe0e98f6a73545f56 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 15:39:22 +0100 Subject: [PATCH 05/15] Narrow the FreeAgent write page to transfers Drops the per-type direction table, which we haven't verified against FreeAgent, and leaves the other types deliberately vague. Co-Authored-By: Claude Opus 5 --- docs/bank-feeds/pushing-transactions.md | 2 +- ...agent-bank-feeds-push-bank-transactions.md | 20 +++++++------------ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/docs/bank-feeds/pushing-transactions.md b/docs/bank-feeds/pushing-transactions.md index 37405bfa9..0199f945c 100644 --- a/docs/bank-feeds/pushing-transactions.md +++ b/docs/bank-feeds/pushing-transactions.md @@ -19,7 +19,7 @@ Collect transaction data within your own application and map it to Codat's [Bank :::caution Transaction signs Make sure the transaction `amount` signs align with the `transactionType`. Codat issues a warning for inconsistencies, such as a `Debit` transaction with a positive amount. -Some accounting platforms take the direction of a transaction from its `transactionType` rather than the sign of the `amount`. FreeAgent works this way, and Codat adjusts the transaction so the sign you send is honored. See [Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions). +Some accounting platforms take the direction of a transaction from its `transactionType` rather than the sign of the `amount`. FreeAgent works this way for some types, and Codat adjusts transfers so the sign you send is honored. See [Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions). ::: ## Write bank transactions diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index daaa2ccc2..e842888e9 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -6,35 +6,29 @@ description: "Learn how to write your SMB users' bank transactions via our FreeA 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). -This article explains how FreeAgent decides whether a transaction is money in or money out, because it differs from other bank feeds integrations. +This article explains how FreeAgent decides whether a transfer is money in or money out, because it differs from other bank feeds integrations. ## Prerequisites - Your SMB user has an authorized FreeAgent connection and has [established a bank feed](/bank-feeds/mapping/overview). -## Transaction direction comes from the type +## Transaction direction can come from the type 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. -FreeAgent takes the direction from the `transactionType` instead, and overrides the sign of the `amount` for most types. +For some transaction types, FreeAgent takes the direction from the `transactionType` and overrides the sign of the `amount`. `Xfer` is one of these types: FreeAgent always treats a transfer as money out. -| FreeAgent behavior | Transaction types | -| ------------------ | ---------------------------------------------------------------------------------------- | -| Always money out | `Debit`, `Fee`, `SerChg`, `Xfer`, `Check`, `Payment`, `Cash`, `DirectDebit`, `RepeatPmt` | -| Always money in | `Credit`, `Div`, `Dep`, `DirectDep` | -| Uses the sign | `Int`, `Atm`, `Pos`, `Other`, `Unknown` | - -So for a transaction sent as `amount: 1.60` with `transactionType: Xfer`, FreeAgent records £1.60 out, while integrations that use the sign, such as Xero and QuickBooks Online, record £1.60 in. +Written as sent, a transaction with `amount: 1.60` and `transactionType: Xfer` would be £1.60 out in FreeAgent, while integrations that use the sign, such as Xero and QuickBooks Online, record £1.60 in. ## Codat converts a positive transfer 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`. -A negative `Xfer` isn't converted, because the type and the sign already agree. Codat converts no other type, but it does rename `SerChg` to FreeAgent's `SRVCHG` and writes `Unknown` as `OTHER`, neither of which changes the direction. +A negative `Xfer` isn't converted, because the type and the sign already agree. -:::caution Other conflicting types aren't converted +:::caution Only transfers are converted -Codat only converts `Xfer`. If you send a positive amount with any other type in the **Always money out** group, FreeAgent records it as money out. Send those transactions with a type that matches the direction you want, or use `OTHER`. +Codat converts `Xfer` only. Other types that FreeAgent treats the same way aren't converted, so a positive amount can still be recorded as money out. Where the direction matters, send a `transactionType` that matches it, or use `OTHER`. ::: From 5cafd068111b23eb07175806b555b070030ce227 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 15:42:59 +0100 Subject: [PATCH 06/15] Drop the caution box from the FreeAgent write page Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index e842888e9..0d8c40e78 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -26,12 +26,6 @@ To keep the direction consistent with the `amount` you send, Codat writes a posi A negative `Xfer` isn't converted, because the type and the sign already agree. -:::caution Only transfers are converted - -Codat converts `Xfer` only. Other types that FreeAgent treats the same way aren't converted, so a positive amount can still be recorded as money out. Where the direction matters, send a `transactionType` that matches it, or use `OTHER`. - -::: - ## The type appears in the description 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: From adbc9acc598282c7fc2f92f2d3cba537b2b359fd Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 15:52:12 +0100 Subject: [PATCH 07/15] Note that SMB users explain converted transfers themselves Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index 0d8c40e78..d6e1c7969 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -26,6 +26,12 @@ To keep the direction consistent with the `amount` you send, Codat writes a posi A negative `Xfer` isn't converted, because the type and the sign already agree. +## SMB users explain the transfer themselves + +Because a converted transaction arrives with a general type rather than the transfer label, FreeAgent doesn't suggest a transfer when your SMB user explains it. + +They can still explain it as a transfer exactly as they do now. They select it themselves instead of FreeAgent proposing it. + ## The type appears in the description 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: From e5656478f8ad43c3641703fcc1bf218f69d60f9b Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 15:53:54 +0100 Subject: [PATCH 08/15] Name the Transfer to Another Account option Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index d6e1c7969..b8f568cb4 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -30,7 +30,7 @@ A negative `Xfer` isn't converted, because the type and the sign already agree. Because a converted transaction arrives with a general type rather than the transfer label, FreeAgent doesn't suggest a transfer when your SMB user explains it. -They can still explain it as a transfer exactly as they do now. They select it themselves instead of FreeAgent proposing it. +They can still explain it as a transfer exactly as they do now, using the **Transfer to Another Account** option. They select it themselves instead of FreeAgent proposing it. ## The type appears in the description From f22a5663fff80da2065b101b8ce01432dec04e20 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 15:58:53 +0100 Subject: [PATCH 09/15] Move the explain section last and refer to the types directly Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index b8f568cb4..4041a2e66 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -26,12 +26,6 @@ To keep the direction consistent with the `amount` you send, Codat writes a posi A negative `Xfer` isn't converted, because the type and the sign already agree. -## SMB users explain the transfer themselves - -Because a converted transaction arrives with a general type rather than the transfer label, FreeAgent doesn't suggest a transfer when your SMB user explains it. - -They can still explain it as a transfer exactly as they do now, using the **Transfer to Another Account** option. They select it themselves instead of FreeAgent proposing it. - ## The type appears in the description 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: @@ -45,3 +39,9 @@ Because a positive `Xfer` is written as `OTHER`, the SMB user sees `//OTHER/` in ```text your-transaction-description//OTHER/£1.60 ``` + +## SMB users explain the transfer themselves + +Because the transaction arrives as `OTHER` rather than `Xfer`, FreeAgent doesn't suggest a transfer when your SMB user explains it. + +They can still explain it as a transfer exactly as they do now, using the **Transfer to Another Account** option. They select it themselves instead of FreeAgent proposing it. From 76a25e67ba47f30c171c9d98d6a505cff428d0d7 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Tue, 4 Aug 2026 16:02:18 +0100 Subject: [PATCH 10/15] Correct the option name to Transfer from Another Account Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index 4041a2e66..f6fdbeded 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -44,4 +44,4 @@ your-transaction-description//OTHER/£1.60 Because the transaction arrives as `OTHER` rather than `Xfer`, FreeAgent doesn't suggest a transfer when your SMB user explains it. -They can still explain it as a transfer exactly as they do now, using the **Transfer to Another Account** option. They select it themselves instead of FreeAgent proposing it. +They can still explain it as a transfer exactly as they do now, using the **Transfer from Another Account** option. They select it themselves instead of FreeAgent proposing it. From 92bcebe31973d44c1a28c059dd36e616af16e387 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Wed, 5 Aug 2026 09:09:50 +0100 Subject: [PATCH 11/15] Drop the article summary sentence from the opening Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index f6fdbeded..4f200bfe2 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -6,8 +6,6 @@ description: "Learn how to write your SMB users' bank transactions via our FreeA 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). -This article explains how FreeAgent decides whether a transfer is money in or money out, because it differs from other bank feeds integrations. - ## Prerequisites - Your SMB user has an authorized FreeAgent connection and has [established a bank feed](/bank-feeds/mapping/overview). From 0e5f74b605d239d8c331ac9454d6b32e5c72346d Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Wed, 5 Aug 2026 09:12:08 +0100 Subject: [PATCH 12/15] Nest the description heading under the conversion section Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index 4f200bfe2..5de92c973 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -24,7 +24,7 @@ To keep the direction consistent with the `amount` you send, Codat writes a posi A negative `Xfer` isn't converted, because the type and the sign already agree. -## The type appears in the description +### The type appears in the description 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: From 5ffb7a8172b3dbfcf70d7a8ee9170e14cdc4194b Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Wed, 5 Aug 2026 09:14:58 +0100 Subject: [PATCH 13/15] Nest the explain heading under the conversion section Co-Authored-By: Claude Opus 5 --- .../freeagent-bank-feeds-push-bank-transactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md index 5de92c973..6f09736f9 100644 --- a/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md +++ b/docs/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions.md @@ -38,7 +38,7 @@ Because a positive `Xfer` is written as `OTHER`, the SMB user sees `//OTHER/` in your-transaction-description//OTHER/£1.60 ``` -## SMB users explain the transfer themselves +### SMB users explain the transfer themselves Because the transaction arrives as `OTHER` rather than `Xfer`, FreeAgent doesn't suggest a transfer when your SMB user explains it. From f1c62978af4b7681058f1b282006b02af85daad2 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Wed, 5 Aug 2026 09:18:31 +0100 Subject: [PATCH 14/15] Use active voice for the sign adjustment Co-Authored-By: Claude Opus 5 --- docs/bank-feeds/pushing-transactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/bank-feeds/pushing-transactions.md b/docs/bank-feeds/pushing-transactions.md index 0199f945c..fe7c05852 100644 --- a/docs/bank-feeds/pushing-transactions.md +++ b/docs/bank-feeds/pushing-transactions.md @@ -19,7 +19,7 @@ Collect transaction data within your own application and map it to Codat's [Bank :::caution Transaction signs Make sure the transaction `amount` signs align with the `transactionType`. Codat issues a warning for inconsistencies, such as a `Debit` transaction with a positive amount. -Some accounting platforms take the direction of a transaction from its `transactionType` rather than the sign of the `amount`. FreeAgent works this way for some types, and Codat adjusts transfers so the sign you send is honored. See [Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions). +Some accounting platforms take the direction of a transaction from its `transactionType` rather than the sign of the `amount`. FreeAgent works this way for some types, and Codat adjusts transfers to honor the sign you send. See [Write bank transactions to FreeAgent](/integrations/bank-feeds/freeagent-bank-feeds/freeagent-bank-feeds-push-bank-transactions). ::: ## Write bank transactions From e912bcefe3188d7f8c6c8433318639e10123d2f4 Mon Sep 17 00:00:00 2001 From: Huw Thomas Date: Wed, 5 Aug 2026 09:43:32 +0100 Subject: [PATCH 15/15] Re-run checks Co-Authored-By: Claude Opus 5