德国个人所得税申报表
免责声明:这是一个模板,不是税务建议。 它是基于一个家庭的经验构建的申报起始结构,并根据该项目给出日期下
references/thresholds.json中链接的法律文本进行了核对。税法每年都会变化,每个案例也各不相同。该技能可能错误、不完整或过时。您对您申报的内容负责。请自行核实每一笔金额,对于复杂情况,请咨询税务顾问(Steuerberater)或工资税援助协会(Lohnsteuerhilfeverein)。不提供任何担保(请参阅LICENSE)。在使用规则、问题及限额之前,请根据您自身情况进行调整。
模型提出并解释。脚本检查它们能检查的内容。由人类签署并提交。
没有一笔金额是因为模型相信它而被放入申报表中。只有当 scripts/check_receipts.py 在其来源文档中找到该金额,并且 scripts/limits.py 应用了它所涵盖的限额后,该金额才会被计入。脚本涵盖了一套常见的规则,而非全部税法;任何超出范围的内容都会作为问题留给用户。判断(例如,这笔订阅是工作相关吗?)会被写成一个问题留给人类,而不会默默地决定。
范围与限制(请先阅读)
- 仅适用于用户自己的申报,或与配偶的联合申报。在德国,作为业务为第三方处理税务是持证专业人士的特权(§§ 2, 5 StBerG;§ 6 列出了狭窄的例外情况,例如无偿帮助亲属)。请勿提供此项服务。
- 这是一个模板,不是税务建议。在用户开始时、访谈之前,明确、直白地告知这一点。
- 特定年份的数据来自
references/thresholds.json,每个数据都附有官方来源。如果某一年份在该文件中缺失,则在将其添加之前,请务必通过官方来源(参见references/official-sources.md)进行核实。 - 切勿提交。智能体可以应要求填写ELSTER或税务软件中的表格,但发送操作始终由用户点击完成。
模式
- 年度申报:完整的工作流如下。
- 月度扫描:参见
references/monthly.md。每月初运行,检查上个月的付款记录、发票和电子邮件。 - 税务评估核对:将税务评估通知书(Steuerbescheid)与已申报内容进行比较,列出所有差异,以及提出异议的截止日期(Einspruch:评估通知被视为送达后一个月内,§ 355 AO)。参见
references/workflow.md,第6步。
年度工作流(按顺序的门控)
每个步骤都有一个门控。不要凭模型自己的判断通过门控。
- 访谈。 用通俗的语言,一次一两个地询问
references/interview.json中的12个筛选问题。答案为“是”、“否”或“不确定”(不确定视为“是”)。然后运行python3 scripts/interview.py --answers answers.json(或在终端中使用--ask)。输出将列出每个适用领域的后续问题、需要收集的文件、相关成本的总账分类以及可能涉及的表格。不要因为用户未提及某个领域就跳过它。 门控:所有12个问题都回答完毕。 - 收集。 首先询问纳税年度。收集上一年的申报表和评估通知书、所有证书、发票、银行导出文件和税务局的信件,存放至一个本地文件夹。使用
references/intake-checklist.md。 门控:清单中的每一部分都有明确的答案(数值、是/否、无)。 - 安全。 在用户的本地文件夹中工作。切勿要求或存储密码;用户自行登录。确保税号、IBAN和姓名不会出现在任何同步或共享的文件中。 门控:用户已确认数据存放位置及可查看人员。
- 测试任务(聘用智能体)。 在新年度之前,阅读上一年度的评估通知书,找出被遗漏或削减的项目。报告它们及其所在页和行号。 门控:用户对照纸质文件检查发现结果。
- 建立分类账。 在
ledger-YYYY.csv中为每项申报的成本创建一行(列格式参见scripts/limits.py --help)。按照references/deduction-guide.md对行进行排序。混合用途项目需包含work_share和书面理由。 - 检查(脚本说了算,而非观点)。
python3 scripts/check_receipts.py ledger-YYYY.csv --root FOLDER每笔金额必须在对应文档中找到。如果安装了 tesseract,扫描件将通过 OCR 读取。检查失败的行要么修正,要么标记为推算数值,并在旁边附上计算过程。python3 scripts/limits.py ledger-YYYY.csv --year YYYY应用份额、上限、一次性扣除额、低价值资产限额以及支付年份规则。被标记的行将作为问题提交给用户。- 公寓租赁:
python3 scripts/afa.py split|eligible|schedule ...门控:两个脚本均以退出码0结束(在limits.py中,只有状态为approved的行通过),或者每个剩余的标记都有书面回答。
- 填写、审核、提交。 将核对后的总计映射到申报表格(
references/output-template.md)。用户审核每个字段并提交。收到评估通知书后,运行税务评估核对。
输出规则
- 优先显示结果:退税额或应缴税额,以及仍阻碍提交的因素。
- 显示脚本输出,而非转述内容。
- 每一项估算都必须明确标记为估算。
- 对于德语术语,首次出现时给出英文翻译(括号内)。
文件
scripts/interview.py+references/interview.json:12个筛选问题 -> 生成收集清单scripts/check_receipts.py:金额必须出现在其来源文档中scripts/limits.py:每年、每人的法定限额scripts/afa.py:建筑份额、5%递减资格、折旧计划scripts/monthly_scan.py:银行CSV + 发票 + .eml -> 月度报告references/thresholds.json:带官方来源的年份数值references/deduction-guide.md:哪些费用算作扣除及如何判断references/workflow.md:详细的关控步骤、税务评估核对references/monthly.md:月度例行程序及如何安排references/intake-checklist.md、references/output-template.mdreferences/official-sources.mdexamples/:虚构的分类账和收据,供快速测试两项检查tests/:python3 -m unittest discover -s tests