# German E-Invoice (ZUGFeRD / XRechnung / Factur-X) Suite (`agrunert/german-e-invoice-zugferd-xrechnung-suite`) Actor

Generate, embed (PDF/A-3), and validate German & EU E-Invoices (ZUGFeRD 2.2, Factur-X, XRechnung 3.0) with official EN 16931 & KoSIT rules. Ideal for ERP, Make & n8n.

- **URL**: https://apify.com/agrunert/german-e-invoice-zugferd-xrechnung-suite.md
- **Developed by:** [André Grunert](https://apify.com/agrunert) (community)
- **Categories:** Business, Developer tools, Automation
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $35.00 / 1,000 invoice processeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🧾 German E-Invoice (ZUGFeRD / XRechnung / Factur-X) Suite

> **Generate, embed, and extract legally compliant German and European electronic invoices (EN 16931, Factur-X 1.0, ZUGFeRD 2.2, XRechnung 3.0) via Apify.**

Starting 2025/2026, electronic invoicing is legally mandatory for B2B transactions in Germany and public administration (B2G) across the European Union. This Apify Actor gives you a reliable, production-ready document engine to automate your invoice workflows without managing complex native PDF/A-3 or XML toolchains.

***

### 🎥 45-Second Live Video Demo (1080p)

[![Watch 45-Second Live Video Demo (1080p)](https://raw.githubusercontent.com/andregrunert-ctrl/zugferd-api-examples/master/docs/showcase_video_banner.png)](https://youtu.be/xkDNnPjQxRo)

*Watch how the engine validates invoices in 142 ms (Zero-Storage RAM check), integrates in 5 lines of code, and connects with WooCommerce, n8n, Make.com, and MCP AI agents.*

***

### 🚀 Key Features

- **3 Operations in 1 Actor**:
  1. `generate`: Turn JSON data into a clean, human-readable DIN-format invoice PDF and a valid, embedded PDF/A-3 with UN/CEFACT CII XML.
  2. `embed`: Take your existing company PDF layout and embed compliant ZUGFeRD/Factur-X XML into it.
  3. `extract`: Inspect incoming PDFs or XML invoices, extract the embedded XML attachment, and validate compliance against official EN 16931 XSD schemas.
- **Full Multi-Profile Support**:
  - `EN16931` (Comfort / Standard European Norm)
  - `EXTENDED` (Full commercial and cross-border trade details)
  - `BASIC` (Automated processing for standard business)
  - `XRECHNUNG_3_0` (German Public Administration / B2G CIUS with Leitweg-ID)
- **Storage & Download Integration**:
  - Generated PDFs and XMLs are stored directly in the Apify **Key-Value Store**.
  - Download links are provided in the **Dataset** alongside structured summary metadata.
- **Fair Pay-Per-Event (PPE) Pricing**:
  - Billed strictly per processed document. If a run fails due to schema errors or invalid inputs, **no event is charged**.

***

### 📥 Input Parameters

| Parameter | Type | Required | Description |
| :--- | :---: | :---: | :--- |
| `operation` | `string` | **Yes** | Choose `generate`, `embed`, or `extract` (Default: `generate`). |
| `profile` | `string` | No | Profile standard: `EN16931`, `EXTENDED`, `BASIC`, or `XRECHNUNG_3_0` (Default: `EN16931`). |
| `invoice_data` | `object` | Conditional | Structured JSON invoice payload (required for `generate`, optional for `embed`). |
| `file_url` | `string` | Conditional | Public HTTP/HTTPS URL of a PDF or XML file (for `embed` or `extract`). |
| `file_base64` | `string` | Conditional | Base64-encoded PDF or XML string (alternative to `file_url`). |
| `xml_url` | `string` | No | Optional HTTP/HTTPS URL of an external XML file to embed when `invoice_data` is omitted in `embed` mode. |
| `xml_base64` | `string` | No | Optional Base64-encoded XML string to embed when `invoice_data` is omitted in `embed` mode. |

***

### 💡 Quickstart Examples

#### 1. Operation: `generate`

Create a complete PDF/A-3 invoice with embedded XML from JSON:

```json
{
  "operation": "generate",
  "profile": "EN16931",
  "invoice_data": {
    "invoice_number": "RE-2026-0001",
    "issue_date": "2026-10-25",
    "due_date": "2026-11-24",
    "delivery_date": "2026-10-25",
    "buyer_reference": "04011000-12345-34",
    "currency": "EUR",
    "seller": {
      "name": "Cloud Solutions GmbH",
      "street": "Friedrichstraße 123",
      "city": "Berlin",
      "zip_code": "10117",
      "country": "DE",
      "vat_id": "DE123456789",
      "iban": "DE89370400440532013000",
      "bic": "DBEUT38BXXX",
      "email": "rechnung@cloud-solutions.de",
      "contact_name": "Erika Mustermann",
      "phone": "+49 30 1234567"
    },
    "buyer": {
      "name": "Musterkunde AG",
      "street": "Marienplatz 1",
      "city": "München",
      "zip_code": "80331",
      "country": "DE",
      "vat_id": "DE987654321",
      "email": "eingang@musterkunde.de"
    },
    "line_items": [
      {
        "description": "IT Consulting & Cloud Architecture",
        "quantity": 8.0,
        "unit_code": "HUR",
        "unit_price": 140.0,
        "tax_rate_percent": 19.0
      }
    ],
    "payment_terms": "Payable within 30 days without deduction."
  }
}
```

#### 2. Operation: `embed`

Embed XML data into an existing invoice PDF:

```json
{
  "operation": "embed",
  "file_url": "https://example.com/invoices/sample.pdf",
  "invoice_data": {
    "invoice_number": "INV-2026-99",
    "issue_date": "2026-10-25",
    "seller": { ... },
    "buyer": { ... },
    "line_items": [ ... ]
  }
}
```

#### 3. Operation: `extract`

Inspect and validate an incoming PDF or XML invoice:

```json
{
  "operation": "extract",
  "file_url": "https://example.com/incoming-invoice.pdf"
}
```

***

### 📤 Output Format

Results are pushed to the default Apify Dataset:

```json
{
  "operation": "generate",
  "status": "success",
  "profile": "EN16931",
  "invoice_number": "RE-2026-0001",
  "issue_date": "2026-10-25",
  "total_net_amount": 1120.0,
  "total_gross_amount": 1332.8,
  "currency": "EUR",
  "pdf_key": "INVOICE_RE-2026-0001.pdf",
  "pdf_download_url": "https://api.apify.com/v2/key-value-stores/.../records/INVOICE_RE-2026-0001.pdf",
  "xml_key": "INVOICE_RE-2026-0001.xml",
  "xml_download_url": "https://api.apify.com/v2/key-value-stores/.../records/INVOICE_RE-2026-0001.xml",
  "pdf_size_bytes": 7437,
  "xml_size_bytes": 7994
}
```

***

### 🤖 Plug-and-Play: AI Agents (MCP), n8n & Make.com

Our actors are built natively for the next generation of automation: seamless integration into **Claude Desktop**, **Cursor AI**, **AI Agent Frameworks (LangChain, AutoGen, CrewAI)**, and visual workflow builders like **n8n** and **Make.com**.

#### 1. AI Agents & Model Context Protocol (MCP)

Give your AI coding assistant or desktop agent real-time access to this actor using the official Apify MCP server.

##### Option A: Single-Actor MCP Setup (`claude_desktop_config.json` / Cursor)

Add this to your `%APPDATA%\Claude\claude_desktop_config.json` (Windows) or `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):

```json
{
  "mcpServers": {
    "apify-zugferd": {
      "command": "npx",
      "args": ["-y", "@apify/actors-mcp-server", "--actors", "AGrunert/german-e-invoice-zugferd-xrechnung-suite"],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}
```

> **💡 Pro Tip – Equip your AI Agent with our Complete German B2B & Compliance Suite:**\
> Pass all 6 specialized DACH actors in a single command so your agent can discover B2B leads, extract Impressum data, verify commercial register & insolvency records, search tenders, monitor real estate foreclosures, and issue tax-compliant e-invoices autonomously:
>
> ```bash
> npx -y @apify/actors-mcp-server --actors AGrunert/german-b2b-leads-directory-scraper,AGrunert/german-impressum-b2b-lead-enricher,AGrunert/german-company-kyb-insolvency-scraper,AGrunert/german-public-tenders-vergabe-scraper,AGrunert/german-real-estate-foreclosure-zvg-scraper,AGrunert/german-e-invoice-zugferd-xrechnung-suite
> ```
>
> *Hosted SSE Endpoint (for Cursor / remote agents):*\
> `https://mcp.apify.com?actors=AGrunert/german-e-invoice-zugferd-xrechnung-suite&token=YOUR_APIFY_TOKEN`

***

#### 2. 1-Click Synchronous API (cURL, n8n, Make.com)

No async job polling required! Call our synchronous endpoint directly in a single HTTP request node to run the actor and receive clean parsed dataset items immediately:

```bash
curl -X POST "https://api.apify.com/v2/acts/AGrunert~german-e-invoice-zugferd-xrechnung-suite/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"operation":"generate_pdf_invoice","profile":"COMFORT","invoice_data":{"invoice_number":"INV-2026-001","issue_date":"2026-10-28","currency":"EUR","seller":{"name":"Muster Consulting GmbH","city":"Berlin","country_code":"DE","vat_id":"DE123456789"},"buyer":{"name":"Kunde AG","city":"München","country_code":"DE","vat_id":"DE987654321"},"line_items":[{"name":"Cloud Consulting","quantity":10,"unit_code":"HUR","unit_price":150,"tax_rate":19}]}}'
```

***

#### 3. Schlüsselfertige Workflow-Vorlagen im Repository (`integrations/`)

In our GitHub repository and Actor build package, you will find pre-built, production-tested templates in the `integrations/` folder:

- **`integrations/n8n_workflow.json`**: Ready-to-import n8n workflow for automated, tax-compliant PDF/A-3 and ZUGFeRD 2.3 / XRechnung e-invoice generation from order payloads. Just copy-paste the JSON into your n8n canvas.
- **`integrations/make_com_blueprint.json`**: Official Make.com scenario blueprint with pre-configured HTTP request & data mapping.
- **`integrations/mcp_claude_cursor_config.json`**: Pre-configured MCP server manifest for Claude Desktop, Cursor AI, and Windsurf.

***

### 🔗 Complete German B2B, Compliance & PropTech Suite by AGrunert

Combine our specialized German business actors to build end-to-end automated pipelines for B2B lead generation, corporate due diligence, public procurement, real estate intelligence, and tax-compliant e-invoicing:

| Actor | Category & Pricing | Key Capabilities | Preconfigured Public Tasks |
| :--- | :--- | :--- | :--- |
| [**German B2B Leads, Crafts & Business Directory Scraper**](https://apify.com/AGrunert/german-b2b-leads-directory-scraper) | **Lead Generation**<br>`$0.008 / lead` ($8.00 / 1k) | Multi-query round-robin extraction across German business directories (`11880`, `Gelbe Seiten`), verified E.164 phone numbers (97.5% coverage), and domain verification (`require_website: true`). | • [German Crafts, Solar & Construction Lead Finder](https://apify.com/AGrunert/german-crafts-trades-lead-finder)<br>• [German B2B Company & Domain Finder](https://apify.com/AGrunert/german-b2b-domains-for-impressum-enrichment) |
| [**German & DACH B2B Impressum, Contact & Legal Enricher (§ 5 DDG)**](https://apify.com/AGrunert/german-impressum-b2b-lead-enricher) | **Data Enrichment**<br>`$0.005 / domain` ($5.00 / 1k) | Automatic legal notice discovery (§ 5 DDG / § 25 MedienG), de-obfuscation of executive emails, management board/CEOs, court & registration number (`HRB`), VAT ID (`DE...`), and social profiles. | • [German B2B Impressum, CEO & Contact Extractor](https://apify.com/AGrunert/german-b2b-impressum-contact-extractor)<br>• [DACH Website to Handelsregister & VAT ID Enricher](https://apify.com/AGrunert/impressum-to-handelsregister-kyb-enricher) |
| [**German Company KYB, Handelsregister & Insolvency Scraper**](https://apify.com/AGrunert/german-company-kyb-insolvency-scraper) | **Risk & Compliance**<br>`$0.025 / check` ($25.00 / 1k) | Official XJustiz 3.5.1 extraction (directors, share capital, business purpose, court) + live insolvency check (`insolvenzbekanntmachungen.de`) with bulk company list support. | • [Complete German KYB Audit](https://apify.com/AGrunert/full-kyb-audit)<br>• [Fast German Insolvency Screener](https://apify.com/AGrunert/fast-insolvency-screener)<br>• [Bulk German Company KYB Batch Check](https://apify.com/AGrunert/bulk-kyb-batch-check) |
| [**German Public Tenders & Procurement Scraper (`service.bund.de`)**](https://apify.com/AGrunert/german-public-tenders-vergabe-scraper) | **B2B Tenders & Contracts**<br>`$0.010 / tender` ($10.00 / 1k) | Daily procurement monitoring across Bund, Länder & Kommunen; zero false positives (filters AI Bietercockpit boilerplates); direct `/unterlagen/` download URLs and submission deadlines (date + time). | • [German IT, Software & AI Public Tenders Monitor](https://apify.com/AGrunert/german-it-software-public-tenders)<br>• [German Construction & Facility Management Tenders](https://apify.com/AGrunert/german-construction-facility-tenders) |
| [**German Real Estate Foreclosure & ZVG-Portal Scraper**](https://apify.com/AGrunert/german-real-estate-foreclosure-zvg-scraper) | **PropTech & Real Estate**<br>`$0.010 / property` ($10.00 / 1k) | Bulk extraction of foreclosure auctions (`zvg-portal.de`) across all 16 states, multi-parcel market value parser (`float`), and direct PDF appraisal links (*Verkehrswertgutachten*). | • [German Foreclosure Real Estate Finder](https://apify.com/AGrunert/german-foreclosures-sample-search)<br>• [High-Value German Foreclosures (> 250k EUR)](https://apify.com/AGrunert/high-value-commercial-residential-foreclosures) |
| [**German E-Invoice (ZUGFeRD / Factur-X / XRechnung 3.0) Suite**](https://apify.com/AGrunert/german-e-invoice-zugferd-xrechnung-suite) *(Current Actor)* | **Finance & Invoicing**<br>`$0.035 / invoice` ($35.00 / 1k) | Generate DIN-5008 compliant PDF/A-3 invoices from JSON, embed CII XML, and validate with official KoSIT Schematron & EN 16931 rules. | *Standalone API & Batch Suite* |

#### 💡 Multi-Actor Chain Workflows & Synergy Pipelines

- **Pipeline 1 (Top-of-Funnel Lead-to-Audit Engine):**\
  Discover companies & crafts via [**German B2B Directory Scraper**](https://apify.com/AGrunert/german-b2b-leads-directory-scraper) $\rightarrow$ Enrich managing directors, direct emails, and HRB numbers via [**German Impressum Enricher**](https://apify.com/AGrunert/german-impressum-b2b-lead-enricher) $\rightarrow$ Verify solvency, officers, and share capital via [**German KYB Scraper**](https://apify.com/AGrunert/german-company-kyb-insolvency-scraper).
- **Pipeline 2 (Public Tender Win to Compliant Billing):**\
  Monitor federal procurement opportunities via [**German Public Tenders Scraper**](https://apify.com/AGrunert/german-public-tenders-vergabe-scraper) $\rightarrow$ Win bid $\rightarrow$ Bill public authorities with compliant EN 16931 XRechnung 3.0 via [**German E-Invoice Suite**](https://apify.com/AGrunert/german-e-invoice-zugferd-xrechnung-suite).
- **Pipeline 3 (Real Estate Foreclosure Due Diligence):**\
  Scrape upcoming foreclosures via [**German Real Estate Foreclosure Scraper**](https://apify.com/AGrunert/german-real-estate-foreclosure-zvg-scraper) $\rightarrow$ Check creditor/owner companies via [**German KYB Scraper**](https://apify.com/AGrunert/german-company-kyb-insolvency-scraper).

***

### ⚖️ Legal & Compliance Disclaimer

ZUGFeRD is a registered trademark of the Forum elektronische Rechnung Deutschland (FeRD). Factur-X is a joint standard by FeRD and FNFE-MPE. This Actor is an independent implementation created to ensure technical compliance with EN 16931, PDF/A-3 (ISO 19005-3), and XRechnung specifications.

# Actor input Schema

## `operation` (type: `string`):

Choose the operation to execute: generate, embed, or extract.

## `profile` (type: `string`):

Electronic invoice target profile.

## `invoice_data` (type: `object`):

Structured JSON payload for invoice generation or embedding.

## `file_url` (type: `string`):

Public HTTP/HTTPS URL of the PDF or XML file (used for 'embed' or 'extract' mode).

## `file_base64` (type: `string`):

Base64-encoded PDF or XML string (alternative to File URL).

## `xml_url` (type: `string`):

Optional public HTTP/HTTPS URL of an existing ZUGFeRD/XRechnung XML file to embed into the PDF when invoice_data is not used.

## `xml_base64` (type: `string`):

Optional Base64-encoded ZUGFeRD/XRechnung XML string to embed into the PDF when invoice_data is not used.

## Actor input object example

```json
{
  "operation": "generate",
  "profile": "EN16931",
  "invoice_data": {
    "invoice_number": "RE-2026-1001",
    "issue_date": "2026-10-25",
    "due_date": "2026-11-24",
    "buyer_reference": "991-12345-56",
    "currency": "EUR",
    "seller": {
      "name": "Muster GmbH",
      "street": "Hauptstraße 1",
      "city": "Berlin",
      "zip_code": "10115",
      "country": "DE",
      "vat_id": "DE123456789",
      "iban": "DE89370400440532013000",
      "bic": "COBADEFFXXX",
      "email": "rechnung@muster-gmbh.de",
      "contact_name": "Max Mustermann",
      "phone": "+49 30 12345678"
    },
    "buyer": {
      "name": "Kunden AG",
      "street": "Industriestraße 42",
      "city": "München",
      "zip_code": "80331",
      "country": "DE",
      "vat_id": "DE987654321",
      "email": "rechnungseingang@kunden-ag.de"
    },
    "line_items": [
      {
        "description": "Software-Entwicklung & Beratung",
        "quantity": 10,
        "unit_code": "HUR",
        "unit_price": 120,
        "tax_rate_percent": 19
      },
      {
        "description": "Hosting & Wartung (Monat)",
        "quantity": 1,
        "unit_code": "C62",
        "unit_price": 49,
        "tax_rate_percent": 19
      }
    ]
  }
}
```

# Actor output Schema

## `datasetResults` (type: `string`):

No description

## `keyValueStore` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "invoice_data": {
        "invoice_number": "RE-2026-1001",
        "issue_date": "2026-10-25",
        "due_date": "2026-11-24",
        "buyer_reference": "991-12345-56",
        "currency": "EUR",
        "seller": {
            "name": "Muster GmbH",
            "street": "Hauptstraße 1",
            "city": "Berlin",
            "zip_code": "10115",
            "country": "DE",
            "vat_id": "DE123456789",
            "iban": "DE89370400440532013000",
            "bic": "COBADEFFXXX",
            "email": "rechnung@muster-gmbh.de",
            "contact_name": "Max Mustermann",
            "phone": "+49 30 12345678"
        },
        "buyer": {
            "name": "Kunden AG",
            "street": "Industriestraße 42",
            "city": "München",
            "zip_code": "80331",
            "country": "DE",
            "vat_id": "DE987654321",
            "email": "rechnungseingang@kunden-ag.de"
        },
        "line_items": [
            {
                "description": "Software-Entwicklung & Beratung",
                "quantity": 10,
                "unit_code": "HUR",
                "unit_price": 120,
                "tax_rate_percent": 19
            },
            {
                "description": "Hosting & Wartung (Monat)",
                "quantity": 1,
                "unit_code": "C62",
                "unit_price": 49,
                "tax_rate_percent": 19
            }
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("agrunert/german-e-invoice-zugferd-xrechnung-suite").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "invoice_data": {
        "invoice_number": "RE-2026-1001",
        "issue_date": "2026-10-25",
        "due_date": "2026-11-24",
        "buyer_reference": "991-12345-56",
        "currency": "EUR",
        "seller": {
            "name": "Muster GmbH",
            "street": "Hauptstraße 1",
            "city": "Berlin",
            "zip_code": "10115",
            "country": "DE",
            "vat_id": "DE123456789",
            "iban": "DE89370400440532013000",
            "bic": "COBADEFFXXX",
            "email": "rechnung@muster-gmbh.de",
            "contact_name": "Max Mustermann",
            "phone": "+49 30 12345678",
        },
        "buyer": {
            "name": "Kunden AG",
            "street": "Industriestraße 42",
            "city": "München",
            "zip_code": "80331",
            "country": "DE",
            "vat_id": "DE987654321",
            "email": "rechnungseingang@kunden-ag.de",
        },
        "line_items": [
            {
                "description": "Software-Entwicklung & Beratung",
                "quantity": 10,
                "unit_code": "HUR",
                "unit_price": 120,
                "tax_rate_percent": 19,
            },
            {
                "description": "Hosting & Wartung (Monat)",
                "quantity": 1,
                "unit_code": "C62",
                "unit_price": 49,
                "tax_rate_percent": 19,
            },
        ],
    } }

# Run the Actor and wait for it to finish
run = client.actor("agrunert/german-e-invoice-zugferd-xrechnung-suite").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "invoice_data": {
    "invoice_number": "RE-2026-1001",
    "issue_date": "2026-10-25",
    "due_date": "2026-11-24",
    "buyer_reference": "991-12345-56",
    "currency": "EUR",
    "seller": {
      "name": "Muster GmbH",
      "street": "Hauptstraße 1",
      "city": "Berlin",
      "zip_code": "10115",
      "country": "DE",
      "vat_id": "DE123456789",
      "iban": "DE89370400440532013000",
      "bic": "COBADEFFXXX",
      "email": "rechnung@muster-gmbh.de",
      "contact_name": "Max Mustermann",
      "phone": "+49 30 12345678"
    },
    "buyer": {
      "name": "Kunden AG",
      "street": "Industriestraße 42",
      "city": "München",
      "zip_code": "80331",
      "country": "DE",
      "vat_id": "DE987654321",
      "email": "rechnungseingang@kunden-ag.de"
    },
    "line_items": [
      {
        "description": "Software-Entwicklung & Beratung",
        "quantity": 10,
        "unit_code": "HUR",
        "unit_price": 120,
        "tax_rate_percent": 19
      },
      {
        "description": "Hosting & Wartung (Monat)",
        "quantity": 1,
        "unit_code": "C62",
        "unit_price": 49,
        "tax_rate_percent": 19
      }
    ]
  }
}' |
apify call agrunert/german-e-invoice-zugferd-xrechnung-suite --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,agrunert/german-e-invoice-zugferd-xrechnung-suite"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/MyL6loU0j2gplZBw2/builds/SilVzvxij5XmZLiuv/openapi.json
