AI apps

NormAPI in ChatGPT

Ask ChatGPT whether an e-invoice is valid, what a received one says, or why a portal rejected it. ChatGPT calls NormAPI for it, and NormAPI checks against the official KoSIT rules. With your NormAPI account, ChatGPT also creates new XRechnung invoices.

chatgpt.com and the ChatGPT apps · Updated 28 October 2026 · rule set v2026-08-31

What you can do with it

  • Check

    “Is this XRechnung valid?”

    XRechnung in UBL or CII, ZUGFeRD and Factur-X PDFs. The verdict with the rule set version, every finding with its cause and fix.

    no account

  • Read

    “Who issued this invoice, and for how much?”

    A received e-invoice as data: sender, recipient, lines, totals. Whatever was not carried over is named.

    no account

  • Explain

    “What does BR-DE-15 mean?”

    Any rule by its code: what it requires, why it typically fires, how to fix it.

    no account

  • Create

    “Create an e-invoice to Beispiel Handel AG: three licences at €199 net each.”

    An XRechnung from your details, validated before it is returned; ChatGPT offers the XML as a file. A ZUGFeRD PDF cannot be saved out of ChatGPT; for that there is Claude or our generator.

    NormAPI account

Connected in three steps

  1. 1Install the plugin

    In ChatGPT, open Plugins, search for NormAPI and open “NormAPI – XRechnung & ZUGFeRD”, then Install plugin.

    The page of the plugin “NormAPI – XRechnung & ZUGFeRD” in ChatGPT’s directory, with Install plugin and three sample questions
    The plugin in ChatGPT’s directory.
  2. 2Ask

    Type @NormAPI and pick the plugin, attach an XRechnung or a ZUGFeRD PDF, and ask whether it is valid.

    ChatGPT checks an uploaded XRechnung with NormAPI: valid, 0 errors, 0 warnings, rule set KoSIT v2026-08-31
    A valid sample invoice, checked in ChatGPT.
  3. 3Sign in to create invoices

    The first time ChatGPT is to create an invoice, it asks you to connect NormAPI and takes you to this page: sign in or create a free account, then allow the connection. Checking, reading and explaining never need this step.

    NormAPI’s “Connect ChatGPT to NormAPI” page: who is asking, what the app may do, what not, and how to end it
    The page where you allow the connection.
An invoice RE-2026-0100 created in ChatGPT, with the totals €597.00, €113.43 VAT and €710.43, and the XML to download
The invoice created in ChatGPT, with the XML as a file.

What needs an account

Checking, reading and explaining are free and need no sign-in. Only creating needs a NormAPI account: every invoice created counts against your monthly allowance, of which 50 a month are free. Data the rules do not permit is refused with the reasons, and not counted.

Your data

  • ChatGPT sends NormAPI the invoice you upload, or the details for a new one. An uploaded file arrives as a link to OpenAI’s storage, and NormAPI fetches it from there only. NormAPI processes them in memory and stores no invoice.
  • The connection gets an API key of its own, named after the app (mcp-chatgpt-…). Disconnect it on your account overview under “Connected apps”, and ChatGPT loses access at once.
  • Technical validation, not tax or legal advice.
  • What happens to your chat is up to OpenAI; what NormAPI receives and for how long is set out in our privacy policy.

For developers

Claude Code, Cursor, VS Code and every other MCP client use the same server, over OAuth or with your API key as a header, hosted or locally via npx.

It works without a chat too: the validator checks the same file in your browser.