AI系统可以自动处理Self Assessment纳税申报表并将其提交到HMRC吗?
演示 FileMyTax — 由 Workstation 为 CognoAI 构建的从银行 PDF 到 HMRC MTD 归档的 AI 驱动管道
简短易读的伴侣。如需全面深入了解架构、HMRC OAuth、curl 示例和限制,请阅读 长篇文章. 不是税务建议。
AI可以将您的Self Assessment归档到HMRC吗?
每年一月都会出现同样的问题:人工智能可以读取我的银行对账单并提交我的英国纳税申报表吗?我们构建的系统给出的实际答案 认知人工智能 — 在此发布为 FileMyTax - 是 是的,用于准备,而不是用于无人值守的归档。 AI可以从PDF中提取交易,将其分类为HMRC Self Assessment类别,核对余额,并确定性地计算2025-26年税收;在任何东西到达生产 MTD 之前,人类仍然会进行审查,会计师仍然会签字,纳税人仍然会完成 HMRC OAuth。
Workstation开发底层平台; CognoAI拥有知识产权。这篇文章解释了六个 API 调用的情况 - 没有使用其他地方拥有的产品名称。
观看演示
通过分类和计算将 PDF 存入 HMRC MTD 沙箱 — 在 UI 中提供审核门。
六步管道
- 上传 —
POST /fastapi/api/upload通过 nginx 将 PDF 发送到 MinIO。 - 提炼 — 用于本机表的 pdfplumber;克劳德视力扫描。
- 分类 — LLM 将行映射到带有置信度分数的 SA 费用类别。
- 调和 — 余额检查和收入/支出汇总。
- 计算 — 确定性 2025-26 所得税 + 4 类 NI(数学中没有 LLM)。
- 文件 —
POST /fastapi/api/fileOAuth 和人工批准后更改为 HMRC MTD。
JWT auth来自opsapi; NINO 静态加密;端口 8085 上的 Gatus 监视每项服务。
谁建造的
认知人工智能 拥有系统IP和产品方向。 Workstation 构建了 Dockerized 平台 — nginx 路径路由、FastAPI AI 服务、opsapi auth、PostgreSQL、MinIO、Gatus 监控和 Next.js 审核 UI。我们以名义发布 FileMyTax 描述演示;我们在本文中不使用其他 CognoAI 产品名称。
为什么人工智能会有所帮助——以及它的局限性
AI 在数百条银行线的速度和一致性、异常标记以及将混乱的描述映射到 HMRC 类别方面获胜。它并不能取代判断:转移与租金、资本与收入、个人与企业仍然需要关注。税务引擎是带有 DECIMAL 字段的纯 Python - 我们坚持对受监管的金融进行同样的分离: LLM 代表语言,代码代表法律.
在测试中我们使用了 虚构的汇丰风格的房东声明固定装置 (仅限合成数据)在高周转情况下进行压力提取 - 包括 pdfplumber 选择错误列的教训(余额与付费)。这些失败就是协调和审查存在的原因。
架构一览
本地主机上的一个 nginx 负责一切:用于人类的 Next.js、用于 AI 和归档的 FastAPI、用于登录的 opsapi 和加密的 NINO。 PostgreSQL存储报表和分类交易; MinIO 保存 PDF。税收计算器应用 Python 中的英国 2025/26 频段 — 个人津贴锥度、所得税、4 类 NI — 以及 DECIMAL(18,2) 货币字段。这种划分是有意为之的:监管机构和会计师需要可重复的数学,而不是概率代币。
对财务团队的好处
- 速度 — 在 Excel 中,只需几分钟(而不是几天)即可分类数百行。
- 一致性 — 每行都有相同的 HMRC 类别规则。
- 异常现象 - 调节表尽早显示平衡和映射错误。
- 审计追踪 — 处理状态、信心、有理由的推翻。
- 隐私 — 本地堆栈选项,无需通过 SaaS 租户传递语句。
- 会计时间 — 审阅者看到的是回报草稿,而不是原始 PDF。
HMRC MTD 一段
通过 opsapi 保存 NINO,启动 OAuth,获取业务和义务,然后在沙箱中归档,直到您的会计师满意为止。欺诈预防标头和令牌刷新在服务器端处理。翻动 HMRC_ENVIRONMENT=production 仅当您真心实意时。
免责声明
- 不是税务建议。 在实时提交之前请一位英国会计师进行审核。
- FileMyTax 是本文中的演示名称;其他 CognoAI 产品名称是独立的 - 不要将它们混淆。
- 虚构的银行数据 其中提到了测试夹具。
- 没有无人值守的归档 ——之前的人门
POST /api/file.
您将在视频中看到什么
YouTube 演练显示了 Next.js UI:上传声明、观察提取和分类进度、检查置信度分数、运行 2025-26 纳税年度计算、在沙箱中连接 HMRC,并在文件步骤暂停直至人工确认。这种停顿是产品的决定——而不是缺失的功能。完全无人值守的提交速度会更快,而且在法律上也很脆弱。
拥有多个租赁账户的房东以及个人和企业混合的个体经营者是主要受众。支持他们的财务运营团队获得相同的管道:更少的 CSV 导出、更少的 1 月 31 日之前的通宵工作、更多的时间解释数字而不是查找数字。
安全地尝试一下
克隆堆栈,运行 ./start.sh,粘贴长文章中的curl示例,并留在HMRC沙箱中,直到您的会计师完成完整的申报。放 HMRC_ENVIRONMENT=sandbox,如果需要的话创建一个测试用户,并对待 POST /api/file 就像生产型导弹一样——因为在实时模式下,它就是这样。
如果 nginx 80 端口繁忙,请使用 NGINX_HOST_PORT=8080。如果 JWT 突然失败,请验证 opsapi 和 FastAPI 共享相同的密钥。如果需要协调,请在覆盖分类之前修复 PDF 列映射 - 该顺序可以节省时间。
OAuth 不是可选的
HMRC 不会接受仅包含国民保险号码的后台 cron 作业的提交。纳税人必须通过政府网关授权您的应用程序,该网关返回后端存储和刷新的令牌。 FileMyTax 的设置流程如下:保存加密的 NINO,打开 HMRC 授权 URL,通过回调返回,获取业务和义务,然后归档。欺诈预防标头伴随着每个 API 呼叫 — 设备 ID、用户代理和 Gov-* 的其余部分从客户端设置平台转发。
这就是为什么营销幻灯片中的“自动”真正意味着 最后通过人工和 OAuth 门进行自动准备。该工程仍然很有价值:六个卷曲步骤是可重复的,可在沙箱中测试,并且可在 Gatus 中观察。
阅读长版本
这 长文章 涵盖归因、架构 SVG、完整卷曲示例、收益表、OAuth 步骤、限制、Gatus 监控、2025-26 税收参数和路线图。手表 YouTube 演示 并参观 英国科格诺艾 针对产品背景; Workstation 用于工程。
Run it on your own machine
Machines that run tax-return AI locally
Bank statements are some of the most sensitive data you hold. A local LLM can extract every transaction and classify it into HMRC Self Assessment income and expense categories without the statements leaving your office. Each machine below runs the extract, classify and reconcile steps from this post. The button puts it in your basket with Trade membership added and opens checkout — you can remove Trade there before you pay.
- NVIDIA
NVIDIA DGX Spark
GB10 Grace Blackwell with 128 GB of unified memory. Runs 70B-class classifiers and a vision model for scanned statements side by side — sized for a practice filing for many clients.
Add to basket with Trade - Apple
Apple Mac Studio — M5 Max, 36 GB
A quiet desktop for a sole trader or small practice. 8B–14B models in Ollama or MLX classify a full tax year of transactions and flag anything they're unsure of for review.
Add to basket with Trade - AMD Ryzen
Workstation Creator AI — AMD Ryzen 9 9950X + RTX 5090
A 16-core AMD Ryzen tower with a 32 GB GPU, shipped with Ubuntu and the CUDA stack installed. Fast batch OCR and classification when you process statements in bulk.
Add to basket with Trade