What is an EPC QR code? A plain guide for euro payments
An EPC QR code is a standard QR code, defined by the European Payments Council, that holds the details of a SEPA credit transfer: the payee's name, IBAN, the amount and a reference. A payer scans it in their banking app, which pre-fills the transfer for them to confirm.
The European Payments Council (EPC) is the body behind the SEPA payment schemes. Its guidelines for the code, document EPC069-12, date back to 2012; the version in force today is 3.1, from March 2024. The guidelines are short and informative rather than binding, which explains a lot about how the code is used in practice.
The twelve lines of an EPC QR code
Underneath the black and white squares, an EPC QR code is plain text: a fixed list of elements, each on its own line, in a fixed order. A banking app reads the lines and knows exactly which field each one fills.
| Line | Element | Content | Required |
|---|---|---|---|
| 1 | Service tag | Always BCD | Yes |
| 2 | Version | 001 or 002 | Yes |
| 3 | Character set | A digit from 1 to 8; 1 means UTF-8 | Yes |
| 4 | Identification | Always SCT (SEPA credit transfer) | Yes |
| 5 | BIC | The payee's bank code | In version 001 |
| 6 | Name | The payee, up to 70 characters | Yes |
| 7 | IBAN | The payee's account, up to 34 characters | Yes |
| 8 | Amount | The amount in euros | No |
| 9 | Purpose | A purpose code of up to four characters | No |
| 10 | Structured reference | A creditor reference, up to 35 characters | No |
| 11 | Unstructured text | Free text, up to 140 characters | No |
| 12 | Information | A note to the payer, up to 70 characters | No |
Lines 10 and 11 are alternatives: a code carries either a structured reference or free text, never both. The structured reference is meant for creditor references, such as the international RF format defined in ISO 11649. The guidelines also mark the BIC, the name, the IBAN and the structured reference as values the payer should not change, so the money reaches the right account with the right reference.
Version 001 or 002: the BIC question
The two versions differ in one element. In version 001 the bank's BIC is required. In version 002 it is optional for transfers within the European Economic Area (EEA), because an IBAN is enough to route a SEPA payment there. The guidelines keep the BIC required when the transfer involves a scheme participant from outside the EEA.
Version 002 saves the payee from looking up their own BIC and keeps the code a little smaller. Swiftly Workspace, for example, writes version 002 codes.
Size and readability
The guidelines cap the content at 331 bytes, which fits in a QR code of version 13 at most. They also set error correction level M, which lets a scanner recover about 15 percent of a damaged or smudged code. In practice an invoice code is far smaller than the limit: the EPC's own examples come to about a hundred bytes and fit in a version 6 code.
The character set line matters for names with accents. UTF-8 (set 1) handles almost every name; the other seven options are older ISO 8859 character sets.
Where the code belongs
The EPC wrote these guidelines for codes shown next to the same details in plain text. The classic case is an invoice: the payer can compare what the banking app filled in with what the invoice says before confirming. For a code shown on its own, at a shop's payment terminal or on a checkout page, the EPC points to a different document, EPC 024-22.
Two more points follow from the guidelines being informative rather than mandatory:
- Banks decide. Supporting the code is optional for banks, so availability varies from one banking app to the next.
- Names vary. The format is the same everywhere, but you may meet it under other names. In Germany it is often called GiroCode, and many invoices simply label it with a short instruction such as "scan to pay".
EPC QR codes on Swiftly invoices
Since the August 2026 update, Swiftly Workspace prints an EPC QR code on the PDF of every finalized euro invoice that has a due date, still has an amount due and carries your IBAN. The amount in the code is what is still due, so a partly paid invoice asks for the rest. The reference is the invoice number, as free text.
Scan to pay on your euro invoices shows when the code appears and how to put your IBAN on an invoice. For structured references, see structured payment references.
EPC QR code or direct debit?
A QR code makes a transfer easier, but the payer still starts it. If a customer pays you the same amount every month, a direct debit mandate lets you collect it instead; SEPA Direct Debit for small businesses explains how that works. For everything else on the payment side, how to get paid faster collects the habits that shorten the wait, and the invoice checklist covers the details every invoice should show.
Frequently asked questions
Is an EPC QR code the same as a GiroCode?
In practice, yes. GiroCode is the name German banks use for the QR code on an invoice that pre-fills a transfer, and it carries the same details: payee, IBAN, amount and reference.
Can an EPC QR code be used for instant payments?
The code pre-fills a SEPA credit transfer. Whether the payer's bank then sends it as a standard or an instant transfer depends on the bank and on what the payer chooses in the app.
Does an EPC QR code need an amount?
No. The amount is optional, so a code without one lets the payer type it in. On an invoice, including the amount due saves the customer a step and avoids a typo.
Is an EPC QR code safe to put on an invoice?
It holds the same details the invoice already shows in plain text: your name, IBAN, the amount and the reference. Nothing moves until the payer confirms the transfer in their own banking app.
Run your business on Apple.
Create your account on the web, then set up your workspace in the app on your iPhone, iPad or Mac.
Create your account


