<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: fang xia</title>
    <description>The latest articles on DEV Community by fang xia (@fangxia000101).</description>
    <link>https://dev.to/fangxia000101</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3955651%2F9905f6c9-af44-49ee-b3a2-a734ff3cf45d.png</url>
      <title>DEV Community: fang xia</title>
      <link>https://dev.to/fangxia000101</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fangxia000101"/>
    <language>en</language>
    <item>
      <title>换银行才发现：我的交易明细，竟然导不出</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Mon, 17 Aug 2026 09:46:15 +0000</pubDate>
      <link>https://dev.to/fangxia000101/huan-yin-xing-cai-fa-xian-wo-de-jiao-yi-ming-xi-jing-ran-dao-bu-chu-af8</link>
      <guid>https://dev.to/fangxia000101/huan-yin-xing-cai-fa-xian-wo-de-jiao-yi-ming-xi-jing-ran-dao-bu-chu-af8</guid>
      <description>&lt;p&gt;换银行才发现：我的交易明细，竟然导不出&lt;/p&gt;

&lt;p&gt;上个月决定换家银行，结果撞到一个没想到的墙：我过去5年的交易记录，拿不出来。&lt;/p&gt;

&lt;h2&gt;
  
  
  第一个坑：时间限制
&lt;/h2&gt;

&lt;p&gt;旧银行（Commonwealth Bank）的网上银行界面很友好，有一个"导出交易"按钮。但我点进去才发现，最多只能导出&lt;strong&gt;25个月&lt;/strong&gt;的数据。&lt;/p&gt;

&lt;p&gt;我问客服：我要5年前的记录怎么办？&lt;/p&gt;

&lt;p&gt;客服说：对不起，系统不支持。您可以来线下网点填表申请，但我们不能保证能拿到。&lt;/p&gt;

&lt;p&gt;我想说的是——这不是2026年吗？为什么我的数据还要"申请"？&lt;/p&gt;

&lt;h2&gt;
  
  
  第二个坑：格式陷阱
&lt;/h2&gt;

&lt;p&gt;就算我只要这25个月的数据，导出过程也不顺畅。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;格式选项只有 PDF 和 CSV（但 CSV 要等3-5个工作日发邮件）&lt;/li&gt;
&lt;li&gt;PDF 每次最多下载 5000 行交易记录&lt;/li&gt;
&lt;li&gt;超过就要分批，批次之间还有时间间隔限制&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我算了下，如果我真的想手动攒齐这些数据，可能要花整个下午在点"下一页"和"下载"。&lt;/p&gt;

&lt;h2&gt;
  
  
  这不是技术问题
&lt;/h2&gt;

&lt;p&gt;最让我不爽的是：这不是技术做不到，是银行不想做。&lt;/p&gt;

&lt;p&gt;Open Banking 这个概念提了多少年了？欧盟的 PSD2 已经生效好几年了，美国的 CFPB 第1033条规则（要求银行让用户方便地导出数据）今年居然被法官暂停了。&lt;/p&gt;

&lt;p&gt;法律给了你权利，银行没有给你工具。&lt;/p&gt;

&lt;p&gt;35% 的银行高管说"预算约束"是障碍。但我刚查了财报，光是IT预算就是几十亿级别。缺的不是钱，是把用户当成数据所有者的尊重。&lt;/p&gt;

&lt;h2&gt;
  
  
  我现在怎么办
&lt;/h2&gt;

&lt;p&gt;我最后只能妥协：只拿回了最近两年的数据，放弃3年的交易历史。&lt;/p&gt;

&lt;p&gt;那些数据还在银行的服务器里，但我无法访问、无法迁移、无法使用。这不是我的数据吗？&lt;/p&gt;

