UBS Banking-Automation: EBICS & API Anleitung [2026]
![UBS Banking-Automation: EBICS & API Anleitung [2026]](/images/blog/ubs-corporate-banking-automation.webp)
Schritt-für-Schritt: UBS EBICS einrichten, KeyPort API anbinden und Treasury- Prozesse automatisieren. Spart bis zu 15 Stunden pro Woche bei Multi-Currency und FX.
Reporting by Lena Müller Team, SwissFinanceAI Redaktion
Überblick
UBS Corporate Banking bietet fortschrittlichste Banking-Automation für Großunternehmen (100+ Mitarbeiter, internationaler Handel).
Unterschied zu PostFinance:
- ✅ 2 APIs: EBICS (Standard) + KeyPort API (proprietär, REST-basiert)
- ✅ Multi-Currency: 40+ Währungen (CHF, EUR, USD, GBP, JPY, CNY, etc.)
- ✅ FX-Trading: Automatischer Währungswechsel mit besten Kursen
- ✅ Treasury: Liquiditätsmanagement, Cash Pooling, Hedging
Nachteile:
- ❌ Höhere Kosten (CHF 50-150/Monat)
- ❌ Komplexe Einrichtung (4-6 Wochen)
- ❌ API-Entwickler erforderlich (nicht "out-of-the-box" wie PostFinance)
Best for: Unternehmen mit > CHF 10 Mio. Umsatz/Jahr, internationale Zahlungen, komplexe Treasury-Anforderungen.
- UBS Corporate Banking-Zugang beantragen
Dauer: 4 Wochen
1.1 Mindestanforderungen
UBS akzeptiert nur:
- ✅ GmbH oder AG (keine Einzelfirmen)
- ✅ Mindesteinlage: CHF 50.000 (für Corporate-Konto)
- ✅ Jahresumsatz > CHF 5 Mio. (für KeyPort API-Zugang)
- ✅ Sitz in Schweiz oder EU (für SEPA)
1.2 Unterlagen einreichen
UBS benötigt:
- Handelsregisterauszug (nicht älter als 3 Monate)
- Statuten (GmbH/AG)
- Jahresabschluss (letztes Geschäftsjahr)
- Organigramm (Geschäftsführung, Prokura)
- ID-Kopien aller Zeichnungsberechtigten
Kontoeröffnung:
- Termin in UBS-Filiale (Zürich, Bern, Basel, Genf)
- Dauer: 2-4 Wochen (AML-Prüfung)
1.3 EBICS + KeyPort beantragen
Nach Kontoeröffnung:
- EBICS: Standard-Zugang (kostenlos, in Corporate Banking enthalten)
- KeyPort API: Zusatzantrag erforderlich (CHF 100/Monat)
KeyPort API-Antrag:
- Formular: https://www.ubs.com/keyport-apply (Beispiel)
- Angaben: Verwendungszweck (z.B. "SAP-Integration"), erwartetes Transaktionsvolumen
- Freischaltung: 2 Wochen
- EBICS-Verbindung einrichten
Dauer: 8 Stunden
Gleicher Prozess wie PostFinance (siehe PostFinance EBICS Guide), aber mit UBS-spezifischen Parametern.
2.1 EBICS-Parameter (UBS)
SAP S/4HANA:
- EBICS-URL:
https://ebics.ubs.com/ebicsweb/ebicsweb(UBS EBICS-Server) - Partner-ID:
UBSSW(UBS Schweiz) - User-ID: Vergeben durch UBS (z.B.
UBS123456) - Bank-Code:
00274(UBS Swiss Bank Code)
2.2 UBS-spezifische Ordertypen
Zusätzlich zu Standard-EBICS:
- ✅ HAC (Kontoauszug, camt.053)
- ✅ FUL (Zahlungen, pain.001)
- ✅ FDL (Lastschriften, pain.008)
- ✅ CCT (Cross-Currency Transfer) - UBS-spezifisch
- ✅ PTK (Payment Tracking) - Echtzeitstatus von Zahlungen
2.3 Multi-Currency-Setup
Problem: Standard-EBICS unterstützt nur 1 Währung pro Verbindung.
UBS-Lösung: Multi-Currency-Container-Konto
Setup:
- Hauptkonto: CHF (CH93 0027 4000 1234 5678 9)
- Sub-Konten: EUR (CH11 0027 4000 2345 6789 0), USD (CH22 0027 4000 3456 7890 1), GBP, JPY, etc.
- EBICS-Verbindung: Nur zum Hauptkonto (CHF)
- EBICS-Abruf:
camt.053enthält alle Währungen (Multi-Currency-XML)
Beispiel camt.053 (Multi-Currency):
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.04">
<BkToCstmrStmt>
<!-- CHF-Konto -->
<Stmt>
<Id>STMT-CHF-20260122</Id>
<Acct><Id><IBAN>CH93 0027 4000 1234 5678 9</IBAN></Id></Acct>
<Bal>
<Amt Ccy="CHF">120500.00</Amt>
</Bal>
</Stmt>
<!-- EUR-Konto (Sub-Account) -->
<Stmt>
<Id>STMT-EUR-20260122</Id>
<Acct><Id><IBAN>CH11 0027 4000 2345 6789 0</IBAN></Id></Acct>
<Bal>
<Amt Ccy="EUR">85300.00</Amt>
</Bal>
</Stmt>
<!-- USD-Konto (Sub-Account) -->
<Stmt>
<Id>STMT-USD-20260122</Id>
<Acct><Id><IBAN>CH22 0027 4000 3456 7890 1</IBAN></Id></Acct>
<Bal>
<Amt Ccy="USD">95200.00</Amt>
</Bal>
</Stmt>
</BkToCstmrStmt>
</Document>
3. KeyPort API-Zugang aktivieren
Dauer: 2 Wochen (nach Antrag)
3.1 Was ist KeyPort API?
KeyPort = UBS proprietäre REST API (JSON, HTTPS)
Vorteile gegenüber EBICS:
- ✅ Echtzeit: Sofortiger Zugriff auf Kontostände (EBICS: nur täglich)
- ✅ Zusatzfunktionen: FX-Trading, Payment Tracking, Cash Pooling
- ✅ Modern: REST statt XML (einfacher für Entwickler)
Verfügbare Endpoints:
GET /accounts- Alle Konten abrufenGET /accounts/{iban}/balance- Kontostand EchtzeitGET /accounts/{iban}/transactions- Transaktionen (letzten 90 Tage)POST /payments- Zahlung einreichen (Alternative zu EBICS FUL)GET /payments/{id}/status- Zahlungsstatus prüfenPOST /fx/quote- FX-Kurs abfragenPOST /fx/execute- Währungswechsel ausführen
3.2 API-Credentials erhalten
Nach KeyPort-Freischaltung:
- UBS sendet Client ID + Client Secret (per Post, verschlüsselt)
- OAuth 2.0: KeyPort verwendet OAuth 2.0 für Authentifizierung
Credentials-Beispiel:
Client ID: ubs_corporate_abc123
Client Secret: sk_live_AbC123XyZ456 (geheim!)
3.3 OAuth-Token abrufen
Python-Beispiel:
import requests
# OAuth-Token abrufen
token_url = "https://api.ubs.com/oauth/token"
response = requests.post(token_url, data={
"grant_type": "client_credentials",
"client_id": "ubs_corporate_abc123",
"client_secret": "sk_live_AbC123XyZ456",
"scope": "accounts:read payments:write fx:execute"
})
access_token = response.json()["access_token"]
print(f"Access Token: {access_token}") # Gültig 1 Stunde
3.4 Kontostand abrufen (Echtzeit)
Python-Beispiel:
# Kontostand abrufen (alle Konten)
accounts_url = "https://api.ubs.com/v1/accounts"
headers = {"Authorization": f"Bearer {access_token}"}
response = requests.get(accounts_url, headers=headers)
accounts = response.json()
for account in accounts["data"]:
iban = account["iban"]
balance = account["balance"]["amount"]
currency = account["balance"]["currency"]
print(f"{iban}: {currency} {balance:,.2f}")
# Output:
# CH93 0027 4000 1234 5678 9: CHF 120,500.00
# CH11 0027 4000 2345 6789 0: EUR 85,300.00
# CH22 0027 4000 3456 7890 1: USD 95,200.00
4. Multi-Currency-Konten anbinden
Dauer: 4 Stunden
4.1 Währungen aktivieren
UBS unterstützt 40+ Währungen:
- Hauptwährungen: CHF, EUR, USD, GBP, JPY, CNY, HKD, SGD, AUD, CAD
- Exotische Währungen: PLN, CZK, HUF, SEK, NOK, DKK, etc.
Kosten:
- Kontoeröffnung: CHF 0 (kostenlos für Corporate-Kunden)
- Kontoführung: CHF 10/Monat pro Währung (ab 5. Währung kostenlos)
Antrag:
- UBS Online Banking → Konten → Neue Währung hinzufügen
- Freischaltung: 1-2 Werktage
4.2 SAP Multi-Currency-Mapping
SAP-Customizing:
- OBYA: House Bank anlegen (UBS CHF, UBS EUR, UBS USD)
- FBZP: Zahlungsprogramm-Varianten (je Währung)
Automatische Währungszuordnung:
Rechnung EUR 10.000 → SAP zahlt von UBS EUR-Konto
Rechnung USD 15.000 → SAP zahlt von UBS USD-Konto
Rechnung CHF 5.000 → SAP zahlt von UBS CHF-Konto
5. FX-Trading-Automation einrichten
Dauer: 16 Stunden (inkl. Tests)
5.1 Use Case: Automatischer Währungswechsel
Szenario: Unternehmen erhält EUR-Zahlung, benötigt aber CHF für Lieferanten.
Manuell (ohne Automation):
- Mitarbeiter sieht EUR-Eingang (morgens)
- Mitarbeiter ruft UBS-Berater an (10:00 Uhr)
- UBS-Berater gibt FX-Kurs durch (z.B. EUR/CHF 0.9450)
- Mitarbeiter bestätigt
- UBS führt Wechsel aus (11:00 Uhr)
- Dauer: 1-2 Stunden, Kurs evtl. schlechter (Markt bewegt sich)
Automatisch (KeyPort FX API):
- KeyPort erkennt EUR-Eingang (Echtzeit, via Webhook)
- Python-Script ruft FX-Kurs ab (API)
- Script vergleicht mit Limit (z.B. "nur wechseln wenn EUR/CHF < 0.9500")
- Script führt Wechsel aus (API)
- Dauer: 10 Sekunden, bester verfügbarer Kurs
5.2 FX-Quote abrufen (API)
Python-Beispiel:
# FX-Kurs abfragen (EUR → CHF)
fx_quote_url = "https://api.ubs.com/v1/fx/quote"
response = requests.post(fx_quote_url, headers=headers, json={
"from_currency": "EUR",
"to_currency": "CHF",
"amount": 10000.00 # EUR 10,000
})
quote = response.json()
rate = quote["exchange_rate"] # z.B. 0.9450
chf_amount = quote["target_amount"] # CHF 9,450.00
valid_until = quote["valid_until"] # ISO timestamp (Quote gültig 60 Sek)
print(f"EUR/CHF Rate: {rate}")
print(f"CHF 10.000 = CHF {chf_amount:,.2f}")
print(f"Quote gültig bis: {valid_until}")
5.3 FX-Trade ausführen (API)
Python-Beispiel:
# Währungswechsel ausführen (EUR → CHF)
fx_execute_url = "https://api.ubs.com/v1/fx/execute"
response = requests.post(fx_execute_url, headers=headers, json={
"quote_id": quote["id"], # Quote von vorherigem API-Call
"from_account": "CH11 0027 4000 2345 6789 0", # EUR-Konto
"to_account": "CH93 0027 4000 1234 5678 9", # CHF-Konto
"confirm": True
})
trade = response.json()
print(f"Trade ID: {trade['id']}")
print(f"Status: {trade['status']}") # "executed"
print(f"EUR 10.000 → CHF {trade['chf_amount']:,.2f}")
5.4 Automatischer FX-Trigger (n8n Workflow)
n8n Workflow:
1. TRIGGER: Webhook (UBS sendet Benachrichtigung bei EUR-Eingang)
2. HTTP Request: GET /accounts/EUR/balance (aktueller EUR-Stand)
3. IF: EUR-Balance > 5.000 (nur große Beträge wechseln)
4. HTTP Request: POST /fx/quote (EUR → CHF Quote abrufen)
5. IF: Quote Rate < 0.9500 (nur bei günstigem Kurs wechseln)
6. HTTP Request: POST /fx/execute (Wechsel ausführen)
7. Slack Notification: "EUR 10,000 → CHF 9,450 (Rate: 0.9450)"
Vorteil:
- ✅ Kein manueller Eingriff
- ✅ Bester verfügbarer Kurs (Echtzeit)
- ✅ Regelbasiert (nur bei günstigem Kurs)
6. Treasury-Reporting automatisieren
Dauer: 8 Stunden
6.1 Liquiditätsübersicht (alle Konten)
Python-Script: Täglicher Report (E-Mail an CFO)
import smtplib
from email.mime.text import MIMEText
# Alle Kontostände abrufen (KeyPort API)
response = requests.get("https://api.ubs.com/v1/accounts", headers=headers)
accounts = response.json()["data"]
# Umrechnung in CHF (Basis-Währung)
total_chf = 0
report_lines = []
for account in accounts:
currency = account["balance"]["currency"]
amount = account["balance"]["amount"]
# FX-Quote abrufen (zu CHF)
if currency != "CHF":
fx_response = requests.post("https://api.ubs.com/v1/fx/quote", headers=headers, json={
"from_currency": currency,
"to_currency": "CHF",
"amount": amount
})
chf_equivalent = fx_response.json()["target_amount"]
else:
chf_equivalent = amount
total_chf += chf_equivalent
report_lines.append(f"{currency} {amount:,.2f} = CHF {chf_equivalent:,.2f}")
# E-Mail zusammenstellen
report = f"""
Liquiditätsübersicht (Stand: 22.01.2026, 08:00 Uhr)
{chr(10).join(report_lines)}
---
GESAMT (in CHF): CHF {total_chf:,.2f}
"""
# E-Mail senden
msg = MIMEText(report)
msg["Subject"] = "Tägliche Liquiditätsübersicht (UBS)"
msg["From"] = "finance@swissfinanceai.com"
msg["To"] = "cfo@swissfinanceai.com"
smtp = smtplib.SMTP("smtp.gmail.com", 587)
smtp.starttls()
smtp.login("finance@swissfinanceai.com", "password")
smtp.send_message(msg)
smtp.quit()
print("Liquiditätsübersicht versendet!")
6.2 Cash Flow Forecast (7 Tage)
Erweiterung: Prognose basierend auf offenen Rechnungen (SAP-Daten)
# Offene Forderungen aus SAP abrufen (BAPI_AR_ACC_GETOPENITEMS)
# Offene Verbindlichkeiten aus SAP abrufen (BAPI_AP_ACC_GETOPENITEMS)
# Forecast-Berechnung (vereinfacht)
forecast = {
"Tag 1": total_chf + 15000 - 8000, # +15k Forderung, -8k Verbindlichkeit
"Tag 2": total_chf + 22000 - 12000,
# ...
}
# Visualisierung (Matplotlib oder E-Mail-Tabelle)
ROI-Kalkulation
Kosten (1 Jahr, Großunternehmen):
- UBS Corporate Banking: CHF 100/Monat × 12 = CHF 1.200
- UBS KeyPort API: CHF 100/Monat × 12 = CHF 1.200
- Multi-Currency (5 Währungen): CHF 0 (kostenlos ab 5 Währungen)
- Entwicklung (40h × CHF 150/h): CHF 6.000
- GESAMT Jahr 1: CHF 8.400
- GESAMT ab Jahr 2: CHF 2.400 (nur laufende Gebühren)
Einsparungen (1 Jahr):
- FX-Trading: Bessere Kurse durch Echtzeit-Automation
- 100 FX-Trades/Jahr × CHF 200 besserer Kurs = CHF 20.000
- Treasury-Zeit: Automatisierte Reports (5h/Woche → 0,5h/Woche)
- 4,5h/Woche × 50 Wochen × CHF 120/h (Treasury Manager) = CHF 27.000
- Zahlungs-Automation: Gleich wie PostFinance (100h/Jahr × CHF 85/h) = CHF 8.500
Einsparungen GESAMT: CHF 55.500/Jahr
ROI:
- Jahr 1: CHF 55.500 - CHF 8.400 = CHF 47.100 Gewinn (561% ROI)
- Jahr 2: CHF 55.500 - CHF 2.400 = CHF 53.100 Gewinn (2.212% ROI)
UBS vs. PostFinance: Wann lohnt sich UBS?
| Kriterium | PostFinance | UBS | |-----------|-------------|-----| | Best for | KMU (1-50 Mitarbeiter) | Großunternehmen (100+ Mitarbeiter) | | Kosten | CHF 20/Monat | CHF 200/Monat (EBICS + KeyPort) | | Setup-Dauer | 2-3 Wochen | 4-6 Wochen | | Multi-Currency | ❌ Nur CHF/EUR | ✅ 40+ Währungen | | FX-Trading | ❌ Nein (manuell über E-Finance) | ✅ Automatisch (API) | | Treasury-Features | ❌ Basis (Kontoauszug) | ✅ Erweitert (Cash Pooling, Hedging) | | API-Qualität | ⚠️ Nur EBICS (XML) | ✅ EBICS + REST (JSON) | | Support | ⚠️ Standard (E-Mail) | ✅ Dedicated Relationship Manager |
Entscheidungshilfe:
- PostFinance: Jahresumsatz < CHF 5 Mio., nur CHF/EUR-Zahlungen, einfache Automation
- UBS: Jahresumsatz > CHF 10 Mio., internationale Zahlungen (> 3 Währungen), komplexe Treasury-Anforderungen
Nächste Schritte
Option 1: UBS Corporate Banking Setup-Service (CHF 6.000, 40h)
- Wir richten EBICS + KeyPort API für Sie ein
- Inklusive: Multi-Currency-Setup, FX-Automation, Treasury-Reports
Option 2: Kostenlose Beratung (60 Min)
- Wir analysieren, ob UBS für Ihr Unternehmen geeignet ist
- Alternative: PostFinance (einfacher), Revolut (günstiger)
Veröffentlicht: 22. Januar 2026 Autor: SwissFinanceAI Team Kategorie: Corporate Banking
Haftungsausschluss: Dieser Artikel dient ausschliesslich zu Informationszwecken und stellt keine Finanzberatung dar. Konsultieren Sie einen zugelassenen Finanzberater, bevor Sie Anlageentscheide treffen.
Weiterführende Artikel
Haftungsausschluss
Dieser Artikel dient ausschliesslich zu Informationszwecken und stellt keine Finanz-, Rechts- oder Steuerberatung dar. SwissFinanceAI ist kein lizenzierter Finanzdienstleister. Konsultieren Sie immer eine qualifizierte Fachperson, bevor Sie finanzielle Entscheidungen treffen.

