mcpField
L
latepayers

latepayers

本地服务
github.com/GillMacedo金融数据02 周前更新

关于 latepayers

latepayers 面向自由职业者、小型企业和簿记人员,可在本机根据发票 CSV 生成应收账款账龄报告。它按逾期时长分组并排列催收优先级,还可估算客户通常延迟付款的天数。

主要功能

  1. 01根据发票 CSV 生成账龄报告
  2. 02按逾期天数划分余额
  3. 03按催收优先级排列客户
  4. 04估算客户通常的付款延迟
  5. 05检查识别出的列和行数

适用场景

  1. 01找出应优先跟进的逾期发票
  2. 02按账龄区间检查未收余额
  3. 03识别经常延迟付款的客户

MCP 相关

其 MCP 服务提供只读工具,用于生成账龄报告和检查 CSV 结构。报告结果会返回给 MCP 客户端,其中包含客户名称和金额;服务不会联系客户。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"gillmacedo-latepayers": {
"command": "npx",
"args": [
"-y",
"latepayers"
]
}
}
}
启动命令npx -y latepayers

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmlatepayers0.1.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring是发票 CSV 的路径
as_ofstring否报告日期,格式为 YYYY-MM-DD。默认值为今天
limitnull|integer否返回的最多客户数,按优先级从高到低排序,默认值为 100。0 表示仅返回汇总数
columnsobject否字段对应的列名(number、customer、issued、due、amount、paid、balance、paiddate、currency),用于自动检测失败时
terms_daysnull|integer否没有到期日的发票所用的付款期限,默认值为 30 天
date_formatstring否dmy 或 mdy,仅在工具报告日期有歧义时需要

详细介绍

latepayers:从发票 CSV 生成应收账款账龄报告

npm CI MIT license MCP Registry

查看谁欠你钱、每张发票逾期多久,以及应该优先催收谁。适用于通过电子表格跟踪逾期发票的自由职业者、小型企业和簿记员。

逾期付款会悄悄侵蚀现金流。latepayers 会读取发票 CSV 导出文件,并按客户生成包含标准账龄区间的应收账款账龄报告,根据逾期金额和账龄排序。它还会显示每位客户通常逾期多久付款。这是一个 MCP 服务,也是一个 Go 单文件二进制程序,无需账户、API 密钥或网络访问。

可以向你的 Agent 提出的问题

  • “谁欠我钱,他们逾期多久了?”
  • “我应该优先催收哪些逾期发票?”
  • “生成一份应收账款账龄报告。”
  • “哪些客户总是逾期付款?”

安装

作为 Claude Code 插件安装,它会添加 MCP 服务和一项技能,告诉 Claude 何时使用该服务。你需要 Node,它会通过 npx 运行服务:

claude plugin marketplace add GillMacedo/latepayers
claude plugin install latepayers@latepayers-marketplace

对于其他 MCP 客户端:

{
  "mcpServers": {
    "latepayers": {
      "command": "npx",
      "args": ["-y", "latepayers", "serve"]
    }
  }
}

或者使用 Go 1.27 或更高版本构建二进制程序:

go install github.com/GillMacedo/latepayers@latest

用法

无需安装任何内容,即可运行 npx latepayers check invoices.csv。除非传入 --as-of,否则会使用当天日期。此示例使用 examples/ 中的虚构文件:

$ go run . check examples/invoices.csv --as-of 2026-10-31
As of 2026-10-31: 5745.50 open, 3745.50 overdue (65.2%)
not due: 2000.00 | 1-30: 500.00 | 31-60: 975.00 | 61-90: 0.00 | 90+: 2270.50
Chase first:
  Example Supplies Ltd  1700.00 overdue of 1700.00 open, oldest 92 days
    INV-2001  1200.00  due 2026-07-31  92 days late
    INV-2002  500.00  due 2026-10-01  30 days late
  Demo Bakery  620.00 overdue of 620.00 open, oldest 122 days
    INV-2009  620.00  due 2026-07-01  122 days late
  Fictional Cafe  450.50 overdue of 450.50 open, oldest 139 days, usually pays 25.0 days late
    INV-2003  450.50  due 2026-06-14  139 days late
  Sample Widgets  975.00 overdue of 2975.00 open, oldest 42 days, usually pays 3.0 days early
    INV-2007  975.00  due 2026-09-19  42 days late
    INV-2006  2000.00  due 2026-11-09  not late