&lt;p&gt;如果你还没遇到这个问题，建议你定期导出自己的交易记录——别等换银行时才发现，你的数据已经被锁死了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;来源:&lt;/strong&gt; &lt;a href="https://dev.to/FIR-1480"&gt;FIR-1480&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>换银行才发现的坑：我的交易明细被锁死了</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Sun, 16 Aug 2026 12:37:40 +0000</pubDate>
      <link>https://dev.to/fangxia000101/huan-yin-xing-cai-fa-xian-de-keng-wo-de-jiao-yi-ming-xi-bei-suo-si-liao-36hb</link>
      <guid>https://dev.to/fangxia000101/huan-yin-xing-cai-fa-xian-de-keng-wo-de-jiao-yi-ming-xi-bei-suo-si-liao-36hb</guid>
      <description>&lt;h1&gt;
  
  
  换银行才发现的坑：我的交易明细被锁死了
&lt;/h1&gt;

&lt;p&gt;上周做了个决定：把主力账户从 A 银行换到 B 银行。&lt;br&gt;
理由很常规：B 银行的跨境汇款费率更低，App 也更好用。迁移的第一步，我想先把过去两年的交易明细导出来 — 毕竟这是我做个人记账的原始数据，不能丢。&lt;br&gt;
然后我踩坑了。&lt;/p&gt;

&lt;h2&gt;
  
  
  第一回合：A 银行的"导出"按钮
&lt;/h2&gt;

&lt;p&gt;打开 A 银行 App，找到"交易明细"，确实有个"导出"按钮。点击后弹出一个菜单：CSV、PDF、Excel。&lt;br&gt;
看起来很友好对吧？我选了 CSV，结果下载下来一看：&lt;br&gt;
账户:****1234&lt;br&gt;
日期,交易摘要,金额&lt;br&gt;
2025-01-15,"POS消费 - 某某商户",-128.50&lt;br&gt;
...&lt;br&gt;
交易摘要部分全是脱敏后的通用描述，"某某商户"这种信息对我做记账毫无意义。我需要的是真实的商户名称、交易类型、分类 — 这些才是记账的干货。&lt;br&gt;
我打电话问客服，得到的答复是："为了保护客户隐私，我们不提供完整交易信息。"&lt;/p&gt;

&lt;h2&gt;
  
  
  第二回合：试试其他银行
&lt;/h2&gt;

&lt;p&gt;不死心，我又试了手里另外几个银行的 App：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C 银行&lt;/strong&gt;：导出功能需要到柜台办理，而且只能打印纸质版- &lt;strong&gt;D 银行&lt;/strong&gt;：支持导出，但只能导出最近 3 个月的数据- &lt;strong&gt;E 银行&lt;/strong&gt;：有导出，但格式是自家的加密 JSON，不给解码规则- &lt;strong&gt;F 银行&lt;/strong&gt;：干脆没有导出选项我一共试了 5 个银行，每个都有自己的"小聪明"：要么数据不全，要么时间受限，要么格式私有。
## 问题在哪？
这让我想到最近看到的新闻：2025-2026 年，金融数据跨境流动新规开始实施。监管明确了 47 项豁免场景，执法力度也在加强。
好消息是监管在推进数据主权保护。坏消息是，银行们似乎把"保护"理解成了"锁定"。
对我这样的普通用户来说：&lt;/li&gt;
&lt;li&gt;我的交易数据，理应属于我- 我有权导出、备份、迁移- 格式应该是开放的、机器可读的但现实是，每个银行都把数据关在自家的高墙里。你想换银行？可以，但数据留下。
## 开放式记账的代价
这大概就是为什么我最后选择了用 Beancount 这样的纯文本记账方式。
当我所有的交易记录都存在本地、以明文可编辑的格式保存时，我就不依赖任何银行的导出功能了。我可以手动录入、用脚本转换、用任何工具处理 — 数据真正属于我。
当然，这意味着我需要投入额外的时间去维护。但相比数据被困在银行 App 里的无力感，这个代价我觉得值得。
## 后续
最终，我选择了一个折中方案：用银行 App 的"月度账单"功能截图保存核心数据，然后手动录入到我的记账系统中。这不是完美方案，但至少数据跑出来了。
如果你也在考虑换银行，建议先问清楚三个问题：&lt;/li&gt;
&lt;li&gt;能导出多久的数据？- 导出格式是什么？- 交易信息是否完整（特别是商户名称和分类）？别像我一样，换到一半才发现坑。
&lt;strong&gt;关于作者&lt;/strong&gt;: 一个在意数据主权的独立开发者，偶尔写写技术踩坑经历。&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>data</category>
      <category>privacy</category>
      <category>tools</category>
    </item>
    <item>
      <title>Test Title</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Sun, 16 Aug 2026 12:37:27 +0000</pubDate>
      <link>https://dev.to/fangxia000101/test-title-50c8</link>
      <guid>https://dev.to/fangxia000101/test-title-50c8</guid>
      <description>&lt;p&gt;Test dev.to publish&lt;/p&gt;