Schweizer Märkte & Makroökonomie
Lena Müller analysiert täglich die Schweizer und europäischen Finanzmärkte — von SMI-Bewegungen über SNB-Entscheide bis zu geopolitischen Risiken. Ihr Fokus liegt auf datengestützter Analyse, die Schweizer KMU-Finanzprofis direkt verwertbare Einblicke liefert.
KI-redaktioneller Agent, spezialisiert auf Schweizer Finanzmarktanalyse. Erstellt durch das SwissFinanceAI-Redaktionssystem.
Schweizer KI & Finanzen — direkt ins Postfach
Wöchentliche Zusammenfassung der wichtigsten Nachrichten für Schweizer Finanzprofis. Kein Spam.
Mit der Anmeldung stimmen Sie unserer Datenschutzerklärung zu. Jederzeit abmeldbar.
References
- [1]"UBS KeyPort API Documentation."
- [2]"UBS Corporate Banking Handbuch."
- [3]"ISO 20022 Multi-Currency Standard."
Transparency Notice: This article may contain AI-assisted content. All citations link to verified sources. We comply with EU AI Act (Article 50) and FTC guidelines for transparent AI disclosure.
Originalquelle
Dieser Artikel basiert auf UBS KeyPort API Documentation
Dieser Artikel basiert auf UBS Corporate Banking Handbuch
Dieser Artikel basiert auf ISO 20022 Multi-Currency Standard


![Revolut Business vs UBS & PostFinance [Vergleich 2026]](/images/blog/revolut-business-vs-swiss-banks.webp)