BitBear StudioINDEPENDENT SOFTWARE
6 PRODUCTSEN博客
返回博客

Telegram 记账机器人:金额、币种与分类汇总怎么验收

从真实支出登记委托出发,设计 Telegram 记账机器人的金额输入、最小单位、币种隔离、退款和汇总核对,区分简单记录工具与 AI 解析、税务及表格集成。

给机器人发“12.50 午餐”,它回复“已保存”,并不能证明账记对了。它可能认错小数点、默认错误币种,或者把退款也计入支出。比起先要求“AI 自动理解一切”,第一版更值得明确:什么输入能保存,金额怎样表示,汇总包含哪些记录。

一份 Telegram Business Accounting Bot 历史客户委托要求从消息登记费用、补问分类、持久保存,并按分类和期间生成报告,还提出币种、税费及独立服务器部署。2026 年 11 月 4 日核查时页面为 Closed,绝对发布日期未知。它是需求证据,不是 BitBear 交付案例,也不是当前开放订单。下面的首版范围和验收规则是本文提出的方案示例,不代表客户已接受。

先做支出记录工具,再决定是否接完整账务流程

可以先从私聊、每人独立记录、手动分类和按命令查询开始。第一版只接收明确格式的支出与退款,不接银行、不自动算税、不处理发票合规,也不让模型猜测缺失金额。

原委托的供应商、税费、CSV/PDF 报告及 VPS 部署并不会因此全部完成。它们应单列交付。若团队必须共用账本,还要定义谁能查看、修改和导出他人的数据,不能用“每个用户自己的记录”代替共享财务权限。

最小记录可以包括:业务编号、所属用户、支出或退款类型、金额、币种、分类、交易日期、可选备注及有效状态。不要只存一整句原文,等查询时再重新解析;否则改变解析规则可能让旧报表的数字也改变。

金额输入要明确,不猜逗号和小数点

示例首版可以约定:用户先选择账本币种;金额使用数字和英文小数点,不接受千位分隔符、科学计数法或混合币种符号。收到 1,234、12,50、两个金额或缺币种的跨币种输入时,先要求按格式重新输入,不自行猜测。

确认预览展示完整金额、币种、类型、分类和日期,用户确认后才入账。分类缺失时让用户选择,金额缺失时拒绝保存。若业务只支持支出和退款,可以要求两者金额均为正数,方向由类型决定;负数不能一会儿代表退款、一会儿又代表纠错。

输入精度也要受限。例如某账本配置两位小数时,12.345 应要求修改,不能悄悄截断为 12.34。允许自动四舍五入是另一项明确政策,需要约定规则与发生时点。

用最小单位或精确十进制,避免只修饰显示结果

SQLite 官方浮点数说明指出,二进制浮点数是近似值,许多带小数的金额不能被精确表示。这个问题并不只存在于 SQLite。把结果格式化为两位小数,不能自动保证此前的存储和累计都正确。

对于选定为两位小数的账本,一种可讨论的设计是按最小单位保存整数:12.50 保存为 1250,0.10 与 0.20 分别保存为 10、20,相加为 30,显示为 0.30。应从已经校验的十进制文本转换,不能先用不精确的浮点计算再期待乘以 100 修复全部误差。

另一种方案是端到端使用合适的精确十进制能力,但必须核查运行环境支持;本文不要求安装任意依赖或数据库扩展。无论选哪种方案,都要限制单笔和汇总上限,验证解析、接口传输、存储、累计和显示各环节不会溢出或损失精度。数据库能存大整数,不证明调用它的运行时也能精确传递全部范围。

币种是记录的一部分,不能只放一个美元符号

ISO 的币种代码介绍说明 ISO 4217 使用字母与数字代码,并记录币种与最小单位的关系。币种的小数精度不能统一假设为两位;增加币种前应核查维护机构的当前资料。

第一版可以只开放一个已确认币种。之后支持多币种时,每条记录保留明确代码与相应精度规则,汇总按币种分别显示。不要把不同币种直接相加,也不要把合计后的数字重新贴上一个币种标签。

若需要折算为本位币,汇率来源、日期、方向、舍入及手续费都属于额外需求。原币金额应保留;没有接入可靠汇率前,不显示虚构的“统一总额”。

把支出、退款和作废分开核对

