Integration & API

GiroCode for developers & agencies

This page is aimed at developers who want to integrate GiroCodes into their own projects, invoicing software or websites.

Building the EPC payload yourself

The EPC payload is a line-based text format. The following function shows how you can generate it in JavaScript/TypeScript:

function buildEPC({ name, iban, bic = '', amount, purpose = '' }) {
  const amountStr = amount ? 'EUR' + Number(amount).toFixed(2) : '';
  return [
    'BCD', '001', '1', 'SCT',
    bic.trim(),
    name.trim().slice(0, 70),
    iban.replace(/\s+/g, '').toUpperCase(),
    amountStr,
    '', '',
    purpose.trim().slice(0, 140)
  ].join('\n');
}

Creating a QR code from the payload

With the qrcode package from npm you can render the payload into a QR code:

import QRCode from 'qrcode';

const payload = buildEPC({
  name: 'Max Mustermann',
  iban: 'DE89370400440532013000',
  amount: 99.99,
  purpose: 'Invoice 2025-001'
});

QRCode.toCanvas(canvas, payload, {
  errorCorrectionLevel: 'M',
  width: 220
});

Using this generator

You can link to this generator or treat it as a reference implementation. The full source code is available publicly.

Open the GiroCode Generator

Contact for collaboration

You are an agency or software vendor and would like to collaborate? Feel free to reach out via email: kontakt@girocodegenerator.com