用 iOS 快捷指令 + Numbers 做一套零依赖的记账系统

🖊 Duivendrecht · Kastanjepad

ExpenSee 上线之前,我用了很久一套土法记账:iOS 自带的快捷指令 + Numbers。一行代码不写,没有服务器,没有 API,也没有第三方账号。每次付完款,按一下手机背面,整个流程跑完,一笔账就写进了 iCloud 上一份普通的 Numbers 表格里。

这条快捷指令是 ExpenSee 这款 App 最初的灵感来源。这篇文章把这套流程从头讲一遍,给那些愿意自己折腾 iOS 自动化的人作个参考。

iCloud 安装链接https://www.icloud.com/shortcuts/c78c745e753541beb6a92e4f311b5c6f

模版下载(备用)https://milemile.app/expensee/static/template.numbers


它到底做了什么

每次运行,这条快捷指令做的事情是:

  1. 算出当前年份,组合出一个文件名 2026账本.numbers,去 iCloud 的 Numbers 文件夹找它。
  2. 如果文件不存在,就从 milemile.app/expensee/static/template.numbers 下载一份模版,按当年的年份命名后保存进 iCloud Drive 的 Numbers 文件夹,然后退出。
  3. 如果文件存在,就截一张屏(一般是支付宝 / 微信支付的支付完成页),用系统自带的图像识别把所有形如 [0-9]+\.[0-9]{1,3} 的数字找出来。
  4. 只识别到一个金额时直接采用;多个金额会跳出列表让你挑选;都没识别到就改为手动输入。
  5. 依次询问:支出 / 收入分类账户(支付宝 / 微信 / 银行卡)→ 备注
  6. 调用 Numbers 的 在电子表格中添加值 系统动作,把这一行写进当月对应的 M月支出账单M月收入明细 表格里。

分类是预设好的:

  • 支出:数码电器、餐饮美食、自我提升、服饰装扮、日用百货、车辆交通、娱乐休闲、医疗健康、家庭支出、充值缴费、其他
  • 收入:主业收入、副业收入、投资理财、红包礼金、其他

整个流程没有任何一步要联网到我或者别人的服务器,所有数据都留在你的 iCloud 里。

一次性设置

  1. 加入快捷指令。在 iPhone 上打开 这条 iCloud 链接,点 添加快捷指令。这条快捷指令叫 ExpenSee 自动记账
  2. 确认 iCloud 同步开着设置 → 你的姓名 → iCloud → iCloud 云盘,并确保 Numbers 在同步列表里。
  3. 跑一次快捷指令。如果你还没有当年的账本文件,它会下载模版并保存为 {年份}账本.numbers。看到 设置成功,重新运行开始记账吧 的提示就成功了。
  4. 如果第一次卡住不动(极少数情况下模版下载会很慢),手动从 milemile.app/expensee/static/template.numbers 下载文件,重命名为 2026账本.numbers(把年份换成当前),放到 iCloud 的 Numbers 文件夹里,再运行快捷指令即可。

怎么用:每天三秒

记账这件事最大的成本是从付款到入账之间的几秒钟。这条快捷指令的目标就是把这几秒压到极致:

  1. 付款后停留在金额完成页;
  2. 按下你绑定的快捷键(见下一节);
  3. 系统自动截屏并识别金额,确认或挑选;
  4. 选支出 / 收入、分类、账户,写一句备注,结束。

整个过程从掏出手机到结束大概 5 秒。

三种触发方式

把快捷指令绑到一个"一按就开始"的动作,是这套流程能跑下去的关键。下面三种任选其一:

① 操作按钮(iPhone 15 Pro 起)

设置 → 操作按钮 → 选择"快捷指令" → 选择"ExpenSee 自动记账"

绑定之后,长按机身侧面的橙色按钮就启动整套流程。我自己是 15 Pro 用户,这是我用得最顺手的方式——付完款顺手长按一下,相当于把记账的"启动成本"降到了零。

② 轻点背面(所有支持的 iPhone)

设置 → 辅助功能 → 触控 → 轻点背面 → 轻点两下(或三下)→ 快捷指令 → ExpenSee 自动记账

用手指轻敲两下手机背面就触发——不需要解锁回到主屏,不需要长按某个固定按钮,连戴着手机壳也照样能识别。这是没有操作按钮的 iPhone(XS、11、12、13、14 系列、所有非 Pro 机型)的最优解。

③ Siri 语音

直接对 Siri 说"ExpenSee 自动记账"。开车、做饭、手不空的时候最好用,但因为后续还需要点击挑选金额、分类等等,并不像前两个那样真的"全程不抬头",所以平时主要是兜底用。

数据在哪里

所有交易都写在 iCloud 上的 Numbers 文件 {年份}账本.numbers 里。每一年一份新表,按月分了 12 张工作表(1月数据库12月数据库),每张工作表里有 支出 / 收入 两个表格。

因为这是一份普通的 Numbers 文档,你可以在任何 Apple 设备上:

  • 直接做求和、按分类透视、画图表;
  • 导出 CSV / Excel 给会计或税务;
  • 用 iCloud Drive 备份,或者手动下载一份留底。

没有任何数据离开你的 iCloud。如果哪一天我这套生态都消失了,你的账本依然是一份完整、可读的 Numbers 文件。

局限性,以及为什么我后来做了 ExpenSee

用了一年多之后,几个不舒服的地方逐渐放大:

  • 截屏 OCR 的识别率不稳定。支付宝的金额数字字体大、对比强,识别没问题;但小红书、B 站、点外卖小票里的金额有时识别不到,就要手动输入。
  • 每年初要手动初始化——快捷指令是按 {年份}账本.numbers 命名的,跨年那天的第一笔会触发模版下载流程,不是无缝的。
  • 多币种很难做。Numbers 公式可以处理,但快捷指令本身没办法在记账的时候就帮你转换。
  • 分类是写死的——加一个新分类要改快捷指令,不是普通用户能接受的成本。

ExpenSee 把这件事的核心——把记账压到几秒——做成一个独立的 iOS 应用。同样不依赖任何外部服务,但识别准、原生支持多币种、日历视图能让你一眼看清这一个月。如果你想要这条快捷指令的"升级版",可以去 App Store 试试。

但如果你像我一样喜欢自己拼装工具,这条快捷指令依然是个不错的起点。它的全部源码就在你的 iPhone 上,可以随便改成你喜欢的样子——加分类、改账户、换币种、接到不同的 Numbers 表格里,都只是几下点击。