Skip to content
Rechnungskit

VAT ID check with the BZSt

Updated

When a business from another EU country gives its VAT ID, Rechnungskit checks it with the German Federal Central Tax Office (BZSt). Only a confirmed number leads to an invoice without German VAT. Rechnungskit runs the flow and only asks you when it cannot go on without you.

Flow
From order to invoice
  1. Order arrivesFirst check with the BZStahead of time, before shipping
  2. Payment or shippingRechnungskit looks for a valid checkat most 14 days old, from the date of supply at the latest
  3. If it is missingDocument waits, check runsduring an outage every 15 minutes, for up to 12 hours
  4. ResultInvoice is created on its ownwithout VAT only with full confirmation

What is checked

Rechnungskit runs a qualified query, meaning together with company name, street, postcode and city from the billing address. The BZSt requires a simple query first. Rechnungskit stores both queries and the unchanged BZSt response in an audit-proof way. You find them under Settings → Tax rates → "VAT ID check log".

BZSt answer What happens to the invoice
Number valid, name and address match Invoice without German VAT (intra-community supply or reverse charge)
Number valid, only the company name differs Rechnungskit asks once more with a standardised spelling ("G.m.b.H." becomes "GmbH"). Both queries stay stored.
Number valid, address differs, member state supplies no data, or simple confirmation only Invoice with German VAT. For a payment, the tax is taken out of the amount paid, so the total stays the same.
Number invalid Invoice with German VAT, as above

When a check counts: the customer's valid VAT ID is a condition of the tax exemption (§ 6a Abs. 1 Satz 1 Nr. 4 UStG). For an automatic invoice without VAT, Rechnungskit therefore requires a check that exists on the date of supply at the latest and is no more than 14 days older. This is a deliberately strict Rechnungskit rule, not a legal deadline: the law does not say when you have to check; what matters is validity at the time of the supply. A later query therefore does not automatically replace the check on the date of supply, but it can document the case. For that, the page "With or without VAT?" has the button "Check afterwards"; you then make the decision.

When the BZSt cannot be reached

Rechnungskit repeats a check without a result automatically: every 15 minutes, for up to twelve hours, so up to 48 attempts. You don't need to do anything.

The BZSt passes foreign numbers on to the checking system of the member state concerned. Some countries are unavailable there for hours at a time. This is how Rechnungskit handles it:

  • It asks again every 15 minutes, for up to twelve hours. No task is created for you during that time.
  • If a check broke off without a result, "Reconcile" under Payments starts it again. The regular reconciliation does this on its own too.
  • If a document is waiting for the number after that, the task becomes "Decision needed" and the owners get an e-mail right away. You can check again, issue with VAT, or issue without VAT with a reason.
  • If no document is waiting yet (the check already ran when the order arrived), no task is created. On payment or shipping Rechnungskit checks again.
  • Rechnungskit queries the same number at most once per hour per project.

An invoice without VAT is never created without a confirmed check.

When your own VAT ID is missing

Your VAT ID is the requester ID of every check. It also belongs on every invoice without German VAT to an EU business, next to the customer's number (§ 14a Abs. 1 and 3 UStG). If it is missing or the BZSt rejects it, Rechnungskit cannot check and cannot issue an invoice without VAT.

Your VAT ID is missing
One click is usually enough
  1. First caseDocument waits, task and e-mailwith a button to the settings
  2. Suggestion"Found on …/impressum"confirmed as valid by the BZSt
  3. You confirm"Use and check"only if it really is your number
  4. ThenEvery waiting order is checked againthe invoices follow the result
  • On the first affected case the owners get an e-mail right away. Further orders join the same task list quietly.
  • Rechnungskit looks for your number in your legal notice (the address from your settings) and suggests it. It is only adopted once you confirm: for a German number the BZSt only confirms that it is valid, not that it belongs to you. A legal notice sometimes shows the number of a parent company, an agency, or an old one.
  • As soon as you save a valid number, Rechnungskit checks every waiting order again on its own.
  • Until then you can issue any order with VAT. "Issue without VAT" is not available in this case, because the mandatory detail is missing.

The invoice deadline

Invoices for intra-community supplies and for services under reverse charge must be issued by the 15th of the following month (§ 14a Abs. 1 and 3 UStG). So that a waiting document does not miss this deadline:

When What happens
from the 1st of the following month one reminder by e-mail
on the 10th of the following month Rechnungskit issues with VAT, the total stays the same

If the date of supply has passed and there is no valid check, a new check no longer counts for the automatic decision. For a paid order Rechnungskit then issues with VAT right away. For orders on account you decide, otherwise the 10th of the following month applies. If the number is confirmed later after all, you correct it with a cancellation invoice and a new invoice.

Small businesses and Checkout

  • As a small business (§ 19 UStG) there is no tax-free intra-community supply and no reverse charge (§ 19 Abs. 1 UStG). Rechnungskit then does not check and does not hold any document back.
  • In Rechnungskit Checkout the check runs live in the address step and never blocks the purchase. If the BZSt confirms the number, the cart shows 0 %. Otherwise the buyer pays with VAT. After payment the invoice pipeline secures the result once more.

Not tax advice: Rechnungskit reports what the BZSt answered and issues accordingly. Whether a supply is tax-free in an individual case is something to settle with your tax advisor when in doubt.

Sources: § 6a UStG, § 14a UStG, § 18e UStG, § 19 UStG

Where to find it in the app

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.

de en