Vision & Multimodal

expense-capture

ChenneyZhuang/expense-capture · ★ 0

ChenneyZhuang

Turn receipts and invoices into ledger-ready expense rows without invention: every field (date, merchant, amount, currency, tax) traces to the source image, unclear fields are flagged not guessed…

README body is shown in Chinese.

License
MIT
Added
2026-10-30
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-10-30T09:39:25.587Z
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add 'github:ChenneyZhuang/expense-capture#7e2e3a2f712073d7a8c5e8afe42c0e98b7a60896'

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: zh · Read Chinese README

Table of contents
  1. Why / 为什么
  2. Field discipline / 字段纪律
  3. The batch loop / 批处理闭环
  4. Honest limitations / 如实说明局限
  5. Install / 安装

Receipts become ledger rows — with every field traceable to the source image and nothing guessed.

收据变成账本行——每个字段都能追溯到原图,绝不脑补。

Why / 为什么

Expense entry has one expensive failure mode: invention. A misread total, a guessed merchant name, a tax amount assumed from the subtotal — each one is a small reconciliation nightmare and, in an audit, a credibility problem. The discipline is mechanical: transcribe what is visible, flag what is not, reconcile the batch at the end.

报销录入只有一种昂贵的失败:编造。看错总额、猜商家名、从小计倒推税额——每一个都是一次对账噩梦,在审计里是信用问题。纪律是机械的:看见什么抄什么,看不见的标记,最后整体对账。

Field discipline / 字段纪律

Field Rule
date as printed; different formats resolved explicitly
merchant exactly as shown; abbreviations kept, expansions marked as guesses
amount the charged amount as printed; the currency symbol travels with it
currency stated explicitly; mixed-currency batches convert with the rate and rate date shown
tax only when the receipt separates it; assuming tax from a total is a flagged guess
category from the ledger's own category list; unclear cases ask, never improvise

The batch loop / 批处理闭环

  1. Transcribe each receipt into a row, flags inline (unclear: merchant).
  2. Reconcile: row count == receipt count; sum of rows == sum read from the receipts (stated both ways).
  3. Re-verify flagged fields against the image once more before submitting; a flag that cannot be resolved stays a flag for the user.
  4. Ledger writes happen after approval, in the ledger's own format — and a row that fails to write is reported, not retried blind (blind retries create duplicates).

Honest limitations / 如实说明局限

  • Image recognition is the bottleneck: illegible receipts stay flagged, and flags need human eyes.
  • Tax rules differ by jurisdiction; the skill reads what is printed and never computes what should be there — tax advice stays with the accountant.

图片识别是瓶颈:看不清的收据保持标注,标注需要人来解。各地税务规则不同——skill 只读打印出来的,绝不计算"应该有"的;税务问题归会计。

Install / 安装

npx skills add ChenneyZhuang/expense-capture

Per-agent paths: COMPATIBILITY.md. MIT. v0.1.0.

各 agent 安装路径见 COMPATIBILITY.md。MIT 许可,v0.1.0。