lexofficefor lexoffice
for lexoffice
SEPA QR Codes
Automatic GiroCode integration for your lexoffice invoices. Faster payment receipts through SEPA QR codes.
Benefits
Why GiroCode for lexoffice?
Professional Invoices
GiroCodes on every invoice - your customers pay faster and error-free.
Faster Payment Receipt
Studies show: QR codes speed up payments by up to 30%.
Better Liquidity
Fewer outstanding receivables through easier payment processing for your customers.
GoBD Compliant
All generated data is audit-proof and meets German standards.
For Whom?
Ideal for lexoffice Users
Sole Proprietors
Professional invoices with QR code for faster payment receipts.
Small Businesses
Time savings in accounting through automatic payment matching.
Freelancers
Fee invoices with GiroCode for simplified payment processing.
Agencies
Multiple projects and clients - always the right invoice number in the reference.
Integration
How Setup Works
Connect lexoffice with the GiroCode API
1
Activate lexoffice API
Activate the lexoffice API in your account under Settings > API.
2
Connect GiroCode API
Register with GiroCode API and receive your credentials.
3
Set Up Webhook
Connect lexoffice events with GiroCode generation.
4
Customize Template
Add the QR code placeholder to your invoice template.
Code Example
Webhook Integration
Node.js example for lexoffice webhook processing
lexoffice-webhook.js
// lexoffice Webhook Handler - GiroCode Integration
// Trigger: Bei neuer Rechnung (invoice.created)
const GIROCODE_API = 'https://api.girocode-api.de/generate';
const GIROCODE_USER = process.env.GIROCODE_USER;
const GIROCODE_SECRET = process.env.GIROCODE_SECRET;
// Ihre Bankdaten
const BANK_CONFIG = {
iban: 'DE89370400440532013000',
recipient: 'Ihre Firma GmbH',
};
async function handleLexofficeWebhook(event) {
if (event.eventType !== 'invoice.created') return;
const invoiceId = event.resourceId;
// 1. Rechnungsdetails von lexoffice abrufen
const invoice = await fetch(
`https://api.lexoffice.io/v1/invoices/${invoiceId}`,
{
headers: {
'Authorization': `Bearer ${process.env.LEXOFFICE_TOKEN}`,
},
}
).then(r => r.json());
// 2. GiroCode generieren
const girocode = await fetch(GIROCODE_API, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
user: GIROCODE_USER,
secret: GIROCODE_SECRET,
iban: BANK_CONFIG.iban,
paymentrecipient: BANK_CONFIG.recipient,
purpose: `Rechnung ${invoice.voucherNumber}`,
amount: invoice.totalGrossAmount.toString(),
imageformat: 'png',
dimension: '200',
output: 'json',
}),
}).then(r => r.json());
if (girocode.success) {
// 3. QR-Code speichern/an Rechnung anhaengen
console.log('GiroCode generiert:', girocode.data.data);
// Hier: In Datenbank speichern oder an PDF anhaengen
}
return { success: true };
}Features
All Features
Automatic invoice number as reference
Exact amount from lexoffice
Multiple image formats (SVG, PNG, JPG)
Webhook-based real-time generation
Compatible with lexoffice API
GDPR compliant
GoBD compliant documentation
Support for all currencies