mcpField
I
InvoiceIn

InvoiceIn

リモート
invoicein.peculiar.systems金融データ02 週間前に更新
リポジトリ公式サイト

InvoiceIn について

InvoiceIn は、受領した電子インボイスを標準的な EN 16931 JSON に変換し、平易な修正ヒント付きの検証レポートを返すホステッドサービスです。欧州と UAE の形式に対応し、PDF、CSV、DATEV への出力も行えます。

主な機能

  1. 01複数の電子インボイス形式を解析
  2. 02標準 EN 16931 JSON を出力
  3. 03修正ヒント付き検証レポート
  4. 04PDF・CSV・DATEV への出力
  5. 05メモリ内処理で文書を保存しない

活用シーン

  1. 01複数市場のインボイス形式を統一
  2. 02検証エラーと修正案の確認
  3. 03会計ワークフロー向けのデータ出力

MCP 対応

InvoiceIn は、読み取り専用ツールを5つ備えたホステッドの streamable HTTP MCP サーバーを提供します。ローカルの stdio ブリッジはツールをミラーし、呼び出しをホステッドサーバーへ転送します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://invoicein-api.peculiar.systems/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://invoicein-api.peculiar.systems/mcp認証が必要

ツール

5
パラメーター型必須説明
ksefstringいいえポーランドのみ:National e-Invoice System がこのインボイスに付与した KSeF 番号(35 文字、形式:NNNNNNNNNN-RRRRMMDD-FFFFFFFFFFFF-FF)、またはこのインボイスを含む一括識別子(NNNNNNNNNN-IZRRRRMM-FFFFFFFFFFFF-FF)。KSeF 番号は受理時に割り当てられるため、FA(2)/FA(3) XML には含まれません。インボイスとともに KSeF API 応答、UPO、または表示用データの QR コードで提供されます。番号を渡すとインボイスと照合され、payment.ksef_number で返されます。これは、ポーランドの買い手が 2027-01-01 以降、銀行振込の摘要に記載しなければならない参照番号です。他国のインボイスでは空欄にしてください。
langenumいいえ検証レポートの修正ヒントと HTML 出力のラベルの言語です。デフォルトは en です。en | de | pl | it | fr
pathstringいいえfile_base64 の代わりに使用する、サーバー実行マシン上のインボイスファイルの絶対パスです。stdio(`python -m invoicein.mcp_server`)経由の場合のみ有効です。ホスト型サーバー invoicein-api.peculiar.systems はこの値を無視し、file_base64 を求めるエラーを返します。
file_base64stringいいえインボイスファイルの内容を base64(標準アルファベット)でエンコードしたものです。受け付ける形式:UBL 2.1、CII D16B、XRechnung、Peppol BIS Billing 3、FatturaPA 1.2、KSeF FA(2)/FA(3) 構文の XML、または ZUGFeRD 1.0/2.x、Factur-X ハイブリッド PDF(埋め込み XML を使用)。デコード後の最大サイズは 25 MB です。`path` を指定しない場合は必須です。

詳細

InvoiceIn — 使用例

MCP server rated A on Glama Run in Postman

欧州またはUAE(PINT AE)で企業が受け取るあらゆる電子請求書を、標準的なEN 16931 JSON、平易な修正ヒント付きの検証レポート、PDF、CSV、またはDATEV形式のエクスポートに変換します。 ステートレスなエンドポイントが1つあるだけで、データは保存されません。

対応形式:XRechnung(UBLおよびCII)、EN 16931 UBL 2.1 Invoice/CreditNote、Peppol BIS Billing 3、CII D16B、ZUGFeRD 1.0 / 2.xおよびFactur-XハイブリッドPDF、イタリアのFatturaPA 1.2、ポーランドのKSeF FA(2)/FA(3)、ルーマニアのRO e-Factura(CIUS-RO)、UAEのPINT AE(BillingおよびSelf-Billing)。

