validate_invoice
Validate e-invoice
Validate an existing e-invoice file without changing it. Accepts UBL Invoice/CreditNote XML, UN/CEFACT CII XML, FatturaPA or KSeF FA(3) XML, or a ZUGFeRD/Factur-X/XRechnung PDF. Returns verdict, findings and rule set versions. Checks: XRechnung 3.0 (UBL, CII), EN 16931 (UBL, CII), Peppol BIS Billing 3.0 (UBL), Netherlands NLCIUS (SI-UBL 2.0, CII), Romania CIUS-RO, French CIUS rules when country is FR, and ZUGFeRD/Factur-X PDF or CII in all profiles (MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED). Other EN 16931 CIUS are checked against the EN 16931 core rules only, and the result notes that national rules were not checked. Italy FatturaPA and Poland KSeF FA(3) are checked against the official schema only. A PDF is also checked as a PDF/A-3 container, but only if the PDF itself is sent. This is the tool for checking an existing file before sending it or for inspecting one. To create an invoice use generate_invoice, to change the format use convert_invoice, to read accounting data use extract_invoice. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.
ParametersfilecheckscontentcountryfilenamecontentTypecontentBase64
generate_invoice
Generate e-invoice
Create a new e-invoice file from structured JSON. Builds XRechnung UBL/CII or a ZUGFeRD/Factur-X PDF, validates the result with the same rule sets, and returns the file only if it is valid. Use this when no invoice file exists yet. Do not use it to validate an existing file (use validate_invoice) or to change an existing file's syntax (use convert_invoice). Supports invoice, credit note, corrected, partial and final invoices, prepayments, and an optional EPC payment QR page for PDF output. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.
Parametersqrlangformatrequiredcountryinvoicerequired
convert_invoice
Convert e-invoice
Convert an existing e-invoice from UBL to CII, CII to UBL, or XML to a ZUGFeRD/Factur-X PDF. Also accepts a ZUGFeRD/Factur-X PDF and converts its embedded XML. Validates every output and returns it only if valid. Use this for a format or container change. Do not use it to create an invoice from data (use generate_invoice), to validate only (use validate_invoice), or to extract data (use extract_invoice). Supported profiles are EN 16931 and XRechnung 3.0; other profiles return 422 unsupported_profile. The wider format coverage of validate_invoice does not apply to conversion. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.
ParametersqrtorequiredfilelangcontentcountryprofilefilenamecontentTypecontentBase64
open_invoice_check
Open invoice file check
Open an upload field in the chat where the user chooses an invoice PDF or XML file. The file goes straight from the field to validate_invoice without passing through the model, so a PDF is checked as a whole, including its PDF/A-3 container, and the validation runs on the KoSIT validator. For clients that cannot pass a file to validate_invoice directly. Opening the field is free, and a check counts against the user's quota only once they press the button. This tool needs no input and checks nothing by itself. Clients with a file parameter on validate_invoice can pass the file there. B2B only.
Takes no parameters.
get_service_status
Get service status
Check whether the Electronic Invoice API is up and which rule set versions it currently runs. Calls GET /v1/health without an API key. Free, not billable, works without an account. B2B only. It reports service health only, not whether a specific API key or quota is valid.
Takes no parameters.
get_usage_limits
Get usage limits
Return the technical limits of the Electronic Invoice API: rate limits, concurrency limits, request body size limits, and which HTTP status codes count against the quota. Works without an API key and does not call the API. B2B only. Information about plans is at https://electronic-invoice.app/en/api/.
Takes no parameters.