Skip to content
barcoder

Standards/girocode

Girocode

TypeQR Code
PrimaryDE
MentionedDE
Completeness86%high

Overview

Girocode is the German national branding of the pan-European EPC QR / Stuzza standard — the same EPC069-12 BCD-format payload, locally promoted by Die Deutsche Kreditwirtschaft (DK) under a distinct German name since 2018 1, 2, Germany report. It is widely used on German invoices for one-scan SEPA Credit Transfer initiation in mobile banking apps. Girocode is mandatory-compatible across all major German banks (three-pillar system: private commercial, Sparkassen, cooperatives) Germany report.

In strict technical terms, Girocode == EPC QR Code — there is no Germany-specific payload extension; the difference is only the branding name DK adopted to promote the standard domestically 1, 3.

History

The underlying EPC QR / Stuzza standard was pioneered by Austrian payment-standards body STUZZA in 2012 and published as EPC069-12 by the European Payments Council in February 2013 3, 4, Austria report. Country-by-country adoption followed:

Year Country Brand
2012 Austria Stuzza QR / Zahlen mit Code Austria report
2013 EPC publishes EPC069-12 —
2015 Finland EPC QR
2015 Germany Initial Girocode availability
2018 Germany Girocode brand actively promoted by DK 1
2016 Netherlands, Belgium EPC QR

The 2018 active promotion by DK 1 marks Girocode's transition from a niche option to a mainstream invoice-payment standard in Germany — coinciding with smartphone QR-scanning capability becoming ubiquitous and the iOS Camera app gaining native QR detection.

Recent context (2024–2025) affecting Girocode's deployment landscape Germany report:

  • 31 December 2024 — Giropay (a separate online banking redirect product, often confused with Girocode) discontinued.
  • July 2024 — Wero launched in Germany (P2P first, online commerce summer 2025, NFC POS 2026). Wero is an EPI (European Payments Initiative) product positioned to gradually replace several legacy national payment instruments — though Girocode for invoice payment remains active.
  • January 2025 / October 2025 — SEPA Instant Credit Transfer mandatory receiving / sending dates in Germany. SEPA Instant on the rail behind Girocode means scanned-invoice payments now settle in seconds rather than next day Germany report.

Technical specification

Girocode uses the identical BCD (Beneficiary Credit Data) payload format as the pan-European EPC QR / Stuzza standard 3, 4. The payload is plain text with 11 newline-separated fields:

# Field Max length Required
1 Service Tag 3 Yes — always BCD
2 Version 3 Yes — 001 or 002
3 Character set 1 Yes — 1–8 (1 = UTF-8)
4 Identification 3 Yes — always SCT (SEPA Credit Transfer)
5 BIC 11 Mandatory in v001; optional within EEA in v002
6 Beneficiary name 70 Yes
7 IBAN 34 Yes
8 Amount 12 Optional, format EUR<value>
9 Purpose code 4 Optional, ISO 20022 purpose codes
10 Structured reference (RF) 35 Optional (mutually exclusive with field 11)
11 Unstructured remittance info 140 Optional (mutually exclusive with field 10)

QR symbology [epc-ref]:

  • Underlying symbology: QR Code (ISO/IEC 18004)
  • Error correction level: M (mandated)
  • Maximum QR version: 13 (i.e. ≤ 331 bytes of payload)
  • Encoding mode: Byte

Sample German Girocode payload Germany report:

BCD
002
1
SCT
DEUTDEFF
Max Mustermann GmbH
DE89370400440532013000
EUR150.00
RINV

Rechnung Nr. 12345

German IBAN structure Germany report:

DE + 2 check digits + 8-digit bank code + 10-digit account number
Example: DE89370400440532013000 (22 characters)

Common German BICs Germany report:

  • Deutsche Bank: DEUTDEFF
  • Commerzbank: COBADEFF
  • DZ Bank: GENODEFF

Use cases

Girocode is invoice-payment infrastructure — single-purpose by design, but the deployment surface in Germany is broad Germany report:

  • Printed utility bills — electricity, gas, telecom, internet invoices. Pre-printed Girocode on the invoice; consumer scans with banking app camera.
  • Government and tax notices — federal Steuerbescheide (tax assessments), municipal fees (Gebühren), social-insurance contributions.
  • Donation requests — NGOs, religious organisations, charities print Girocode on flyers and mailings.
  • Health insurance and other recurring billers — premium reminders carry Girocode.
  • B2B supplier invoices — printed or PDF invoices with Girocode payable in one scan, often using SCOR structured reference (RF format) for accounting matching 3.
  • POS-adjacent use cases — some German cash registers print Girocode on receipts for split-the-bill / pay-later workflows; relatively niche compared to invoice usage.

German banking-app coverage Germany report:

  • Sparkasse app — most-downloaded German banking app (9M+ downloads); Girocode scan + Photo Pay (camera scan of paper invoices).
  • Deutsche Bank app — Smart Transfer with camera; Girocode scan + photo capture of PDF/JPG invoices.
  • Commerzbank, VR Banking (Volksbanken/Raiffeisenbanken), ING Germany, N26 — all support Girocode scan natively.

Photo Payment is a German-specific adjacent capability: bank apps that scan paper invoices using OCR (not Girocode QR specifically) — useful for invoices issued before Girocode adoption. Photo Pay and Girocode coexist in the same banking-app UI Germany report.

