addrbookFor publishers
← The evidence ledger

Evidence row 266580

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint c85b2e0d-d583-4d0d-8f91-36b30fe64aa0
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
3079256ec69513106251356c96a467f28a136acb063f183071e4a1cb72a4bc73
Leaf
0x05af9d0ef7dd35f265124d792c2557bd3b58ce2441715b2041476704975f429e

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Export one European e-invoice as a flat CSV table for a spreadsheet or a database import. Document columns: invoice id, type, issue and due date, currency, seller and buyer name / VAT id / country, buyer and order reference, net / tax / gross / due totals, IBAN, BIC, remittance info, KSeF number, detected format and profile; with level=lines each row adds line id, item name, seller item id, quantity, unit, unit price, net amount, VAT category and rate, note. Use invoice_to_datev for DATEV bookkeeping and read_invoice for the full JSON. Input: XML (UBL, CII, XRechnung, Peppol BIS 3, UAE PINT AE, FatturaPA, KSeF FA(2)/FA(3)) or a ZUGFeRD/Factur-X hybrid PDF up to 25 MB; plain or scanned PDFs without embedded XML are rejected (no OCR). A FatturaPA lot yields rows for every invoice in it. Returns the CSV as one text string: comma-separated, header row first, LF line endings, decimal point; an unreadable file returns a tool error with the reason. Costs one invoice credit per call; without an API key the anonymous quota is 20 invoices per day per IP. Nothing is stored.",
      "inputSchema": {
        "properties": {
          "file_base64": {
            "default": "",
            "description": "Invoice file content, base64-encoded (standard alphabet). Accepted content: XML in UBL 2.1, CII D16B, XRechnung, Peppol BIS Billing 3, FatturaPA 1.2 or KSeF FA(2)/FA(3) syntax, or a ZUGFeRD 1.0/2.x or Factur-X hybrid PDF (the embedded XML is used). Max 25 MB decoded. Required unless `path` is given.",
            "title": "File Base64",
            "type": "string"
          },
          "ksef": {
            "default": "",
            "description": "Poland only: the KSeF number the National e-Invoice System gave this invoice — 35 characters, NNNNNNNNNN-RRRRMMDD-FFFFFFFFFFFF-FF — or the collective identifier covering it (NNNNNNNNNN-IZRRRRMM-FFFFFFFFFFFF-FF). KSeF assigns it on acceptance, so it is never inside the FA(2)/FA(3) XML: it arrives beside the invoice in the KSeF API response, the UPO or the QR code on a visualisation. Pass it and it is checked against the invoice and returned on payment.ksef_number, the reference a Polish buyer must quote in the bank transfer title from 2027-01-01. Leave empty for invoices from any other country.",
            "title": "Ksef",
            "type": "string"
          },
          "level": {
            "default": "lines",
            "description": "'lines' (default) = one row per line item with the document columns repeated on every row; 'documents' = one row per invoice with the document columns only.",
            "enum": [
              "lines",
              "documents"
            ],
            "title": "Level",
            "type": "string"
          },
          "path": {
            "default": "",
            "description": "Absolute path of the invoice file on the machine running the server, used instead of file_base64. Only honoured over stdio (`python -m invoicein.mcp_server`); the hosted server at invoicein-api.peculiar.systems ignores it and answers with an error asking for file_base64.",
            "title": "Path",
            "type": "string"
          }
        },
        "title": "invoice_to_csvArguments",
        "type": "object"
      },
      "name": "invoice_to_csv"
    },
    {
      "description": "Convert one received (purchase) e-invoice into a DATEV Buchungsstapel import file (EXTF format 700) for German bookkeeping in DATEV Kanzlei-Rechnungswesen or Unternehmen online. Use it only for incoming invoices booked on the German side; use invoice_to_csv for a generic table, read_invoice for the raw data, validate_invoice for rule checks (this tool does not validate). Input: XML (UBL, CII, XRechnung, Peppol BIS 3, UAE PINT AE, FatturaPA, KSeF FA(2)/FA(3)) or a ZUGFeRD/Factur-X hybrid PDF up to 25 MB; plain or scanned PDFs without embedded XML are rejected (no OCR). Returns the file content as one text string, decoded in UTF-8: the EXTF header line, the DATEV column header, then one booking row per VAT-rate group with the gross amount and S/H flag (H for credit notes), the expense account chosen by rate under the selected SKR (e.g. SKR03 3400 for 19 %, 3300 for 7 %, 3200 for 0 %, 3120 intra-EU, 3425 reverse charge), the creditor account as Gegenkonto, document and due date, invoice number in Belegfeld 1, seller name as Buchungstext and the seller VAT id on intra-EU / reverse-charge rows. Save it as UTF-8 with CRLF before importing; the account mapping is a default to confirm with the tax advisor. An unreadable file returns a tool error with the reason. Costs one invoice credit per call; without an API key the anonymous quota is 20 invoices per day per IP. Nothing is stored.",
      "inputSchema": {
        "properties": {
          "creditor_account": {
            "default": "70000",
            "description": "Creditor account (Kreditor, written as Gegenkonto) the invoice is posted against: 4–9 digits as configured in the DATEV client, e.g. '70000' (default). Use the supplier's creditor number.",
            "pattern": "^[0-9]{4,9}$",
            "title": "Creditor Account",
            "type": "string"
          },
          "file_base64": {
            "default": "",
            "description": "Invoice file content, base64-encoded (standard alphabet). Accepted content: XML in UBL 2.1, CII D16B, XRechnung, Peppol BIS Billing 3, FatturaPA 1.2 or KSeF FA(2)/FA(3) syntax, or a ZUGFeRD 1.0/2.x or Factur-X hybrid PDF (the embedded XML is used). Max 25 MB decoded. Required unless `path` is given.",
            "title": "File Base64",
            "type": "string"
          },
          "path": {
            "default": "",
            "description": "Absolute path of the invoice file on the machine running the server, used instead of file_base64. Only honoured over stdio (`python -m invoicein.mcp_server`); the hosted server at invoicein-api.peculiar.systems ignores it and answers with an error asking for file_base64.",
            "title": "Path",
            "type": "string"
          },
          "skr": {
            "default": "03",
            "description": "German standard chart of accounts that selects the expense accounts: '03' = SKR03 (default), '04' = SKR04.",
            "enum": [
              "03",
              "04"
            ],
            "title": "Skr",
            "type": "string"
          }
        },
        "title": "invoice_to_datevArguments",
        "type": "object"
      },
      "name": "invoice_to_datev"
    },
    {
      "description": "Render one European e-invoice as a self-contained, printable HTML page: header, seller and buyer, line items, VAT breakdown, totals and payment details in one layout regardless of the source syntax, labels in `lang`. Use it to show an invoice to a person or to print it to PDF from a browser; it does not validate (use validate_invoice) and is not an accounting export (use invoice_to_csv or invoice_to_datev). Input: XML (UBL, CII, XRechnung, Peppol BIS 3, UAE PINT AE, FatturaPA, KSeF FA(2)/FA(3)) or a ZUGFeRD/Factur-X hybrid PDF up to 25 MB; plain or scanned PDFs without embedded XML are rejected (no OCR). Returns the HTML document as one text string with inline CSS and no external assets; an unreadable file returns a tool error with the reason. Costs one invoice credit per call; without an API key the anonymous quota is 20 invoices per day per IP. Nothing is stored.",
      "inputSchema": {
        "properties": {
          "file_base64": {
            "default": "",
            "description": "Invoice file content, base64-encoded (standard alphabet). Accepted content: XML in UBL 2.1, CII D16B, XRechnung, Peppol BIS Billing 3, FatturaPA 1.2 or KSeF FA(2)/FA(3) syntax, or a ZUGFeRD 1.0/2.x or Factur-X hybrid PDF (the embedded XML is used). Max 25 MB decoded. Required unless `path` is given.",
            "title": "File Base64",
            "type": "string"
          },
          "ksef": {
            "default": "",
            "description": "Poland only: the KSeF number the National e-Invoice System gave this invoice — 35 characters, NNNNNNNNNN-RRRRMMDD-FFFFFFFFFFFF-FF — or the collective identifier covering it (NNNNNNNNNN-IZRRRRMM-FFFFFFFFFFFF-FF). KSeF assigns it on acceptance, so it is never inside the FA(2)/FA(3) XML: it arrives beside the invoice in the KSeF API response, the UPO or the QR code on a visualisation. Pass it and it is checked against the invoice and returned on payment.ksef_number, the reference a Polish buyer must quote in the bank transfer title from 2027-01-01. Leave empty for invoices from any other country.",
            "title": "Ksef",
            "type": "string"
          },
          "lang": {
            "default": "en",
            "description": "Language of the fix hints in the validation report and of the labels in HTML output. Default en.",
            "enum": [
              "en",
              "de",
              "pl",
              "it",
              "fr"
            ],
            "title": "Lang",
            "type": "string"
          },
          "path": {
            "default": "",
            "description": "Absolute path of the invoice file on the machine running the server, used instead of file_base64. Only honoured over stdio (`python -m invoicein.mcp_server`); the hosted server at invoicein-api.peculiar.systems ignores it and answers with an error asking for file_base64.",
            "title": "Path",
            "type": "string"
          }
        },
        "title": "invoice_to_htmlArguments",
        "type": "object"
      },
      "name": "invoice_to_html"
    },
    {
      "description": "Parse one European or UAE (PINT AE) e-invoice into canonical EN 16931 JSON and validate it against the official rule sets in the same call. Use it when you need the invoice content (seller, buyer, lines, totals, payment) together with the verdict; use validate_invoice for a verdict-only answer, invoice_to_html / invoice_to_csv / invoice_to_datev for renderings. Input: XML (UBL, CII, XRechnung, Peppol BIS 3, UAE PINT AE, FatturaPA, KSeF FA(2)/FA(3)) or a ZUGFeRD/Factur-X hybrid PDF up to 25 MB; plain or scanned PDFs without embedded XML are rejected (no OCR). Returns the parsed invoice, the validation report with fix hints in `lang`, and timings; an unreadable file returns ok=false with error.code/message/hint instead of raising. A FatturaPA lot returns only its first invoice, with a note. For a Polish KSeF invoice, pass the KSeF number in `ksef`: it is checked against the invoice and returned on payment.ksef_number. Costs one invoice credit per call; without an API key the anonymous quota is 20 invoices per day per IP. Nothing is stored.",
      "inputSchema": {
        "properties": {
          "file_base64": {
            "default": "",
            "description": "Invoice file content, base64-encoded (standard alphabet). Accepted content: XML in UBL 2.1, CII D16B, XRechnung, Peppol BIS Billing 3, FatturaPA 1.2 or KSeF FA(2)/FA(3) syntax, or a ZUGFeRD 1.0/2.x or Factur-X hybrid PDF (the embedded XML is used). Max 25 MB decoded. Required unless `path` is given.",
            "title": "File Base64",
            "type": "string"
          },
          "ksef": {
            "default": "",
            "description": "Poland only: the KSeF number the National e-Invoice System gave this invoice — 35 characters, NNNNNNNNNN-RRRRMMDD-FFFFFFFFFFFF-FF — or the collective identifier covering it (NNNNNNNNNN-IZRRRRMM-FFFFFFFFFFFF-FF). KSeF assigns it on acceptance, so it is never inside the FA(2)/FA(3) XML: it arrives beside the invoice in the KSeF API response, the UPO or the QR code on a visualisation. Pass it and it is checked against the invoice and returned on payment.ksef_number, the reference a Polish buyer must quote in the bank transfer title from 2027-01-01. Leave empty for invoices from any other country.",
            "title": "Ksef",
            "type": "string"
          },
          "lang": {
            "default": "en",
            "description": "Language of the fix hints in the validation report and of the labels in HTML output. Default en.",
            "enum": [
              "en",
              "de",
              "pl",
              "it",
              "fr"
            ],
            "title": "Lang",
            "type": "string"
          },
          "path": {
            "default": "",
            "description": "Absolute path of the invoice file on the machine running the server, used instead of file_base64. Only honoured over stdio (`python -m invoicein.mcp_server`); the hosted server at invoicein-api.peculiar.systems ignores it and answers with an error asking for file_base64.",
            "title": "Path",
            "type": "string"
          }
        },
        "title": "read_invoiceArguments",
        "type": "object"
      },
      "name": "read_invoice"
    },
    {
      "description": "Validate one European or UAE (PINT AE) e-invoice against the official rule sets (XSD, EN 16931, XRechnung, Peppol BIS, PINT AE, FatturaPA, KSeF, arithmetic) and return the verdict without the invoice body. Use it for pass/fail and the list of errors and warnings; use read_invoice when you also need lines, totals and payment data. Input: XML (UBL, CII, XRechnung, Peppol BIS 3, UAE PINT AE, FatturaPA, KSeF FA(2)/FA(3)) or a ZUGFeRD/Factur-X hybrid PDF up to 25 MB; plain or scanned PDFs without embedded XML are rejected (no OCR). Returns the validation report (valid flag, counts, rule sets with versions, failed rules with rule id, severity, fix hint in `lang`, affected field and who must act), the detected source and the document header; an unreadable file returns ok=false with error.code/message/hint instead of raising. For a Polish KSeF invoice, a KSeF number passed in `ksef` is checked too: shape, NIP check digit, and agreement with the invoice it came with. Costs one invoice credit per call; without an API key the anonymous quota is 20 invoices per day per IP. Nothing is stored.",
      "inputSchema": {
        "properties": {
          "file_base64": {
            "default": "",
            "description": "Invoice file content, base64-encoded (standard alphabet). Accepted content: XML in UBL 2.1, CII D16B, XRechnung, Peppol BIS Billing 3, FatturaPA 1.2 or KSeF FA(2)/FA(3) syntax, or a ZUGFeRD 1.0/2.x or Factur-X hybrid PDF (the embedded XML is used). Max 25 MB decoded. Required unless `path` is given.",
            "title": "File Base64",
            "type": "string"
          },
          "ksef": {
            "default": "",
            "description": "Poland only: the KSeF number the National e-Invoice System gave this invoice — 35 characters, NNNNNNNNNN-RRRRMMDD-FFFFFFFFFFFF-FF — or the collective identifier covering it (NNNNNNNNNN-IZRRRRMM-FFFFFFFFFFFF-FF). KSeF assigns it on acceptance, so it is never inside the FA(2)/FA(3) XML: it arrives beside the invoice in the KSeF API response, the UPO or the QR code on a visualisation. Pass it and it is checked against the invoice and returned on payment.ksef_number, the reference a Polish buyer must quote in the bank transfer title from 2027-01-01. Leave empty for invoices from any other country.",
            "title": "Ksef",
            "type": "string"
          },
          "lang": {
            "default": "en",
            "description": "Language of the fix hints in the validation report and of the labels in HTML output. Default en.",
            "enum": [
              "en",
              "de",
              "pl",
              "it",
              "fr"
            ],
            "title": "Lang",
            "type": "string"
          },
          "path": {
            "default": "",
            "description": "Absolute path of the invoice file on the machine running the server, used instead of file_base64. Only honoured over stdio (`python -m invoicein.mcp_server`); the hosted server at invoicein-api.peculiar.systems ignores it and answers with an error asking for file_base64.",
            "title": "Path",
            "type": "string"
          }
        },
        "title": "validate_invoiceArguments",
        "type": "object"
      },
      "name": "validate_invoice"
    }
  ]
}

