VeriFactu について
VeriFactuは、会計事務所、会計担当者、請求書ソフトウェアチーム向けのスペイン請求コンプライアンス用MCPサーバーです。VERI*FACTUの記録チェーンをオフラインで監査し、税務QRコードを生成し、Facturae 3.2.2 XMLを作成・検証します。データを保存せず、AEATにも接続しません。
主な機能
- 01VERI*FACTUのハッシュと記録リンクを監査
- 02出力されたVERI*FACTU XMLを検証
- 03AEAT税務QRコードを生成
- 04未署名のFacturae 3.2.2 XMLを作成
- 05Facturaeファイルを検証
- 06NIFとコンプライアンス期限を確認
活用シーン
- 01請求書記録チェーンを監査
- 02請求書ソフトウェアが出力したXMLを確認
- 03請求書用の税務QRコードを作成
- 04Facturaeファイルを準備して検証
MCP 対応
VERI*FACTU監査、税務QRコード生成、Facturaeの作成と検証ツールをMCPクライアントに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.keyflint.dev/verifactu/mcpclaude mcp add --transport http arceedev-verifactu https://mcp.keyflint.dev/verifactu/mcp{"mcpServers":{"arceedev-verifactu":{"type":"http","url":"https://mcp.keyflint.dev/verifactu/mcp"}}}Cursor で開く{"servers":{"arceedev-verifactu":{"type":"http","url":"https://mcp.keyflint.dev/verifactu/mcp"}}}VS Code で開く{"mcpServers":{"arceedev-verifactu":{"type":"http","url":"https://mcp.keyflint.dev/verifactu/mcp"}}}{"mcpServers":{"arceedev-verifactu":{"serverUrl":"https://mcp.keyflint.dev/verifactu/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
verifactu-mcp
PyPI では verifactu-keyflint-mcp として公開されています(verifactu-mcp は別のプロジェクトが使用しています)。
gestoría(税務・会計事務所)、会計士、請求ソフトウェアのチームで働く AI エージェント向けに構築された、スペインの請求コンプライアンス用 MCP サーバーです。オフラインでステートレスです。何も保存されず、AEAT に何も送信されません。
- VERI*FACTU チェーンの監査:すべてのレコード(alta と anulación)の SHA-256 フィンガープリント(huella)を AEAT の仕様どおりに再計算し、各レコードが直前のレコードにリンクしていることを確認します。JSON レコード、または請求プログラムがエクスポートする XML(公式の
SuministroLR.xsdに対して検証済み)に対応しています。 - AEAT 税務 QR コード:VERI*FACTU および非 VERI*FACTU システム向けの URL と PNG/SVG 画像(誤り訂正 M)、本番またはテスト用ポータル、印刷ルールに対応しています。
- Facturae 3.2.2:プレーンなデータ(合計、VAT の内訳、IRPF 源泉徴収、recargo de equivalencia、FACe 用 DIR3 コード、IBAN)から請求書を作成し、Facturae ファイルを検証します。公式 XSD、FACe の算術チェック、NIF、DIR3 の役割、署名の有無を確認します。
フィンガープリントのコードは、AEAT が公開している 3 つのリファレンスベクトルを使ってテストされています。
ツール
| ツール | クレジット | 機能 |
|---|---|---|
validate_invoice_chain | 3 | レコードのチェーン(JSON、最大 20,000 件)を監査します。フィンガープリント、リンク、PrimerRegistro、重複、存在しない請求書の取消、タイムスタンプ、NIF/日付/金額/TipoFactura の形式を確認します。continues_from を使うと、チェーンを分割して監査できます。 |
validate_verifactu_xml | 3 | エクスポートされた XML(RegFactuSistemaFacturacion、SOAP エンベロープ、または RegistroAlta/RegistroAnulacion を含む任意の XML)を同様に監査し、XSD 検証も行います。 |
verifactu_hash | 1 | 1 件のレコードのフィンガープリントと、ハッシュ化された正確な文字列を返します。 |
generate_verifactu_qr | 1 | 税務 QR コードの URL、画像、印刷ルールを返します。 |
build_facturae | 3 | プレーンな請求書データから Facturae 3.2.2 XML(未署名)を作成し、XSD 検証を行います。 |
validate_facturae | 2 | Facturae ファイルの XSD、算術、NIF、DIR3、署名を確認します。 |
verifactu_calendar | 無料 | 現在有効な期限と、BOE で審議中の事項をソース付きで返します。 |
check_qr_url、validate_nif、pricing、credits_balance | 無料 | 補助ツールです。 |
読み取り不能または無効な入力に料金は発生しません。課金後にツールが失敗した場合は返金されます。
インストール
Claude Desktop/Claude Code/Cursor(mcpServers エントリー):
{
"verifactu": {
"command": "uvx",
"args": ["--from", "verifactu-keyflint-mcp", "verifactu-mcp"],
"env": { "KEYFLINT_LICENSE": "LIC-..." }
}
}
ホスト型(1 台のサーバーで複数の購入者に対応):verifactu-mcp --http または Dockerfile を使用します。各リクエストには Authorization: Bearer LIC-... を含めます。
環境変数:KEYFLINT_LICENSE、KEYFLINT_URL、KEYFLINT_PUBLIC_KEYS、KEYFLINT_CHECKOUT_URL、VERIFACTU_PRICES(例:validate_invoice_chain=5,build_facturae=4)、VERIFACTU_MAX_BYTES(デフォルトは 10 MB)。
ビジュアルカード(MCP Apps)
Claude、ChatGPT、VS Code、Goose では、有料ツールと credits_balance がチャット内にインタラクティブカードとして表示されます。補充バーと購入ボタン付きのクレジット残高、または結果の概要(主な数値、問題、テーブルのプレビュー、請求クレジット)が表示されます。これはネットワークアクセスのない自己完結型の ui://verifactu/card.html リソースです。他のクライアントでは、これまでと同じ JSON が引き続き返されます。
法的状況(2026-11-05 時点で確認)
- VERI*FACTU(RD 1007/2023、Orden HAC/1177/2024。日付は RD-ley 15/2025 に基づく):法人税の納税者は 2027 年 1 月 1 日、それ以外は 2027 年 7 月 1 日 です。Hacienda は 2026 年 10 月 5 日に、さらに 2028 年 10 月まで延期すると発表しましたが、まだ BOE に掲載されていません。SII の対象納税者と地方自治州の領域は対象外です。
- B2B 電子請求の義務化(RD 238/2026、Orden HAC/1028/2026):売上高が 800 万 EUR を超える場合は 2027 年 10 月 6 日、それ以外は 2028 年 10 月 6 日です。EN 16931 に準拠し、UBL、CII、EDIFACT、または Facturae を使用します。
- XAdES 署名付き Facturae は、FACe を通じて公的機関に送付する請求書で必須です。
verifactu_calendar はソース付きでこれらの情報を返します。必ず BOE で確認してください。
対象範囲と制限
- 請求システム(SIF)ではありません。記録を保持せず、AEAT に何も送信せず、製造者の declaración responsable に代わるものでもありません。SIF が生成した内容の確認や、データの準備にご利用ください。
build_facturaeは署名されていない XML を生成します。FACe または B2B プラットフォームに送信する前に、発行者の証明書を使用して署名(XAdES-EPES)してください。訂正請求書(InvoiceClassOR)と一括データは検証されますが、まだ生成には対応していません。- 保存されたフィンガープリントが金額の末尾のゼロを削除した場合にのみ一致するときは、警告(
correcta_sin_ceros)として報告されます。これは、レコードの生成時と XML で金額の表記が異なっていたことを示します。
参考資料
- AEAT、『課金記録のフィンガープリントまたはハッシュ生成に関する技術仕様の詳細』(参照ベクトルは
tests/test_core.pyにあります)。 - AEAT、『QR の特徴および照合サービスの仕様』。
- AEAT ウェブサービスのスキーマ
SuministroLR.xsd/SuministroInformacion.xsdと、Facturaev3_2_2.xsd(facturae.gob.es)。W3C xmldsig スキーマとともにsrc/verifactu_mcp/schemas/に同梱されています。
開発
pip install -e '.[test]'
pytest -q
Business Source License 1.1。ソースコードは利用可能ですが、本番環境での使用には KeyFlint のライセンスが必要です(または非商用である必要があります)。各バージョンはリリースから 4 年後に Apache 2.0 になります。詳しくは LICENSE をご覧ください。同梱されている XSD ファイルの権利は各発行元(AEAT、Ministerio de Hacienda、W3C)に帰属します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。