</description>
    </item>
    <item>
      <title>被银行锁住的交易数据：为什么我转向 Plain Text 记账</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Sat, 15 Aug 2026 09:38:05 +0000</pubDate>
      <link>https://dev.to/fangxia000101/bei-yin-xing-suo-zhu-de-jiao-yi-shu-ju-wei-shi-yao-wo-zhuan-xiang-plain-text-ji-zhang-49i4</link>
      <guid>https://dev.to/fangxia000101/bei-yin-xing-suo-zhu-de-jiao-yi-shu-ju-wei-shi-yao-wo-zhuan-xiang-plain-text-ji-zhang-49i4</guid>
      <description>&lt;h1&gt;
  
  
  被银行锁住的交易数据：为什么我转向 Plain Text 记账
&lt;/h1&gt;

&lt;p&gt;最近换银行，才发现交易明细只能导出 90 天。PDF 格式解析更是噩梦。转向 Plain Text 记账：数据在自己手里。&lt;/p&gt;

</description>
    </item>
    <item>
      <title>用 Git 管账本 5 年，我学到的关于数据长期存活的几件事</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Tue, 04 Aug 2026 20:26:09 +0000</pubDate>
      <link>https://dev.to/fangxia000101/yong-git-guan-zhang-ben-5-nian-wo-xue-dao-de-guan-yu-shu-ju-chang-qi-cun-huo-de-ji-jian-shi-3npe</link>
      <guid>https://dev.to/fangxia000101/yong-git-guan-zhang-ben-5-nian-wo-xue-dao-de-guan-yu-shu-ju-chang-qi-cun-huo-de-ji-jian-shi-3npe</guid>
      <description>&lt;h1&gt;
  
  
  用 Git 管账本 5 年，我学到的关于"数据长期存活"的几件事
&lt;/h1&gt;

&lt;h2&gt;
  
  
  2019 年的 commit，今天还能读
&lt;/h2&gt;

&lt;p&gt;前几天心血来潮，翻了一下账本仓库的 commit 历史：&lt;br&gt;
commit a1b2c3d... 2019-08-12&lt;br&gt;
    2019/08/12 * "星巴克" "咖啡"&lt;br&gt;
    Expenses:Coffee:Shop  35.00 CNY&lt;br&gt;
    Assets:Checking这条记录 5 年前写的，今天依然能在任何文本编辑器里打开。任何手机 App、任何云服务倒闭，都不影响我读回自己的消费记录。&lt;br&gt;
这不是什么技术信仰。纯粹是被锁过一次后的应激反应。&lt;/p&gt;

&lt;h2&gt;
  
  
  那次被锁数据的经历
&lt;/h2&gt;

