for Tax Consultants
SEPA QR Codes
GiroCode integration for DATEV environments. Automatic SEPA QR codes on fee invoices and client invoices.
Why GiroCode for DATEV?
Ideal for Consultants and Firms
Tax Consulting Firms
Fee invoices with GiroCode for faster payment receipts from clients.
Lawyers
Cost invoices and fee notes with SEPA QR code for easy payment.
Auditors
Audit invoices with automatically generated payment QR code.
Management Consultants
Receive consulting fees faster through simplified payment processing.
Easy Setup
DATEV integration in just a few steps
GiroCode API Account
Register and receive your API credentials.
Use DATEV Export
Export invoice data from DATEV or use the API.
Set Up Automation
Connect invoice export with GiroCode generation.
Integrate in Documents
Add the QR code to your invoice templates.
Python Integration
Example script for processing DATEV exports
#!/usr/bin/env python3
"""
DATEV Integration - GiroCode Generator
Verarbeitet DATEV Rechnungsexporte und generiert GiroCodes
"""
import requests
import csv
from pathlib import Path
GIROCODE_API = "https://api.girocode-api.de/generate"
GIROCODE_USER = "ihr_username"
GIROCODE_SECRET = "ihr_api_secret"
# Kanzlei-Bankverbindung
BANK_CONFIG = {
"iban": "DE89370400440532013000",
"recipient": "Steuerberatung Mustermann",
}
def generate_girocode(invoice_number: str, amount: float) -> dict:
"""Generiert GiroCode fuer eine Rechnung"""
response = requests.post(
GIROCODE_API,
json={
"user": GIROCODE_USER,
"secret": GIROCODE_SECRET,
"iban": BANK_CONFIG["iban"],
"paymentrecipient": BANK_CONFIG["recipient"],
"purpose": f"Honorar {invoice_number}",
"amount": f"{amount:.2f}",
"imageformat": "png",
"dimension": "200",
"output": "json",
},
timeout=30,
)
return response.json()
def process_datev_export(csv_path: str) -> list:
"""
Verarbeitet DATEV CSV-Export
Erwartet Spalten: Rechnungsnummer, Betrag, Mandant
"""
results = []
with open(csv_path, encoding="utf-8") as f:
reader = csv.DictReader(f, delimiter=";")
for row in reader:
invoice_number = row.get("Rechnungsnummer", "")
amount = float(row.get("Betrag", "0").replace(",", "."))
if invoice_number and amount > 0:
result = generate_girocode(invoice_number, amount)
if result.get("success"):
results.append({
"invoice": invoice_number,
"qr_code": result["data"]["data"],
"success": True,
})
print(f"✓ GiroCode fuer {invoice_number} generiert")
else:
results.append({
"invoice": invoice_number,
"error": result.get("response_desc"),
"success": False,
})
print(f"✗ Fehler bei {invoice_number}")
return results
if __name__ == "__main__":
# Beispiel: DATEV Export verarbeiten
results = process_datev_export("datev_rechnungen.csv")
print(f"\nVerarbeitet: {len(results)} Rechnungen")All Features
Compliance & Data Protection
The GiroCode API is fully GDPR compliant and meets GoBD requirements. No client data is stored - all QR codes are generated in real-time and not cached. Servers are located exclusively in Germany.