CREDIT  INV-2010  -75.00
SKIPPED row 13: no customer, amount or date

添加 --terms 45,为没有到期日的发票设置付款期限;添加 --json,输出机器可读的数据。

计算方式

值规则
未结金额如果有余额列,则使用该列;否则使用总额减去已付款金额
到期日如果有到期日列,则使用该列;否则使用发票日期加付款期限(默认 30 天)
账龄区间未到期、逾期 1-30 天、31-60 天、61-90 天和 90 天以上
优先催收按每笔逾期金额乘以逾期天数的总和排序
通常逾期天数如果文件包含付款日期,则取付款日期减去到期日的平均值

负余额会列为贷项,不计入总额。重复的发票编号和混合币种会产生警告。

MCP 工具

工具功能
receivables_aging_report返回按优先级排列的总额、账龄区间和客户,并为大型文件设置上限
receivables_inspect_csv显示检测到的列和行数,不显示行内容

这两个工具均为只读,且都无法联系任何人。receivables_aging_report 会将客户姓名和金额返回给 MCP 客户端,因此这些信息会传到你使用的 AI 模型。CLI 会将所有内容保留在你的设备上。

常见问题

什么是应收账款账龄报告? 它会按发票逾期天数对未付款发票分组,帮助你了解有多少资金存在风险,以及应联系哪些人。

它能处理 QuickBooks、Xero 或 FreshBooks 导出的文件吗? 它可以读取 CSV,并识别 Balance Due 等常见列名;你也可以通过 --columns customer=Who,amount=Sum 指定其他列名。它不会连接这些产品,而且目前尚未针对各产品的真实导出文件进行测试。

它能发送付款提醒吗? 不能。它会告诉你应联系谁,你或你的 Agent 可以起草消息供你审批。

限制

  • 这有助于你管理催收,但不构成会计或法律建议。
  • 准确性取决于导出文件,因此请在联系客户前核对余额。
  • 它不会将贷项应用于发票,也不会转换货币。
  • 它会将每个不同的客户姓名视为一位客户。
  • 它只读取 CSV,文件大小上限为 50 MB。
  • 目前仅使用虚构数据进行过测试,未使用真实导出文件。如果你的文件处理失败,请提交 issue 并附上列标题,不要附上你的数据。

参与贡献

欢迎大家贡献,包括使用 AI Agent 的贡献者。请参阅 CONTRIBUTING.md。适合新手的 issue:

  • 添加更多会计工具和语言中的列名
  • 添加 --out,将报告写入 CSV
  • 在汇总中添加应收账款周转天数(DSO)
  • 添加按逾期天数排序的逐张发票视图
  • 添加插件图标
Pull Request 的处理方式
  1. 提交 PR。 Fork 仓库,在分支上进行修改,并将范围限制为一项更改。标题应说明用户会看到哪些变化,因为它会成为变更日志条目:feat: 会列在 Added 下,fix: 会列在 Fixed 下。
  2. 自动检查。 代码更改需要测试,并且 make test 必须通过。超过 30 行的更改需要关联一个未关闭的 issue(Closes #<number>),PR 的更改行数最多为 800 行。如果缺少任何内容,评论会告知你需要修复什么。
  3. 审查。 Claude 会自动审查每个 PR。代码 PR 还会接受安全审查,并在沙盒中测试。之后,审查会合并 PR 或要求进行修改。更改 CI、Agent 设置、npm 或 Python 依赖项、vendored 代码或构建文件的 PR 无法通过此方式合并,评论会说明原因。安全审查未通过的内容也一样。
  4. 发布。 更改用户安装内容的合并会在约两小时内发布为新版本,并附带 GitHub Release;如果项目有 npm 包,也会一并发布。文档和 CI 更改会等到下次发布。

AI 使用说明

本项目大部分由 Claude Code 生成,并由维护者审查。

关于我

我是 Giulliano Macedo,在 GoTech Solutions 开发开发者工具。欢迎关注或联系我:

如果 latepayers 帮你收到了款项,点个星标可以帮助其他人发现它。


采用 MIT 许可证。

由 Giulliano Macedo 开发,GoTech Solutions · LinkedIn · X

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。