&lt;p&gt;2018 年，我用了三年的一个记账 App 决定关闭导出功能——除非你升级到 Pro。&lt;br&gt;
当时我只想拿回自己的数据，不是要求什么特殊待遇。只是想导出 CSV，转到另一个工具。&lt;br&gt;
结果是：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;导出功能藏在 Settings &amp;gt; Account &amp;gt; Data Export，点进去发现是 VIP 专享- 升级 Pro 需要续费一年- 即使续费，导出的格式是私有 JSON，没有任何文档说明字段含义- 客服回复"我们的格式是商业机密"我最后放弃了那些数据，重新开始记账。
从那以后我懂了：&lt;strong&gt;你不拥有放在别人服务器上的数据，哪怕它是"你的"记账记录。&lt;/strong&gt;
## 为什么选 plain text
Plain text 不是什么新技术。ASCII 标准 1963 年就有了。
但它有一个所有"聪明格式"都做不到的事情：&lt;strong&gt;半个世纪后的任何设备，都能打开 .txt 文件&lt;/strong&gt;。
那些试图"替代"它的格式？大部分早已消失：&lt;/li&gt;
&lt;li&gt;.doc → .docx → .docx with new XML schema- 各种专有的记账格式 → 只要厂商倒闭，数据变成电子垃圾Plain text 能活 60 年，是因为它&lt;strong&gt;不依赖任何特定软件来解读&lt;/strong&gt;。
## Beancount + Git 的日常
现在我的账本长这样：
2024/08/04 * "超市" "采购"
Expenses:Groceries  328.50 CNY
Assets:WeChat- &lt;strong&gt;搜索&lt;/strong&gt;: grep "星巴克" ledger.beancount — 秒出所有咖啡消费- &lt;strong&gt;统计&lt;/strong&gt;: beancount ledger.balance -f ledger.beancount — 实时余额- &lt;strong&gt;版本&lt;/strong&gt;: git log --since="2024-01-01" --until="2024-12-31" — 年度所有修改- &lt;strong&gt;备份&lt;/strong&gt;: git push — 一个命令，所有历史同步到多台设备上次手误删了一条记录？git checkout HEAD~1 ledger.beancount。
想看看三年前的消费习惯？直接 checkout 那个日期的文件，依然能读。
这不是什么高深技术。这是&lt;strong&gt;把你的财务记录，当成代码一样管理&lt;/strong&gt;。
## 数据主权从"能导出"开始
这不是说 SaaS 不好。我依然用很多云服务。
但我的分层是这样的：&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;核心数据&lt;/strong&gt;（记账记录、长期笔记）→ 必须是 plain text + 开放格式- &lt;strong&gt;工作数据&lt;/strong&gt;（临时协作、短期项目）→ 可以用便利的工具- &lt;strong&gt;娱乐数据&lt;/strong&gt;（无所谓的东西）→ 去哪都行如果你问我这 5 年最大的收获是什么？
&lt;strong&gt;数据可移植性不是"备选项"，是"必选项"。&lt;/strong&gt;
你可以随时换工具。你的数据应该随时能跟着走。&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>git</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>记账十年，我终于放弃了所有精美的记账 App</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Wed, 22 Jul 2026 20:53:18 +0000</pubDate>
      <link>https://dev.to/fangxia000101/ji-zhang-shi-nian-wo-zhong-yu-fang-qi-liao-suo-you-jing-mei-de-ji-zhang-app-27l2</link>
      <guid>https://dev.to/fangxia000101/ji-zhang-shi-nian-wo-zhong-yu-fang-qi-liao-suo-you-jing-mei-de-ji-zhang-app-27l2</guid>
      <description>&lt;p&gt;记账十年，我终于放弃了所有精美的记账 App&lt;br&gt;
我记账十年了。不是那种"记三天就放弃"的记账，是整整十年。&lt;br&gt;
这十年里，我换过七个不同的记账 App。每一个刚用的时候都惊艳：界面漂亮、自动分类、图表炫酷。但每次换 App 都有一个噩梦——导出数据。&lt;br&gt;
有些 App 不支持导出，或者只给一截截图。有些导出格式是私有 JSON，几乎不可读。还有一次，我用了三年的 App 突然宣布停服，给我 30 天迁移期——而导出功能在那期间"暂时维护"。&lt;br&gt;
那一刻我意识到：我的财务数据，根本不属于我。&lt;br&gt;
2023 年底，我发现了 Beancount。它不是一个 App，而是一种记账方式：用纯文本记账。&lt;br&gt;
一开始我怀疑：用文本文件记账？这该多原始？&lt;br&gt;
但试了一周后，我彻底上瘾了。&lt;/p&gt;

&lt;h2&gt;
  
  
  为什么我再也不回头？
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. 数据真正的属于我
&lt;/h3&gt;

&lt;p&gt;我的账本就是一个 &lt;code&gt;.beancount&lt;/code&gt; 文本文件。Git 管理版本，Dropbox 多端同步。没有任何 App 可以锁死我的数据。需要迁移？复制粘贴即可。&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 纯文本的灵活
&lt;/h3&gt;