検証対象:EN 16931 validation artefacts 1.3.17、XRechnung 3.0.2(KoSIT Schematron 2.6.0)、Peppol BIS Billing 3、FNFE CTC-FR 1.4.0.04(BR-FRルール。販売者と購入者の両方がフランスに所在する場合に実行)、CIUS-RO 1.0.1、UAE向けOpenPeppolのPINT AE 1.0.4(無料チェックページ:https://invoicein.peculiar.systems/uae)、UBL、CII、FatturaPA、KSeFのスキーマに加え、すべての形式での算術チェックと、Schematronでは読み取れない市場慣行(自由記述欄に記載されたドイツのSkonto条件、ポーランドのKSeF番号)。バージョン付きの最新一覧は GET /v1/formats で確認できます。

このリポジトリには、実行可能な使用例、テストに使える請求書サンプル、MCPレジストリマニフェストが含まれています。サービス自体はオープンソースではありません。

送信したデータは保存されません。ドキュメントはメモリ上で解析され、そこからレスポンスが生成されます。プライバシー(ポリシー全文) · 利用規約

bridge/ のブリッジは透過的なプロキシであり、別の実装ではありません。ホスト型サーバーから返される tools/list の内容をそのまま反映するため、両者に差異が生じることはありません。5つのツールとそのアノテーション(すべて読み取り専用、非破壊的、冪等、閉世界)は bridge/tools.json にあり、tests/ で検証されています。ブリッジのソースだけを読む静的アナライザーには、ディスパッチコールバックが1つだけあり、ツールは存在しないように見えます。これはプロキシの実装によるもので、ツールの公開範囲を示すものではありません。

60秒で試す

curl -X POST "https://invoicein-api.peculiar.systems/v1/invoice?include=validation&lang=en" \
  -H "X-Api-Key: $INVOICEIN_KEY" \
  -F file=@samples/factur-x-en16931.pdf

まだキーをお持ちでない場合は、ヘッダーを省略してください。1日あたりIPごとに20件の請求書を、同じ出力で処理できます。トライアルキー(請求書100件、30日間、カード不要)は製品ページから取得できます。

レスポンス(完全な例):

{
  "ok": true,
  "source":  { "syntax": "UBL", "format": "peppol-bis3", "profile": "Peppol BIS Billing 3.0", "container": "xml" },
  "invoice": {                         // canonical EN 16931, field names carry BT/BG numbers in /v1/schema
    "document": { "id": "Snippet1", "issue_date": "2017-11-13", "type_code": "380", "currency": "EUR", "due_date": "2017-12-01", ... },
    "seller":   { "name": "SupplierOfficialName Ltd", "vat_id": "GB1232434", "electronic_address": { "value": "9482348239847239874", "scheme": "0088" }, ... },
    "buyer":    { ... },
    "lines":    [ { "id": "1", "quantity": 7, "unit": "DAY", "net_amount": 2800, "tax": { "category": "S", "rate": 25 }, "item": { "name": "item name" } }, ... ],
    "tax_breakdown": [ { "taxable_amount": 1325, "tax_amount": 331.25, "category": "S", "rate": 25 } ],
    "totals":   { "line_net": 1300, "charges": 25, "net": 1325, "tax": 331.25, "gross": 1656.25, "due": 1656.25 },
    "payment":  { "means_code": "30", "remittance_info": "Snippet1", "credit_transfers": [ { "iban": "IBAN32423940", "account_name": "AccountName", "bic": "BIC324098" } ] }
  },
  "validation": { "valid": true, "errors": 0, "warnings": 0,
                  "rule_sets": [ { "id": "XSD:ubl-invoice" }, { "id": "EN16931-UBL", "version": "EN 16931 validation artefacts 1.3.17" }, { "id": "Peppol-UBL" } ],
                  "issues": [] },
  "timings_ms": { "detect": 0.5, "map": 14.4, "validate": 86.0, "total": 100.8 },
  "credits": { "mode": "key", "remaining": 99 }
}

問題がある場合、失敗したルールごとに、指定した言語でヒントが付与されます(例:ポーランド語のKSeF FA(3)):

{ "id": "XSD-UNEXPECTED-ELEMENT", "severity": "error", "rule_set": "XSD:fa3",
  "message": "Element '{http://crd.gov.pl/wzor/2025/06/25/13775/}Adnotacje': This element is not expected. Expected is one of ( {http://crd.gov.pl/wzor/2025/06/25/1 …",
  "hint": "XML zawiera element, którego schemat nie dopuszcza w tym miejscu. Nazwa elementu jest błędna, element należy do innego profilu/wersji (np. UBL 2.0 lub ZUGFeRD EXTENDED), jest zdublowany albo jest własnym rozszerzeniem. Usuń go lub zmień jego nazwę.",
  "who": "sender", "location": "/*/*[4]/*[8]", "line": 43 }

エンドポイント

呼び出し戻り値
POST /v1/invoice?include=validation,html,pdf,csv,datev&lang=en|de|pl|it|frすべてを1つのJSONにまとめて返します(追加データはbase64/インライン)
POST /v1/parse正規化JSONのみ
POST /v1/validate検証レポートのみ
POST /v1/render.html · POST /v1/render.pdf人が読みやすい形式でレンダリングします。ラベルは5言語に対応しています
POST /v1/export.csv?level=lines|documentsフラットなCSV
POST /v1/export.datev?skr=03|04&creditor_account=70000DATEV Buchungsstapel(EXTF 700、cp1252)
GET /v1/formats · GET /v1/rules/{id}?lang=de · GET /v1/schema形式とルールのバージョン · ルールIDの説明 · フィールドガイド
GET /v1/countries各国の義務規定で求められる形式と、その形式の検証方法
GET /v1/vat/{number}EU VAT番号:形式をオフラインで確認後、VIESでライブ照会し、日付入りの領収情報を返します
GET /v1/peppol/{id}取引先がPeppolに登録されているか、また何を受信できるか

本文:マルチパートのfileフィールド、または生のXML/PDFを指定します。実際のUser-Agentを送信してください(CloudflareはデフォルトのPython-urllibをエラー1010で拒否します)。認証:X-Api-KeyまたはAuthorization: Bearer。要求する出力にかかわらず、請求書1件につきクレジットを1つ消費します。複数の請求書を含むファイル(FatturaPAのロット)は、請求書1件ごとに1クレジットを消費します。残りのクレジットはX-Credits-Remainingで返されます。

このリポジトリの例

  • examples/curl.sh — すべてのエンドポイントを1回ずつ実行します
  • examples/node.mjs — 依存関係なしのfetchとFormData
  • examples/python.py — 標準ライブラリのみを使用します
  • examples/n8n-workflow.json — メールボックスの添付ファイル → InvoiceIn → JSON。n8nにインポートできます
  • mcp/server.json — MCPレジストリ用マニフェスト。[mcp/clients.md](mcp/clients.md) — Claude Desktop/Cursorの設定
  • bridge/invoicein_mcp_bridge.py — ホスト型サーバーのツールを1対1で再現し、すべての呼び出しを転送するローカルstdio MCPサーバー(リモートに対応していないクライアント向け。Dockerfileでビルドできます。bridge/tools.jsonはツール定義のオフライン版です)

請求書サンプル

ファイル内容出典/ライセンス
samples/xrechnung-3.0-ubl.xml、samples/xrechnung-3.0-cii.xml2種類の構文で記述された同一のXRechnung 3.0請求書KoSIT XRechnung testsuite、Apache-2.0
samples/peppol-bis3-base-example.xmlPeppol BIS Billing 3の基本例OpenPeppol、Apache-2.0
samples/factur-x-en16931.pdfFactur-XハイブリッドPDF、EN 16931プロファイルZUGFeRD corpus(FNFE-MPEの例)、Apache-2.0
samples/ksef-fa3-przyklad-1.xmlKSeF FA(3)公式例1ポーランド財務省、公開
samples/fatturapa-fpr01.xmlFatturaPA 1.2公式例FPR01Agenzia delle Entrate、公開

どちらのXRechnungファイルも同じ正規化JSONを生成します(構文固有のextensionsブロックのみ異なります)。これが正規モデルの目的です。

対応していない機能

OCRには対応していません(埋め込みXMLのないPDFはpdf-no-xmlで拒否されます)。Peppolアクセスポイント、フランスのPDP、UAEの認定サービスプロバイダー、KSeFまたはSdIのクライアントではありません。すでに受信したデータを読み取るだけで、請求書をどこにも送信しません。EN 16931より下位のFactur-X/ZUGFeRDプロファイル(MINIMUM、BASIC WL、BASIC)では、スキーマと算術のチェックのみを行います。EN 16931のルールを適用すると、ノイズしか生じないためです。検証結果は情報提供のみを目的とし、法的助言ではありません。

ライセンス

このリポジトリ内の例はMITライセンスです。請求書サンプルには、上記のライセンスが適用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。