New
Apps 1,179Makers 1,177This week 1,179
Promote your app−30%
Tidoc screenshot 1
2views in
the last 30 days

Tidoc

Desktop app for organizing expense invoices and receipts, with on-device recognition.

Built with Claude Code

by bitfsae · from CNChina · added Oct 29, 2026
no ratings0 comments

Tidoc:报账发票与材料整理

Tidoc

通用的报账凭证管理与整理工具。

文档站 tidoc.bitfsae.com · 下载安装 · 快速入门 · 演示视频 · 常见问题

Tidoc 是一款跨平台桌面程序(Windows、macOS),以一张发票为工作单元,完成发票导入、材料补齐、识别提醒、筛选和批次整理,并导出可交换或打印的报账材料。适合个人、团队和社团使用。

  • 整理:把一张发票和对应付款截图、实物图、查验单放在同一个条目中。
  • 核对:集中查看待补材料、识别提醒、人工修正和阿里云识别结果。
  • 协作:通过 .tidoc 绑定包交接完整条目和材料。
  • 输出:生成总览 Excel、附件整理包、材料 PDF,以及报账方案定义的 Word 文档。
  • 存储:业务数据和材料保存在本机,可整体迁移和备份。

下载

Windows 下载 tidoc-core-windows-v{version}.exe 后按提示安装。macOS 下载 tidoc-core-macos-v{version}.dmg,打开后把 Tidoc 拖入“应用程序”。

使用

使用方法只在文档站维护,这里不重复:

  • 快速入门:五步走完选择方案、导入发票、补齐材料、核对、整理并导出。
  • 基本概念:条目、材料、报账人、标签、报账批次、绑定包、识别提醒等词的含义。
  • 使用指南:导入、补齐材料、核对、批次、导出打印、报账方案和快捷操作。
  • 阿里云 OCR:可选的云识别,开通和配置步骤。
  • 设置与数据:数据位置、备份恢复,以及软件在哪些情况下会联网。
  • 软件和组件更新:核心软件、打印导出组件和 OCR 识别组件的更新。

软件内也有入口:主界面右上角的书本图标,以及「设置」底部「关于」里的「文档站」。

开发

git clone https://github.com/totok22/tidoc.git
cd tidoc
python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -r requirements-dev.txt
pip install -r requirements-print.txt   # 可选:启用打印导出组件
pip install -r requirements-ocr.txt     # 可选:启用阿里云云识别组件

python -m tidoc                    # 启动应用
python -m tidoc --debug            # 打开 WebView 调试
pytest                             # 运行测试

从源码运行时优先使用当前工作区的 tidoc_print / tidoc_ocr;发布版只调用已安装并校验过的独立组件。

文档站(docs/,VitePress)本地预览:cd docs && npm ci && npm run dev;构建检查:npm run build(死链接和缺失截图会使构建失败)。页面标题、描述、站点地图和分享图的约定见 AGENTS.md 的 Documentation site 一节。首页和概念页的界面截图用 python -m scripts.docs_screenshots 重新生成(需要 Chrome 或 Edge 和 Pillow,数据是脚本里的虚构数据,不会读写真实数据目录)。

团队适配包开发入口见开发手册。

python -m tidoc.adapter_tools --help
python -m tidoc.adapter_tools validate examples/adapters/generic

项目结构

tidoc/            核心(pywebview + pypdf + Send2Trash + jsonschema + Pillow + zxing-cpp)
├─ engine/        发票 XML / PDF 解析与金额校验
├─ adapters/      适配包协议、规则、内置包加载和方案服务
├─ builtin_adapters/  内置报账方案(通用、BITFSAE)
├─ adapter_tools/ 适配包命令行工具
├─ db/            SQLite、附件仓库、报账人、条目和批次
├─ services/      导入、汇总、绑定包、导出、打印适配和更新
├─ web/           HTML/CSS/JS 前端
├─ api.py         PyWebView JS ↔ Python 桥
└─ app.py         应用入口
tidoc_print/      打印导出组件(可选,含 Word / PDF 重依赖)
tidoc_ocr/        OCR 识别组件(可选,含阿里云 SDK,只在用户点击时联网)
schemas/          团队适配包 JSON Schema
examples/         团队适配包示例
docs/             文档站(VitePress):使用文档、开发文档和截图
scripts/          构建、版本号注入和打包入口
packaging/        Windows 安装器脚本
icon/             方形母版及 Windows 圆角 / macOS 方形平台图标
tests/            pytest 测试
.github/          CI、文档构建和发布流程