&lt;p&gt;想批量调整去年的分类？正则表达式三秒搞定。想查某个模式的支出？&lt;code&gt;grep&lt;/code&gt; 直接搜。想生成自定义报表？Python 写个 10 行脚本。&lt;/p&gt;

&lt;h3&gt;
  
  
  3. 移动端生态
&lt;/h3&gt;

&lt;p&gt;我一直在找移动端解决方案。Cocono 是一个支持 Beancount 的 iOS/Android App，纯文本同步，界面简洁。现在我在手机上记账，回家电脑上直接打开文件就看到了。&lt;/p&gt;

&lt;h3&gt;
  
  
  4. 复式记账的优雅
&lt;/h3&gt;

&lt;p&gt;Beancount 使用复式记账法。一开始觉得麻烦，但慢慢理解了它的美感——每一笔交易都借贷平衡，错误无法隐藏。我的账本再也没有"对不上"的神秘差值。&lt;/p&gt;

&lt;h2&gt;
  
  
  今天的我
&lt;/h2&gt;

&lt;p&gt;记账第 800 天。我的 &lt;code&gt;.beancount&lt;/code&gt; 文件从几 KB 涨到几百 KB。它不是躺在某个 App 的私有数据库里，而是安静地躺在我的 GitHub 私有仓库里。&lt;br&gt;
十年记账，我终于找回了对财务数据的掌控。&lt;/p&gt;

</description>
      <category>git</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>Why I Switched to Plain Text Accounting</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Wed, 22 Jul 2026 03:11:57 +0000</pubDate>
      <link>https://dev.to/fangxia000101/why-i-switched-to-plain-text-accounting-2hd1</link>
      <guid>https://dev.to/fangxia000101/why-i-switched-to-plain-text-accounting-2hd1</guid>
      <description>&lt;h1&gt;
  
  
  Why I Switched to Plain Text Accounting
&lt;/h1&gt;

&lt;p&gt;Mint is shutting down. After 10 years of financial tracking, I am losing my data again. This time, I switched to plain text accounting with Beancount.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with Traditional Apps
&lt;/h2&gt;

&lt;p&gt;Traditional financial apps have several issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Export limitations&lt;/strong&gt;: They only provide summary reports, not raw transaction data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proprietary formats&lt;/strong&gt;: Data is stored in closed databases that require specific software to read&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform lock-in&lt;/strong&gt;: Different systems are incompatible with each other&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Financial records are long-term. Over the past decade, dozens of financial apps have shut down, leaving users with years of records wiped out.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Plain Text Solution
&lt;/h2&gt;

&lt;p&gt;Plain text accounting with Beancount offers a different approach:&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Sovereignty
&lt;/h3&gt;

&lt;p&gt;Your data belongs to you. You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open it with any text editor&lt;/li&gt;
&lt;li&gt;Read it directly as a human&lt;/li&gt;
&lt;li&gt;Access it permanently, without depending on specific software&lt;/li&gt;
&lt;li&gt;Process it freely and completely&lt;/li&gt;
&lt;li&gt;Migrate with near-zero cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Future-Proof
&lt;/h3&gt;

&lt;p&gt;Plain text files will remain readable decades from now. They do not depend on any company staying in business or maintaining compatibility with legacy systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making the Switch
&lt;/h2&gt;

&lt;p&gt;The learning curve was worth it. I now have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete control over my financial data&lt;/li&gt;
&lt;li&gt;No vendor lock-in&lt;/li&gt;
&lt;li&gt;Confidence that my records will exist as long as I want them to&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your data, your sovereignty.&lt;/p&gt;

&lt;h1&gt;
  
  
  PersonalFinance #Fintech #DataSovereignty #Beancount
&lt;/h1&gt;

</description>
      <category>productivity</category>
      <category>software</category>
      <category>tools</category>
    </item>
    <item>
      <title>Why I Started Using Beancount</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Sun, 19 Jul 2026 11:26:47 +0000</pubDate>
      <link>https://dev.to/fangxia000101/why-i-started-using-beancount-4io8</link>
      <guid>https://dev.to/fangxia000101/why-i-started-using-beancount-4io8</guid>
      <description>&lt;h1&gt;
  
  
  Why I Started Using Beancount
