# Bank Feed API

*/Software/Bank_Feed_API*

## Solution Overview

Bank Feed API provides a unified, programmable interface for extracting and normalizing transaction ledgers from fragmented financial institutions. It ingests raw financial data through direct OAuth connections, SFTP drops, or automated credential-based scraping, converting messy bank-specific exports into a standardized JSON schema. The output assigns a universal merchant ID, categorizes the transaction using standard accounting codes, and appends confidence scores for edge-case debits.

Fintech infrastructure developers and operators of autonomous bookkeeping services consume this primitive to bypass the maintenance burden of regional bank integrations. Instead of managing thousands of brittle scraping scripts or handling legacy CSV formats from localized credit unions, engineering teams query a single endpoint to retrieve daily cleared transactions. This resolves the persistent data-engineering bottleneck of parsing unformatted memo lines and reconciling pending versus posted settlement dates.

Operating strictly as a headless SaaS layer, Bank Feed API anchors the bottom of the financial automation stack. It consumes raw ledger data from legacy banking infrastructure and formats it for ingestion by higher-level autonomous agents, such as automated accounts payable bots and tax-preparation workflows. When the API extracts unidentifiable merchant strings or mismatched multi-currency settlements, it flags the transaction payload, requiring a human controller to define a new mapping rule before downstream agents proceed.

## Headless Saas Data Model

**Entities**:
- Name: Transaction · Description: A normalized financial ledger entry with standardized categorization and merchant mapping.
- Name: Account · Description: A specific banking account (checking, savings, credit) holding standardized transactions.
- Name: Connection · Description: An integration link to a financial institution via OAuth, SFTP, or scraping.
- Name: Merchant · Description: A universal entity representing the standard payee or payer of a transaction.
- Name: MappingRule · Description: A controller-defined heuristic that maps raw memo strings to standardized merchants.
- Name: Workspace · Description: The tenant container isolating connections, transactions, and custom rules per customer.
**Relations**:
- To: Connection · From: Workspace · Label: manages · Cardinality: one-to-many
- To: MappingRule · From: Workspace · Label: defines · Cardinality: one-to-many
- To: Account · From: Connection · Label: holds · Cardinality: one-to-many
- To: Transaction · From: Account · Label: contains · Cardinality: one-to-many
- To: Transaction · From: Merchant · Label: categorizes · Cardinality: one-to-many
- To: MappingRule · From: Merchant · Label: resolves to · Cardinality: one-to-many
**Tenant Anchor**: Workspace
**Primary Resource**: Transaction

## Api Definition

**Protocols**:
- REST
- SDK
- MCP
- Webhooks
**Consumed By**:
- [Accounts Payable Agent](/Agents/Accounts_Payable_Agent)
- [Bookkeeping Agent](/Agents/Bookkeeping_Agent)
- [Tax Preparation Agent](/Agents/Tax_Preparation_Agent)
- [Treasury Management Agent](/Agents/Treasury_Management_Agent)
**Integrations**:
- [Plaid](/Products/Plaid)
- [Yodlee](/Products/Yodlee)
- [AWS S3](/Products/AWS_S3)
- [SFTP](/Products/SFTP)
- [J.P. Morgan Chase Connect](/Products/J.P._Morgan_Chase_Connect)
**Consumption Model**: An agent registers the MCP server to provision new banking connections, then subscribes to the transaction.categorized webhook to continuously ingest normalized ledgers into its operational loop.
**Workflow Wrappers**:
- Name: Sync Account Ledger · Wraps: Triggers upstream institution scrapes, applies mapping rules, and normalizes the resulting transaction payloads.
- Name: Resolve Pending Settlements · Wraps: Matches clearing dates against pending holds to deduplicate and finalize posted transaction states.
- Name: Apply Global Mapping · Wraps: Applies a newly defined mapping rule to retroactively categorize historical mismatched memo strings.

## Api Function Cascade

**Ai Role**: This stateless primitive runs a fully digital, straight-through process, utilizing deterministic code to ingest and normalize feeds alongside generative models to classify transaction memos, with zero human intervention required on the execution path.
**Cascade**:
- Kind: Code · Note: Triggers upstream scrapes from Plaid, Yodlee, and J.P. Morgan Chase Connect. · Step: Ingest Institution Feeds · Verb: ingest · Realizes: Fetch Financial Records · Oversight: none
- Kind: Code · Note: Maps disparate bank payload schemas into a unified ledger format. · Step: Normalize Transaction Payloads · Verb: normalize · Realizes: Standardize Data Formats · Oversight: none
- Kind: Generative · Note: Applies mapping rules to determine the vendor and expense category. · Step: Classify Memo Strings · Verb: classify · Realizes: Categorize Financial Transactions · Oversight: none
- Kind: Code · Note: Matches clearing dates against pending holds to deduplicate and finalize states. · Step: Resolve Pending Settlements · Verb: reconcile · Realizes: Reconcile Accounts · Oversight: none
- Kind: Code · Note: Fires transaction.categorized events to consuming agents via Webhook. · Step: Emit Categorized Webhook · Verb: distribute · Realizes: Transmit Operational Data · Oversight: none
**Optimizes**:
- [Ledger Sync Latency](/Metrics/Ledger_Sync_Latency)
- [Transaction Categorization Accuracy](/Metrics/Transaction_Categorization_Accuracy)
- [Duplicate Transaction Rate](/Metrics/Duplicate_Transaction_Rate)

