E-Invoice Generator

Generate legally compliant XRechnung (UBL 3.0) & ZUGFeRD invoices.

Invoice Details


Seller (Your Company)


Buyer (Client)

Live Preview

Seller

Invoice

INV-2026-247

2026-06-01

Bill To

DescriptionTotal
Untitled ×10.00
Net0.00 EUR
VAT (19%)0.00 EUR
TOTAL0.00 EUR

What Is the E-Invoice Generator — and Who Is It For?

The docutools.pro E-Invoice Generator lets you create legally compliant electronic invoices in XRechnung format (UBL 3.0) and ZUGFeRD format (CII 2.1) directly in your browser — without software installation, without an ERP system, and without programming knowledge. Simply enter your invoice data, and the system generates a fully standard-compliant XML file.

The tool is aimed at freelancers, small and medium-sized enterprises (SMEs), startups, and developers who want to integrate XRechnung output into their own systems. Especially for service providers invoicing public authorities for the first time, the generator provides an easy entry point: the guided 3-step wizard walks you through all mandatory fields.

With the B2B e-invoice mandate being gradually introduced in Germany from 2025, the ability to issue structured e-invoices is becoming a legal requirement for more and more businesses. Our generator ensures your invoices are EN-16931-compliant and meet all German extension rules (XRechnung 3.0).

How to Create an XRechnung in 3 Steps

The wizard guides you through three clearly separated steps — from master data to download:

  1. Step 1 — Company DataEnter the master data for seller and buyer: company name, VAT ID, address. Also enter invoice number, invoice date, due date, and currency. The IBAN for payment instructions is also captured here.
  2. Step 2 — Line ItemsAdd as many line items as needed: description, quantity, unit price, and tax rate (0%, 7%, or 19%). The live preview on the right updates in real time and shows net amount, tax amount, and total.
  3. Step 3 — Generate & DownloadChoose the format: XRechnung XML (UBL 3.0, for federal agencies via ZRE/OZG-RE) or ZUGFeRD XML (CII, for B2B and state agencies). Click the download button — the finished file is immediately downloaded to your browser. Pro users can also export a DATEV-compatible CSV file.

All data is processed exclusively in the browser. No upload to external servers takes place. Pro users also get automatic saving to the GoBD Vault.

Technical Background: How Invoice Generation Works

After completing the form, the browser sends the entered data to our server-side API (/api/generate). The API generates a standard-compliant XML file from this data: For UBL, the OASIS schema urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 is used; for CII, the UN/CEFACT schema D16B. The CustomizationID is automatically set to the correct XRechnung 3.0 value.

Before generating output, the API validates all mandatory fields against EN 16931 and the German Schematron rules (KOSIT). If required information is missing (e.g. seller VAT ID or buyer Leitweg-ID), the API returns a descriptive error before the file is created. This prevents issuing invalid invoices.

For the ZUGFeRD format, the CII-XML is additionally embedded in a PDF/A-3 document. The visual PDF representation is rendered server-side and complies with the ZUGFeRD specification requirements (embedded as an attachment with the filename factur-x.xml or ZUGFeRD-invoice.xml). Pro users can additionally export the generated invoices as a DATEV-EXTF-compatible CSV file.

Use Cases: Who Uses the E-Invoice Generator?

Freelancers & Sole Traders

Quickly and easily issue compliant invoices to public authorities and large clients — without an expensive ERP system. Ideal for IT freelancers, consultants, and creative professionals.

Small & Medium Enterprises

Navigate the e-invoice mandate transition without major IT investment. The DATEV CSV export lets you import data directly into your existing accounting software.

ERP & Software Developers

Use the /api/generate endpoint as a reference implementation for your own invoice generation. Use the generated XML as test data for KOSIT validations and integration testing.

Public Sector Suppliers

Create XRechnung-compliant invoices for the first time and submit them directly to ZRE or OZG-RE. The wizard ensures all German mandatory fields (Leitweg-ID, VAT ID) are present.

Sample Output: Generated XRechnung (UBL Excerpt)

This is what the generator output looks like for a typical consulting invoice. The CustomizationID element identifies the file as XRechnung 3.0-compliant:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by docutools.pro E-Invoice Generator -->
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
             xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
             xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
  <cbc:CustomizationID>
    urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0
  </cbc:CustomizationID>
  <cbc:ID>INV-2024-042</cbc:ID>
  <cbc:IssueDate>2024-06-01</cbc:IssueDate>
  <cbc:DueDate>2024-06-15</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>991-00000-06</cbc:BuyerReference>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:PartyName><cbc:Name>Sample Consulting GmbH</cbc:Name></cac:PartyName>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>DE987654321</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">1190.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</ubl:Invoice>

Generated files pass KOSIT validation and can be submitted directly via ZRE or OZG-RE portal to public-sector buyers.

Tips & Limitations for the Generator

Best Practices

  • Ask the recipient for their Leitweg-ID before the first invoice — without it, the invoice will be rejected by the government portal.
  • For B2B invoices, choose ZUGFeRD: the hybrid format is human-readable (as PDF) and simultaneously machine-readable (embedded XML).
  • Verify every generated file before sending it with the XRechnung Viewer or the official KOSIT Validator.
  • For hourly rates, use unit code HUR (hour); for flat-rate services, use C62 (unit) per UN/ECE Recommendation 20.
  • Store the generated XML in the GoBD Vault (Pro) — this fulfills the 10-year retention obligation without additional effort.
  • For small business owners (§ 19 UStG): select tax rate 0% and add a note 'No VAT charged — small business under § 19 UStG'.

Known Limitations

  • The free tier does not offer automatic history saving — download the generated file immediately.
  • Complex tax scenarios (e.g. Reverse Charge, OSS, intra-community supplies) require manual adjustment of the XML file after download.
  • Credit notes (Stornorechnung, type 381) and debit notes are not yet available through the wizard in the current version.
  • The «Save PDF» export uses a canvas rendering method and is only suitable for simple document previews, not ZUGFeRD-compliant PDF/A-3.

Frequently Asked Questions about the E-Invoice Generator

Are the generated invoices legally valid and acceptable to tax authorities?

Yes, provided you fill in all mandatory fields correctly. The generated XML is EN-16931-compliant and meets the German XRechnung 3.0 requirements. For tax validity, you as the issuer are responsible for ensuring that all information (VAT ID, service description, tax rates) is correct and truthful. The generator checks structure — not the factual accuracy of your entries.

What is the difference between XRechnung UBL and ZUGFeRD in the generator?

The generator offers two formats: 'XRechnung XML' produces a pure UBL-XML file in the XRechnung 3.0 standard — suitable exclusively for submission to federal agencies via ZRE/OZG-RE. 'ZUGFeRD XML' produces a CII-XML file in ZUGFeRD 2.1 format. This format is particularly suitable for B2B invoices, as it can be sent as a hybrid PDF (human-readable + machine-readable). For federal agencies, we recommend XRechnung UBL.

How do I export data to DATEV?

Pro users can request a DATEV-EXTF-compatible CSV export on the export screen (Step 3). The CSV file contains all fields relevant for DATEV Buchhalter (or Unternehmen Online): document date, contra account, posting text, amount, VAT key, and cost center. The file can be imported directly into your accounting software via the DATEV import function.

Can I create invoices for small amounts or tax exemptions?

Yes. For tax-exempt services (§ 4 UStG), select tax rate 0% and tax category code 'E' (Exempt). For small business owners (§ 19 UStG), also 0% with category 'O' (Out of scope). The notes field can be used for the legally required note ('No VAT charged — small business under § 19 UStG'). For invoices below €250 gross, simplified mandatory information applies (Kleinbetragsrechnungen per § 33 UStDV) — the generator checks this automatically.

Do I need to create an account to use the generator?

No. The generator can be used without registration. The free tier allows invoice creation without saving to history. If you want to archive your generated invoices for GoBD retention obligations, we recommend the Pro tier with GoBD Vault functionality.

What happens to the data I enter?

Form data (company names, VAT IDs, invoice amounts) is briefly transmitted to our API for generation and used solely to create the XML file. No permanent storage takes place unless you are logged in as a Pro user and the GoBD Vault function is active. In that case, metadata (not full content) is stored for your reference. Details: Privacy Policy.

Which tax rates and tax categories are supported?

The generator supports the tax rates common in Germany: 19% (standard rate, category S), 7% (reduced rate, category S), 0% for tax-exempt transactions (category E = Exempt, O = Out of scope, Z = Zero rated) and Reverse Charge (category AE). Additional EN 16931 tax categories (K, G, L, M) for special scenarios (intra-community supplies, export supplies) can be added manually to the XML file after download.

How is the B2B e-invoice mandate from 2025 concretely structured?

From 1 January 2025, all companies based in Germany must be technically able to receive e-invoices (structured XML invoices per EN 16931). The issuance obligation applies from 2027 for large companies (turnover > €800,000) and from 2028 for all. Until then, transitional forms (PDF by email with recipient consent, EDI) can still be used in limited constellations. Our generator creates fully compliant e-invoices and prepares you for the mandate.

Is there an API for programmatic invoice creation?

Yes. The generator uses the endpoint POST /api/generate internally. The request body is a JSON object with fields format (ubl or zugferd) and data (form fields). The response contains the Base64-encoded XML file (file_b64), the filename, and the Content-Type. This API is available to Pro users for integration into their own systems. Documentation and examples are available in the Pro Dashboard.

Further Reading