Norman について
Normanは、ドイツとポーランドのフリーランスや小規模事業者向けのリモートMCPサービスです。AIクライアントを会社の会計記録に接続し、請求、記帳、税務確認、国別のワークフローを扱います。重要な操作には確認が必要です。
主な機能
- 01請求書、見積書、支払いリマインダーの作成
- 02領収書の整理と取引の照合
- 03勘定、仕訳、レポートの確認
- 04VAT、税額見積もり、申告状況の確認
- 05ドイツの年度末処理と税務ワークフローの準備
- 06ドイツとポーランドの会計コンテキストに対応
活用シーン
- 01会社設定を使った請求書の下書き
- 02領収書が不足している取引の確認
- 03申告前のVATや税務状況の確認
- 04会計士への引き継ぎ用記録の準備
MCP 対応
Normanは、対応するAIクライアント向けにリモートMCPエンドポイント `https://mcp.norman.finance/mcp` を提供します。会社ごとの会計ワークフローを公開し、ドイツとポーランドで異なる機能と制限を設けています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.norman.finance/mcpclaude mcp add --transport http norman https://mcp.norman.finance/mcp{"mcpServers":{"norman":{"type":"http","url":"https://mcp.norman.finance/mcp"}}}Cursor で開く{"servers":{"norman":{"type":"http","url":"https://mcp.norman.finance/mcp"}}}VS Code で開く{"mcpServers":{"norman":{"type":"http","url":"https://mcp.norman.finance/mcp"}}}{"mcpServers":{"norman":{"serverUrl":"https://mcp.norman.finance/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
Norman MCP サーバー
MCP を通じて、欧州の企業向けに AI を活用した記帳、会計、請求書発行、税務ワークフローを提供します。
Norman Finance を AI に接続し、記帳、請求書、取引、書類、元帳、レポート、税務ワークフローを利用できます。
https://mcp.norman.finance/mcp
Claude · ChatGPT · Gemini · Grok · Perplexity · Cursor · あらゆる MCP クライアント
できること
請求書発行 — 請求書、見積書、定期発行スケジュールを作成・編集できます。書類テンプレート、明細の割引、単位、サービス提供日、支払いリンクにも対応しています。ポーランドの請求書明細では VAT コードが保持されます。ドイツのワークフローでは、ZUGFeRD、Stornorechnung、Rechnungskorrektur、Lieferschein に対応しています。
クライアントへのメールとリマインダー — 会社独自のメール文面と CC の宛先を設定して請求書を送信し、配信状況を確認できます。また、請求書の自動支払いリマインダーを有効にし、リマインダーのルール(各段階の日数と督促手数料)を設定できます。
記帳 — 取引を分類し、領収書と照合して、記帳内容を確認できます。
ポーランドの会計 — JDG の KPiR を確認し、取引が含まれる、または除外される理由を説明できます。PL_FULL を利用する sp. z o.o. では、仕訳帳、勘定科目表、勘定科目明細、試算表、作成済み財務諸表を閲覧できます。General、Optima、EPP 形式への会計データのエクスポート互換性を事前確認できます。ポーランドの MCP ツールと使用例をご覧ください。
DATEV — Steuerberater 向けに、SKR03 または SKR04 を使用したドイツの DATEV EXTF エクスポートを生成できます。DATEV のサポートには、Ledger の完全なエクスポート、単独での EXTF 読み取り、会計士への引き継ぎ前のチェックが含まれます。
自動化ルール — 「Telekom は常にインターネット費用として記帳」のようなルールを事前確認、作成、管理し、一致する取引を自動的に分類できます。
ワークフロー — 「8 月の月次締めをお願いします」のように依頼できます。Norman は自社サーバー上で月次締め、銀行照合、VAT 申告の準備、請求書と支払いの照合、クライアントへの書類依頼を実行します。質問がある場合のみ作業を止めて確認し、毎月自動で実行することもできます。質問に回答したり、AI クライアントから今週エージェントが行った作業を確認したりできます。
クライアント管理 — クライアントデータベースと連絡先情報を管理できます。
商品とサービス — 販売する商品のカタログを価格、VAT 税率、単位とともに管理し、カタログから請求書の明細を入力できます。
税務レポート — ドイツでは、Finanzamt 向けのプレビューを生成し、確認後に対応済みの申告を提出できます。ポーランドでは、JPK の売上と仕入れ、PIT/ZUS または CIT の見積もり、既存の JPK/PIT 申告状況と UPO の利用可否を確認できます。ポーランドの署名と提出は、MCP ツールとして提供されていません。 ドイツの給与計算 — GmbH/UG の月次給与計算(Max プラン)を行います。月の給与を計算して承認し、Krankenkasse ごとおよび Minijob-Zentrale への社会保険料を確認し、Beitragsnachweis の見積もりを保存して、Lohnsteuer-Anmeldung を提出できます。承認済みの月を修正し、給与明細や Lohnkonto をダウンロードリンクで取得できます。税務 ID、保険番号、銀行口座情報は Norman アプリ内に保管されます。
会社概要 — 残高、収益、財務状況をひと目で確認できます。
会社設立 — ドイツで GmbH または UG を設立します。創業者のデータを収集し、Handelsregister で会社名を確認し、設立書類(Musterprotokoll、Gesellschafterliste)を作成し、公証人との調整を行い、登記までのすべての手順を追跡できます。
書類 — 領収書、請求書、補足ファイルをアップロードして添付できます。
create_attachment.file_url、一括アップロード用の file_urls、構造化された書類のインポートでは、クエリパラメーターを含む HTTP(S) ダウンロードリンクを使用できます。有効期限内の署名付き S3 URL も利用できます。リンク全体を変更せずに渡してください。ファイルホストは、追加の認証ヘッダーなしでリクエストを受け付ける必要があります。URL ダウンローダーには、ドメインの許可リスト、URL 長の上限、明示的なファイルサイズ上限はありません。接続/読み取りタイムアウトは 30 秒です(ダウンロード全体の期限ではありません)。別のブラウザーアップロード経路では、デフォルトで 50 MiB が上限です。この値は MCP_UPLOAD_MAX_SIZE で設定できます。API のファイル検証は引き続き適用されます。
URL のダウンロードに失敗すると、error メッセージと code が返されます。コードは download_http_error(http_status を含む)、download_timeout、download_network_error、download_storage_error、download_error のいずれかです。ファイルホストからの 403 は、署名の期限切れまたは拒否を意味する場合があります。新しいリンクを取得し、ホストの応答を確認してください。一括アップロードでは、失敗した URL が download_errors に含まれます。URL のインデックスは、file_urls 内の順に続き、非推奨の file_paths エイリアス内の URL エントリーが続きます。正常に取得されたファイルは引き続きアップロードされます。構造化インポートでは、書類ごとにエラーが報告されます。ダウンロードエラーには署名付き URL は含まれず、一時ダウンロードファイルは使用後またはキャンセル後に削除されます。
市場別の機能
帳簿を操作する前に会社を選択してください。company://current は、選択中の会社、国、会計通貨、法的形態、勘定科目表を識別します。複数の会社を操作する場合は list_companies と switch_company を使用してください。会話の言語によって税務管轄が決まることはありません。
| 市場 | 帳簿とレポート | MCP 経由の税務ワークフロー |
|---|---|---|
| ドイツ | SKR03/SKR04、Ledger、DATEV EXTF エクスポート、GmbH/UG の年度末ワークフロー | Finanzamt のプレビューと、明示的な確認を伴う対応済み ELSTER 提出ツール |
| ポーランド — JDG | KPiR(PL_KPIR)、取引計上の診断、原書類の通貨を保持した PLN 会計 | JPK VAT 登録、PIT/ZUS の見積もり、既存の JPK/PIT 提出状況と UPO の利用可否 |
| ポーランド — sp. z o.o. | 完全帳簿(PL_FULL):仕訳帳、勘定科目表、勘定シート、試算表、作成済み財務諸表 | JPK VAT 登録、CIT の見積もり、既存の JPK 提出状況と UPO の利用可否 |
ポーランドのサポートはソフトローンチ中です。利用可否は、選択した会社の設定、プラン、権限、およびデプロイ済みの Norman API によって異なります。ポーランド向けツールは会社の国と帳簿の種類を確認します。DATEV エクスポート、ELSTER、給与計算、会社設立などのドイツの手続きは、ポーランドの会社では利用できません。
ポーランド向け MCP ツールでは、帳簿、診断、エクスポートのプレビュー、既存の申告状況を扱います。ポーランドの手動仕訳の作成、年次財務諸表の生成や締め処理、申告書への署名、MF/KRS への提出は行いません。XML のダウンロードは提出受領証ではありません。成功と報告するのは、受理が確認され、UPO が取得できた場合に限ります。
ポーランド:KPiR、完全な帳簿、JPK
ポーランドの会計ガイドには、専用ツール14個すべてと、それぞれの引数およびワークフロー上の制限が記載されています。共通の請求書、取引、資産ツールも、ポーランドのVATコードと減価償却の入力に対応しています。
- JDG: 月次または年次のKPiRを確認してから、
get_polish_tax_book_operationを使って個別の取引を記帳する、または記帳しない理由を説明します。 - Spółki: 仕訳を元の取引までたどり、勘定残高を確認し、既存の財務諸表に関するワークブック、注記、XMLの問題を確認します。
- VAT: JPKの売上、仕入、合計、除外項目を元の取引と照合します。
vat_codeは保持してください。数値の0%税率だけでは、免税、リバースチャージ、ポーランド国外での供給を判別できません。 - 会計士への引き継ぎ: General、Optima、EPPへのエクスポート互換性をプレビューし、Normanで引き継ぎを準備する前にブロッカーを確認します。
次のように質問してみてください:
- 「9月分のJDGのKPiRを表示し、この費用が帳簿に記載されなかった理由を説明してください。」
- 「第3四半期の会社の試算表を表示してください。」
- 「JPK_V7の登録内容を確認してください:売上、仕入、除外された取引。」
- 「JPKの送信状況とUPOの利用可否を確認してください。送信はしないでください。」
KPiRと税額見積もりの読み取りでは、API内の派生レコードが同期されることがあります。これらのツールではreadOnlyHint=falseが宣言されています。計算、適格性、アクセス確認は引き続きAPIが担当します。
請求書の外観と更新
list_invoice_templatesを使って、テンプレート、外観の設定、現在の会社で利用できるプランを確認します。get_invoice_settingsを使って、ロゴと保存済みの既定値を読み取ります。
create_invoice、create_recurring_invoice、create_offerでは、たとえば次のようにdocument_designを指定できます。
{"template": "sovereign", "logoSize": 75, "textSize": "medium", "spacing": "compact", "tableBorders": "grid"}
保存済みのブランディング設定を引き継ぐには、document_design、font、color_schemaを省略します。作成時にデザインの一部だけを指定した場合、そのテンプレートの既定値が使用されます。有料テンプレートを使用するには、有効なサブスクリプションが必要です。
請求書または見積書にはupdate_invoice、スケジュールにはupdate_recurring_invoice、今後の書類の既定値にはupdate_invoice_settingsを使います。これらの型付きchangesオブジェクトでは、フィールド名にcamelCaseまたはsnake_caseを使用できます。指定されていないフィールドは変更されません。明示的なfalse、0、空文字列、有効なnullは、それぞれの意味が維持されます。一部だけを指定したドキュメントデザインでは、ほかの保存済み設定は維持されます。テンプレートを変更すると、変更先のテンプレートの既定値が適用されます。明細を編集する場合は、既存の明細IDを維持してください。レートには通貨の最小単位を使用し、合計はAPIが計算します。送信を意図している場合にのみisToSendを設定してください。
既存の請求書または承認済みの見積書を元に書類を作成するには、cancel_invoice、create_credit_note、create_delivery_noteを使います。作成された書類はそれぞれ元の書類に紐づき、キャンセル済みの請求書はその後読み取り専用になります。duplicate_invoiceは、請求書または見積書を新しい下書きとしてリンクなしで複製します。テンプレートや設定の読み取りにはAPIキーにread_invoicesが必要で、編集にはwrite_invoicesが必要です。設定の更新には請求書専用エンドポイントが使われ、会社のほかのフィールドは編集できません。このMCPバージョンをデプロイする前に、対応する請求書APIエンドポイントをデプロイしてください。
顧客へのメールと支払いリマインダー
send_invoice と send_invoice_overdue_reminder は、subject と body が省略されている場合、会社のメールテンプレートを使用します。additional_emails は CC として送信され、会社宛ての控えは is_send_to_company が指定されていない限り、会社の設定に従います。list_invoice_emails は、書類に関するすべてのメールとその配信状況、ルールに従って次に送信されるリマインダーを返します。送信がすぐに失敗した場合は理由を示すエラーが返され、それ以外の場合、Norman が再試行している間は email.status が sent または queued になります。督促手数料は合計金額とともにリマインダーに表示され、銀行振込で支払います。手数料が含まれるリマインダーには、オンライン決済ボタンがありません。
自動リマインダーは、請求書で autoReminders が true になるまでオフです(create_invoice、create_recurring_invoice、update_invoice の実行時、または請求書の発行後に設定できます)。remindersPaused は特定の請求書のリマインダーを停止し、skip_invoice_reminder は予定されている特定のリマインダーを停止します。請求書の remindersActive は、Norman が現時点で自動的にリマインダーを送信しているかどうかを示します。会社のルールと文面は、get_invoice_email_settings / update_invoice_email_settings および list_invoice_email_templates / save_invoice_email_template / reset_invoice_email_template で管理します。settings_on_overdue は旧バージョンとの連携のために維持されていますが、何も送信しません。この MCP バージョンをデプロイする前に、これらのツールが使用する請求書メール用 API エンドポイントが稼働している必要があります。
DATEV MCP 対応:EXTF、SKR03、SKR04
Norman MCP は DATEV エクスポートに対応していますか?
はい。Norman MCP Server は、ドイツの簿記向けに SKR03 と SKR04 を使用する DATEV EXTF(Buchungsstapel)エクスポートを提供します。MCP 対応の AI アシスタントに期間を指定して DATEV エクスポートを準備するよう依頼し、そのファイルをダウンロードして税理士(Steuerberater)に共有できます。添付された領収書を ZIP パッケージに含めることもできます。
EXTF ファイルを帳簿に取り込まずに読み取れますか?
read_datev_file ツールは EXTF/DTVF Buchungsstapel ファイルを読み取り、ヘッダーと仕訳行を表示し、勘定科目、書類日付、テキスト、金額で絞り込みます。認証済みの Norman 会社が必要ですが、DATEV 接続や勘定科目表の設定は不要です。ファイルを読み取っても、取引や Ledger の記帳は作成されません。
GmbH/UG の Ledger 全体をエクスポートし、会計士に渡す前に確認できますか?
Ledger エクスポートには、期首残高、手動仕訳、給与計算、減価償却、決算仕訳が含まれます。validate_ledger_datev_export は EXTF の構造、元データの網羅状況、指定された書類を確認します。検出結果は引き継ぎの準備に役立ちますが、税務上の正確性を認定するものでも、DATEV へのインポートが受け入れられることを保証するものでもありません。
Ledger 全体のエクスポート、事前チェック、単独でのファイル読み取りはこのリポジトリに実装されており、対応する Norman API エンドポイントが必要です。制限事項と設定については、DATEV ツールの詳細を参照してください。
これらのワークフローでの依頼例:
- 「前四半期分の DATEV エクスポートを作成して、税理士に渡せるようにしてください。」
- 「この EXTF ファイルを読み取り、勘定科目 1800 に関する仕訳を表示してください。」
- 「会計士に渡す前に、GmbH の Ledger 全体のエクスポートを確認してください。」
💬 試しに聞いてみましょう
接続したら、普段の言葉で帳簿について質問できます。
- 「先月分の UStVA を作成して提出してください。」
- 「ポーランドの会社の 9 月分の JPK 登録簿を表示し、除外された取引について説明してください。」
- 「私の sp. z o.o. の試算表と作成済み財務諸表を確認してください。」
- 「ACME にコンサルティング料として 1,200 ユーロの請求書を送ってください。」
- 「今四半期のソフトウェアへの支出はいくらですか?」
- 「見落としている可能性のある税控除を見つけてください。」
- 「支払期限を過ぎた請求書はどれですか?リマインダーを送信してください。」
### AI アシスタント内のインタラクティブ UI
Norman はバックグラウンドツールの集合にとどまりません。MCP Apps 対応の ChatGPT および Claude クライアントでは、Norman が会話内に専用の会計ワークスペースを直接表示できます。基盤となるデータを絞り込んで確認したり、関連するビュー間を移動したりできます。また、Ask AI を使って、現在の会計コンテキストを踏まえた会話を続けられます。
| インタラクティブなワークスペース | 用途 |
|---|---|
| Norman Inbox | 現在の銀行残高、簿記タスク、すぐに使えるチャットアクションを確認できます。ブロック中のワークフローや保留中の自動化承認を確認し、明示的に承認または却下できます。 |
| Document Review | アップロード済みの請求書や領収書を確認し、取引との照合がまだ必要な書類を見つけ、関連付けられた記録を確認できます。 |
| Reconciliation Cockpit | 書類やカテゴリが不足している取引を見つけられます。ドイツの SKR チェックでは、以前の勘定科目表にある勘定科目も特定できます。 |
| German Ledger Explorer | SKR 勘定科目を参照し、残高を確認して、仕訳を詳しく調べられます。ポーランドの PL_FULL 帳簿では、以下にリンクされている専用の構造化ツールを使用できます。 |
| German Tax Preview & Submission | 提出前に、Finanzamt のテスト PDF、税額項目、期間、合計、準備状況のチェックを確認できます。提出は独立した明示的なアクションであり、ユーザーがプレビューを確認するまで無効のままです。 |
次のようなプロンプトをお試しください。
- 「Norman Inbox を開いて、対応が必要な項目を表示してください。」
- 「過去 60 日分の Document Review を開いてください。」
- 「Reconciliation Cockpit を表示して、書類やカテゴリが不足している項目を強調してください。」
- 「Ledger Explorer を開いて、勘定科目 1200 の仕訳を表示してください。」
- 「7 月分の VAT 申告書を開いて、Finanzamt のテストプレビューを生成し、提出前に確認すべき点を説明してください。」
Norman API が引き続き信頼できる唯一の情報源です。ワークスペースを開いたり絞り込んだりしても、会計データは変更されません。税務申告を含む確定アクションは、通常の確認および権限チェックを伴う、独立した MCP ツール呼び出しとして実行されます。MCP Apps に対応していないクライアントでも、同じ基盤データを構造化出力またはテキスト形式のツール出力で受け取れます。
ポーランドの KPiR、総勘定元帳、財務諸表、JPK は、専用の構造化ツールから利用できます。German Ledger Explorer と Finanzamt プレビューは、同等のポーランド向けインタラクティブワークフローや申告ワークフローが利用できることを意味するものではありません。
SDK 2 の HTTP トランスポートでは、MCP JSON リクエストボディが 4 MiB に制限されています。それより大きな書類は、インラインの base64 ではなく、file_url またはアップロードページの file_ref で送信してください。別個のマルチパートアップロードルートには独自のデフォルト上限 50 MiB があり、MCP_UPLOAD_MAX_SIZE で設定できます。
### 🏢 会社を設立する
ドイツの**GmbH または UG (haftungsbeschränkt)**を、最初から最後まで設立できます。Norman が情報を収集し、書類を準備して、公証人への引き継ぎまで行います。
- 「ベルリンで GmbH を設立したいです。手順を案内してください。」
- 「私と共同創業者 2 人のために UG を設立し、持ち株比率を 60/40 にしてください。」
- 「『Wunderbar Robotics』はまだ Handelsregister で使用できますか?」
- 「商業登記に提出できるよう、事業目的を書き直してください。」
- 「Musterprotokoll を作成し、オンライン公証を行う公証人を探してください。」
- 「会社が正式に登記されるまでに、あと何が必要ですか?」
- 「会社の所在地を管轄する Finanzamt はどこですか?」
GmbH/UG を選択すると、Norman アカウントの勘定科目表も法人向けのSKR04に設定されるため、初日から簿記と税務の準備が整います。書類は公証人との面談に備えるための草案であり、法的助言ではありません。
👀 実際の動作を見る
|
VAT 申告書の提出 |
取引の分析情報 |
|
Stripe の支払いを同期 |
Gmail から領収書を取得 |
|
期限超過の請求書を督促 |
支払いリマインダーを送信 |
🚀 始める
接続する前に、まだ Norman アカウントをお持ちでない場合は、無料の Norman アカウントを作成してください。OAuth 経由で Norman の認証情報を使ってログインします。パスワードが AI に渡ることはありません。
ポーランドの事業者の場合は、ポーランド向けの登録ページをご利用ください。
接続後、帳簿を確認または変更する前に、company://current
で選択中の会社を確認してください。
Claude コネクター
- Claude コネクターに移動します
- 追加をクリックします
- Norman Financeを見つけて接続します
MCP Apps 対応の Claude ホストでは、会話内で Norman のインタラクティブな会計ワークスペースを直接開けます。それ以外の Claude クライアントでは、同じデータが通常のツール出力として返されます。
Claude Code
Norman は、スキルが組み込まれたClaude Code プラグインとして利用できます。
/plugin marketplace add norman-finance/norman-mcp-server
/plugin install norman-finance@norman-finance
または、GitHub から直接インストールします。
claude /plugin install github:norman-finance/norman-mcp-server
ChatGPT プラグイン
- 公式のChatGPT プラグインディレクトリからインストールします。 プラグインには、Norman のインタラクティブな会計ワークスペースが含まれており、Document Review、Reconciliation、Ledger Explorer、明示的な税額プレビューと申告のフローをご利用いただけます。
Gemini
Gemini CLI 拡張機能
gemini extensions install https://github.com/norman-finance/norman-mcp-server
Gemini CLI を起動し、プロンプトが表示されたらリモートサーバーを認証するか、次のコマンドを実行します。
/mcp auth norman-finance
Gemini Spark カスタムアプリ
Spark を作成してカスタムアプリを追加し、MCP サーバーの URL として
https://mcp.norman.finance/mcp を指定します。利用可能かどうかは、Gemini アカウントと地域によって異なります。Google のカスタムアプリ
ガイドをご覧ください。
Perplexity
- アカウント設定 → コネクターを開きます
- + カスタムコネクターをクリックし、リモートを選択します
- Norman Finance と
https://mcp.norman.finance/mcpを入力します - コネクターを保存し、Norman OAuth を完了します
組織の管理者は、リモートコネクターをチームと共有できます。
Grok
Grok ウェブ
- Grok コネクターにアクセスします
- 新しいコネクター → カスタムをクリックします
https://mcp.norman.finance/mcpを入力し、Norman OAuth を完了します
Grok CLI
grok mcp add --transport http norman-finance https://mcp.norman.finance/mcp
Grok CLI は、このリポジトリの .mcp.json も自動的に検出します。
OpenClaw
オプション 1 — OAuth を使ったリモート接続
OpenClaw で実行します。
mcp add https://mcp.norman.finance/mcp
初回の使用時に、Norman アカウントへのログインを求められます。
オプション 2 — スキルのみ
git clone https://github.com/norman-finance/norman-mcp-server.git
cp -r norman-mcp-server/skills/* ~/.openclaw/skills/
openclaw gateway restart
オプション 3 — ローカル stdio
pip install norman-mcp-server
openclaw mcp add norman -- norman-mcp --transport stdio
ゲートウェイを起動する前に、認証情報を環境変数(NORMAN_EMAIL、NORMAN_PASSWORD)として設定してください。
n8n
- MCP OAuth2 API 認証情報を作成します
- 動的クライアント登録を有効にします
- サーバー URL を
https://mcp.norman.finance/に設定します - アカウントを接続をクリックし、Norman にログインします
- AI エージェントのワークフローに MCP クライアントツールノードを追加します
- URL を
https://mcp.norman.finance/mcpに設定し、認証情報を選択します
任意の MCP クライアント
次の URL を使って、リモート HTTP MCP サーバーを追加します。
https://mcp.norman.finance/mcp
## スキル
Claude Code、OpenClaw、および Agent Skills 規格に対応した、すぐに使えるスキルです。
| スキル | 機能 |
|---|---|
financial-overview | 残高、取引、請求書、税務状況をまとめたダッシュボード |
create-invoice | 請求書の作成と送信を段階的に実行 |
manage-clients | クライアント情報の一覧表示、作成、更新 |
manage-products | カタログ商品の一覧表示、作成、更新、アーカイブ、および商品情報を請求書の明細に入力 |
tax-report | ドイツの税務レポート:確認、プレビュー、Finanzamtへの提出 |
run-payroll-month | ドイツの給与計算:変更、計算、承認、社会保険、支払い、Lohnsteuer-Anmeldung |
categorize-transactions | 銀行取引の分類と確認 |
find-receipts | Gmailまたはメールから不足している領収書を見つけて添付 |
overdue-reminders | 支払期限を過ぎた請求書を特定し、支払いリマインダーを送信 |
expense-report | カテゴリー別の経費内訳、主要ベンダー、推移 |
tax-deduction-finder | 取引をスキャンして控除漏れを見つけ、修正方法を提案 |
monthly-reconciliation | 月次決算をまとめて実行:取引、請求書、領収書、税金 |
run-workflow | Normanのワークフローを開始し、質問に回答して、自動実行をスケジュール |
company-incorporation | ドイツのGmbH/UGを設立:データ、書類、名称確認、公証人への引き継ぎ |
Claude Code —
/plugin marketplace add norman-finance/norman-mcp-serverClaude Code(ローカル) —
claude --plugin-dir ./norman-mcp-serverOpenClaw —
cp -r skills/* ~/.openclaw/skills/ && openclaw gateway restart
機能のアイデアがありますか? 提案をお寄せください →
VAT混在と証憑付き仕入VAT
明細項目ごとの処理、固定の証憑付きEUR仕入VAT、還付、VATのみの手動修正については、ドイツのVAT明細ワークフローをご覧ください。ポーランドについては、VATコードと書類の通貨をご覧ください。対応するAPIのマイグレーションと計算の更新が必要です。
Norman InboxとMCP Events(開発中)
open_norman_inbox は、プラグイン拡張機能に対応するホスト向けに、グローバル/サイドバーとスレッドのエントリーポイントを宣言します。
MCP Apps ホストでは同じ自己完結型の UI を表示できます。それ以外のクライアントは、構造化された結果を取得するために
get_norman_inbox_data と get_norman_approval_data を呼び出せます。
ワークフローに関する質問では、実際のブロック状態を使用します。保留中の承認数には全ページが含まれます。税務レビューは上限付きのリストです。ソースの取得に失敗した場合は、利用不可として表示されます。
Inbox には、元の通貨ごとにグループ化された最新同期済み銀行残高、期限超過の未払い請求書、添付されていない請求書/領収書書類、ステータスが UNVERIFIED の未確定取引も表示されます。これらのタスク数は全履歴を対象とします。
取引の合計は前月と当月の暦月を対象とし、日付範囲も表示されます。件数は各カウンターで要求した単一のレコードではなく、ページネーションの合計値から取得されます。期限超過の請求書には、Norman に保存されている期限超過ステータスが使用されます。銀行スナップショットは銀行の情報より遅れる場合があり、利益を示すものではありません。タスクボタンは、選択した会社とスコープに応じて会話に作業を委任します。
アシスタントは、既存のツールを通じて、対応可能で証拠に基づく書類の照合、分類、確定を行い、検証済みの結果と実際のブロッカーを報告できます。財務の概要は分析専用です。請求書のフォローアップでは下書きを作成します。外部へのメッセージ送信、支払い、税務申告、自動化の承認には、別途判断が必要です。iframe は書き込みツールを直接呼び出すのではなく、チャットリクエストを送信します。メッセージ機能のないクライアントでは、コピー可能なリクエストを表示します。
ボタンが生成するメッセージには、Inbox で選択した項目を読みやすい参照形式で記載します。社内の会社 ID とレコード ID は構造化されたアプリコンテキストに保持され、送信前にその内容が確認されます。そのコンテキストが利用できない場合、リクエストではユーザーに会社と関連レコードの確認を求めます。コピー可能なリクエストにも ID は含まれません。
財務の概要の下にある Norman に質問する には、コンテキストに応じた 3 つのタスクが表示され、残りの提案は その他のタスクを確認 に表示されます。パネルの更新中も、選択した会社に対する表示順は維持されます。支出分析、税務準備状況、会計士への引き継ぎチェックは読み取り専用です。請求書の作成は未送信の下書きに限定され、税務プレビューが申告を許可することはありません。
追加された capabilities オブジェクトには、ledger と taxPreview の検出ヒントが含まれます。会社情報を 1 回読み取ることで、SKR03/SKR04 の勘定科目表を使用する SME に対してのみ Ledger の提案が有効になります。プレビューの提案には、レポート ID を持つ、既存の準備済み Autopilot 実行が必要です。提案が表示されないからといって、税務レポートが存在しないとは限りません。適格性が不明な場合は、特化した提案を非表示にしますが、一般的なタスクは引き続き利用できます。会社の詳細情報は出力されず、ホストと API は引き続きツールの利用可否と権限を適用します。
ヘッダーには、選択した会社の名前、法的形態、国が表示されます。会社選択メニューでは、必要に応じて list_companies を通じてアーカイブされていない会社を読み込み、その後 switch_company で切り替えて Inbox を再読み込みします。切り替え時には、新しい会社の読み込み前に、古い判断、確認、チャットコンテキストをクリアします。タイムアウトの結果が不明な場合は、要求した会社が確認されるまで操作を利用できません。切り替えが自動的に再試行されることはありません。追加された company プロファイルは既存の会社検索を再利用し、納税者番号、銀行情報、メンバー情報を除外します。
モバイルでは、Inbox に範囲が制限された内側のスクロール領域があり、ホストのセーフエリアインセットを使用し、空の状態や説明テキストを簡潔に表示します。標準のホストコンテキストでテーマと寸法を制御し、従来の OpenAI グローバル変数と OS のテーマをフォールバックとして使用します。サイドバーのアイコンには、ライトモードとダークモード用の明示的なバリエーションがあります。高さに制限のないインラインホストでは自然な高さを維持し、以前にキャッシュされた Inbox リソース URI も引き続き利用できます。
レビューカードでは既存の承認/却下/取り消しツールを使用し、実際の結果を再取得します。承認にはチェックボックスが必要で、実行直前に現在の値と予定されているアクションを再取得します。レビュー内容が変更された場合は、再度確認が必要です。アトミックな実行と権限の管理は、引き続きバックエンドが担います。
現在の対象が利用できない取引以外の承認は、カード上で話し合うか却下できますが、承認することはできません。
表示中の受信トレイは、読み取りが完了してから30秒後にget_norman_inbox_dataで更新されます。画面上で何も変化しない間は、更新間隔が60秒、120秒、最大300秒へと延長されます。何らかの操作や変更があると、間隔は30秒にリセットされます。フォーカスを得たとき、または表示状態になったときは、現在の間隔の半分が経過している場合にのみ更新されます。非表示または画面外にある間、操作の実行中、破棄時、期限切れセッション後にユーザーが操作するまでの間は停止します。選択中のページと入力済みのワークフローの回答は保持されます(下書きは質問に紐付けられます。質問が変わった場合、送信には確認が必要です)。変更のない承認では明示的な同意が保持されますが、現在の値や予定されているアクションが変わると、同意は解除されます。これは移植性のあるApps tools/callブリッジを使用します。iframeでのSDK 2リソースサブスクリプションのサポートは前提としていません。
ホスト型SDK 2クライアントでは、streamable-httpトランスポートを使用するシングルプロセスのMCPデプロイでNORMAN_MCP_INBOX_LIVE=1を設定すると、リソースの無効化通知を個別にオプトインできます(SSEでは接続ごとに1つのライフスパンが開始されるため、このフラグは無視され、警告が表示されます)。認証情報のみのstdioでは、この機能は有効になりません。この設定がない場合も、既存のツールと従来の更新機能は引き続き動作します。
- 承認の
page(デフォルトは1)を指定してwatch_norman_inboxを呼び出します。非公開のresourceUri、expiresAt(Unix秒)、監視間隔が返されます。 - SDK 2の
subscriptions/listenを、該当するURIに対して開きます。確認応答を受け取った後、現在のスナップショットを取得するためにresources/readを呼び出し、notifications/resources/updatedの通知を受け取るたびに再取得します。イベントには非公開のURIのみが含まれます。 - 有効期限切れ、再接続、トークンの更新、再起動、または
switch_companyの試行後は、監視を再開します。監視の有効期間は最大5分で、MCPベアラートークンの有効期間を超えることはありません。イベントの再生はありません。再接続時には必ず再取得してください。
読み取りとリッスンの両方で、OAuthグラント、クライアント、選択中の会社が完全に一致するか確認します。オブザーバーは、そのグラントに現在紐付いているNormanトークンのみを使用し、その会社に固定されます。有効期限が切れたNormanトークン(1時間)は、そのグラントを通じて更新されます。更新後も401が解消しない場合、または403が返された場合、監視は終了します。ローカルでのグラント取り消し、会社の変更、有効期限切れが発生すると、1秒以内にストリームが終了します。オブザーバーはストリーム接続中のみ読み取りを行い、監視サイクルの間隔は30秒です。各監視では、承認ページ1つ、ワークフローの状態、件数を制限した税務レビュー、検出機能、受信トレイの概要を監視します。会社の完全なイベントログではなく、中間の変更を見逃すことがあります。財務スナップショットは変更バスにキャッシュされません。リース/ストリームの上限は128件で、OAuthグラントごとにリース4件、開いているストリーム4件、同時スナップショット読み取り4件(通常、スナップショットごとにAPIリクエスト10件)、グラントごとに2件です。グラントに固定されたリーダーが許可するのはGETリクエストのみです。同じ認可から更新されたトークンはそのグラントを共有するため、更新してもこれらの上限は増えません。
リースとSDKサブスクリプションバスはメモリ上にあります。この機能を確実に有効化するには、単一のプロセス/レプリカを使用してください。複数のレプリカを使用する場合は、機能を有効化する前に、リース状態、OAuth状態、分散サブスクリプションバスを共有する必要があります。この読み取り専用フィードは、以下の永続的なWebhookイベントとは別のものです。
オプトイン可能なworkflow.attention_requiredイベントは、SDK 2/プロトコル2026-07-28上で、MCP Eventsドラフト契約を実装します。明示的に選択された1つの会社とワークフローをNorman APIを通じて監視し、実行中の処理がブロックされると署名付きWebhookを送信します。ワークフローを進行させたり、請求書のリマインダーを送信したり、税金の申告を行ったりすることはありません。現在の配信では、データソースの監視サイクル間に30秒待機します。バックエンドのイベントストリームはまだ利用していないため、監視間の状態遷移を見逃すことがあります。
ホスト型のシングルワーカーStreamable HTTPデプロイでイベントを有効にするには、次を設定します:
NORMAN_MCP_EVENTS_DB:永続的なプライベートボリューム上の SQLite ファイルの絶対パスです。NORMAN_MCP_EVENTS_KEY:シークレットマネージャーから取得した Fernet 暗号化キーです。再起動後も同じキーを使用してください。変更すると、保存済みのサブスクリプションを読み取れなくなります。
norman-mcp --transport streamable-http --public-url https://your-host で起動します。
両方の設定が必須です。設定されていない場合、イベントは通知されません。SQLite の状態には、暗号化された認証参照、コールバック URL、署名キー、保留中のペイロードが含まれます。再起動後の配信には有効な OAuth トークンと Norman トークンのマッピングが必要なため、既存の MCP_OAUTH_STATE_FILE もプライベートボリュームに永続化してください。
ワーカーは、サブスクライバー独自の権限付与と会社情報を使って各実行を読み取ります。有効期限が切れた Norman アクセストークン(1 時間)は、その権限付与を通じて更新されます。更新できない権限付与では、クライアントがサブスクリプションを更新するまで配信が一時停止されます。他の認証情報にフォールバックすることはありません。複数のワーカープロセスまたはレプリカでイベントを有効にするには、OAuth ストレージの連携と、分散配信リースが必要です。
サブスクリプションには events/list、events/subscribe、events/unsubscribe を使用します。引数は { "company_id": "UUID", "run_id": "UUID" }、Webhook 配信の指定は { "mode": "webhook", "url": "https://public-callback", "secret": "whsec_…" } です。
受信側は、署名付きの検証チャレンジをエコーして返す必要があります。サブスクリプションの有効期間は 1 時間または認証の有効期限のうち、短い方に制限されます。refreshBefore より前に更新してください。シークレットをローテーションした場合、前の署名キーは 5 分間有効です。各再試行では同じ eventId が維持されるため、受信側はこの ID で重複を排除してください。コールバックで恒久的なエラーが発生すると、サブスクリプションが更新されるまで再試行は停止されます。また、HTTP 410 はサブスクリプションを削除します。コールバックアドレスは検証され、パブリックな HTTPS エンドポイントに DNS ピン留めされます。リダイレクトは追跡されません。検証を含む各コールバックの実行時間は合計 15 秒までで、専用の小規模なスレッドプールで実行されます。
ホストのサポート、プラグインの申請、本番環境での有効化には、それぞれ別途検証が必要です。ローカルのプロトコルおよびブラウザーのテスト用フィクスチャでは、ChatGPT カタログへの掲載や、本番環境での OAuth/Webhook 接続の成功は確認できません。
DATEV ファイルと Ledger の完全エクスポート
ドイツ企業の場合、trigger_datev_export は GmbH/UG(isSme)の Ledger 全体をデフォルトで対象とし、開始仕訳、手動仕訳、給与仕訳、減価償却仕訳、決算仕訳を含みます。その他のドイツ企業では、確定済み取引のエクスポートが引き続き使用されます。取引のみのエクスポートが明示的に要求された場合に限り、source="transactions" を使用してください。Ledger の処理に失敗しても、範囲の狭いエクスポートにはフォールバックしません。API はダウンロードリンクを返す前に仕訳帳を確認し、検証結果をレスポンスに含めます。include_documents=true の場合、ZIP には仕訳帳、勘定科目レポート、利用可能な関連ドキュメントが含まれます。添付ドキュメントを読み取れない場合、パッケージの作成は中止されます。
validate_ledger_datev_export:期間を指定して構造、データソースの対象範囲、ドキュメントをプレビューします。会社設定の保存、ダウンロードの作成、送信は行いません。read_datev_file:アップロードされた EXTF/DTVF Buchungsstapel をインポートせずに確認します。request_file_uploadまたはPOST /files/uploadでfile_refを取得し、勘定科目、伝票日付、テキスト、または最小金額で絞り込んでください。通常のアップロード有効期限が切れるまで、後続ページの取得にも同じ参照を使用します(1 ページあたり最大 100 行)。DATEV 接続や勘定科目表の設定は不要ですが、認証済みの Norman 会社が必要です。CSV/TXT/EXTF のアップロードは 20 MB / 100,000 行までです。ZIP をアップロードする前に、ZIP から仕訳 CSV を取り出してください。
このリーダーは税コードと Generalumkehr マーカーを保持します。集計値は通貨ごとにグループ化した元データ行の金額であり、税額を反映した勘定残高や未決済項目ではありません。構造チェックは、税務上の正確性や DATEV による受理を保証するものではありません。これらのツールから会計士にメールを送ったり、DATEV にエクスポートを送信したりすることはありません。
この MCP リリースの前に、Ledger の responseFormat / validateOnly と /companies/{id}/accounting/datev/read/ を提供する API リリースをデプロイする必要があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。