In this FAQ section for 7-PDF Attach Extract and Remove, you'll find answers to common questions about usage, integration, and licensing – especially in connection with the integrated 7-PDF Invoice Extractor. We continuously expand this section as needed.

Note: We assume no liability for the accuracy of the content or tax-related aspects of this FAQ page, the generated ZUGFeRD XML, or the resulting electronic invoice. In case of doubt, we recommend having the information and its compliance reviewed by your tax advisor or the relevant authority.

Click on a question below to expand the answer:

Many users ask us:

“What exactly do I need to turn my invoices into electronic ZUGFeRD documents – without having to change my existing system?”

So here’s a compact overview of what matters:

✅ Typical use case

  • Create invoices locally with Word/Excel/LibreOffice, or with Crystal Reports, or directly from ERP systems – just like always
  • Convert the created invoice into a ZUGFeRD-compliant PDF/A-3 file by simply printing it using our PDF printer 7-PDF Printer
  • The PDF invoice is then sent to our AI-powered 7-PDF Invoice Extractor to generate the ZUGFeRD XML
  • 7-PDF Attach Extract and Remove attaches the generated ZUGFeRD XML file in compliance with the standard to the previously printed PDF/A-3 invoice
  • All this happens in one print process – done! Just like you’re used to – no expensive ERP add-ons needed, and works with Excel, Word, LibreOffice or any system you already use

This setup works mostly locally using our tools – the AI service "7-PDF Invoice Extractor" runs GDPR-compliant on servers in Germany. Setup takes just a few minutes and you're ready to go. We’ve linked our quick setup guide right here for you. So you can start right away – without having to change or extend your existing system!

🧠 What components do I need?

Product Function License model
7-PDF Printer Professional Creates PDF/A-3 from any Windows application Lifetime (Named-User)
7-PDF Attach Extract & Remove Attaches ZUGFeRD XML, removes/cleans attachments Lifetime (Named-User, incl. free runs)
7-PDF Invoice Extractor Extracts invoice data via AI to generate ZUGFeRD XML Monthly or annual subscription (can be cancelled anytime)
7-PDF Validator (optional) Validates PDF/A-3 structure and ZUGFeRD XML compliance Lifetime (Named-User)

🎁 Get started with free runs

  • 10 free test runs included in the trial version of Attach Extract & Remove
  • 25 additional free runs after activating the full version
  • A subscription is only required once your free quota is used up

Log in to the Token Dashboard of 7-PDF Invoice Extractor to view your remaining free runs and processing history.

🛒 Cross-selling tip

  1. First add the subscription (Invoice Extractor) to your cart
  2. Then the “10% discount” icon will appear next to related products
  3. Click it – and for example, get Attach Tool + Printer starting at €93.76 net

📦 Example entry costs

Product Net price
Bundle (Printer + Attach Tool with 10% discount) €93.76 one-time
Validator (optional, recommended) €41.18 one-time
Invoice Extractor subscription from €3.90/month
Total (Named-User) from €138.84 + subscription

✅ Conclusion

This combination gives you a compact, mostly local and flexible solution for creating and processing ZUGFeRD-compliant e-invoices via a print job – with a clear licensing model, low entry costs, and full control over your data.

Try the solution with your own invoices. The range of functions depends on the structure of your documents – that’s exactly what the free runs are for.

🌐 Prefer working directly in your browser?

If you prefer using an online portal, you can also use your API token from the 7-PDF Invoice Extractor directly in our web portal: https://konverter.zugferd-rechnungen.de/en/

No installation of Windows software required – ideal if you're working on a Mac, Linux, tablet or even just a smartphone.

Price advantage: Starting via the online portal is highly affordable at just €3.90 (net) per month.

This tool lets you attach, extract, and remove embedded files from PDF documents. It's ideal for handling PDF/A-3 e-invoices compliant with the ZUGFeRD standard. It can be used via the graphical interface (GUI) or through the command line (CLI).

In conjunction with our AI-supported service 7-PDF Invoice Extractor, the program, in addition to these standalone functions, also functions as an AI client. It communicates directly with the 7-PDF Invoice Extractor when converting PDF invoices into the ZUGFeRD PDF e-invoice format, and is responsible for the standard-compliant attachment of the important ZUGFeRD XML of the AI service.

Yes, starting from version 2.0! The tab "PDF Invoice to PDF ZUGFeRD" allows you to automatically analyze a standard PDF invoice using our 7-PDF Invoice Extractor. The AI identifies all relevant data and generates an XML file (factur-x.xml) according to EN 16931, which is then embedded into the PDF. Even scanned PDF invoices are read and supported by OCR recognition!

Unfortunately not, only PDF invoices in portrait format are supported! Preferably in DIN A4 format.

The 7-PDF Invoice Extractor, which we use to convert PDF invoices into e-invoices (ZUGFeRD), always expects one invoice per conversion run. If necessary, split the batch invoice document using 7-PDF Split & Merge so that each PDF file contains only one invoice.

No. We can only generate a ZUGFeRD PDF document if the PDF invoice file contains only the invoice itself. Instructions, invoice-related documents, terms and conditions, and the like should be added afterwards as so-called PDF attachments to the generated PDF ZUGFeRD e-invoice, but should not already be part of the invoice data! Use our tool 7-PDF Attach Extract and Remove, which allows you to attach any documents to the generated PDF ZUGFeRD e-invoice that are "invoice-relevant". The recipient can conveniently access these via the paperclip icon in the Acrobat Reader toolbar after receipt and even archive them long-term in compliance with GoBD as a PDF/A document in their DMS, thus meeting legal requirements.

Use the 7-PDF Printer Professional if you want to create a ZUGFeRD-compliant PDF e-invoice directly from your invoicing software – such as Word, Excel, LibreOffice, OpenOffice or an ERP system – using the print workflow. The Professional version is also required if you want to embed digital letterheads or logos to ensure technically correct PDF generation.

Note: Please avoid printing an existing PDF document again as PDF/A. In most cases, the embedded vector text is destroyed and converted into a non-readable binary format. The 7-PDF Invoice Extractor may no longer be able to process such content. Instead, use 7-PDF Attach Extract and Remove directly to pass existing PDF invoices to the 7-PDF Invoice Extractor. If the PDF is not yet in the correct PDF/A format, 7-PDF Attach Extract and Remove will automatically use the 7-PDF Printer (the free version is sufficient) to prepare the document accordingly.

After creating a PDF/A-3 invoice using 7-PDF Printer, 7-PDF Attach Extract and Remove is triggered automatically. There, the Invoice Extractor generates the ZUGFeRD XML file and embeds it into the PDF. This integration works through a print workflow and a simple command-line call with parameters.

See the step-by-step integration guide

The program runs on Windows 7 SP1 or later (32/64-bit) and is compatible with Windows 10, 11, and all major Windows Server versions. It works out of the box and requires no additional PDF software.

To use 7-PDF Attach Extract and Remove, a valid single or volume license is required (Named-User model). The integrated 7-PDF Invoice Extractor is included – along with 25 free conversions.

For higher volumes or long-term use, we recommend a monthly API subscription with token, which can be cancelled at any time.

If you plan to generate ZUGFeRD invoices via print workflow, you’ll also need a 7-PDF Printer Professional license. For structural validation, we recommend the 7-PDF E-Invoice Validator.

Yes. To ensure compatibility with recipient systems (e.g. government portals or accounting software), the embedded XML file must be named factur-x.xml. The tool handles this automatically for you.

Use our 7-PDF E-Invoice Validator to verify structure, syntax, and compliance with EN 16931.

If the e-invoice or ZUGFeRD XML generated by 7-PDF Invoice Extractor is invalid, check the validator's messages. In most cases, only mandatory information is missing from your invoice after a visual check using our validator. One example: Your buyer's VAT ID is missing from your invoice data for tax-free invoicing. However, the buyer's VAT ID is mandatory in ZUGFeRD format and for tax-free invoices!

As a general rule, you should always perform a visual, content-based, and structurally schematic final check with our 7-PDF E-INVOICE Validator before forwarding the ZUGFeRD PDF invoice.

In a so-called “hybrid” ZUGFeRD PDF, the invoice consists of two parts:

  • The human-readable PDF part (what you see when you open the file)
  • And the machine-readable XML part, embedded as an attachment in the PDF/A-3 container

🔍 Important to know: From a tax perspective, the XML is decisive! The legislator (or tax authority) has clearly defined that for ZUGFeRD invoices, the embedded XML is the primary data source for automated processing – e.g. for VAT deduction or digital accounting.

Therefore, it is essential that the XML is accurate, complete, and consistent with the visual PDF presentation.

✅ Our tip for your peace of mind

With our tool 7-PDF E-Invoice Validator you can:

  • Formally validate the ZUGFeRD XML (format, required fields, etc.)
  • And visualize the XML for human readability – in clear text

💡 This lets you instantly see what the tax office would see if they processed only the XML.

🎁 Free trial – before purchase

You can test the validator 10 times without a license – just like all our other programs. Additionally, the invoice extractor and attach tool include free test runs, allowing you to test realistic invoices in advance.

Yes! You can use the command-line mode (-mode "console") with parameters such as -usage "attach" or "generate" to integrate it into PowerShell, batch scripts, or scheduled tasks.

In such cases, the Invoice Extractor may not generate XML, or only a partial one. Make sure your invoice includes key fields like recipient, IBAN, VAT ID, invoice date, and totals. These cases are logged internally.

Open the PDF in a viewer (e.g. Adobe Reader) and check the document properties. Under “Standards”, it should mention “PDF/A-3b”. Alternatively, you can use the 7-PDF E-Invoice Validator to confirm.

Yes. Use the CLI or a PowerShell/batch script to process complete folders automatically – ideal for incoming invoices from ERP, email, or scanner sources.

Ready-to-use example scripts (PowerShell) can be found further down on the documentation page in the section 🔌 API access via FastAPI & CURL!

The API token you used is either expired (e.g. by canceling the subscription) or invalid. Please check your subscription or log in at https://generator.7-pdf.de/login to review your token and quota.

Yes. All data is transmitted exclusively via secure HTTPS (SSL/TLS) to our servers located in Germany. No unencrypted communication is used at any point.

Our AI-powered analysis platform was developed entirely in-house and runs on our own server infrastructure located in Germany.

Your PDF invoices and all associated content are immediately deleted after successful processing. No storage, logging, or transfer of data takes place.

7-PDF is a sole proprietorship based in Germany and operated under personal liability. We are not an anonymous GmbH or Ltd. As developer and operator, we personally stand behind quality, security, and data protection.

The 7-PDF Invoice Extractor can process standard individual invoices with up to approximately 20 pages. However, converting very large invoices with many line items naturally takes time, since we pre-analyze, structure, and optimize documents in the background to meet the context limitations of our optimized vector-based AI model. In addition, every AI response undergoes an extensive plausibility check, which can further increase processing time for multi-page invoices. If OCR recognition is also required – for example, because important ZUGFeRD data is embedded in header or footer graphics – the recommended maximum number of pages is typically reduced to about half. This is mainly due to the common limitations of OCR technology, rather than the performance of our AI system.

For best results, we therefore recommend using vector-based PDF invoices whenever possible. These are not only faster and more accurate to analyze but also significantly smaller in file size.

If the invoice text exceeds certain maximum limits, you will automatically receive a corresponding error message. Please avoid uploading very extensive documents (“half books”) in a single invoice.

Additional terms and conditions, service descriptions, or other invoice-related information can easily be attached separately to your ZUGFeRD PDF. Simply use our tool 7-PDF Attach Extract and Remove. This is exactly what the e-invoice standard and our service were designed for – keeping your invoices lean, compliant, and easy to process.

For use cases that require a significantly higher number of pages per invoice, we offer extended processing capacity as part of an Enterprise+ subscription (available upon individual request). In such cases, we conduct a preliminary technical feasibility analysis to assess whether a substantial increase in the maximum page count is technically achievable under the given document conditions. If feasible, a significantly enhanced processing depth can be provided — subject to an additional charge to cover the increased AI resource usage.

Avoid incomplete or unsuitable documents. The ZUGFeRD format requires strict mandatory fields such as a valid VAT ID in the correct format. For initial testing, we recommend using our free sample invoice. Follow the FAQs listed below and ensure your current invoice meets all ZUGFeRD requirements within the current tax context.

Problematic PDF invoices – structurally not vectorized!

Important: If you print an existing PDF invoice again as a PDF/A document using 7-PDF Printer and then send it to the 7-PDF Invoice Extractor, the vector text may become unreadable – in many cases it is converted to a binary format.

If you already have simple (non-converted) PDF documents, we recommend passing them directly to the 7-PDF Invoice Extractor using 7-PDF Attach Extract and Remove. This usually works reliably.

In some cases, the issue is not related to AI recognition itself, but to the PDF structure of your invoice (even if it appears correct in a viewer). If the PDF contains no real, vectorized text (e.g. created using Microsoft Print to PDF or other basic PDF printers), the Invoice Extractor must fall back to OCR text recognition.

However, OCR can misinterpret numerical values – for example, a 6 may be recognized as an 8 or 5. This causes the internal plausibility check between the detected invoice total and the calculated values to fail, resulting in a failure to generate the ZUGFeRD XML and triggering a parser error.

⚠️ Note on document structure:
Ensure that the word “invoice” appears clearly before terms like “quote” in the text flow. Even if “invoice” is visually above “quote” in the document, the internal text order may cause “quote” to be parsed first.

In such cases, this leads to a parser error and the conversion fails.

Our application checks whether the term “invoice” is clearly placed before any reference to a quote. We therefore recommend placing any quote-related content as far below the invoice section as possible.

💡 Our recommendation:

  • For PDF generation, ideally use the 7-PDF Printer Professional with the ZUGFeRD print workflow. Print your invoices directly from the source application whenever possible!
  • The 7-PDF Printer Professional creates technically clean, vectorized PDF/A-3 files that can be processed without OCR.
  • If you already have a PDF/A-3b invoice – ideally not created with Microsoft Print to PDF – and it is a true vectorized PDF, use 7-PDF Attach Extract and Remove exclusively for conversion. Please avoid reprinting such documents via a viewer like Adobe Acrobat, as this can destroy the vectorized text content. In such cases, the 7-PDF Invoice Extractor would be forced to use OCR – resulting in reduced reliability.
  • Rule of thumb: Always print directly from the application in which the invoice was created. Avoid intermediate steps using PDF tools or viewers. If you already have a PDF/A invoice, use 7-PDF Attach Extract and Remove for further processing.
  • This minimizes recognition errors and prevents unnecessary parser failures during ZUGFeRD PDF generation.

You have followed all FAQs and still encounter an error? If nothing helps, wait a day or two – our AI service is constantly evolving. What fails today may work tomorrow. And last but not least – contact us via the support form. We appreciate your feedback!

Custom conversion for complex invoice structures – reliable ZUGFeRD generation

Our conversion service successfully processes an estimated 95% of common invoice layouts and contents used in Germany into valid and correct ZUGFeRD PDF e-invoices. However, with highly complex or non-standard layouts, conversion errors may occur in about 5% of cases. For such special cases, our Enterprise+ subscription offers the option to implement a customized conversion solution tailored to your invoice layout. We develop and train a dedicated AI-powered processing stack to reliably convert your invoices into ZUGFeRD-compliant e-invoices.

Since this feature is tailored to your specific requirements, it cannot be offered at a flat rate. Implementation is carried out individually in close coordination with you. Please submit a support request – we’ll be happy to advise you.

Very complex or unusually structured invoice layouts can cause automated processing to fail – especially when line items “break apart” at the end of a page and the corresponding description only appears on the following page after a large header section.

✅ This is good (one row per line item)
 
❌ This goes wrong (page break
+ large header separates the values)
Item No. Description Quantity Unit Price Total
X-1010 Neutral Item A 2 €10.00 €20.00
Y-2020 Neutral Item B 1 €15.00 €15.00

Description, quantity, price and total are directly together. The assignment is clear and robust.

Item No. Description Quantity Unit Price Total
X-1010 2 €10.00 €20.00
««« Page Break »»»
Large page header (logo, address, table header, notes, bank details, …)
Item No. Description Quantity Unit Price Total
  Neutral Item A      
Y-2020 Neutral Item B 1 €15.00 €15.00
Item No. Y-2020
Description Neutral Item B – Detail text

Problem: The number row for X-1010 is at the end
of page 1, the description follows only after a large
header area on page 2. The AI must not combine values
across the page break with header/footer → parser error possible.

Recommendation: Avoid placing a line item row (quantity/price/total) too close to the end of a page with the corresponding description only appearing after a large header/footer on the next page. Place related information preferably on the same page. This not only makes the invoice clearer for AI-powered applications, but also more readable for the invoice recipient.

Self-promotion!

For special layouts, we offer in the Enterprise+ subscription with an additional option a custom ZUGFeRD service tailored to your invoice layout.

Some invoices use abbreviations or placeholders instead of actual numerical values in the unit price or total price fields, such as:

  • AP – Alternative position (not intended for billing)
  • NEP – Non-estimable price
  • n.b. – not billed
  • n.a. – not available

These values cannot be automatically interpreted as prices and therefore are not included in total calculations. In the structured output, such entries are:

  • excluded from the automatic price calculation,
  • marked with a note (e.g., "AP – no price specified"),
  • and possibly flagged for manual post-processing.

Our software also performs an automatic plausibility check (e.g., whether the sum of all items matches the invoice’s stated total). If non-numeric values are present, this check may diverge or fail without it necessarily being an actual error.

For best results, we recommend using explicit numeric values in all price-related fields of your invoices.

For flawless extraction of your invoice data, it is important that all additional descriptions, notes or promotional texts are placed only after the actual invoice line items and totals in the PDF.

If such content is inserted before the invoice data, it can significantly impair automatic recognition or lead to incorrect results.

Therefore, please ensure that the structured invoice section is always at the beginning of the document and that optional texts, terms and conditions or supplementary information follow afterwards.

Or simply use 7-PDF Attach Extract and Remove to attach invoice-related documents such as terms and conditions, service descriptions or additional appendices to your ZUGFeRD PDF – that’s what the tool is designed for.

Only complete invoices with all mandatory details (line items, amounts, IBAN, VAT ID, etc.) can be processed. Missing information will result in an error message.

Important: A ZUGFeRD invoice must contain all mandatory information according to EN 16931 to be legally valid and to allow the 7-PDF Invoice Extractor to process the data correctly.

If mandatory fields are missing or incomplete, you will receive no valid output but an error message. Consistent and correct invoice data is absolutely essential. The principle applies: “Garbage In, Garbage Out” (GIGO).

A complete ZUGFeRD invoice must contain at least the following information:

  • Invoice issuer (seller): name, address, VAT identification number or tax number, IBAN (optional BIC)
  • Invoice recipient (buyer): name, address, VAT identification number if applicable (VAT ID of the buyer is mandatory (!) for reverse charge internationally and also nationally according to ZUGFeRD DIN EN 16931)
  • Invoice data: unique invoice number, invoice date, delivery date or date of performance
  • Line items: description of goods or services, quantity, unit of measure, net unit price, tax amount, tax rate, net amount per item
  • Totals: net total, VAT per rate, gross total
  • Payment terms: due date, discounts or payment period
  • Special cases of tax exemption: clear statement of the reason (e.g., “Reverse Charge” or “Intra-community supply exempt from tax”)

Additionally required: All data must be available in the PDF as machine-readable text, not just as images. Our 7-PDF Invoice Extractor also supports OCR text recognition, but this is not always reliable!

Only if all mandatory fields are complete and plausible can the 7-PDF Invoice Extractor generate valid ZUGFeRD XML. Unfortunately, we cannot invent your invoice data 😉.

ZUGFeRD e-invoices are designed for use in the B2B sector, where invoicing is typically done on a net basis. The XML schema of the format is therefore entirely based on net values.

⚠️ What does this mean for you?

  • If your PDF invoice is "gross-based" (e.g., only shows gross totals), our service must recalculate the net values
  • This recalculation can cause rounding differences, leading to discrepancies between the PDF view and the XML
  • It becomes particularly critical if no VAT ID is present and only a local tax number is given – in this case, the XML schema requires additional information to identify the supplier

We therefore recommend:

  • Always create invoices on a net basis
  • And provide the VAT ID of the issuer (instead of just a tax number)

ℹ️ These requirements are defined by the ZUGFeRD XML schema and current regulations under the EU ViDA initiative – VAT in the Digital Age.

✅ Our recommendation

Please consult your tax advisor or finance department to ensure that the XML generated by our service meets your legal requirements.

⚖️ Disclaimer: We accept no legal responsibility for the tax compliance of the generated e-invoices. Please use our test runs and carefully review the results before productive use or sharing. For visual, content, and structural validation, you can use our 7-PDF E-INVOICE VALIDATOR.

If your PDF does not contain machine-readable text (e.g., scanned invoices or pure image PDFs), text recognition (OCR) is necessary. Our 7-PDF Invoice Extractor automatically attempts to recognize the text in such cases. OCR is also required if important details (IBAN, VAT ID, tax number) are only present as an image in the header.

Tip: Check whether you can mark and copy text in the PDF. If not, it is an image PDF.

For deliveries or services to business customers in other EU member states, the so-called Reverse Charge procedure (§ 13b UStG) often applies. In this case, the VAT is reported by the recipient in the destination country.

Important requirements for the invoice issuer:

  • The invoice must not include German VAT.
  • It must contain a clear reference to Reverse Charge, e.g.:
    • “VAT liability of the recipient according to § 13b UStG”
    • “Reverse Charge – VAT reversed”
    • “Intra-community supply according to Art. 138 VAT Directive”
  • The VAT IDs of both parties must be indicated (seller and buyer).

Example text on the invoice:
“Reverse Charge – VAT liability of the recipient according to § 13b UStG.”

Note: If applied correctly, only the net amount is shown. The tax obligation passes to the recipient.

For deliveries to business customers in other EU member states, the so-called intra-community supply according (ICS) may apply. In this case, the supply is tax-exempt under certain conditions.

The following requirements must be met:

  • The goods are physically delivered to another EU country (proof required!).
  • The buyer is a business in another EU country (proof via valid VAT ID).
  • The invoice must not include VAT (net).
  • A clear reference to tax exemption must be included, e.g.:
    • “Tax-exempt intra-community supply”
    • “Intra-community supply – tax exemption applies”
  • Both VAT IDs (seller & buyer) must be stated correctly with EU country prefixes (e.g. DE123456789, FR987654321).

Important for automated XML generation:

  • The seller and buyer must be located in different EU countries.
  • The VAT ID prefixes must differ (e.g. DE vs. FR).
  • The VAT amount must be 0.00 € (also for all line items).
  • An IGL notice must be present in the invoice text.

Only if all of the above conditions are met, a ZUGFeRD-compliant XML file can be generated for an intra-community supply. Otherwise, the invoice will not be marked as IGL and a parser error may occur.

For certain services between companies in Germany – for example construction work, metal deliveries, or scrap deliveries – the domestic Reverse Charge procedure according to § 13b UStG applies. In this case, the VAT is owed by the recipient.

Important notes for the invoice issuer:

  • The invoice must not show VAT.
  • It must contain a clear note, e.g.:
    • “VAT liability of the recipient according to § 13b UStG”
    • “Reverse Charge according to § 13b VAT Act”
    • “Construction services according to § 13b UStG”
  • The VAT IDs of both parties must be indicated (seller and buyer).

Example text on the invoice:
“This is a construction service. VAT liability of the recipient according to § 13b UStG.”

Important: If this note is missing, the invoice is formally incorrect and will not be recognized as Reverse Charge.

If you operate under the small business regulation according to §19 UStG, your invoice must include a clear note, e.g. “According to §19 UStG, no VAT is charged.” Additionally, no VAT amounts may be stated. The 7-PDF Invoice Extractor automatically detects this if it is machine-readable in the text.

Important: Small businesses must also state a valid tax number or VAT ID in the invoice document.

For exports to non-EU countries, your invoice must state that it is a tax-exempt export delivery, e.g. “Tax-exempt export delivery according to §6 UStG”. No VAT amount may be shown. The 7-PDF Invoice Extractor automatically checks these statements and classifies the invoice correctly.

If such a note is missing, the tax exemption will not be recognized.

Yes, the 7-PDF Invoice Extractor also supports invoices with SEPA direct debit. However, the following information must be included in the invoice:

  • Creditor ID (CreditorReferenceID)
  • Mandate reference (DirectDebitMandateID)
  • Debtor’s IBAN

If any of this information is missing, the payment method automatically defaults to “Bank Transfer.”

When generating the ZUGFeRD XML, the 7-PDF Invoice Extractor compares your invoice amounts with recalculated values. If the totals (e.g., overall amount) do not match plausibly, processing is stopped. This ensures compliance with EN 16931.

Always check: net totals, tax rates, discounts, and grand totals. Even minor rounding errors or incorrect discounts can cause rejection.

Background: Our application extracts the visible amounts directly from the PDF and usually uses commercially rounded values with two decimal places.

Some ERP systems store more internal decimal places (e.g. 4 or 6) or generally round up. This can lead to small discrepancies in total or VAT calculations.

Example:

Unit price from PDF €7.99
Quantity 3
Calculated total €23.97
ERP internal: €7.99667 × 3 €23.99001
After commercial rounding €23.99

Our logic uses DIN-compliant commercial rounding – which may differ from ERP systems. In accounting, differences of a few cents are generally acceptable.


How can I avoid discrepancies?

  • Ensure that the values shown in the PDF invoice match the amounts actually stored in your ERP system.
  • Avoid "internal" rounding in the ERP that is not reflected in the PDF – e.g. prices with 4 decimals that are visually rounded to two.
  • Also avoid "rounding up to whole cent amounts" in the ERP that are not shown in the PDF – we round commercially (e.g. 1.235 → €1.24).

Why do we calculate totals ourselves?

To ensure the generated ZUGFeRD XML is semantically valid, all totals must be mathematically consistent – including line_total, tax_basis_total, and grand_total.

If we simply took the rounded PDF values without recalculating based on quantity, unit price, and tax logic, the XML could fail validation (e.g. BR-CO-19, BR-T-14 in the KoSIT Validator).

That’s why we recalculate all totals (incl. VAT), ensuring the XML is rounding-proof and validation-safe.

If a line item starts with quantity and unit price on one page, but the item description continues on the next page, our parser automatically links this content.

The full description will be correctly included in the final JSON. This requires a consistent page flow and layout logic in the PDF – which is typically the case for ERP-generated invoices.

Note: For scanned invoices or PDFs without consistent structure, this may result in incomplete capture of item descriptions.

In principle, invoice line items must not have negative amounts. According to EN 16931, discounts or deductions must be shown in the invoice footer as Allowances, not as separate negative items.

An exception is commercial credit notes, where the quantity is shown as negative, but the net and gross prices remain positive. For more information, refer to the FAQ about commercial credit notes.

Important: Negative invoice line items are prohibited under DIN EN 16931. Percentage or total discounts must not be shown as lines with negative amounts.

Instead, such deductions must be declared in the invoice footer as SpecifiedTradeAllowanceCharge (overall discount).

Example of how this appears in the invoice:

Net total 1,278.00 €
Deduction 1st down payment 1234567, 27.03.25 -200.00 €
Deduction 2nd down payment 1234568, 13.04.25 -200.00 €
Net amount 878.00 €
VAT 19% 166.82 €
Total invoice amount 1,044.82 €

In the XML, these deductions are represented as Allowances at document level. Each line item remains positive, and the deductions are recorded separately as total discounts.

Tip: Many accounting programs have dedicated fields for discounts or global deductions.

In the ZUGFeRD format, a commercial credit note can be represented. Technically, it is an invoice with negative amounts, but the calculation logic remains identical to a normal invoice.

At the line item level, gross and net prices as well as any surcharges or discounts are always shown as positive values. However, the quantity of the line item is negative. This combination automatically results in a negative line total. The following illustration shows an example.

Link to illustration of commercial credit note

The totals at document level therefore logically show negative amounts. It is also important that the header of the credit note includes the same payment terms as the original invoice. This will include a negative base amount (“BasisAmount”) and a negative discount amount (“ActualDiscountAmount”).

Important: For discounts to be correctly included in the ZUGFeRD XML, they must be clearly indicated.

The system processes line item discounts as follows:

  • The original net unit price (list price) is recorded as the starting value.
  • Discounts are shown as AppliedTradeAllowanceCharge within the item – not as a negative line item.
  • If the total amount (quantity × price) is already discounted, the discount is not deducted again.
  • The system automatically checks whether discounts are plausible. Inconsistencies trigger warnings or errors.

Note: Negative amounts in line items are not permitted under EN 16931. Always use the discount function instead.

Tip: If unsure, clearly state the net list price and the discount percentage. The system will calculate the reduced price automatically.

Only consistent details will result in a valid ZUGFeRD XML.

Important: If you are a doctor, alternative practitioner or therapist, you can invoice your services exempt from VAT according to §4 No. 14 UStG.

For the 7-PDF Invoice Extractor to correctly recognize your invoice as a tax-exempt medical treatment and generate the corresponding ZUGFeRD XML, the following criteria must be met:

  • Seller and buyer are domiciled in Germany.
  • The invoice contains a clear note about the tax exemption, e.g.: “VAT-exempt according to §4 No. 14 UStG”.
  • No VAT is shown in the document.

The system automatically checks whether all requirements are met. If so, the XML will contain:

  • A tax rate of 0%.
  • The CategoryCode E (exempt).
  • Your explanatory note as ExemptionReason.

Tip: If the tax exemption note is missing or vague, your invoice will not be recognized as tax-exempt medical treatment. Be sure to phrase it correctly.

Each invoice line item has a unit of measure, which is represented in the ZUGFeRD XML using a standardized UN/ECE Unit Code (e.g., H87 for pieces, LS for flat fee, MIN for minutes).

Typical examples:

  • H87 – Piece (standard for goods)
  • LS – Flat fee (e.g., shipping, one-off service)
  • HUR – Hour (time-based services)
  • MTR – Meter (e.g., cables, wires)

The system automatically detects these units based on the line descriptions. If no clear unit is found, H87 = Piece is used as fallback.