## Headless Saas Representative Offer

**Warranty**: Maintains a 99.9% API uptime Service Level Agreement, offering prorated billing credits if transaction ingestion or webhook delivery falls below the defined availability threshold.
**Price Band**: Roughly $0.10 to $0.40 per linked bank account per month, plus fractional cents per categorized transaction synced.
**Pricing Kind**: UsageMeter
**Deliverables**:
- Normalized transaction payload endpoints
- Real-time ledger synchronization webhooks
- Model Context Protocol (MCP) server credentials for bank connection provisioning
- Retroactive category mapping engine access
**Delivery Mode**: Software clients and AI agents instantly provision API access and generate MCP server credentials via a self-serve developer portal to begin consuming webhooks and endpoints immediately.
**Business Function**: ProvideService
**Agent Checkout Support**:
- agentic-commerce-protocol
- stored-credential

## Headless Saas Crud Surface

**Auth Model**: API Key
**Endpoints**:
- GET /transactions — list normalized transactions
- GET /transactions/{id} — fetch a specific transaction
- POST /transactions — insert a new transaction
- PATCH /transactions/{id} — update a transaction status or category
- GET /accounts — list all bank accounts
- GET /accounts/{id} — fetch a specific account
- POST /accounts — create a new account record
- PATCH /accounts/{id} — update an account configuration
- GET /accounts/{id}/transactions — list transactions contained in a specific account
- GET /connections — list all institution connections
- GET /connections/{id} — fetch a specific connection
- POST /connections — establish a new integration link
- PATCH /connections/{id} — update connection credentials or state
- GET /connections/{id}/accounts — list accounts held by a specific connection
- POST /connections/{id}/sync — trigger an immediate sync of connection data
- GET /merchants — list all universal merchant entities
- GET /merchants/{id} — fetch a specific merchant
- POST /merchants — create a universal merchant
- PATCH /merchants/{id} — update merchant details like category or logo
- GET /merchants/{id}/transactions — list transactions categorized to a specific merchant
- GET /merchants/{id}/mapping-rules — list rules resolving to a specific merchant
- GET /mapping-rules — list all heuristic mapping rules
- GET /mapping-rules/{id} — fetch a specific mapping rule
- POST /mapping-rules — define a new raw memo pattern mapping
- PATCH /mapping-rules/{id} — update an existing mapping rule
- GET /workspaces — list all tenant workspaces
- GET /workspaces/{id} — fetch a specific workspace
- POST /workspaces — create a new workspace container
- PATCH /workspaces/{id} — update workspace configuration
- GET /workspaces/{id}/connections — list connections managed by a specific workspace
- GET /workspaces/{id}/mapping-rules — list mapping rules defined by a specific workspace
**Multitenancy**: Row-level isolation
**Webhook Events**:
- connection.sync_completed
- connection.sync_failed
- transaction.created
- transaction.categorized

## Headless Saas Erd

```mermaid
erDiagram
    Transaction {
        UUID id PK
        UUID accountId FK
        UUID merchantId FK
        DECIMAL amount
        VARCHAR status
        VARCHAR rawMemo
        DECIMAL confidenceScore
    }
    Account {
        UUID id PK
        UUID connectionId FK
        VARCHAR name
        VARCHAR currency
        VARCHAR accountType
    }
    Connection {
        UUID id PK
        UUID workspaceId FK
        VARCHAR institutionName
        VARCHAR authType
        VARCHAR syncStatus
    }
    Merchant {
        UUID id PK
        VARCHAR universalName
        VARCHAR standardCategoryCode
        VARCHAR logoUrl
    }
    MappingRule {
        UUID id PK
        UUID workspaceId FK
        UUID targetMerchantId FK
        VARCHAR rawMemoPattern
        VARCHAR targetCategoryCode
    }
    Workspace {
        UUID id PK "tenant key"
        VARCHAR name
        BOOLEAN isActive
    }
    Workspace ||--o{ Connection : "manages"
    Workspace ||--o{ MappingRule : "defines"
    Connection ||--o{ Account : "holds"
    Account ||--o{ Transaction : "contains"
    Merchant ||--o{ Transaction : "categorizes"
    Merchant ||--o{ MappingRule : "resolves to"
```

## Neighborhood

### Composed into