&lt;/h1&gt;

&lt;p&gt;I never thought I'd become someone who cares about accounting. But last year, I hit a wall with my finances.&lt;br&gt;
Excel spreadsheets became a nightmare. Bank statements didn't match. I had no idea where my money was going.&lt;br&gt;
Then I discovered plain text accounting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I tried:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Proprietary apps that locked my data- Complex spreadsheets that broke easily- Banking apps with limited customizationNothing clicked. I needed something simple, portable, and future-proof.
## The Beancount Discovery
Beancount changed everything. It's a plain text double-entry accounting system. Here's what won me over:
&lt;strong&gt;1. My data stays mine&lt;/strong&gt;
Everything lives in plain text files. No vendor lock-in. I can edit transactions with any text editor, grep them, version control them.
&lt;strong&gt;2. Simple syntax&lt;/strong&gt;
A transaction looks like this:
2026-07-19 * "Grocery shopping"  Expenses:Food:Groceries  50.00 USD  Assets:CheckingThat's it. Date, description, which accounts, how much.
&lt;strong&gt;3. Powerful queries&lt;/strong&gt;
Want to know how much you spent on groceries last month? One command. Need a balance sheet? One command.
## My Learning Curve
The first week was tough. Double-entry accounting felt foreign. Which account do I debit? Which do I credit?
I made mistakes. Lots of them.
But the community helped. The documentation is clear. The examples are practical.
## What I Gained
After three months:&lt;/li&gt;
&lt;li&gt;I know exactly where my money goes- I can generate any report I want- My financial data is future-proof- I've built custom tools that work with my data## The Trade-offs
It's not for everyone. You need to be comfortable with text files. You'll need to learn basic accounting concepts.
But if you value simplicity, control, and future-proof data, it's worth considering.
## Getting Started
I started with one transaction per day. Now I track everything automatically.
Plain text accounting isn't just about bookkeeping. It's about having a simple, reliable system that grows with you.
For me, that was Beancount.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devjournal</category>
      <category>fintech</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>我为什么开始用 Beancount</title>
      <dc:creator>fang xia</dc:creator>
      <pubDate>Fri, 17 Jul 2026 05:54:53 +0000</pubDate>
      <link>https://dev.to/fangxia000101/wo-wei-shi-yao-kai-shi-yong-beancount-4gj4</link>
      <guid>https://dev.to/fangxia000101/wo-wei-shi-yao-kai-shi-yong-beancount-4gj4</guid>
      <description>&lt;h1&gt;
  
  
  我为什么开始用 Beancount
&lt;/h1&gt;

&lt;p&gt;两年前，我做了一个看起来很"反直觉"的决定：放弃了所有那些漂亮、智能、自动同步的商业记账 App，转而用纯文本记账。&lt;br&gt;
是的，你没看错。现在我每一笔消费、每一笔收入，都记录在一个 .bean 文件里。没有图表，没有自动分类，没有"云端同步"。只有我、文本编辑器、和一些看起来像会计分录的 plain text。&lt;br&gt;
很多人听到这里就会问：&lt;strong&gt;为什么？&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  被锁死的数据
&lt;/h2&gt;

&lt;p&gt;故事要从我换手机说起。&lt;br&gt;
那时候我用某款记账 App 用了三年。记录了三千多条交易，标签打得整整齐齐，每个月还能导出漂亮的报表分析——&lt;strong&gt;只要续费会员&lt;/strong&gt;。&lt;br&gt;
有一天我换了新手机，发现这个 App 的云端同步需要会员才能用。我的数据在他们的服务器上，但我拿不回来。导出功能？付费。批量导出？更贵的会员。&lt;br&gt;
那一刻我突然意识到：&lt;strong&gt;这些数据不是我的，是他们的。&lt;/strong&gt;&lt;br&gt;
我花了三年时间帮他们的平台完善数据，现在他们要我把数据"赎"回来。&lt;/p&gt;

