Schnittstellen
Passt zu den Programmen, die du schon hast.
Ordo redet mit den Programmen, die in Österreich üblich sind. Als Datei, live oder über eine Schnittstelle für dein eigenes Programm. Die Daten gehen direkt von deinem Gerät zum anderen Programm, nie über uns.
Klick auf ein Programm, und du siehst, was hin und her geht.
Drei Wege
Als Datei, live oder per Schnittstelle.
Datei
BMD-Buchungen für die Kanzlei, die E-Rechnung im Format ebInterface 6.1 für das Unternehmensserviceportal, Excel, CSV und der Steuerberater-Export. E-Rechnungen als XML oder PDF (ebInterface, XRechnung, PEPPOL, ZUGFeRD) liest Ordo ganz ohne KI.
Live-Abruf
Ordo holt Kontakte und Rechnungen aus SAP Business One (Service Layer) oder aus jeder REST-Schnittstelle mit JSON, etwa sevDesk, lexoffice, ein OData-Feed oder dein eigenes System. Nur lesend: Ordo schreibt nie in das andere Programm.
Lokale Schnittstelle und Webhooks
In der Windows-App können andere Programme auf deinem Computer Kontakte, Buchungen, Rechnungen und Zeiten anlegen. Webhooks schicken Änderungen an n8n, Make, Power Automate oder dein ERP.
Österreichische Programme
So verbindest du, was du hast.
| Programm | Weg | So geht's |
|---|---|---|
| BMD NTCS | Datei | Export & Sicherung → BMD-Buchungen. Buchungssymbole und Steuercodes einmal passend zur Kanzlei einstellen. |
| RZL | Datei | BMD- oder Steuerberater-Export, je nachdem, was die Kanzlei einliest. Ein eigener RZL-Export kommt, wenn genug Leute dafür stimmen. |
| SAP Business One | Live | Service-Layer-Adresse, Firmendatenbank und ein SAP-Benutzer mit Leserechten. Geschäftspartner werden Kontakte, Ausgangs- und Eingangsrechnungen werden offene Posten. |
| SAP S/4HANA | Schnittstelle | OData-Feed als REST-Abruf (dafür braucht es eine Kommunikationsvereinbarung in SAP) oder Webhooks an die SAP Integration Suite oder n8n. |
| Dynamics 365 Business Central | Schnittstelle | Über Power Automate oder n8n mit der lokalen Schnittstelle und Webhooks. |
| Mesonic WinLine | Datei, Schnittstelle | Kunden und Artikel als CSV oder Excel übernehmen, laufend über n8n oder ein Skript. |
| E-Rechnung | Datei | Eingehend: ebInterface, XRechnung, PEPPOL und ZUGFeRD einfach hineinziehen. Ausgehend: bei der Rechnung „E-Rechnung“ speichern und im USP hochladen. |
Für Programmierer
Die lokale Schnittstelle.
Nur in der Windows-App, nur von diesem Computer aus (127.0.0.1) und nur, solange Ordo offen und entsperrt ist. Einschalten unter Einstellungen → Schnittstellen → Lokale Schnittstelle. Dann einen API-Schlüssel anlegen und ihm genau die Rechte geben, die das Programm braucht. Jeder Schlüssel arbeitet in einem Profil.
Beträge sind Euro mit zwei Nachkommastellen, Datumswerte YYYY-MM-DD. Mit externalId wird ein zweiter Aufruf zur Aktualisierung statt zu einem Duplikat. Listen kennen limit, offset und changedSince, dann auch mit gelöschten Einträgen.
Fehler kommen als {"error": "…"} mit HTTP-Status: 401 (Schlüssel), 403 (Recht fehlt), 404, 422 (Felder), 423 (Ordo gesperrt).
curl http://127.0.0.1:47110/v1/status -H "Authorization: Bearer <API-Schlüssel>"
Beispiel: eine Ausgabe anlegen
curl http://127.0.0.1:47110/v1/transactions \
-H "Authorization: Bearer <API-Schlüssel>" -H "Content-Type: application/json" \
-d '{"kind":"expense","date":"2026-10-22","amount":119.90,"vatRate":20,
"description":"Druckerpapier","contactName":"Muster GmbH","externalId":"ER-4711"}'
| Aufruf | Recht | Was er tut |
|---|---|---|
GET /v1/status | – | Version, Profil und Rechte des Schlüssels |
GET /v1/contacts · POST | contacts:read · write | Kontakte lesen (q sucht) oder anlegen und aktualisieren (gleiche externalId, UID oder Name) |
GET /v1/transactions · POST | transactions:read · write | Einnahmen und Ausgaben (from, to) oder anlegen; mit dueDate ohne paidDate als offener Posten |
GET /v1/invoices · POST | invoices:read · write | Ausgehende Rechnungen, oder als Entwurf anlegen (fertigstellen und versenden bleibt bei dir) |
GET /v1/invoices/{id}/ebinterface | invoices:read | E-Rechnung im Format ebInterface 6.1 |
POST /v1/incoming | incoming:write | Eingehende Rechnung als Datei (fileName, contentBase64), wird gelesen und gebucht oder zur Prüfung vorgelegt |
GET /v1/products · /v1/stock-moves · POST | products:read · stock:write | Artikel mit Lagerstand, oder eine Lagerbewegung buchen (productId oder sku) |
GET /v1/projects · /v1/time-entries · POST | projects:read · time:write | Projekte und Zeiten, oder Zeit erfassen (projectId oder projectNumber) |
GET /v1/export/bmd | export:read | BMD-Buchungen als Base64 (from, to) |
Webhooks
Ordo schickt Änderungen ein paar Sekunden, nachdem sie passiert sind, als POST mit JSON. Höchstens 50 auf einmal, was nicht ankommt, wird später wiederholt. Du wählst, worüber: Kontakte, Einnahmen und Ausgaben, ausgehende Rechnungen, gebuchte eingehende Rechnungen, Produkte, Lagerbewegungen, Projekte, Zeiten.
Jede Nachricht trägt X-Ordo-Signature: sha256=…, den HMAC-SHA256 des Inhalts mit dem Signatur-Schlüssel des Webhooks. So prüfst du, dass sie wirklich von deinem Ordo kommt.
Senden und abrufen macht das Gerät, auf dem die Verbindung eingerichtet ist, am besten die Windows-App. So kommt nichts doppelt an, wenn mehrere Geräte offen sind.
{ "api": "ordo.v1", "sentAt": "…", "profile": { "id": "…", "name": "Muster Design e.U." },
"events": [ { "event": "invoice.created", "id": "inv_…", "at": "…",
"data": { "number": "RE-2026-0007", "gross": 324.00, … } } ] }
const ok = req.headers["x-ordo-signature"] ===
"sha256=" + crypto.createHmac("sha256", SECRET).update(rawBody).digest("hex");
Wer verantwortlich ist
Du. Und das ist gut so.
Mit den Daten, die über Schnittstellen fließen, hat Ordo nichts zu tun. Sie gehen weder über unsere Server, noch erfahren wir, dass es sie gibt. Zugangsdaten liegen verschlüsselt in deinem Tresor. Exporte wie BMD sind Vorschläge, die du mit deiner Steuerberatung abstimmst.