- [Accumulation](/Startups/Accumulation) — composes · Startups
- [Abatementreel](/Startups/Abatementreel) — composes · Startups
- [Advealm](/Startups/Advealm) — composes · Startups
- [Scifac](/Startups/Scifac) — composes · Startups
- [Autate](/Startups/Autate) — composes · Startups
- [Wave](/Startups/Wave) — composes · Startups
- [Bookkorge](/Startups/Bookkorge) — composes · Startups
- [Finalatelier](/Startups/Finalatelier) — composes · Startups
- [Bookkeepercode](/Startups/Bookkeepercode) — composes · Startups
- [Vamill](/Startups/Vamill) — composes · Startups
- [Apiworks](/Startups/Apiworks) — composes · Startups
- [Unatter](/Startups/Unatter) — composes · Startups
- [Accountantserve](/Startups/Accountantserve) — composes · Startups
- [Accountantseal](/Startups/Accountantseal) — composes · Startups
- [Period Close Agent](/Agents/Period_Close_Agent) — composes · Agents
- [Compatter](/Startups/Compatter) — composes · Startups
- [Accountantedge](/Startups/Accountantedge) — composes · Startups
- [Audit Reconciliation Agent](/Agents/Audit_Reconciliation_Agent) — composes · Agents
- [Trial Balance Agent](/Agents/Trial_Balance_Agent) — composes · Agents
- [Accounting services](/Services/Accounting_services) — composes · Services
- [Bank Reconciliation Agent](/Agents/Bank_Reconciliation_Agent) — composes · Agents
- [AI Bookkeeper](/Agents/AI_Bookkeeper) — composes · Agents
- [AI Staff Bookkeeper](/Startups/AI_Staff_Bookkeeper) — composes · Startups
- [Staff Accountant Agent](/Agents/Staff_Accountant_Agent) — composes · Agents
- [Bookkeeping services](/Services/Bookkeeping_services) — composes · Services
- [Bookkeeping Service](/Services/Bookkeeping_Service) — composes · Services
- [Monthly Bookkeeping Service](/Services/Monthly_Bookkeeping_Service) — composes · Services
- [Bookkeeping as a Service](/Services/Bookkeeping_as_a_Service) — composes · Services

### Optimizes

- [Transaction Categorization Accuracy](/Metrics/Transaction_Categorization_Accuracy) — optimizes · Metrics
- [Duplicate Transaction Rate](/Metrics/Duplicate_Transaction_Rate) — optimizes · Metrics
- [Ledger Sync Latency](/Metrics/Ledger_Sync_Latency) — optimizes · Metrics

### Who consumes this

- [Treasury Management Agent](/Agents/Treasury_Management_Agent) — consumed by · Agents
- [Accounts Payable Agent](/Agents/Accounts_Payable_Agent) — consumed by · Agents
- [Bookkeeping Agent](/Agents/Bookkeeping_Agent) — consumed by · Agents
- [Tax Preparation Agent](/Agents/Tax_Preparation_Agent) — consumed by · Agents

### What it uses

- [AWS S3](/Products/AWS_S3) — uses · Products
- [J.P. Morgan Chase Connect](/Products/J.P._Morgan_Chase_Connect) — uses · Products
- [Plaid](/Products/Plaid) — uses · Products
- [SFTP](/Products/SFTP) — uses · Products
- [Yodlee](/Products/Yodlee) — uses · Products

### Similar Software

- [Bank Feed Ingestion API](/Software/Bank_Feed_Ingestion_API) — similar · Software
- [Bank Transaction API](/Software/Bank_Transaction_API) — similar · Software
- [Transaction Sync API](/Software/Transaction_Sync_API) — similar · Software
- [Open Banking APIs](/Resources/Client_financial_data/Software/Open_Banking_APIs) — similar · Software
- [Brokerage Account Feeds](/Resources/Client_financial_data/Software/Brokerage_Account_Feeds) — similar · Software
- [Core Banking Systems](/Resources/Client_financial_data/Software/Core_Banking_Systems) — similar · Software
- [Accounting API](/Software/Accounting_API) — similar · Software
- [Payroll Provider Feeds](/Resources/Client_financial_data/Software/Payroll_Provider_Feeds) — similar · Software
- [Invoice Reconciliation API](/Software/Invoice_Reconciliation_API) — similar · Software
- [Ledger Sync API](/Software/Ledger_Sync_API) — similar · Software
- [Ledger Reconciliation API](/Software/Ledger_Reconciliation_API) — similar · Software
- [ERP Ledger Sync API](/Software/ERP_Ledger_Sync_API) — similar · Software

### Similar Startups

- [Accountingaxis](/Startups/Accountingaxis) — similar · Startups
- [Accountancyrange](/Startups/Accountancyrange) — similar · Startups
- [Mold](/CompanyTypes/Accounting_Firm/Problems/Manual_Transaction_Reconciliation/Startups/Mold) — similar · Startups

### Similar Agents

- [Multi-Ledger Sync API](/Agents/Multi-Ledger_Sync_API) — similar · Agents
- [Receipt Extraction API](/Agents/Receipt_Extraction_API) — similar · Agents

### Similar Resources

- [Financial integration APIs](/Resources/Financial_integration_APIs) — similar · Resources
