Enquire now

Make your own invoicing system send German e-invoices before 2027

Keep the system you invoice from. We add an export that turns each invoice into an XRechnung or ZUGFeRD file, checks it with the official KoSIT rules, and hands it to email or your Peppol provider. Incoming e-invoices are read back into your system.

What it does

  • XRechnung or ZUGFeRDUBL or CII XML, or PDF with XML inside
  • Checked before sendingAgainst the KoSIT validator rules
  • Incoming invoices readXML turned back into your data
How we turn Excel into software

German law now requires structured e-invoices between German businesses. Every business must be able to receive them since 1 January 2025. From 1 January 2027, firms with more than €800,000 turnover in the previous year must send them, and from 1 January 2028 everyone must.

Packaged tools such as DATEV, lexoffice or sevDesk handle this if you invoice from them. Many firms don't. Their invoices come from a custom system, an old ERP, an Access database, Excel, or a package built for another country. Krira Digital builds the missing piece: an export that turns your invoice data into a valid e-invoice, and an import that reads the ones you receive.

We build software. We are not a tax adviser and not a Peppol access point. Your Steuerberater confirms the tax side and your archiving, and if you send through Peppol, a certified provider of your choice carries the invoice.

We are a small software studio in Belagavi, India, working remotely with European firms. We have built invoicing software, but not yet for a German client, so we start with a short paid scoping step.

German e-invoice deadlines

What applies
Since 1 January 2025Every German business must be able to receive e-invoices from other German businesses
2025 and 2026Senders may still use paper, or a PDF or other format if the buyer agrees
From 1 January 2027Firms with more than €800,000 total turnover in 2026 must send e-invoices
During 2027Firms at or under €800,000 may still send paper or PDF. Anyone may use EDI if the buyer agrees
From 1 January 2028All German businesses must send e-invoices for B2B sales
Not coveredInvoices of €250 or less, sales to consumers, and most VAT-exempt sales under § 4 Nr. 8 to 29 UStG

Source: § 14 and § 27 (38) UStG and § 33 UStDV on gesetze-im-internet.de, checked on 1 November 2026. Trade bodies have asked to delay the €800,000 date to 2028, but no change had been enacted on that date. The BMF FAQ page did not load when we checked; the IHK Stuttgart summary was used as a second source.

XRechnung or ZUGFeRD

XRechnungZUGFeRD / Factur-X
What it isA pure XML file, the German version of EN 16931A PDF/A-3 that people can read, with the invoice XML inside
SyntaxUBL 2.1 or UN/CEFACT CIICII
Version3.0 in force until at least 31 July 2027; 4.0 expected in spring 20272.0.1 or later accepted, per the BMF letter (as summarised by IHK)
Good forBuyers and public bodies that process XML automaticallyBuyers who still look at the PDF while their systems read the XML

Both meet the law when they carry the EN 16931 data. Ask your largest customers which one their systems prefer. Sources: xeinkauf.de (KoSIT) and IHK Stuttgart.

What we build

Mapping from your dataYour customers, items, VAT rates and totals mapped to the EN 16931 fields, with gaps listed for you to fill.
File generatorXRechnung in UBL or CII, or a ZUGFeRD PDF with the XML inside, made from each invoice.
Validation before sendingEach file is run through the official KoSIT validator rules. Errors stop the invoice and say what to fix.
SendingBy email, or through the Peppol provider you choose. We connect to their API; they carry the invoice.
ReceivingIncoming XRechnung and ZUGFeRD files are read, shown in a readable view and loaded into your system.
ArchiveSent and received files kept unchanged with a log, for the eight years the law requires.

From your invoices to valid e-invoices

  1. 1Send sample invoicesA few real invoices and an export from your system or sheet. Dummy names are fine.
  2. 2We map and validateWe build the export and run your past invoices through the KoSIT rules until every one passes.
  3. 3Test with a customerOne or two customers receive test files first. Then the export goes live for everyone.

Related work and pages

Quotation ERP that issues invoices (India)Built for a uPVC window fabricator in India. It prices each job from the shop's own rates, prints the quotation and makes the invoice and its PDF from the same data. Its invoices are Indian GST bills, not German e-invoices.
School ERP that replaced an Excel workbook (India)A school ran admissions, fees and results in one large workbook. It now runs as a web app with logins, receipts and reports, used daily by office staff and teachers.
Our own sales CRMBuilt and used in-house: a daily call queue, follow-ups that schedule themselves and automated email.
Invoicing from Access?How we replace an Access database or workbook with a web app.Learn more Excel to web appThe same method for any sheet your business runs on.Learn more CBAM supplier data portalCollecting emissions data from suppliers for EU and UK CBAM.Learn more
Deadlines in law
§ 27 (38) UStG
What counts as an e-invoice
§ 14 UStG
Archiving period
§ 14b UStG (eight years)
Invoices up to €250
§ 33 UStDV
Ministry FAQ
BMF FAQ E-Rechnung (did not load on 1 Nov 2026)
Summary of the BMF letter
IHK Stuttgart: E-Rechnungen
XRechnung standard and versions
xeinkauf.de (KoSIT)
Official validator rules
KoSIT validator configuration
Request to delay (not law)
Bundestag lobby register, July 2026

A fixed quote, agreed before we start

The price depends on where your invoice data lives, how many invoice types you send and whether you need receiving too. After a short call and a look at sample invoices, you get a fixed quote in EUR and a date, in writing, paid in three stages: start, review and launch.

Questions

Who has to send e-invoices in Germany from 1 January 2027?

German businesses whose total turnover in 2026 was more than €800,000, for sales to other German businesses. Smaller firms can keep sending paper or PDF until the end of 2027. From 1 January 2028 everyone must send e-invoices.

Is the German e-invoice deadline being postponed?

Not as of 1 November 2026. Trade bodies, including the skilled crafts associations, have asked to move the €800,000 date to 2028. § 27 (38) UStG still sets 1 January 2027, so plan for that date.

XRechnung or ZUGFeRD: which one should we send?

Both are valid if they follow EN 16931. XRechnung is pure XML, while ZUGFeRD is a PDF with the XML inside, version 2.0.1 or later. Ask your largest customers what their systems prefer; we can produce either from the same data.

Can we keep our own ERP or Access database and still send e-invoices?

Yes. We add an export to the system you have, so staff keep invoicing the way they do now. If the system itself is the problem, we can also replace it. See replacing an Access database.

Can we create an XRechnung from Excel?

Yes, if the sheet holds the data the standard needs: your details, the buyer, the lines, VAT and totals. We map the columns once, and each row or invoice sheet becomes a valid file. See Excel to web app.

How do we receive and read XRechnung files?

An XRechnung is XML, so it is not readable as it arrives. We build an inbox that reads XRechnung and ZUGFeRD files, shows them as a normal invoice and loads the data into your system. Every German business has had to be able to receive them since 1 January 2025.

How do we check an e-invoice is valid?

With the KoSIT validator, the official checking tool for XRechnung. Our export runs every file through its rules before sending. An invoice that fails is held back with a message saying what to fix.

How long must e-invoices be archived in Germany?

Eight years under § 14b UStG, from the end of the year the invoice was issued. Keep the structured file itself, unchanged. Your Steuerberater should confirm your archiving set-up against GoBD.

Tell us what you need.

Website, catalogue, software or app. Message us and we reply within one working day.

Tap one. Your message is already written: just press send.