Skip to content

Document FreeAgent bank feeds transaction direction - #1870

Merged
Huweey merged 15 commits into
mainfrom
docs/freeagent-bank-feeds-transaction-direction
Aug 5, 2026
Merged

Document FreeAgent bank feeds transaction direction#1870
Huweey merged 15 commits into
mainfrom
docs/freeagent-bank-feeds-transaction-direction

Conversation

@Huweey

@Huweey Huweey commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Description

FreeAgent takes transaction direction from transactionType, not the sign of amount, unlike Xero and QuickBooks Online. Codat now sends a positive Xfer as OTHER so the sign is honored, and FreeAgent shows the type in the description the SMB sees.

Two separable commits:

  1. One sentence on the cross-platform Write transactions page, next to the existing sign rule.
  2. A new FreeAgent bank feeds section (Overview + Write bank transactions) plus nav entries. FreeAgent previously had no bank feeds pages and was linked to the generic accounting page.

Type of change

  • New document(s)/updating existing

Huweey added 2 commits August 4, 2026 11:28
One sentence on the cross-platform write page, where the sign rule already lives.
Covers how FreeAgent takes transaction direction from the type, and the Xfer to
OTHER conversion Codat applies. Nav entries point at the new pages.
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] <Google.WordListCase> reported by reviewdog 🐶
Use 'app' instead of 'application'.

Suggested change
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.
Our FreeAgent Bank Feeds integration allows you to set up a bank feed from a bank account in your app (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.

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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Parens> reported by reviewdog 🐶
Use parentheses judiciously.

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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Parens> reported by reviewdog 🐶
Use parentheses judiciously.

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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Passive> reported by reviewdog 🐶
In general, use active voice instead of passive voice ('is established').


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).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] <Google.WordListCase> reported by reviewdog 🐶
Use 'capability' or 'feature' instead of 'functionality'.

Suggested change
Bank feeds functionality is part of our existing [FreeAgent accounting integration](/integrations/accounting/freeagent/accounting-freeagent).
Bank feeds capability is part of our existing [FreeAgent accounting integration](/integrations/accounting/freeagent/accounting-freeagent).
Suggested change
Bank feeds functionality is part of our existing [FreeAgent accounting integration](/integrations/accounting/freeagent/accounting-freeagent).
Bank feeds feature 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).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Passive> reported by reviewdog 🐶
In general, use active voice instead of passive voice ('are represented').


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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Passive> reported by reviewdog 🐶
In general, use active voice instead of passive voice ('are represented').

Huweey and others added 8 commits August 4, 2026 13:12
Active voice, contractions, and a named group reference instead of "row above".
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Huweey
Huweey marked this pull request as ready for review August 5, 2026 07:51
Huweey and others added 2 commits August 5, 2026 09:09
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

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.

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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Colons> reported by reviewdog 🐶
'FreeAgent' should be in lowercase.


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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Passive> reported by reviewdog 🐶
In general, use active voice instead of passive voice ('is recorded').


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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Anthropomorphism> reported by reviewdog 🐶
Don't attribute human qualities to software or hardware ('sees').

your-transaction-description//XFER/£1.60
```

Because a positive `Xfer` is written as `OTHER`, the SMB user sees `//OTHER/` instead:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Passive> reported by reviewdog 🐶
In general, use active voice instead of passive voice ('is written').

your-transaction-description//XFER/£1.60
```

Because a positive `Xfer` is written as `OTHER`, the SMB user sees `//OTHER/` instead:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Google.Anthropomorphism> reported by reviewdog 🐶
Don't attribute human qualities to software or hardware ('sees').

Huweey and others added 3 commits August 5, 2026 09:14
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-08-05 09:00 UTC

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Link check results:

[]

@Huweey
Huweey merged commit c22c093 into main Aug 5, 2026
8 checks passed
@Huweey
Huweey deleted the docs/freeagent-bank-feeds-transaction-direction branch August 5, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants