Bank Statement Reconciler Pro

Automation

Bank Statement Reconciler · 银行流水对账 — Upload bank statements (CSV/Excel/PDF) + orders/invoices → AI auto-matching → Reconciliation results (matched/difference/unclaimed/unmatched). Supports Chinese banks (BOC/ICBC/CCB), Alipay/WeChat Pay, PayPal/Stripe, Amazon/Shopify/Temu. Trigger: 银行流水, 对账, 流水匹配, 银行对账, bank reconciliation, statement matching, 订单对账, 发票对账.

Install

openclaw skills install bank-statement-reconciler-pro

Bank Statement Reconciler · 银行流水对账

AI-powered bank statement reconciliation — upload statements + orders → get matched,差异,未认领,未核销 results.

AI Agent Full Flow

# One-shot reconciliation
result = reconcile_bank_statements(
    statement_file="bank.csv",           # Bank statement file
    order_file="orders.csv",             # Orders/invoices file
    statement_type="auto",                # auto, boc, icbc, ccb, alipay, wechat, paypal, stripe, amazon, shopify, temu
    order_type="auto",                   # auto, invoice, order
    match_mode="smart",                  # exact, fuzzy, smart (exact + fuzzy + semantic)
    amount_tolerance=0.01,               # For fuzzy matching (CNY)
    date_range_days=3,                   # For fuzzy date matching
    tier=TierConfig(is_pro=True),        # is_pro=True for Professional/Enterprise
)

# Result contains:
# - matched: list of matched transactions
# - differences: amount mismatches
# - unclaimed: money without corresponding order
# - unmatched_orders: orders without corresponding payment
# - summary: reconciliation summary
# - excel_path: path to exported Excel (if tier supports)

# Push to Feishu (Professional/Enterprise)
push_reconciliation_to_feishu(result, chat_id="oc_xxx")

Supported Statement Formats

Chinese Banks (CSV/Excel/PDF)

BankFormatKey Columns
中国银行 (BOC)CSV/Excel交易日期, 交易金额, 对方账户, 余额, 摘要
工商银行 (ICBC)CSV/Excel日期, 金额, 对方户名, 余额, 摘要
建设银行 (CCB)CSV/Excel交易时间, 交易金额, 对方账户, 余额, 备注
农业银行 (ABC)CSV/Excel交易日期, 金额, 对方姓名, 余额, 用途

Payment Platforms

PlatformFormatKey Columns
支付宝CSV交易时间, 对方, 金额, 状态, 说明
微信支付CSV交易时间, 交易类型, 交易金额, 交易对方, 备注
PayPalCSV/JSONDate, Amount, Item, Status, Counterparty
StripeCSV/JSONDate, Amount, Description, Customer, Currency

E-commerce

PlatformFormatKey Columns
亚马逊CSV/ExcelOrder Date, Order ID, Order Status, Item Total, Payment
ShopifyCSV/ExcelCreated, Name, Financial Status, Total, Source
TemuCSVDate, Order ID, Amount, Status, Payment Method

Matching Modes

1. Exact Matching (date + amount)

  • Same date (±0 days) + same amount (exact)
  • Best for: real-time payments, bank transfers

2. Fuzzy Matching (date range + amount tolerance)

  • Date within ±N days + amount within ±X tolerance
  • Configurable via date_range_days and amount_tolerance
  • Best for: delayed settlements, batch payments

3. Semantic Matching (counterparty name)

  • Uses AI to match counterparty names with fuzzy similarity
  • Handles: "阿里巴巴" ↔ "阿里云计算", "张三" ↔ "张三(个人)"
  • Requires: Professional tier or higher

Tier Capabilities

FeatureFreeBasicStandardProfessionalEnterprise
Monthly statements505005,000UnlimitedUnlimited
Bank accounts13UnlimitedUnlimitedUnlimited
Output formatTextExcelExcelExcel + JSONExcel + JSON + API
Alipay/WeChat
PayPal/Stripe
Semantic matching
Custom rules
Feishu card
Token prefixBANK-FREEBANK-BSCBANK-STDBANK-PROBANK-ENT

Difference Handling

Each discrepancy can be marked as:

  • 已处理 (Processed) - manually resolved
  • 待追款 (Pending collection) - amount owed
  • 坏账 (Bad debt) - unrecoverable

Excel Export Format

Exported Excel (reconciliation_YYYYMMDD_HHMMSS.xlsx) contains:

  • Sheet: 匹配结果 - Matched transactions
  • Sheet: 差异 - Amount differences
  • Sheet: 未认领 - Money without order (unclaimed)
  • Sheet: 未核销 - Order without payment (unmatched)
  • Sheet: 汇总 - Summary statistics

Feishu Card Output

Professional/Enterprise tiers support Feishu interactive cards:

{
  "msg_type": "interactive",
  "card": {
    "header": {
      "title": {"tag": "plain_text", "content": "对账结果"},
      "template": "blue"
    },
    "elements": [
      {"tag": "div", "text": {"tag": "lark_md", "content": "**匹配率**: 95.2%"}},
      {"tag": "div", "text": {"tag": "lark_md", "content": "**已匹配**: 238 笔"}},
      {"tag": "div", "text": {"tag": "lark_md", "content": "**差异**: 8 笔 (¥12,345.00)"}},
      {"tag": "div", "text": {"tag": "lark_md", "content": "**未认领**: 3 笔 (¥5,600.00)"}},
      {"tag": "div", "text": {"tag": "lark_md", "content": "**未核销**: 12 笔 (¥45,000.00)"}}
    ]
  }
}

Usage Examples

Basic Reconciliation

User: 对账这个月的银行流水和订单
Agent: 
1. Upload bank statement CSV + order CSV
2. Call reconcile_bank_statements(...)
3. Return structured results
4. (Standard+) Push to Feishu

Specific Bank

User: 对账中国银行的流水和发票
Agent:
1. statement_type="boc"
2. order_type="invoice"
3. Run reconciliation
4. Export Excel + Feishu card

Fuzzy Match with Tolerance

User: 对账时金额容差0.1元,日期范围3天
Agent:
1. amount_tolerance=0.1
2. date_range_days=3
3. match_mode="fuzzy"
4. Return results

Pricing & Token Validation

TierToken PrefixPlan ID
FreeBANK-FREETBD (yk global backend)
BasicBANK-BSCTBD
StandardBANK-STDTBD
ProfessionalBANK-PROTBD
EnterpriseBANK-ENTTBD

Token validation checks token prefix against tier.

Common Errors

ErrorCauseSolution
UNSUPPORTED_FORMATFile format not supportedConvert to CSV/Excel
COLUMN_NOT_FOUNDRequired column missingCheck statement format
AMOUNT_MISMATCHAmount parsing failedVerify currency/decimal
DATE_PARSE_ERRORDate format not recognizedSpecify date format manually
TIER_LIMIT_EXCEEDEDStatement count exceeds tierUpgrade or split files