From 4c6315be35e83dbc5707f94d98202d8e093a0e70 Mon Sep 17 00:00:00 2001 From: Nargiz Gasimova Date: Tue, 13 Oct 2026 11:10:46 +0100 Subject: [PATCH 1/2] DATA-2425: Clean up Enhanced Cash Flow docs after the migration Mark the deprecation update as completed, remove the migration guide (with a redirect to the bank statements overview) and rename the report in the Excel download overview. Co-Authored-By: Claude Opus 5.5 --- ...0703-deprecation-enh-cashflow-endpoints.md | 4 +- .../features/enhanced-cash-flow-migration.md | 388 ------------------ .../features/excel-download-overview.md | 2 +- redirects.config.js | 4 + sidebars/lending.js | 16 +- 5 files changed, 9 insertions(+), 405 deletions(-) delete mode 100644 docs/lending/features/enhanced-cash-flow-migration.md diff --git a/blog/250703-deprecation-enh-cashflow-endpoints.md b/blog/250703-deprecation-enh-cashflow-endpoints.md index c1fd4dde01..3724e733a5 100644 --- a/blog/250703-deprecation-enh-cashflow-endpoints.md +++ b/blog/250703-deprecation-enh-cashflow-endpoints.md @@ -1,5 +1,5 @@ --- -title: "2026-07-10: Enhanced Cashflow Report: Deprecation of legacy endpoints" +title: "Completed 2026-10-13: Enhanced Cashflow Report: Deprecation of legacy endpoints" date: "2025-07-03" tags: ["Deprecation", "Assess", "Enhanced Cashflow"] authors: ivasiutkova @@ -24,7 +24,7 @@ Only requests for the `enhancedCashFlow` report type will be affected. Other rep ## Action required -To avoid disruption, update your integration to use the new [Manage Reports](/lending-api#/operations/generate-report) endpoints before July 10, 2026. For detailed, step-by-step instructions, refer to our [Migration guide](https://docs.codat.io/lending/features/enhanced-cash-flow-migration). +To avoid disruption, update your integration to use the new [Manage Reports](/lending-api#/operations/generate-report) endpoints before July 10, 2026. For details of the new report, see our [Bank statements overview](/lending/features/bank-statements-overview). ## Expected impact if no action is taken diff --git a/docs/lending/features/enhanced-cash-flow-migration.md b/docs/lending/features/enhanced-cash-flow-migration.md deleted file mode 100644 index 752902f65c..0000000000 --- a/docs/lending/features/enhanced-cash-flow-migration.md +++ /dev/null @@ -1,388 +0,0 @@ ---- -title: "Migration guide for Enhanced Cashflow report" -description: "Check how you can transition your existing Codat integration with Enhanced Cashflow endpoints to our new Categorized Bank Statement report endpoints" -displayed_sidebar: "lending" -image: "/img/banners/social/lending.png" ---- - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; - -We have recently launched the **Categorized Bank Statement** report, which replaces the legacy **Enhanced Cashflow** report. The new report includes built-in orchestration for fetching required data from third-party integrations and provides webhook notifications when the report is ready. - -To ensure a smooth transition, we recommend migrating to the new endpoints ahead of the [upcoming deprecation](https://docs.codat.io/updates/250703-deprecation-enh-cashflow-endpoints) on **July 10, 2026**. - -Categorized Bank Statement report is generated through an asynchronous process. This means you must explicitly request the report before you can retrieve any data, and wait until it completes. - -This report is not generated automatically on a predefined schedule. If you need reports to be triggered automatically on link and/or on a sync schedule, please reach out to your Account Manager. - -:::info In this guide: - -- Recommended steps to migrate your integration to new Categorized Bank Statement report -- Mapping of legacy Enhanced Cashflow endpoints to new ones -- Workflow updates required for the new report - ::: - -## What you need to do - -To prepare for the deprecation, you’ll need to update your application to use the Categorized Bank Statement endpoints in place of the Enhanced Cashflow ones. - -To switch to the Categorized Bank Statement report we recommend an "expand/contract" strategy. -Before you start your migration enable the new report in the [Portal](https://app.codat.io/developers/api-deprecations). Learn how to do that [here](https://docs.codat.io/configure/portal/developers). - -Once enabled, you can run both the legacy and new endpoints in parallel, allowing for a phased transition before the deprecation deadline. - -The steps below outline how each part of your existing workflow maps to the new implementation, with details on what’s changed and how to adapt. - -### 1. Generate a report - -To generate the report asynchronously, update your application logic to call the new endpoint in place of the legacy one. This triggers the orchestration process to fetch all required data for the report. - -#### Legacy endpoint - -`POST /data/companies/{companyId}/assess/excel?reportType=enhancedCashFlow` - -#### New endpoint - -`POST /companies/{companyId}/reports/categorizedBankStatement` - -#### Response changes - -**The response format has changed**. The new Categorized Bank Statement endpoint returns a simplified, structured object that includes the report id, status, and relevant timestamps. - -
- Compare sample responses - - - -```json -{ - "lastGenerated": "2023-01-25T22:36:05.125Z", - "inProgress": true, - "queued": "2023-01-25T22:36:05.125Z", - "success": true, - "errorMessage": "string", - "lastInvocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "reportType": "string", - "fileSize": 0 -} -``` - - - - - -```json -{ - "id": "6e9bae88-72c9-45ae-abe8-41fbf2871458", - "status": "InProgress", - "type": "categorizedBankStatement", - "requestedDate": "2024-09-27T04:43:41Z", - "updatedDate": "2024-10-01T14:41:46Z" -} -``` - - - - - -| **Old schema property** | **New schema equivalent** | -| ----------------------- | ------------------------------------------------------------------------------------------------------- | -| `lastGenerated` | πŸ” Use `GET /companies/{companyId}/reports` endpoint instead to retrieve previously generated reports | -| `inProgress` | βœ… Replaced by `status` – indicates the current state of the report (`InProgress`, `Complete`, `Error`) | -| `queued` | βœ… Replaced by `requestedDate` – timestamp for when the report was requested | -| `success` | βœ… Use `status` instead | -| `errorMessage` | βœ… Remains `errorMessage` | -| `lastInvocationId` | ❌ Not available | -| `reportType` | βœ… Renamed to `type` | -| `fileSize` | ❌ Not available | - -
- -Refer to the [Generate report](https://docs.codat.io/lending-api#/operations/generate-report) API reference for more details. - -### 2. Check report status - -To determine when the report is complete, update your implementation to use the new status endpoint. - -#### Legacy endpoint - -`GET /data/companies/{companyId}/assess/excel?reportType=enhancedCashFlow` - -#### New endpoint - -`GET /companies/{companyId}/reports/categorizedBankStatement/latest/status` - -#### Response changes - -The **response object has changed**. The response has been updated to return the full report metadata, including the report id, status, timestamps, and the report type. - -
- Compare sample responses - - - -```json -{ - "lastGenerated": "2023-01-25T22:36:05.125Z", - "inProgress": true, - "queued": "2023-01-25T22:36:05.125Z", - "success": true, - "errorMessage": "string", - "lastInvocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "reportType": "string", - "fileSize": 0 -} -``` - - - - - -```json -{ - "id": "6e9bae88-72c9-45ae-abe8-41fbf2871458", - "status": "Complete", - "type": "categorizedBankStatement", - "requestedDate": "2024-09-27T04:43:41Z", - "updatedDate": "2024-09-27T04:48:31Z" -} -``` - - - - - -| **Old schema property** | **New schema equivalent** | -| ----------------------- | ------------------------------------------------------------------------------------------------------- | -| `lastGenerated` | πŸ” Use `GET /companies/{companyId}/reports` endpoint instead to retrieve previously generated reports | -| `inProgress` | βœ… Replaced by `status` – indicates the current state of the report (`InProgress`, `Complete`, `Error`) | -| `queued` | βœ… Replaced by `requestedDate` – timestamp for when the report was requested | -| `success` | βœ… Use `status` instead | -| `errorMessage` | βœ… Remains `errorMessage` | -| `lastInvocationId` | ❌ Not available | -| `reportType` | βœ… Renamed to `type` | -| `fileSize` | ❌ Not available | - -
- -Refer to the [Get report status](https://docs.codat.io/lending-api#/operations/get-report-status) API reference for details. - -### 3. Download the Excel report - -To download the generated report, update your application to use the new endpoint. - -#### Legacy endpoint - -`GET /data/companies/{companyId}/assess/excel/download?reportType=enhancedCashFlow` - -#### New endpoint - -`GET /companies/{companyId}/reports/categorizedBankStatement/latest/excel` - -#### Response changes - -There are **no changes** to the response. The endpoint will return an Excel file containing the report data as before. - -Refer to the [Download report](https://docs.codat.io/lending-api#/operations/download-categorized-bank-statement-excel) API reference for more details. - -### 4. Ensure the report generation is complete before querying data - -The Categorized Bank Statement endpoints for accounts and transactions require the report to be fully generated before any data can be retrieved. - -:::warning Important workflow update - -Unlike the legacy endpoints, the new endpoints require that a report already exists and its status is `Complete` before you can request accounts or transactions data. - -**Action Required** - Update your workflow to: - -1. Call `POST /companies/{companyId}/reports/categorizedBankStatement` - -2. Confirm the report status is `Complete` before calling Categorized Bank Statement accounts or transactions endpoints. - ::: - -You can determine whether the report has finished generating using one of the following methods: - -1. **Preferred: Subscribe to webhook events** - - [`reports.categorizedBankStatement.generate.successful`](/lending-api#/webhooks/reports.categorizedBankStatement.generate.successful/post) - - This event is triggered when the report is generated successfully. - - For more details, see [Webhooks Overview](/using-the-api/webhooks/create-consumer) - -2. **Alternatively: Poll the status endpoint** - - `GET /companies/{companyId}/reports/categorizedBankStatement/latest/status` - -### 5. Retrieve accounts and transactions data - -Instead of a single endpoint, account and transaction data is now available via two dedicated endpoints. -Before calling these, ensure that a report has been generated and is in the `Complete` state. -There are a few implications for your integration. - -- You’ll need to update your data parsing logic to extract transactions from the results array instead of navigating nested structures. - -- If you previously depended on embedded account information (e.g. balances or bank codes), you'll now need to use the accounts endpoint `GET /companies/{companyId}/reports/categorizedBankStatement/latest/accounts` - -- The new response follows standard REST conventions, which simplifies pagination and improves performance when working with large datasets. - -#### Legacy endpoint - -`GET /companies/{companyId}/reports/enhancedCashFlow/transactions` - -#### New endpoints - -`GET /companies/{companyId}/reports/categorizedBankStatement/latest/accounts` - -`GET /companies/{companyId}/reports/categorizedBankStatement/latest/transactions` - -#### Response changes - -| Change | Legacy Enhanced Cashflow | Categorized Bank Statement | -| ------------------- | ------------------------------------------------------------- | -------------------------------------------------------------- | -| **Top-level shape** | Nested object with `reportInfo`, `dataSources`, `reportItems` | Flat object with `results` array | -| **Transactions** | Nested under `reportItems.transactions` | Flattened under `results` array | -| **Accounts** | Embedded in `dataSources.accounts` with full account details | Referenced via `accountRef`; full details retrieved separately | -| **Metadata** | Included in `reportInfo` | Retrieved separately via status endpoint | - -
- Compare sample responses - - - -```json -{ - "reportInfo": { - "pageNumber": 1, - "pageSize": 100, - "totalResults": 2401, - "reportName": "Cash Flow transactions report", - "companyName": "Example Company", - "generatedDate": "2023-01-25T22:36:05.125Z" - }, - "dataSources": [ - { - "accounts": [ - { - "id": "4f78a6b0-e9bb-40f2-82fd-f3a2daa1fd0a", - "accountName": "Business Current Account", - "accountType": "Debit", - "currency": "USD", - "currentBalance": 1000 - ... - } - ] - } - ], - "reportItems": [ - { - "transactions": [ - { - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "accountRef": { - "id": "4f78a6b0-e9bb-40f2-82fd-f3a2daa1fd0a", - "name": "Business Current Account" - }, - "date": "2023-01-25", - "description": "Payment to supplier", - "amount": 100, - "currency": "USD", - "platformName": "Plaid" - ... - } - ] - } - ] -} -``` - - - - - -```json -{ - "pageNumber": 1, - "pageSize": 100, - "totalResults": 2, - "_links": { - "self": { - "href": "/companies/{companyId}/reports/categorizedBankStatement/latest/accounts" - } - ... - }, - "results": [ - { - "id": "4f78a6b0-e9bb-40f2-82fd-f3a2daa1fd0a", - "accountName": "Business Current Account", - "accountType": "Debit", - "currency": "USD", - "currentBalance": 1000 - ... - } - ... - ] -} -``` - - - - - -```json -{ - "pageNumber": 1, - "pageSize": 100, - "totalResults": 1, - "_links": { - "self": { - "href": "/companies/{companyId}/reports/categorizedBankStatement/latest/transactions" - } - ... - }, - "results": [ - { - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "accountRef": { - "id": "4f78a6b0-e9bb-40f2-82fd-f3a2daa1fd0a", - "name": "Business Current Account" - }, - "date": "2023-01-25", - "description": "Payment to supplier", - "amount": 100, - "currency": "USD", - "platformName": "Plaid" - ... - } - ... - ] -} -``` - - - - - -| **Old schema property** | **New schema - Accounts** | **New schema - Transactions** | -| ------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ | -| `reportInfo.pageNumber` | βœ… `pageNumber` | βœ… `pageNumber` | -| `reportInfo.pageSize` | βœ… `pageSize` | βœ… `pageSize` | -| `reportInfo.totalResults` | βœ… `totalResults` | βœ… `totalResults` | -| `reportInfo.generatedDate` | ❌ Not available (see report status for `updatedDate`) | ❌ Not available (see report status for `updatedDate`) | -| `dataSources.accounts[].id` | βœ… `results[].id` | πŸ” Referenced via `accountRef.id` | -| `dataSources.accounts[].accountName` | βœ… `accountName` | πŸ” Referenced via `accountRef.name` | -| `dataSources.accounts[].accountType` | βœ… `accountType` | ❌ Not available | -| `dataSources.accounts[].currency` | βœ… `currency` | βœ… `currency` | -| `dataSources.accounts[].currentBalance` | βœ… `currentBalance` | ❌ Not available | -| `reportItems[].transactions[].id` | ❌ Not available | βœ… `results[].id` | -| `reportItems[].transactions[].accountRef` | ❌ Not available | βœ… `accountRef` | -| `reportItems[].transactions[].date` | ❌ Not available | βœ… `date` | -| `reportItems[].transactions[].description` | ❌ Not available | βœ… `description` | -| `reportItems[].transactions[].amount` | ❌ Not available | βœ… `amount` | -| `reportItems[].transactions[].currency` | ❌ Not available | βœ… `currency` | -| `reportItems[].transactions[].platformName` | ❌ Not available | βœ… `platformName` | - -
- -Refer to the [List Accounts Endpoint](https://docs.codat.io/lending-api#/operations/list-categorized-bank-statement-accounts) and [List Transactions Endpoint](https://docs.codat.io/lending-api#/operations/get-categorized-bank-statement-transactions) documentations for details. diff --git a/docs/lending/features/excel-download-overview.md b/docs/lending/features/excel-download-overview.md index fd71ef73ec..72a0e56b40 100644 --- a/docs/lending/features/excel-download-overview.md +++ b/docs/lending/features/excel-download-overview.md @@ -18,7 +18,7 @@ Our Excel download feature consists of the following component reports: - **Enhanced financial statements** provide an output of the categorized profit and loss and balance sheet statements. -- **Enhanced cash flows** provides an output of the categorized bank transactions. +- **Categorized bank statements** provides an output of the categorized bank transactions. - **Enhanced invoices** provides an output of reconciled invoices. diff --git a/redirects.config.js b/redirects.config.js index 99f5a79b51..f2c951ae05 100644 --- a/redirects.config.js +++ b/redirects.config.js @@ -886,6 +886,10 @@ module.exports = { to: "/lending/troubleshooting", from: "/assess/troubleshooting", }, + { + to: "/lending/features/bank-statements-overview", + from: "/lending/features/enhanced-cash-flow-migration", + }, ].concat( prodRework, _toConsumableArray(mapIntegrationRedirects(acc, "accounting")), diff --git a/sidebars/lending.js b/sidebars/lending.js index d1c8808553..b4e2280f66 100644 --- a/sidebars/lending.js +++ b/sidebars/lending.js @@ -13,25 +13,13 @@ module.exports = [ }, "lending/get-started", { - type: "category", + type: "link", label: "Bank statements", customProps: { hr: true, section: "Features", }, - collapsed: true, - items: [ - { - type: "doc", - id: "lending/features/bank-statements-overview", - label: "Overview", - }, - { - type: "doc", - id: "lending/features/enhanced-cash-flow-migration", - label: "Migration guide - Enhanced cashflow", - }, - ], + href: "/lending/features/bank-statements-overview", }, "lending/features/sales-overview", "lending/features/financial-statements-overview", From c8f3b7f8785453870296f5c8cccfe6a89930f2bb Mon Sep 17 00:00:00 2001 From: Nargiz Gasimova Date: Tue, 13 Oct 2026 13:49:47 +0100 Subject: [PATCH 2/2] DATA-2425: Remove the deprecated enhancedCashFlow endpoint from the docs The bank statements overview now shows the categorized bank statement report flow instead of SDK samples for the removed endpoint. Remove enhancedCashFlow from the Excel report types and delete the draft Enhanced Cash Flow Excel page. The Portal page keeps the "Enhanced Cash Flow" name because the Portal still shows it. Co-Authored-By: Claude Opus 5.5 --- .../excel/enhanced-cash-flow-report.md | 30 ---- docs/lending/excel/overview.md | 1 - .../features/bank-statements-overview.md | 129 ++---------------- docs/lending/portal/overview.md | 2 +- .../img/lending/enhanced-cash-flow-blur.png | 3 - 5 files changed, 9 insertions(+), 156 deletions(-) delete mode 100644 docs/lending/excel/enhanced-cash-flow-report.md delete mode 100644 static/img/lending/enhanced-cash-flow-blur.png diff --git a/docs/lending/excel/enhanced-cash-flow-report.md b/docs/lending/excel/enhanced-cash-flow-report.md deleted file mode 100644 index 14a716e201..0000000000 --- a/docs/lending/excel/enhanced-cash-flow-report.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Enhanced Cash Flow Excel Report" -description: "Download the Enhanced Cash Flow report to Excel" -sidebar_label: "Enhanced Cash Flow report" -image: "/img/banners/social/lending.png" -draft: true ---- - -Our Enhanced Cash Flow Excel report gives you the same data you'd get from the [Enhanced Cash Flow](/lending/enhanced-cash-flow/overview) endpoint but in an Excel workbook. You can use the report to test some companies and familiarize yourself with the data before building to the equivalent API endpoint. - -The report contains the output of the [Enhanced Cash Flow](/lending/enhanced-cash-flow/overview) feature. - -## Prerequisites - -The Enhanced Cash Flow Excel report requires a company to have the following datatypes to be synced: - -- Banking-accounts -- Banking-transactions - -If these requirements are not met an empty Excel workbook will be returned. - -## Generating the report - -You can generate the Enhanced Cash Flow Excel report using the API or the Codat Portal. The [Lending reports in Excel](/lending/excel/overview) article describes how to generate and download the report using the API. - -## Using the report - -The report provides information about the company's banking accounts and banking transactions. The transactions are ordered by date and contain the confidence and financial category metrics. - -![Enhanced Cash Flow Report](/img/lending/enhanced-cash-flow-blur.png "Enhanced Cash Flow Report") diff --git a/docs/lending/excel/overview.md b/docs/lending/excel/overview.md index 54567e2ce6..7c14743093 100644 --- a/docs/lending/excel/overview.md +++ b/docs/lending/excel/overview.md @@ -21,7 +21,6 @@ These reports will show you what data is available from our API without writing ## Available report types - [Audit report](/lending/excel/audit-report) (`reportType=audit`) identifies indicators of inaccurate or out-of-date accounts, helping you to make decisions with confidence. -- [Enhanced Cash Flow report](/lending/excel/enhanced-cash-flow-report) (`reportType=enhancedCashFlow`) contains enhanced cash flow data. - [Enhanced Financials report](/lending/excel/enhanced-financials-report) (`reportType=enhancedFinancials`) contains enhanced profit and loss and balance sheet data, allowing you to calculate key metrics. - [Enhanced Invoices report](/lending/excel/enhanced-invoices-report) (`reportType=enhancedInvoices`) contains enhanced invoices that are linked to payments. diff --git a/docs/lending/features/bank-statements-overview.md b/docs/lending/features/bank-statements-overview.md index dbdd560c5c..ad0ac4ae20 100644 --- a/docs/lending/features/bank-statements-overview.md +++ b/docs/lending/features/bank-statements-overview.md @@ -8,8 +8,6 @@ image: "/img/banners/social/lending.png" import Products from "@components/Products"; import { IntegrationsList } from "@components/Integrations"; import { bankingIntegrations } from "@components/Integrations/integrations"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; Our **bank statements** feature provides data from a linked company’s banking connections. Transactions are enriched with financial category and payment provider information. @@ -35,7 +33,7 @@ Our banking feature consists of the following components, supported across a num 3. **[Account balances:](/lending-api#/operations/list-banking-account-balances)** balances for a bank account, including the end-of-day batch balance or running balances per transaction -4. **[Categorized bank statements:](/lending-api#/operations/get-categorized-bank-statement)** all connected bank accounts and transactions with enrichments in a single endpoint. +4. **[Categorized bank statements:](/lending-api#/operations/get-categorized-bank-statement-transactions)** all connected bank accounts and transactions with enrichments in a single report.