Actual 怎么给交易添加标签并按标签筛选与重命名
【免费下载链接】actualA local-first personal finance app项目地址: https://gitcode.com/GitHub_Trending/ac/actual
在 Actual 中管理个人财务时,常用做法是给交易打上标签(比如把一次旅行相关的支出统一标记为#Vacation2025),之后按标签快速筛出这批交易,或在标签需要改名时批量重写所有交易里的标签。这篇文章覆盖这条完整路径:在交易备注中添加标签、在标签管理页维护标签、按标签筛选交易、重命名标签,以及通过 CLI 管理标签的可选分支。
在备注字段中添加标签
Actual 的标签存放在交易的Notes(备注)字段里,语法如下(详见 标签文档):
- 标签是以
#开头的任意字符串,可以写在备注的任意位置; - 标签不能包含
#和空白字符(空格、制表符等),需要分隔时使用#camelText、#dashed-entries或#underscored_separators这类写法; - 一笔交易可以有多个标签;
- 标签区分大小写,
#tag和#TAG是两个不同的标签; - 如果想在备注中使用
#符号但不作为标签,连续输入两次即可转义:##do-not-tag-this。
在账户登记表的交易备注中输入标签后,该标签会以颜色标记显示在登记表中:
在标签管理页维护标签
标签管理页位于侧边栏More下。在这里可以做以下操作:
- 改色:标签默认使用主题定义的默认颜色。点击标签会弹出颜色选择器,为任意标签自定义颜色。
- Add New 新增标签:在此处添加标签时不要带
#前缀,系统会自动补上。如果该标签已存在,此操作会更新它的颜色。 - Find Existing Tags:搜索已经用在交易中的标签,并把它们加入受管理的标签列表。如果你之前只在备注里打了标签但从未在管理页维护过,用这个功能把它们找出来。
- 描述:点击描述字段即可为标签添加描述。
- View Transactions:查看使用了某个标签的全部交易。
新增后的标签可以用actual tags list之外的方式核对:回到标签管理页确认新标签出现在列表中,并在登记表查看对应交易是否显示该标签颜色。
按标签筛选交易
查看带有某个标签的交易有三种等价路径(文档见 标签文档):
- 在标签管理页点击View Transactions按钮;
- 在账户登记表中点击带颜色的标签;
- 在Notes字段上使用
has tags筛选条件。
如果你想在此基础上叠加日期、金额等条件,进入具体账户页面后点击Filter打开筛选器,筛选条件可以多个叠加。筛选生效后,页面顶部会显示当前筛选范围的合计金额,可用于确认筛出的正是目标交易集合;保存筛选的方式是在交易表上方的Unsaved filter下拉菜单中选择Save new filter并命名(详见 筛选文档)。
重命名标签
重命名有两处入口:
- 标签管理页的右键上下文菜单(context menu);
- 恰好选中一个标签时的选择菜单。
关键点:重命名会同步重写每一笔使用该标签的交易备注中的 hasgtag,即改名为新标签后,所有旧标签的交易会自动指向新标签,不需要逐笔修改。
重命名的限制:
- 新名称不能包含空格或
#; - 新名称不能与已有标签相同。
改完后的核对方式:用前一步的任一筛选入口查看该标签,确认交易仍被筛出;再抽查一两条交易的备注,确认备注里的 hasgtag 已变为新名称。
可选分支:通过 CLI 管理标签
如果你更喜欢在终端里维护标签(例如脚本化操作),Actual 提供了@actual-app/cli工具,它连接到正在运行的 Actual sync server 来查询和修改预算数据(详见 CLI 文档)。
前置条件:
- Node.js v22 或更高版本;
- 一个正在运行的 Actual sync server,以及该预算的 Sync ID。
安装:
npm install --save @actual-app/cli或全局安装:
npm install --location=global @actual-app/cli连接配置通过环境变量、CLI 参数或配置文件提供,最低要求是:
| 变量 | 说明 |
|---|---|
ACTUAL_SERVER_URL | Actual sync server 地址(必填) |
ACTUAL_SYNC_ID | 预算的 Sync ID(多数命令必填) |
ACTUAL_PASSWORD | 服务器密码(密码或 token 二选一) |
ACTUAL_SESSION_TOKEN | 会话 token(密码的替代) |
标签相关命令:
# 列出所有标签 actual tags list # 创建标签(--color 与 --description 为可选参数) actual tags create --tag "vacation" [--color "#ff0000"] [--description "Vacation expenses"] # 更新标签(<id> 替换为标签 ID,三个选项至少提供一个) actual tags update <id> [--tag "trip"] [--color "#00ff00"] # 删除标签 actual tags delete <id>其中--tag选项在update中即用于重命名标签。执行后可用actual tags list核对结果,默认输出为 JSON(也可用--format table或--format csv切换)。命令输出的<id>为文档示例中的占位写法,实际使用时替换为actual tags list返回的标签 ID。
对应的 API 方法为getTags、createTag、updateTag、deleteTag,API 参考中给出了 JS 示例:
// 创建标签 await createTag({ tag: 'groceries', color: '#ff0000', description: 'Grocery shopping expenses', }); // 获取全部标签 let tags = await getTags(); // 更新标签颜色 await updateTag(id, { color: '#00ff00' });限制与注意
- 在标签管理页删除标签只是把它从管理页移除,不会从交易备注中删除标签;要彻底清理某标签,只能逐笔修改交易备注。
- 标签区分大小写,
#Vacation2025与#vacation2025是不同标签; - 标签内不允许空白字符,多词标签用驼峰、连字符或下划线分隔。
完成以上步骤后,你可以把"打标签 → 管理页维护 → 按标签筛选"作为日常流程使用;若需要在脚本或自动化中操作标签,则接 CLI 文档 继续查看其他预算数据的命令。
【免费下载链接】actualA local-first personal finance app项目地址: https://gitcode.com/GitHub_Trending/ac/actual
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考