What the leaf hashes

{"body":"3079256ec69513106251356c96a467f28a136acb063f183071e4a1cb72a4bc73","id":266580,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793035414643420,"prev":null,"subject":"c85b2e0d-d583-4d0d-8f91-36b30fe64aa0","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x05af3349a9334e39f3bf59572215a1dab6a4993607ae56023e0a17f544164054
  2. 0xe5b9eeb1922fc272d5a05a27e6d57f8e23e694d342ce739680b3508300fb011b
  3. 0xe5b3a6a5fb312bd8ecbdbdc407bfae7a34ce549e679fbff5209f03ef11d80efe
  4. 0xca8510113c799aee519cab048f3c96dad9a279a4db1397065979e9988b15bf32
  5. 0xf45833624088687696027a3f62b64d91b3d5a8136c85aa97e9d46aff5b3ec9a7
  6. 0x22e641cfe0e1dd28dcd958275119c3f4e3138c45e674c5d1d2ee10283d7761a7
  7. 0x6db3a105c86ea730c5dfd114a56c8c8cce8195c8db0e1ad883af796e72fdcc71
  8. 0x486b649e2cd1f1ad3e4ed81f45eaa34da476b9a196a5e8c6acc45b4d88e079e7
  9. 0x609dc73fdeb7000e8620565b03d070e6ea6541156815807a25e2bda3e46992ba
  10. 0x29a79a1e444b726bf2db966f6ad9d0448d93ae7b7180fd783a410b336c52af9b
  11. 0x88fb9d02ea6ed7254b70cfe02388b31c183a7a709aad6303948d66f85ad516b1
  12. 0x7910a200eb458bec3c3badb3b2ead3e75cec5f3ba263800cea6b9f32efb53f25
  13. 0x610fdf3e989af0a6b4a400a3a8aab9156d757f8c96efe4e9d0594dfd04de1cc0
  14. 0xd1d3499072edb10edc68f84bcae2365d2ab534df689250cab18c751b6f13b6ff
  15. 0x7ddc2fead128357f881b63e6c7c26d7fbbb84fca6c7c8e0bbfe386de86ca8d39
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON