Skip to content
Rechnungskit
Invoicing
Explainer

Proforma invoices in Germany: what they are for and why they are not invoices

A proforma invoice is a document in invoice form that is not an invoice within the meaning of § 14 UStG, the German VAT Act. It announces an amount or documents the value of goods, for example for prepayment or for customs. It does not allow input VAT deduction. After the supply or the receipt of payment, the actual invoice follows, with an invoice number and the VAT shown.

What a proforma invoice is

The name is misleading. It refers to a document laid out like an invoice, with sender, recipient, line items and an amount, that is legally not an invoice. It does not trigger a booking, and it does not bill for a supply that has been made. "Pro forma" means "for the sake of form": the document has the form of an invoice, not its effect.

The German VAT Act does not know the term at all. What counts as an invoice is set out in § 14(1) sentence 1 UStG (German): any document that bills for a supply of goods or services, whatever it is called. The heading alone does not decide. A proforma only safely stays outside that definition if it clearly does not bill for anything and does not look as if it does.

What it is used for

Prepayment. In practice the most common case: the customer is supposed to pay before delivery and needs the amount, bank details and a payment reference to do so. Many purchasing departments will not release a bank transfer without a document. That is what the proforma invoice, or a simple payment request, is for.

Customs. For shipments to countries outside the EU where no sale takes place, such as product samples or spare parts under warranty, customs still asks for a value of the goods. The proforma invoice states it without creating a receivable.

A quote in invoice form. To release a budget, some customers want to see in advance what the invoice will look like. A proforma does that too.

What it should contain

Nothing is prescribed. These have proven useful:

  • a clear heading "Proforma-Rechnung" (proforma invoice) or "Zahlungsaufforderung" (payment request), plus a sentence stating that it is not an invoice
  • sender and recipient with addresses
  • the line items with quantity and price
  • the amount to pay and the bank details
  • an order number as the payment reference, not a number from your invoice sequence

VAT and input VAT

For tax purposes, the proforma invoice is worthless to the customer. Input VAT deduction requires an invoice under §§ 14 and 14a UStG (§ 15(1) sentence 1 no. 1 sentence 2 UStG, German), and that only exists once the real invoice is issued.

Showing VAT on it is the trickier part. If you show more VAT on an invoice than you owe, you still owe the excess (§ 14c(1) UStG, German). The tax authorities also apply this when several invoices are issued for the same supply without being marked as a duplicate or copy (section 14c.1(4) UStAE, German). That is exactly the risk when two documents showing VAT exist for the same delivery: a proforma that looks like an invoice and carries an invoice number, and later the real invoice. The safe option is therefore a clearly labeled proforma with the gross amount and no separate VAT amount. Only the later invoice shows the VAT.

The tax itself does not depend on the proforma. If you receive money before the supply, you owe VAT on it at the end of the VAT reporting period in which the money arrives (§ 13(1) no. 1(a) sentence 4 UStG, German). That applies whether or not an invoice exists yet.

Comparison
Proforma invoice and real invoice at a glance
Proforma invoicenot an invoice
PurposeAnnounce an amount or document the value of goods
NumberOrder number
Amountgross, no separate VAT amount
Input VAT deductionNot possible
Invoice§ 14 UStG
PurposeBills for the supply
Numbersequential invoice number
Amountwith VAT shown
Input VAT deductionPossible
Only the later invoice shows the VAT. If the proforma carries an invoice number and a VAT amount, you risk owing the excess under § 14c(1) UStG.

Prepayment, step by step

  1. You accept the order and send the payment request with the amount, IBAN and order number.
  2. The customer transfers the money with the order number as the payment reference.
  3. You match the incoming payment to the order.
  4. The real invoice is created: immediately for services and digital products, and on shipping for goods, so that the date of supply (Leistungsdatum) is correct. It notes that the amount has already been paid.
Process · Prepayment
First the payment request, then the invoice
  1. OrderPayment requestAmount, IBAN and order number, no invoice number
  2. PaymentMoney arrivesYou match the transfer using the order number
  3. SupplyReal invoiceFor goods on shipping, marked as paidInput VAT deduction possible
For services and digital products, the invoice is created right after payment arrives. For goods it waits for shipping so that the date of supply is correct.

If less money arrives than requested, the question is whether you deliver anyway. If you do, the prepayment deal becomes a sale on invoice, where the payment counts as a down payment and the rest stays open.

How Rechnungskit handles it

Rechnungskit keeps the two documents strictly apart. For a manual order with prepayment, and for prepayment through the checkout or the shop page, the customer receives a payment request by email, in your name. It states the amount, bank details and order number. The email carries no invoice number, shows no VAT and says explicitly that it is not an invoice. In the checkout, the buyer also sees the same details on the confirmation page.

Once the money is there, you click "Payment received" on the order. That creates the e-invoice in ZUGFeRD format with a sequential number and a paid note, for goods after shipping. A partial payment does not create an invoice. If you switch the order to invoice, the invoice goes out immediately and the amount received is booked as a down payment. Rechnungskit does not create separate down payment invoices. It is not designed for proforma documents for customs purposes.

If the prepayment comes from your shop system, the same principle applies: Rechnungskit writes the invoice as soon as the shop reports the order as paid. How that works for Shopify, WooCommerce and Shopware is described on the respective pages.

FAQ

Better not. A number from your invoice sequence makes the document look like an invoice and disrupts the numbering when the real invoice follows later. The order number is enough to match the payment.
Read more
Guide E-invoicing for B2C in Germany: does the mandate apply to online shops? Guide E-invoicing in Germany: the mandate explained for founders Guide Invoicing in a foreign currency in Germany: which exchange rate applies? (ECB, DATEV, OSS) Guide GoBD explained: principles, retention and what they mean for your invoices Guide Small-amount invoices in Germany (§ 33 UStDV): when the buyer's address can be left out Guide E-invoicing for small businesses in Germany (Kleinunternehmer): duties, exemptions, thresholds 2026 Guide The German cancellation button (§ 312k BGB): who needs it and how it works Guide The date of supply on German invoices: shipping date or payment date? Guide Leitweg-ID: what it is, how it is structured and how it gets onto the invoice Guide The OSS scheme explained: the €10,000 threshold, registration and an example Guide Deferred revenue for SaaS and online courses in Germany: when a pRAP is required Guide Deferred revenue in German accounting (pRAP): definition, bookings and an example Guide Changing the billing address on a German invoice afterward: is it possible? (without a cancellation) Guide Correcting an invoice in Germany: which route for which error? Guide Server-side tracking for Meta: Conversions API with a lean consent bar Guide Shopify gift cards in Germany: gift card, discount code and store credit for VAT Guide Shopify invoices in Germany: what Shopify does, what is missing, what applies from 2027 Guide Shopware invoices: what Shopware 6 does on its own and what is missing Guide Stripe DATEV export: getting Stripe payments into DATEV as a booking batch Guide Booking Stripe fees in Germany: clearing account, reverse charge and Stripe Technology Europe Ltd Guide Stripe Invoicing in Germany: creating invoices, pricing and e-invoicing Guide Stripe invoices with payment terms as e-invoices: bank transfer to the Stripe IBAN Guide Stripe invoices in Germany: what Stripe Invoicing and Billing do, what is missing, and what applies from 2027 Guide Shipping costs and VAT in Germany: 7%, 19% or tax-exempt? Guide The German withdrawal button (§ 356a BGB): mandatory since June 19, 2026 Guide WooCommerce DATEV export: options, file format and account mapping Guide WooCommerce invoices in Germany: plugins, mandatory details, e-invoicing Guide XRechnung vs ZUGFeRD: the XRechnung format explained Guide Payment terms on invoices in Germany: rules, due date calculation and wording Guide ZUGFeRD explained

Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.

Every invoice automatically as a valid e-invoice.

Connect your payment provider and we take care of format, validation and archive. Start for free in test mode.

Try it now
de en