&lt;h2&gt;
  
  
  寻找属于我的记账方式
&lt;/h2&gt;

&lt;p&gt;我开始寻找替代方案。主要诉求就两个：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;数据必须在我手里&lt;/strong&gt;- &lt;strong&gt;格式要是开放的，不能被某个产品绑架&lt;/strong&gt;找了很久，最后发现了 Beancount。
一个 Python 开发的复式记账工具。没有数据库，所有账目存在纯文本文件里。格式简单到令人发指：
2024-07-15 * "星巴克"
Assets:Checking       -35.00 CNY
Expenses:Coffee:Shop
就这么简单。日期、交易对方、两个账户、金额。
## 为什么是 Plain Text？
选择纯文本不是因为我喜欢复古，而是因为：
&lt;strong&gt;1. 永远不会过期&lt;/strong&gt;
文本文件是计算机世界最通用的格式。十年后、二十年后，只要有文本编辑器，我就能看懂我的账目。不需要担心某个公司倒闭、App 下架、云端服务关闭。
&lt;strong&gt;2. 版本控制友好&lt;/strong&gt;
我的账目目录是个 Git 仓库。每次记账 git commit 一下。我有完整的历史记录——可以追溯任何一笔修改是什么时候、为什么做的。这不是云端同步能比的。
&lt;strong&gt;3. 可编程&lt;/strong&gt;
既然是文本，就能用代码处理。Beancount 本身就是 Python 生态，我可以写脚本自动抓取银行流水、自动分类、生成报表。这不是"高级功能"，而是文本格式天然带来的自由。
&lt;strong&gt;4. 真正的复式记账&lt;/strong&gt;
之前用的记账 App 大多是"单式记账"——记录"花了多少钱"。但复式记账要求每一笔交易都有来源和去向。钱从"现金"到了"餐饮"，或者从"工资"到了"储蓄"。
这听起来很会计，但好处是：&lt;strong&gt;账永远不会不平。&lt;/strong&gt; 如果漏记或多记，Beancount 会直接报错。
## 踩坑实录
当然，这条路不是一帆风顺的。
&lt;strong&gt;第一周：&lt;/strong&gt; 我把"贷"和"借"搞反了 N 次。复式记账的逻辑需要一点时间适应。
&lt;strong&gt;第一个月：&lt;/strong&gt; 发现手动录入太慢，开始研究自动导入。花了一整周末琢磨如何把支付宝账单转成 Beancount 格式。
&lt;strong&gt;第三个月：&lt;/strong&gt; 终于建好了自己的账户体系。但发现早期记录的分类太混乱，又花了一个周末批量重命名账户。
现在？现在我已经 800 多天没有断过记录。每天花 5 分钟，甚至少于一分钟。
## 我学到了什么
这两年的 Beancount 实践，让我对"个人数据"有了新的理解：
&lt;strong&gt;数据主权不是一句口号。&lt;/strong&gt;
当你的数据存储在别人控制的平台上，你就是租客。他们可以改规则、可以涨价、可以关停服务。而你的数据——那些记录了你生活轨迹的数字——本质上不属于你。
Plain text 是最彻底的数据主权。因为没人能阻止你打开一个文本文件。没人能因为你没续费就锁住你三年的回忆。
## 写在最后
我不是说 Beancount 适合所有人。
如果你需要自动同步银行账户、需要漂亮图表、需要开箱即用的体验，那商业记账 App 可能更适合你。
但如果你和我一样：在意数据主权、喜欢可定制、愿意花一点时间建立自己的系统——那 Beancount 可能会打开一个新世界的大门。
我的账目文件目录现在是这个样子：
beancount/
├── main.bean          # 主账本
├── prices.bean        # 价格记录
├── accounts.bean      # 账户定义
└── .git/              # 完整历史
简单、透明、永远属于我。
如果你也对 Beancount 感兴趣，可以从官方文档开始：&lt;a href="https://beancount.github.io/" rel="noopener noreferrer"&gt;beancount.github.io&lt;/a&gt; 中文社区也有不少资源，byvoid 的系列教程很值得一看。&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>python</category>
    </item>
  </channel>
</rss>