Implementations

Girocode shares the EPC QR / Stuzza implementation ecosystem — any EPC-QR library generates Girocode-compatible payloads.

Encoder libraries:

  • JavaScript — d13nde/EPC-GiroCode — JavaScript Girocode generator 5.
  • Python — Segno — high-quality QR library with segno.helpers.make_epc_qr() helper that produces a Girocode/EPC-QR payload 6.
  • PHP — smhg/sepa-qr-php — 51★, 2020 — generates SEPA / EPC QR codes (Girocode-compatible) 7.
  • PHP — RikudouSage/QrPaymentEU — broader EU payment library including Girocode 8.
  • .NET — DevExpress XtraReports ships QRCodeEPCGenerator as a barcode component 9.

German-specific tooling:

  • easybill, billbee, lexware, Datev and other German billing/accounting software packages generate Girocode on invoices automatically 1.
  • Hosted generators — girocodegenerator.com and similar German-language services 1.

Bank apps (canonical production scanning implementations) — see Use cases section above Germany report.

Comparison

vs. EPC QR / Stuzza (pan-European parent standard) — Strictly identical at the payload level. Girocode is a German brand for EPC QR, not a technical variant. The same Girocode payload is readable by Austrian Stuzza-QR-aware apps, Finnish bank apps, etc. The branding choice was DK's marketing decision to make the German payment landscape more recognisable to consumers 1, 3, Austria report.

vs. Swiss QR-bill (Switzerland's national invoice QR) — Both serve the invoice-payment niche in DACH (German-speaking Europe) but with markedly different design choices. Swiss QR-bill uses an ISO 20022 pain.001-derived payload with 31–34 fields including QRR 27-digit reference and structured billing-info; Girocode uses an 11-field BCD payload (much simpler) Switzerland report, 3. Switzerland is non-EU and built its own; Germany adopted the pan-European one. Both standards are used heavily in the German-speaking world but for different countries.

vs. HUB3 (Croatia's invoice barcode) — Different symbology entirely: HUB3 uses PDF417 not QR Code. HUB3 is mandatory in Croatia for domestic payment slips; Girocode is non-mandatory in Germany but de facto universal [hub3-ref].

vs. earlier German alternatives:

  • Photo Payment / Smart Transfer — German banks' OCR-scanning of paper invoices. Coexists with Girocode in the same banking-app UI; Photo Pay handles invoices without Girocode, Girocode is the structured fast path when present Germany report.
  • Bezahlcode (older German alternative, mostly superseded) — a pre-EPC QR-payment proposal from the early 2010s with its own format, never gained traction once EPC QR / Girocode arrived.

Fun facts

The "Girocode" brand name reflects a deliberate alignment with Germany's existing Girokonto (current/checking account) terminology — making the standard immediately legible to German consumers as "the QR code for your Giro account" 1. Most other countries kept the EPC QR name; Germany localised the branding.

The standard is technically identical to Austria's Stuzza QR Austria report — a German consumer scanning an invoice from an Austrian supplier in their German banking app gets the same auto-populated SEPA Credit Transfer experience as scanning a domestic Girocode. The pan-European single-format was the explicit EPC design goal.

Germany's three-pillar banking structure (private commercial banks, Sparkassen savings banks, Volksbanken/Raiffeisenbanken cooperatives) historically slowed payment-standard adoption — every change required consensus across three sub-sectors with different governance Germany report. Girocode's cross-pillar promotion by DK starting 2018 was a notable demonstration that consensus was achievable; all three pillars' apps support Girocode scanning today Germany report.

Status

Active, widely deployed. Most recent context Germany report:

  • All major German banks (across the three-pillar system) support Girocode scanning in their apps
  • Actively promoted by Die Deutsche Kreditwirtschaft (DK) since 2018
  • Used by all major billing categories (utilities, government, B2B, donations)
  • Underlying SEPA Credit Transfer rail now settles instantly via SEPA Instant (mandatory in Germany Jan / Oct 2025) Germany report
  • 1 300+ German institutions offering SEPA Instant (highest in Europe) — improves Girocode-initiated transfer settlement speed Germany report

Future trajectory Germany report:

  • Wero (European Payments Initiative, launched in Germany July 2024) may eventually overlap Girocode's invoice-payment niche — Wero's QR code feature is on the 2025 / 2026 roadmap. No formal Girocode deprecation planned; the two are expected to coexist for the medium term.
  • EPC QR specification continues to evolve (current v2.10, June 2024) — Girocode tracks the latest revision automatically as a re-brand rather than a fork [epc-ref].

Sources

  1. Girocode-EPC-Standard erklärt — girocodegenerator.com
  2. EPC-QR-Code/GiroCode — easybill
  3. EPC QR code — Wikipedia
  4. EPC069-12 Quick Response Code Guidelines — EPC
  5. d13nde/EPC-GiroCode — GitHub
  6. EPC QR Codes — Segno docs
  7. smhg/sepa-qr-php — GitHub
  8. RikudouSage/QrPaymentEU — GitHub
  9. EPC QR Code Generator — DevExpress XtraReports
  10. Girocode — Wikipedia (Deutsch)
  11. [DE-germany.md]Germany report

Deployments

Found in the following country reports (grep across reports/countries/):

source · content/standards/girocode/index.md