From 07c04880d53ff55252f610ea43693e66c0d4d2f1 Mon Sep 17 00:00:00 2001 From: Peter Simpson Date: Mon, 10 Aug 2026 10:52:24 +0100 Subject: [PATCH 1/3] updating information on Xero for Bank Transactions and Bank Accounts --- ...5-deprecation-xero-bankstatement-report.md | 56 ------------------- docs/integrations/accounting/xero/xero-faq.md | 26 +++------ .../old/d1325a1-xero-bank-statement-46713.png | 3 - 3 files changed, 8 insertions(+), 77 deletions(-) delete mode 100644 blog/240305-deprecation-xero-bankstatement-report.md delete mode 100644 static/img/old/d1325a1-xero-bank-statement-46713.png diff --git a/blog/240305-deprecation-xero-bankstatement-report.md b/blog/240305-deprecation-xero-bankstatement-report.md deleted file mode 100644 index 76644965f..000000000 --- a/blog/240305-deprecation-xero-bankstatement-report.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "2024-04-02: Xero BankStatement Report breaking change" -date: "2024-03-05" -tags: ["Deprecation"] -authors: mcclowes ---- - -On April 2, 2024, Xero are implementing a breaking change to their `BankStatement` Report. - - - -If this affects your current use of Codat, your organization should have received an email from Xero: - -> On 2 April 2024 PDT/3 April 2024 NZT/AEST we plan to release a breaking change to how the Bank Statement report within the Reports endpoint of the Accounting API is accessed. **This change will make the Bank Statement report inaccessible unless you confirm that you meet some additional terms and conditions about your security practices.** We’re making this change as part of our ongoing efforts to improve the security of the Xero ecosystem. -> -> You’ve been sent this email because you have accessed the Bank Statement report in the last six months.  If you don’t need access to the Bank Statement report anymore then you don’t need to do anything.  We will remove your access to this report through the API on 2 April 2024 PDT/3 April 2024 NZT/AEST. -> -> If you want to continue accessing the Bank Statement report using the Xero API you will need to take the following steps **before 2 April 2024 PDT/3 April 2024 NZT/AEST**: -> -> 1. Read, understand and sign [the addendum to our developer terms and conditions here](https://au1.documents.adobe.com/public/esignWidget?wid=CBFCIBAA3AAABLblqZhBJeUiW3R6TEmiCOk1pgDH5Dkj52mWSuBQoofU2fw8p6TtE69YTVk2lKYzbpQm9_WI*) -> 2. Start requesting the accounting.reports.bankstatement.read scope when establishing new connections. Existing connections will not be affected at this stage. -> 3. Confirm by replying to this email that you’ve taken these steps. -> -> Importantly, there will be **no extensions to the 2 April 2024 deadline granted**, so please make sure you are prepared. -> -> If you have any questions or if there is anything we can do to help please reply to this email and one of our team will get back to you. - -The `BankStatement` report is used by Codat to populate various fields within the `Bank Accounts` and `Bank Transactions` data types. From April 2, 2024, these Codat data types will be impacted unless you complete Xero’s required steps (as below). - -## New behavior - -Unless the Xero required steps outlined below are completed: - -- The `Balance` field within the `Bank Accounts` data type won't be populated for Xero connections. -- `Bank Transactions` datasets will fail with a fetch error for Xero connections. - -## Action required - -**If you consume and use the affected datatypes and fields**, you need to: - -1. **Read, understand, and sign the addendum** to Xero’s developer terms and conditions [here](https://au1.documents.adobe.com/public/esignWidget?wid=CBFCIBAA3AAABLblqZhBJeUiW3R6TEmiCOk1pgDH5Dkj52mWSuBQoofU2fw8p6TtE69YTVk2lKYzbpQm9_WI). -2. **Confirm with Xero that you’ve taken these steps** by replying to Xero’s email (or email [api@support.xero.com](mailto:api@support.xero.com)). -3. **Confirm with Codat you’ve done this.** Forward a copy of your email to Xero to [partners@codat.io](mailto:partners@codat.io). - -:::note Changes to scopes -Xero’s communication requires changes to be made to scopes that are requested for new connections. We will handle this on your behalf **as long as we are notified** that you have completed the required steps with Xero as above. -::: - -## Expected impact if no action is taken - -If you do not complete the steps outlined by Xero, the `Bank Accounts` and `Bank Transactions` data types for Xero connections will be impacted: - -- The `Balance` field within the `Bank Accounts` data type won't be populated for Xero connections. -- `Bank Transactions` datasets will fail with a fetch error for Xero connections. - -There is no impact to other integrations, data types, or other fields within the affected data types. diff --git a/docs/integrations/accounting/xero/xero-faq.md b/docs/integrations/accounting/xero/xero-faq.md index 5cfc7b5d8..98dcdb5da 100644 --- a/docs/integrations/accounting/xero/xero-faq.md +++ b/docs/integrations/accounting/xero/xero-faq.md @@ -18,6 +18,14 @@ The validity of the `taxRateRef.id` property on the Item depends on the value of When reading account balances from Xero, the balance and the currency always use the company's base currency in Codat. This applies even if the source nominal accounts are in a foreign currency. This is how the information is retrieved from the Xero API. +### Bank Accounts + +The Balance field within the Bank Accounts data type won't be populated for Xero connections. + +### Bank Transactions + +The Bank Transactions dataset is expected to fail with a fetch error for Xero connections. + ## Your application's user interface If you provide your SMB customers with an application, we recommend you implement a setup page that allows them to connect to Xero and manage integration settings without any assistance from your support or onboarding teams. @@ -142,24 +150,6 @@ You can only write a tracking category to Xero if it has a non-null value for `p You are unable to write tracking categories that, when they were read, have the property `"hasChildren": true`. A validation error is returned. -### Why do I see only 5 years' of bank transactions for my Xero connections? - -For performance reasons, the default date range for reading bank transactions from Xero is the past five years. - -If you need to increase or decrease this date range, edit the value of the `syncFromUTC` property for the `bankTransactions` data type in your additional sync settings (via a request to `POST /companies/{companyId}/syncSettings`). - -You can set `syncFromUTC` for all companies or individual companies. For more information, see [Advanced sync settings](/knowledge-base/advanced-sync-settings) or raise a ticket with our support team through our [support request form](https://codat.zendesk.com/hc/en-gb/requests/new). - -### Why do I see a different reference value when I read bank transactions to Xero that I'd previously written? - -There is a limitation in the data sets returned from Xero when reading Bank transactions to Codat. The **Particulars**, **Reference**, and **Code** values, which are visible in columns in the Xero UI, are returned together in the `description` field, concatenated and separated with spaces. - -The **Payee** in Xero is read to Codat as the `counterparty` of the Bank transaction. - -For example, the **Statement line** below will result in a bank statement line with a `counterparty` of `Payee 3` and a `description` with the value: `Description 3 Reference 3 3`. - - - ### Can I write batch payments to Xero? Yes. To write a batch payment to Xero, you write a [Bill payment](/accounting-api#/operations/post-bill-payment) with multiple line items. Writing a batch payment to Xero will create the following business objects: diff --git a/static/img/old/d1325a1-xero-bank-statement-46713.png b/static/img/old/d1325a1-xero-bank-statement-46713.png deleted file mode 100644 index 07d54d257..000000000 --- a/static/img/old/d1325a1-xero-bank-statement-46713.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72bc23aee257f8904aedfd747593d060ec44e83566eb5b45141a8a457790d617 -size 109378 From c5382ba9c855e261f0870b2c18fd01114705f677 Mon Sep 17 00:00:00 2001 From: Peter Simpson Date: Mon, 10 Aug 2026 10:58:56 +0100 Subject: [PATCH 2/3] formatting --- docs/integrations/accounting/xero/xero-faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/accounting/xero/xero-faq.md b/docs/integrations/accounting/xero/xero-faq.md index 98dcdb5da..0dfd66cfa 100644 --- a/docs/integrations/accounting/xero/xero-faq.md +++ b/docs/integrations/accounting/xero/xero-faq.md @@ -22,7 +22,7 @@ When reading account balances from Xero, the balance and the currency always use The Balance field within the Bank Accounts data type won't be populated for Xero connections. -### Bank Transactions +### Bank Transactions The Bank Transactions dataset is expected to fail with a fetch error for Xero connections. From 61435919a0da3d4863894b854e5ee1e4486d2cd4 Mon Sep 17 00:00:00 2001 From: Peter Simpson Date: Mon, 10 Aug 2026 11:48:18 +0100 Subject: [PATCH 3/3] remove dangling redirect to deleted Xero bank statement update The 240305 deprecation post was removed in this branch, but a legacy URL still redirected to it. plugin-client-redirects validates every target against the generated routes and hard-failed the build. Co-Authored-By: Claude Opus 5 (1M context) --- redirects.config.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/redirects.config.js b/redirects.config.js index 1fb70a2ca..99f5a79b5 100644 --- a/redirects.config.js +++ b/redirects.config.js @@ -495,10 +495,6 @@ module.exports = { from: "/updates/240314-removing-transfer-transaction-type-SFE", to: "/updates/240314-deprecation-transfer-transaction-type-SFE", }, - { - from: "/updates/240305-xero-bankstatement-report", - to: "/updates/240305-deprecation-xero-bankstatement-report", - }, // New webhooks logic { from: "/introduction/webhooks/core-rules-webhooks",