状态

已可用

  • 识别与核对:发票 XML / PDF 解析,支持区分票头成品油分类与购销方名称、按票面位置分离品名与换行规格、补齐容量单位、单位跨行续接、品名换行、跨页续接、免税与不征税明细、同品名折扣合并;按票面「价税合计」取总额,并核对不含税合计加税额、大写金额、两种读取方式的结果和 18 位信用代码校验位;XML 与 PDF 交叉核对,票面核对依据随条目保存;付款截图 AI 金额识别(实验性,在开发者选项填 Key;Key 保存后可在「云识别」手动识别,添加时自动识别默认关闭;多张截图累加后与实付比对,非付款凭证、金额不一致逐条写入识别提醒,详情可采用识别合计;支持 DeepSeek / Qwen 与兼容服务、按服务商分开保存 Key、可编辑提示词、DeepSeek 余额查询、并发进度及费用估算)、识别提醒、在线查验辅助;可选阿里云 OCR(开发者选项内填密钥,点击「云识别」时才联网,已保存原文可在本机重新整理后与本地结果比对采用)。
  • 取票二维码导入:拖入或粘贴商家给的取票二维码图片,联网下载发票 PDF 和 XML(只在放入二维码时联网;已在深圳、广东、湖北的链接上验证,PDF 与 XML 同时下载,慢平台自动重试,支持取消和失败重试;平台改版会失效,可手工导入)。
  • 条目与材料:一张发票对应一个条目,可补付款截图、查验单和实物图,支持备注、标签、批量选择、右键菜单和键盘导航;报账抬头、税号和材料要求可配置,首次可选通用方案或含北理工与教育基金会抬头的 BITFSAE 方案。
  • 筛选与批次:按材料状态、识别提醒和手动修改(关键信息、明细、实际物资名称和实付金额)筛选,排序可切换方向,可按报账人或抬头分组浏览;条目归属单一报账批次(在办 / 已归档),批次栏可拖动排序;导入时选择批次,弹窗内可新建报账人。
  • 界面:浅色、深色和跟随系统;长列表只排版视口附近的卡片。
  • 交接:.tidoc 绑定包携带完整条目和材料;导入预览默认全选,支持本机情况筛选、搜索和批量选择,补充已有条目默认保留原批次,可明确选择统一移动或逐条设置。导入时检测包内文件是否被手工改动(只能发现改动,不能防伪造);Windows / macOS 关联 .tidoc 文件,重复启动会激活已有窗口,软件已运行时双击 .tidoc 会转交给已有窗口。
  • 输出:总览 Excel、附件整理包;安装「打印导出组件」后可生成材料 PDF 和 Word 文档,材料 PDF 支持按材料种类单独拼接,默认剔除查验单空白尾页,可取消。材料和信息缺项只作提醒,PDF 跳过缺失或不可打印的文件,不补空白页。绑定包和各类输出可在生成前分别修改文件名。
  • 更新:核心软件与两个可选组件独立更新,有 SHA256 校验和修复入口;核心支持后台下载、实时进度与断点续传;可选测试版通道,默认关闭;发票识别方法更新后提示重新识别已有发票,可关闭提醒。
  • 团队适配包:团队用 JSON 和 Word 模板定义自己的抬头、材料要求和输出,附命令行工具、示例和开发手册。
  • 文档站:tidoc.bitfsae.com(VitePress,docs/),软件内有入口。
  • 开发评测:独立的付款截图 AI 评测脚本,支持 Qwen / DeepSeek、多个密钥、并发、图片压缩和本地缓存。

尚未完成

  • 团队适配包的逐项人工验收:真实应用界面、XML 单独扫描导入、兼容组合和旧数据升级。
  • Windows / macOS 上 Word、WPS 打开导出文档的版式核对,以及完整的跨平台发布检查。

自动化测试覆盖解析、数据库、导出和适配包。部分解析回归需要真实发票样本,仓库不附带,设置环境变量 TIDOC_INVOICE_SAMPLES 指向样本目录即可运行;没有样本时这些测试会跳过。

设计细节见 DESIGN.md,变更记录见 CHANGELOG.md,更新发布流程见 docs/UPDATE.md。

参与贡献

欢迎提交 Issue 和 Pull Request。请先阅读 CONTRIBUTING.md。

许可证

MIT

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#invoices · #desktop · #accounting