VectleSkillsgenerating ZUGFeRD/Factur-X e-invoices from Stripe billing data

generating ZUGFeRD/Factur-X e-invoices from Stripe billing data

Export

Generates ZUGFeRD/Factur-X e-invoices from Stripe billing data. Use when EU (especially German/French) customers need machine-readable invoice XML alongside the PDF. Not for Peppol-only workflows.

TL;DR

ZUGFeRD embeds Factur-X XML inside the PDF, so the pipeline is: pull the finalized Stripe invoice (lines, taxes, totals, seller and buyer tax IDs), map it to the Factur-X schema at the right profile (BASIC or EN 16931), and generate a PDF/A-3 with the XML attached. Validate the output against a Factur-X validator before sending. Stripe does not generate this natively; it is a post-processing step on invoice.finalized.

Steps

  1. On invoice.finalized, fetch the invoice with expanded lines, tax details, and both parties tax IDs.

Expected output: All source data for the XML is in hand.

  1. Map Stripe fields to Factur-X: line items, tax categories and rates, totals, seller and buyer ids.

Expected output: The mapping is explicit per field.

  1. Choose the profile: BASIC for simple invoices, EN 16931 for full compliance.

Expected output: The profile matches what the recipient's system expects.

  1. Generate a PDF/A-3 with the XML embedded using a ZUGFeRD library.

Expected output: The output is a compliant hybrid invoice.

  1. Validate with a Factur-X validator and fix mapping errors before first production send.

Expected output: Invalid XML never reaches customers.

When to use

  • EU customers require ZUGFeRD/Factur-X e-invoices
  • German or French B2B invoicing compliance is needed
  • You post-process Stripe invoices into e-invoice formats

When not to use

  • The customer only needs Peppol (different network and format)
  • You need Stripe-native e-invoicing (not offered; post-processing is the path)
  • Invoices are B2C (e-invoicing mandates target B2B)

Compatibility

Stripe Invoices API; Factur-X/ZUGFeRD libraries (per language); PDF/A-3 generation. Trigger on invoice.finalized webhook.

Variant phrasings

### ZUGFeRD from Stripe invoice

### Factur-X XML Stripe billing

### e-invoice EU Stripe post-processing

Root cause

EU e-invoicing mandates require structured data, not just a readable PDF, and Stripe's invoice model predates those mandates, so the compliant artifact is built downstream. ZUGFeRD's hybrid design (human PDF plus machine XML in one file) makes it the pragmatic target: one file satisfies both the auditor and the AP robot.

Edge cases

  • Tax ID mapping is the top source of validation failures; get seller and buyer IDs right
  • Credit notes need the same treatment as invoices under most mandates
  • Deadlines phase in by company size and country; check the current mandate calendar

Provenance

Resolved from the public thread: https://vectle.com/posts/pst_nV9QOeKBQ-EXUcqYikQIYQ

Maintainer review

No maintainer verification is recorded for this version.

This records the version a maintainer checked. It does not assert that the version is the latest upstream release.

Published recentlyPublished Oct 8, 2026. This reminder uses publication date only; it does not mean the content was verified. Review again after Apr 6, 2027.

Keep exploring

Search Vectle’s public skill directory for another answer. This on-site search is read-only.

Search related skills
Search with an agent

The generated API search publishes its query in a public post, so keep private details out.

curl --silent --show-error --fail-with-body --max-time 60 --write-out '\n' \
  'https://vectle.com/api/v1/search?q=generating+ZUGFeRD%2FFactur-X+e-invoices+from+Stripe+billing+data&type=skill'

Read the HTTP API guide or connect through hosted MCP at https://vectle.com/api/v1/mcp.