跳到主要内容

在 beancount.io 中过滤和搜索条目

beancount.io UI 在页面右上角提供了强大的过滤器,可帮助您在报告中查找和分析特定条目。您可以组合多个过滤器来缩小结果范围。以下是主要的过滤选项:

时间过滤器

按日期或期间过滤条目。您可以使用:

  • 年份:2023
  • 季度:2022-Q1
  • 月份:2024-05
  • 周:2025-W23
  • 天:2024-06-04
  • 范围:2022 - 2023-06 (从 2022 年初到 2023 年 6 月底)

您还可以使用相对日期变量:

  • yearquartermonthweekday
  • 与数学运算结合:year - day (从今年初到今天),year-1 - year (去年和今年)
  • 使用括号来澄清:(month)-10 是本月的 10 号,month-10 是 10 个月前

账户过滤器

按账户名称、账户组成部分或正则表达式过滤:

  • 完整或部分账户名称:Assets:CashExpenses
  • 正则表达式:.*Company.* (匹配任何包含 "Company" 的账户)

标签、链接、收款人和元数据过滤器

  • 按标签:#food
  • 按链接:^receipt
  • 按收款人:payee:"restaurant"
  • 按描述:narration:'Dinner with Joe'
  • 按文档类型:document:"\.pdf$"
  • 按任何文本:只需输入 (例如,Cash withdrawal)
  • 对于备注:搜索评论文本

如果过滤器包含空格或特殊字符,请使用 '" 将其引起来。

排除条目

在过滤器前添加 - 以排除匹配项:

  • -#tag (排除标签)
  • -(^link #tag) (排除链接或标签)

高级:过账属性过滤器

  • any(id:'12', account:"Cash$") —— 匹配至少有一个过账包含元数据 id: 12 或账户以 Cash 结尾的条目
  • all(-account:"^Expenses:Food") —— 排除所有过账到 Expenses:Food 的交易

组合过滤器

  • 用空格分隔过滤器表示 "AND" (所有都必须匹配)
  • 用逗号分隔表示 "OR" (任何一个匹配)
  • 使用括号对过滤器进行分组

匹配注意事项

  • 所有匹配均不区分大小写
  • 过滤器使用 Python 的正则表达式语法
  • 如果不是有效的正则表达式,过滤器将查找完全匹配项

这些灵活的过滤器使您可以轻松地深入研究您的财务数据,并在 beancount.io Web UI 中快速找到您关心的条目。