这是长篇深入探讨。如需更快的同伴,请参阅 博客文章. 不是税务建议。 在向英国税务海关总署 (HMRC) 实时提交之前,务必先进行英国会计师审查。
1.简介:AI可以自动进行自我评估吗?
诚实的答案是 大多数情况下是用于准备,否用于无人值守提交。人工智能系统可以提取 PDF 银行对账单,提取数百笔交易,将其分类为 HMRC 自我评估费用类别,调节余额,计算 2025-26 纳税年度的所得税和国民保险,并调用 HMRC 税务数字化 (MTD) API 进行归档,但前提是在人员(或会计师)审查了分类、对账和计算的回报之后,并且只有在纳税人使用其政府网关凭证完成 HMRC OAuth 后。
这篇文章记录了 文件我的税,开发的示范管道 工作站 为了 认知人工智能,拥有底层系统知识产权,并获准发布其工作原理。 FileMyTax 是此处使用的出版物名称;它与其他 CognoAI 产品的产品名称不同。工作站搭建并记录实施情况; CognoAI 拥有该 IP。
我们将介绍六种 API 管道、人工智能帮助财务分析的架构、必须接管确定性代码、HMRC OAuth 和 MTD 归档、从房东银行对账单测试中了解到的限制,以及为什么不建议完全无人值守的归档。
2. 谁建造了这个以及为什么
认知人工智能 委托底层平台来减轻业主、个体经营者和财务团队在英国自我评估中陷入 PDF 银行对账单和电子表格胶水的痛苦。我们的目标不是取代会计师,而是将繁琐的 90% 工作(提取、分类、对账、计算草稿)自动化,因此专业审查侧重于判断,而不是数据输入。
工作站 设计了堆栈:Dockerized nginx 路由、Next.js 前端、用于 AI 密集型操作的 FastAPI、用于身份验证和税务 CRUD 的 opsapi (Lua Lapis)、PostgreSQL、MinIO 对象存储和 Gatus 运行状况监控。本文解释了 FileMyTax 演示名称下的架构以及 CognoAI 的归属。
3. 问题:PDF、电子表格和 MTD
房东和个体工商户经常收到银行 PDF 的年度包——多个账户、混合的个人和商业业务、抵押贷款利息、维修费、代理费和难以大规模分类的转账。在开发过程中,我们对管道进行了压力测试 虚构的汇丰风格的房东声明固定装置 (仅合成数据,不是真实的客户记录),营业额场景约为 50 万英镑和 70 万英镑,以验证负载下的提取。现实世界的包很混乱:扫描的页面、表格布局(其中余额列被误认为已付款金额)以及需要上下文的描述,例如“RENT REC”旁边的“TRANSFER”。
电子表格一直有效,直到它们不起作用为止:公式漂移、没有审计跟踪、没有直接 MTD 提交、没有与 HMRC 费用类别(商品成本、营业场所运行成本、专业费用等)的一致映射。打包的 SaaS 可以提供帮助,但具有定制数据驻留需求或笨拙的语句格式的团队仍然可以从他们控制的管道中受益。
4.FileMyTax 概述
简单来说,FileMyTax 执行以下操作:
- 您上传 PDF 银行对帐单。
- AI 和 pdfplumber 提取结构化交易。
- 法学硕士将每一行分类为带有置信度分数的自我评估类别。
- 系统调节借项、贷项和运行余额。
- 确定性税务引擎计算所选纳税年度的回报。
- 经过人工批准和 HMRC OAuth 后,平台可以通过 MTD 进行归档。
一切都在本地主机(或用于移动测试的 LAN IP)上的单个 nginx 入口点后面运行。 JWT 身份验证在 FastAPI 和 opsapi 之间共享。诸如国民保险号码之类的敏感字段会在静态时进行加密。
5. 六步API管道
完整的演示管道是六个经过身份验证的 API 调用(示例使用 nginx http://localhost;调整端口,如果 NGINX_HOST_PORT 已设置)。通过获取 JWT POST /opsapi/auth/login 首先。
每一步都会更新 ProcessingStatus 和 ValidationStatus 行,以便 UI 和 Gatus 相邻的操作工具可以查看语句是否陷入提取状态或准备好计算。在单独阅读curl示例时,该状态机很容易被忽视,但这就是并行上传安全的原因:语句ID是独立的,并且始终计算单个键 statement_id 加上明确的 tax_year 查询参数(例如 2025-26).
Swagger for FastAPI 位于 http://localhost/fastapi/docs; opsapi 暴露 http://localhost/opsapi/swagger。当nginx端口80被占用时(Rancher Desktop或Apache常见),设置 NGINX_HOST_PORT=8080 在 .env 并重新运行 ./start.sh - 所有示例都使用 localhost:8080 相反。
5.1 上传PDF声明
curl -F "file=@bank_statement.pdf" \
-H "Authorization: Bearer $TOKEN" \
http://localhost/fastapi/api/upload
5.2 提取交易
curl -X POST http://localhost/fastapi/api/extract \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"statement_id": 1}'
原生 PDF 使用 pdfplumber;扫描的 PDF 会回退到 Claude Vision OCR。分类器提供者由以下方式选择 LLM_PROVIDER (OpenAI 或 Anthropic)启动时 — 失败时不会自动跨提供商回退;分类失败返回未分类 confidence: 0.0.
5.3 交易分类
curl -X POST http://localhost/fastapi/api/classify \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"statement_id": 1}'
5.4 协调声明
curl -X POST http://localhost/fastapi/api/reconcile \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"statement_id": 1}'
5.5 计算纳税申报表
curl -H "Authorization: Bearer $TOKEN" \
http://localhost/fastapi/api/calculate/1?tax_year=2025-26
税收计算器适用 2025/26 年规则:个人免税额为 12,570 英镑,逐步超过 10 万英镑,所得税税率为 20%、40%、45%,4 级 NI 税率为 8% 和 2%。这一步是 确定性Python — 没有算术法学硕士。
5.6 向英国税务海关总署 (HMRC) 提交文件
curl -X POST http://localhost/fastapi/api/file \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"statement_id": 1,
"nino": "AB123456C",
"access_token": "your_hmrc_token",
"tax_year": "2025-26"
}'
请勿将此端点称为无人值守。 将其视为审核和会计师签字后的最后一道关口。
6. 建筑
通过 nginx 的流量: / 到 Next.js, /fastapi/* 到 FastAPI, /opsapi/* 到opsapi。 PostgreSQL 保存报表、交易、纳税申报表和处理状态。 MinIO 存储上传的 PDF。端口 8085 上的 Gatus 每 10-30 秒轮询一次运行状况端点。存在直接调试端口(FastAPI 8847,前端 3847),但生产式测试仅使用 nginx 路径。
7. 工作流程图
泳道将关注点分开:客户审查、摄取、AI 提取和分类、确定性税务引擎、HMRC OAuth 和归档以及审计(JWT、加密 NINO、日志)。该决策矩阵将 FileMyTax 人工智能辅助流程与手动电子表格和仅由会计师准备的流程在时间、准确性、审计跟踪、成本、HMRC 合规性和人工监督方面进行了比较。
8. 人工智能财务分析——好处
| 效益 | 人工智能提供什么 | 人类角色 |
|---|---|---|
| 速度 | 分钟内分类数百行 | 抽查高值行 |
| 一致性 | 相同的规则适用于每笔交易 | 有理由地覆盖边缘情况 |
| 异常检测 | 标志平衡不匹配、奇怪的模式 | 调查标记的项目 |
| 大规模分类 | 映射至 HMRC SA 费用类别 | 确认不明确的描述 |
| 审计追踪 | 处理状态+每条线的置信度 | 会计师出口 |
| 隐私 | 本地 Docker 堆栈;无第三方 SaaS 租户 | 控制 API 密钥和保留 |
| 会计准备时间 | 汇票草稿+对账账本 | 文件提交前由专业人士签字 |
8b.堆栈和服务(技术细节)
FileMyTax 背后是由以下人员编排的 Docker Compose 堆栈 ./start.sh,它可以在本地、LAN、测试、登台或生产模式下运行。后端在 PostgreSQL 上使用 FastAPI 和 SQLModel;上传的 PDF 登陆 MinIO,API 容器中的本地磁盘存储为零。前端是 Next.js NEXT_PUBLIC_* 在构建时从根烘焙的变量 .env.
身份验证是故意分开的。 奥萨皮 (Lua Lapis) 颁发 JWT 访问令牌和不透明刷新令牌(适用于 Web 的 HttpOnly 安全 cookie,适用于移动设备的 JSON 主体)。 FastAPI验证相同 JWT_SECRET_KEY。服务包括 StorageService、PDFProcessorService、LLMService、ClassificationService、ReconciliationService、TaxCalculatorService 和 HMRCClient,每个服务都有一个狭窄的边界,因此人工智能故障不会破坏税务计算。
支持的银行解析器针对常见的英国布局(HSBC、Barclays、Lloyds、Santander 和类似的表格 PDF)。解析器灵活地检测日期、描述、借方/贷方或金额以及余额列——这在选择错误的列之前非常强大;请参阅下面的限制。
9. 英国税务海关总署 (HMRC) 实现税务数字化
MTD 自我评估需要用户授权的 OAuth——仅 NINO 是不够的。典型流程:
- 拯救尼诺 —
POST /opsapi/api/v2/tax/profile/nino(静态时加密,响应时隐藏)。 - 连接英国税务海关总署 —
GET /opsapi/auth/hmrc/initiate回报auth_url;用户通过政府网关登录;回调交换服务器端存储的令牌的代码。 - 获取商家 —
POST /fastapi/api/hmrc/businesses/fetch缓存交易名称和 ID。 - 获取义务 —
POST /fastapi/api/hmrc/obligations/fetch对于季度期间和截止日期。 - 文件 —
POST /fastapi/api/file审查后。
套装 HMRC_ENVIRONMENT=sandbox 为了发展;切换到 production 准备好后无需更改代码。后端发送强制防欺诈标头;客户应提供稳定的 X-Device-ID 和准确的 User-Agent 价值观。可以通过以下方式创建沙箱测试用户 POST /fastapi/api/hmrc/sandbox/create-test-user 当沙盒模式启用时。
HMRC 访问令牌在大约四个小时后过期;后端管理刷新 - 移动和 Web 客户端使用 opsapi 存储的令牌,而不是在 OAuth 重定向之外的浏览器中嵌入机密。
9.1 保存 NINO 并检查配置文件
curl -X POST http://localhost/opsapi/api/v2/tax/profile/nino \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "nino": "QQ123456C" }'
curl -H "Authorization: Bearer $TOKEN" \
http://localhost/opsapi/api/v2/tax/profile
反应掩盖了 NINO (****456C)同时确认 hmrc_connected OAuth 后令牌过期。
9.2 OAuth发起
curl -H "Authorization: Bearer $TOKEN" \
"http://localhost/opsapi/auth/hmrc/initiate?source=settings"
打开 auth_url 在系统浏览器或 ASWebAuthenticationSession 中——而不是凭证填充的 WebView。移动应用程序应将深层链接或通用链接注册为 HMRC_REDIRECT_URI.
9.3 业务和义务
curl -X POST http://localhost/fastapi/api/hmrc/businesses/fetch \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
curl -X POST http://localhost/fastapi/api/hmrc/obligations/fetch \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "business_id": "XAIS12345678910" }'
之后缓存读取避免在每次页面加载时命中 HMRC: GET /fastapi/api/hmrc/businesses 和 GET /fastapi/api/hmrc/obligations?tax_year=2024-25.
9.4 断开连接和状态
curl -X DELETE http://localhost/opsapi/auth/hmrc/disconnect \
-H "Authorization: Bearer $TOKEN"
curl -H "Authorization: Bearer $TOKEN" \
http://localhost/fastapi/api/hmrc/status
8c.人工智能财务分析——更深入的视角
除了汇总表之外,对于评估构建与购买的 FinOps 团队来说,三种模式也很重要。
首先,吞吐量。 一个在两个租赁账户上有 12 个月交易的个体商人可能会花一天时间在 Excel 数据透视表上; FileMyTax 管道在煮咖啡的时间内完成提取 + 分类 + 协调,从而将人类的时间用于判断。这种转变将会计经济学从数据输入转向咨询——无论如何,计费价值是会计师所偏爱的。
第二,可解释性。 每个分类都带有一个置信度分数,并且可以用与交易一起存储的原因来覆盖。这比完整的思想链审计日志弱,但比黑盒 SaaS 导出强,在黑盒 SaaS 导出中您看不到为什么第 417 行是“修复”。
第三,成本曲线。 在本地运行,每次回报的边际成本是用于分类的 API 代币加上电力,而不是随实体数量缩放的每个席位 SaaS 费用。对于拥有许多报表的投资组合业主或财务运营团队来说,这条曲线很重要。前期工程成本是真实的; CognoAI 通过工作站交付吸收了这一点,而不是每年将电子表格工作推给每个用户。
对隐私敏感的组织还关心 PDF 和 Postgres 行在 HMRC 备案之前保留在其 Docker 网络中 - 演示架构中没有多租户云摄取步骤。生产强化仍然需要备份、访问控制和 DPIA 文档;本文并未假装 GDPR 合规性是自动的,因为堆栈是本地的。
10. 演示视频
端到端 FileMyTax 演示:通过分类和计算将 PDF 存入 HMRC MTD 沙箱归档,并在 UI 中显示审核门。
11. 人在循环中
人工智能可能会误读扫描的列,将转账与收入混淆,或者在描述模糊时分配错误的费用类别。 UI 专为审核而设计:接受、覆盖或拆分交易并捕获原因。税收计算是确定性的且可测试的;法学硕士从不计算应缴税款。
会计签字 在强制向 HMRC 提交任何实时报告之前。这篇文章是 不是税务建议。 FileMyTax 展示了 CognoAI 的工程能力;您的情况在津贴、财产收入分割、合伙关系和其他 SA 计划方面可能有所不同。
11b.使用 Gatus 进行监控
随附的 Gatus 仪表板 (http://localhost:8085 默认情况下)通过 nginx、FastAPI 轮询前端 /fastapi/health、opsapi /opsapi/health?detailed=true、Swagger 可访问性以及用于旁路诊断的直接容器端口。每次检查间隔为 10-30 秒。添加服务意味着编辑 monitoring/gatus/config.yaml 并重新启动 Gatus 容器——在您信任真实财务数据的管道之前,这是一个小但重要的操作习惯。
健康检查并不能替代端到端测试:该存储库还支持 Playwright E2E 针对正在运行的堆栈和后端的 pytest。绿色的 Gatus 板加上失败的协调仍然是失败的一天。
12. 限制
- PDF提取: pdfplumber 采用表格布局;汇丰银行风格的报表教会我们明确地验证余额与付费列——错误的列映射会默默地破坏对帐。
- 光学字符识别: 扫描的陈述取决于 Claude Vision;较差的扫描需要人工校正。
- 法学硕士护栏: 低置信度分类不得自动归档;提供商失败时默认未分类,而不是猜测。
- 确定性分离: 税阶和 NI 税率位于
tax_calculator.py具有 DECIMAL 精度 - 绝不是即时设计的。 - 合规范围: GDPR、2018 年数据保护法和 HMRC 规则适用;生产需要备份、机密管理和超出开发 Docker 组合的监控。
- JWT 对齐: FastAPI 和 opsapi 必须共享
JWT_SECRET_KEY;不匹配表现为不透明的 401 签名错误 - 如果身份验证在重新部署后突然中断,请检查两个容器。 - 启动时提供商锁定:
LLM_PROVIDER是 openai 或 anthropic,无需交叉故障转移;如果提供商出现中断,请计划维护时段。
在测试房东场景时,请将调节增量视为一流信号,而不是滋扰。 1.2 万英镑的不匹配通常意味着列映射错误,而不是顽皮的租户。修复提取规则并重新运行幂等管道比手动覆盖数百行要便宜。
12b.与打包税务软件相比如何
FreeAgent、Xero Tax 和类似工具是大多数用户的正确默认工具:经过认证的 MTD 连接器、支持台和经过培训的会计师。当您需要自定义分类规则、本地或 VPC 部署、与现有 opsapi 身份平面集成或发布垂直工作流程(如 CognoAI 对于 AI 辅助会计所做的那样)时,FileMyTax 式平台很有意义。工作流 SVG 中的决策矩阵是故意诚实的:电子表格速度慢且容易出错;仅会计师是安全的,但重复准备费用昂贵;只有当您投资工程并仍然支付专业签字费用时,人工智能辅助的本地管道才能在可审核性和边际成本方面获胜。
13. FileMyTax / CognoAI 的下一步是什么
平台文档中可见的路线图项目包括更深入的 MTD ITSA 预览计算往返、来自会计更正的扩展 RAG 式训练数据、用于 SaaS 部署的多租户身份验证 cookie 域以及更严格的移动 OAuth 流程。 Workstation 代表 CognoAI 继续进行工程设计;产品方向和 IP 仍由 CognoAI 负责。
工程读者应该观看上游存储库中的三个集成文档:HMRC MTD 集成(用于预览计算的 A-D 阶段)、共享身份验证(JWT + 刷新轮换)和 AI 训练数据管道(pgvector 嵌入加上会计师更正的 MinIO markdown 导出)。它们共同展示了当今的演示流程如何成为一个学习系统——当专业人员修复错误时分类会得到改善,而无需重新培训税务计算器。
对于运营商来说,生产部署意味着 ENVIRONMENT=production、HTTPS 终止在 nginx 前面、数据库备份、平面之外的机密 .env 文件,并在 Gatus 绿灯之外发出警报。这些都没有削弱核心故事:人工智能消除了电子表格的摩擦;确定性代码包含税法;人类保留责任。
13b.常见问题
FileMyTax 会取代我的会计师吗? 不会。它减少了准备工作;会计师仍然会验证银行 PDF 上没有的待遇、救济和其他收入来源。
我可以在手机上运行这个吗? LAN 模式将 CORS 和 API URL 重写为您的 Wi-Fi IP,以便您可以在同一网络上的手机上测试 Next.js UI - 对于演示很有用,但不能替代强化的移动发布工程。
如果LLM挂了怎么办? 分类以零置信度返回未分类的行;管道不会默默地切换提供商。您修复提供商配置或等待——人工审核存在的另一个原因。
这里有提到DIY TAX RETURN吗? 不。该名称指的是单独的 CognoAI 产品品牌。本文仅根据发布规则使用 FileMyTax。
13c. 2025-26 计算快照
对于根据 HMRC 指南验证确定性引擎的读者,计算器中包含的 2025/26 年参数包括: 个人免税额 12,570 英镑,收入每超过 100,000 英镑,每 2 英镑减少 1 英镑; 12,571 英镑至 50,270 英镑之间基本费率为 20%;利率提高 40%,最高可达 125,140 英镑;在此之上加收45%; 4 级 NI,利润在 12,571 英镑至 50,270 英镑之间,税率为 8%,以上税率为 2%。费用类别与 HMRC 自营职业框一致 - 商品成本、经营场所运行成本、旅行成本、专业费用以及平台自述文件中列出的其余部分。发动机消耗分类总量;它不会重新解释自然语言描述。这个边界使得自动归档变得站得住脚:法学硕士提出了标签;计算器适用法规。
14. 结论
人工智能系统可以自动处理并向 HMRC 提交英国自我评估报告吗? 它可以自动化几乎所有准备工作并公开一键式文件 API,但负责任的使用需要人工审核、会计师签字、沙箱测试和纳税人 OAuth。 FileMyTax 展示了实践中的情况:六个 API、清晰的架构、模式识别获胜的人工智能以及法律要求精确性的确定性代码。
观看 YouTube 上的演示, 访问 认知人工智能 对于产品上下文,以及 联系工作站 如果您的堆栈上需要此类 FinOps 工程。
本文的 SEO 快照
- 搜索引擎优化标题: AI 可以向 HMRC 提交自我评估吗? |文件我的税
- 元描述: FileMyTax 演示:AI 提取银行 PDF、对 SA 交易进行分类、计算 2025-26 税、通过 HMRC MTD 归档 — 并进行人工审核。由 CognoAI 工作站构建。
- 主要关键词: AI自我评估、FileMyTax、HMRC MTD、自动报税、银行对账单AI、CognoAI、Workstation
- Twitter / X(280 个字符以下): AI 可以向 HMRC 提交英国自我评估吗? FileMyTax 演示:银行 PDF → 分类 → 计算 → MTD,首先是人门 + 沙箱。由 Workstation 为 @CognoAI 构建。视频 + 4k 字的文章。不是税务建议。 #HMRC #MTD #AI #FileMyTax
- 领英帖子: 我们发布了由 Workstation for CognoAI 开发的 FileMyTax 如何通过 AI 提取、HMRC 类别分类、确定性 2025-26 税收计算和 MTD 归档,在提交前使用加密的 NINO 存储、OAuth 和严格的人工审批门来获取房东或个体工商户银行 PDF。这篇长文章涵盖了六种 API 管道、架构 SVG、欺诈预防标头和诚实限制(pdfplumber 列陷阱、LLM 信心护栏)。观看新的演示视频;在任何实时文件之前让会计师签字。不是税务建议。
免责声明:所引用的银行数据均为虚构; FileMyTax 是一个演示名称;不是税务建议;在向 HMRC 实时提交之前需要进行会计师审查。
