ドイツ税務申告(ドイツ語:Einkommensteuererklärung)
免責事項:これはテンプレートであり、税務アドバイスではありません。 これは1つの世帯の経験に基づき、
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: 通知が送達されたとみなされてから1ヶ月以内、§ 355 AO)の期限をリストアップします。
references/workflow.md、ステップ6を参照。
年間ワークフロー(ゲート順)
各ステップにはゲートがあります。モデルの判断のみでゲートを通過しないでください。
- インタビュー.
references/interview.jsonにある12のスクリーニング質問を、一度に1つまたは2つずつ、平易な言葉で尋ねます。回答は「はい」「いいえ」「不明」(不明は「はい」として扱う)です。次に、python3 scripts/interview.py --answers answers.json(またはターミナルで--ask)を実行します。出力には、未処理の分野ごとに、フォローアップ質問、収集すべき書類、その経費の元帳カテゴリ、および該当するフォームがリストされます。ユーザーが言及しなかったからといって、分野をスキップしないでください。 ゲート: 12問すべてに回答した。 - 収集. まず課税年度を尋ねます。前年の申告書と納税通知書、すべての証明書、請求書、銀行取引明細、税務署からの書簡を1つのローカルフォルダに集めます。
references/intake-checklist.mdを使用します。 ゲート: チェックリストのすべてのセクションに明示的な回答(値、はい/いいえ、なし)がある。 - セキュリティ確保. ユーザーのローカルフォルダで作業します。パスワードを要求したり保存したりしないでください。ユーザーが自分でログインします。税ID、IBAN、氏名は、同期または共有されるファイルには絶対に含めないでください。 ゲート: ユーザーがデータの保存場所と誰がアクセスできるかを確認した。
- **テストタスク(エージェントの採用). ** 新年の前に、前年の納税通知書を読み、何が見落とされていたか、または減額されたかを特定します。ページと行番号とともに報告します。 ゲート: ユーザーがその発見事項を紙の通知書と照合した。
- 元帳の作成. 請求された経費ごとに1行を
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