Tip: Check whether the unit logically matches the quantity (e.g., “10 meters of cable” ⇒ MTR).

Important: The ZUGFeRD format (according to DIN EN 16931) only allows a strictly defined set of units from the international standard UNECE Rec 20. Not all conceivable or industry-specific units are permitted. For example, exotic codes such as "EA" (Each), "PK" (Pack), or "PAR" (Pair) are not accepted in ZUGFeRD.

Some suppliers specify prices not per piece but e.g., “per 100 pieces” or “per 1,000 pieces.” This can appear as if the unit price is incorrect.

Example from the invoice:

Quantity100 pieces
Price8.13 € (per 100 pieces)
Item price8.13 €

In this case, the system automatically divides the price by 100, so that the unit_price is correctly recorded as 0.0813 € per piece. This ensures correct validation later.

Reminder: If you see price discrepancies, check whether “per 100 pieces” or “per 1,000 pieces” is indicated. The unit price is then recalculated automatically.

Yes. If you invoice services or time units (e.g., working hours), you should clearly indicate in your invoice:

  • Quantity (e.g., 3 hours)
  • Unit (e.g., hour – HUR)
  • Unit price

The system then automatically assigns the correct unit and calculates the total price.

Example:

Quantity3
UnitHour
Price per hour85.00 €
Total price255.00 €

Tip: Always check that the quantity and unit are consistent.

Flat amounts such as shipping, postage, packaging, or one-off services are always represented in the ZUGFeRD invoice as separate line items with the unit LS (lump sum).

Example invoice:

Value of goods99.00 €
Shipping costs6.95 €
Net total105.95 €

This results in two line items:

  • Line 1: Goods (H87 – piece)
  • Line 2: Shipping costs (LS – lump sum)

Tip: Always specify shipping costs explicitly in the invoice to ensure correct representation and validation.

Many suppliers list additional surcharges (e.g., copper, raw material, energy) directly under the main line items. In the ZUGFeRD XML, they are automatically assigned as surcharges to the relevant line item.

Example:

Product100m cable reel
Unit price49.90 €
Copper surcharge0.74 €

The result is a surcharge recorded with its type and amount, ensuring a transparent and machine-readable invoice.

Reminder: Surcharges are never separate line items but always linked directly to a main item.

Some invoices contain free items such as catalogues, samples, or promotional materials. These are listed with a price of 0.00 €.

Important: Even if the price is 0.00 €, a VAT rate must be specified. If no specific VAT rate is stated, the invoice’s overall VAT rate (e.g., 19% in Germany) is applied.

Example line item:
Catalogue – Quantity: 1 – Unit: Piece – Unit price: 0.00 € – VAT: 19%

Tip: Always list free items separately to avoid questions later.

Some invoices explicitly state that a discount is included, e.g., “incl. 25% discount.” This means the price has already been reduced.

Example:

Unit price1.60 €
Noteincl. 25% discount

In this case, no additional discount value is recorded. The unit price remains as stated, and the discount percentage is recorded as 0.0%.

Tip: Always check whether the discount has already been factored in before entering data.

Farmers and forestry businesses may apply the so-called flat-rate VAT scheme under § 24 UStG. This scheme provides a flat-rate VAT calculation.

Important change starting 2025:
According to the German government’s announcement (Drucksache 20/11920, hib no. 460/2024), the flat VAT rate will be 7.8% from 01.01.2025 (previously 9.0%).

Example agricultural invoice (fictitious values):

Description Quantity Unit price Amount
Fresh potatoes (2 kg bag) 50 2.50 € 125.00 €
Eating onions (1 kg bag) 30 1.20 € 36.00 €
Potatoes (5 kg bag) 20 5.50 € 110.00 €

Net amount: 271.00 €
7.8% VAT: 21.14 €
Total amount: 292.14 €

When processed with the 7-PDF Invoice Extractor:

  • The VAT rate must appear clearly in the PDF invoice text (e.g., “7.8% VAT”).
  • The ZUGFeRD XML automatically takes this value from the detected content.
  • If the rate is missing or unclear, the XML will be incomplete or erroneous.

Important: Please carefully check that the stated VAT and all mandatory details are complete and plausible before converting to ZUGFeRD.

Note: The flat-rate VAT scheme can only be applied if your business meets the conditions of § 24 UStG. If in doubt, consult your tax advisor.


Still have questions? Our free email support is happy to assist.

Top