示例报告可同时显示:有效支出总额、有效退款总额,以及支出减退款的净额。退款关联原支出,允许部分退款,但累计退款不得超过该笔已确认金额;超过时转人工检查。这是本文的简化规则,不是完整会计准则。

例如一笔 12.50 支出退回 3.00,报告应分别显示支出 12.50、退款 3.00、净额 9.50。录错金额的作废操作与真实退款不同:作废应保留原因和原编号,不为了“减掉数字”伪造一笔退款。分类统计须使用同一套有效状态与退款口径。

报表注明账本币种、交易日期范围、采用的时区、生成时间和统计口径。期间按照交易日期还是记录创建日期筛选,也需固定下来。自动定时发送不在本首版范围;其边界可参考定时通知指南。原消息编辑是否修改已入账记录,则沿用单独的编辑确认规则,不应再次解释成一笔新支出。

怎样用 BotFatherV2 开始,何时需要额外开发

截至 2026 年 11 月 4 日,BotFatherV2公开支持 AI 对话创建和修改 Telegram Serverless 机器人、导入已有 Serverless 机器人、版本发布及保留当前业务数据的代码回滚。AI 开发文档将按用户隔离的持久化工具列入首版方向,因此可以先尝试描述一个结构化支出登记原型,并检查当前 SDK 的字段、查询和精度支持。

这不是承诺已有开箱即用的记账模块。固定 SDK 不支持任意 npm 模块或 Node/Bun API,首版不新增依赖付费 AI 的运行能力。自然语言或语音解析、共享账本、Google Sheets/Notion、PDF/CSV 导出、税务和外部部署都需独立核验。AI 帮忙开发机器人,不等于上线后自动具备模型解析功能。

若原委托坚持 Python 和自有 Linux VPS,应按独立定制项目评估,不能将 Serverless 产物直接视为该部署交付。BotFatherV2 与 Telegram 官方 BotFather 无隶属关系。下一步应先确认最小记录流程和金额能力,再生成小版本并在 Telegram 用测试数据验收。

可交给 AI 的首版需求

创建私聊支出登记原型,每个用户只能查看和修改自己的记录。第一版使用一个明确币种及确认过的小数精度;按“类型、金额、分类、日期、备注”输入,预览后确认。拒绝含糊的分隔符、缺失金额、超出精度或超过范围的输入。请先说明当前 SDK 是否支持端到端精确金额、持久存储、按币种和分类查询;不支持时明确列出缺口,不用显示格式掩盖误差。退款关联原支出,作废保留原因;查询分别显示有效支出、退款与净额。暂不接银行、表格、税务、模型解析、文件导出或定时发送。

用小样本对账,再增加自动化

  • 0.10 加 0.20 的有效支出合计为 0.30,重启及发布新代码后查询结果仍一致。
  • 两位小数账本拒绝 12.345;含逗号、重复金额、零值和负值的输入按约定处理,不偷偷入账。
  • 12.50 支出退款 3.00,三项金额分别为 12.50、3.00、9.50;超额退款被阻止或转人工。
  • 作废与真实退款不会混淆;分类合计能够与相同范围的总额核对。
  • 多币种扩展时保持分别汇总;另一个用户无法借记录编号访问本用户账目。
  • 测试上限金额、累计上限及区间边界;确认失败不会留下被报表计入的半条记录。

来源与日期

  • Freelancer,Telegram Business Accounting Bot,英文客户委托,项目 39751453。2026-11-04 核查为 Closed;绝对发布日期未知,仅概括客户正文,不采用投标者宣传。
  • SQLite 项目,Floating Point Numbers,英文技术说明,未标注单一发布日期;2026-11-04 核查。用于数值精度事实,不证明 BotFatherV2 支持任意 SQLite 类型或扩展。
  • ISO,ISO 4217 — Currency codes,英文标准介绍页,未标注页面发布日期;2026-11-04 核查。用于币种代码与最小单位概念,不是本篇业务规则的认证。
  • BitBear Studio,产品主页与 AI 开发文档,2026-11-04 核查。英文指定 /en-US 入口本次不可访问,能力通过可访问的 /en 与 /en/docs/ai-development 交叉核对。
BITBEAR / TELEGRAM-EXPENSE-BOT-AMOUNT-CURRENCY-RULES2026年11月4日