- Kunde✓
- Positionen✓
- Betrag✓
Die HubSpot-QuickBooks-Integration ist in einer Stunde eingerichtet, und die ersten Rechnungen sehen in QuickBooks auch gut aus. Kunde da, Positionen da, Beträge stimmen. Vier Wochen später fragt der Kunde, warum er keine Rechnung bekommen hat. Sie liegt in QuickBooks, seit vier Wochen, ohne Empfänger.
Wir haben genau das bei einer B2B-Beratung aus Nordamerika gelöst, die ihre Retainer über HubSpot verkauft und in QuickBooks Online abrechnet. Der Kunde bleibt hier ungenannt. Das Muster ist aber so verbreitet, dass sich der Blick lohnt.
Kurzfassung
- Der native Sync überträgt Kontakte als Kunden und HubSpot-Rechnungen als QuickBooks-Rechnungen. Unternehmen überträgt er nicht.
- Die Rechnungs-E-Mail auf der QuickBooks-Rechnung bleibt leer. Ohne sie kann QuickBooks die Rechnung nicht verschicken.
- Es gibt drei Wege: von Hand nachtragen, ein Zapier- oder Make-Szenario, oder ein eigener Workflow. Wir haben den dritten gewählt, mit n8n, ohne den nativen Sync abzuschalten.
Was der native Sync überträgt
Die QuickBooks-App von HubSpot verbindet zwei Datenmodelle, die nicht zusammenpassen. HubSpot denkt in Kontakten, Unternehmen und Deals. QuickBooks denkt in Kunden und Belegen. Der Sync übersetzt Kontakte in Kunden und HubSpot-Rechnungen in QuickBooks-Rechnungen. Das Unternehmen, an das Sie im B2B eigentlich fakturieren, hat in dieser Übersetzung keinen Platz.
- ✓Kunde
- ✓Positionen und Beträge
- ✓Belegnummer
- Rechnungs-E-Mail (BillEmail)
Für einen Kunden mit einem Ansprechpartner fällt das kaum auf. Sobald mehrere Kontakte zum selben Unternehmen gehören, wird es unübersichtlich, weil QuickBooks pro Kunde einen eindeutigen Anzeigenamen verlangt. In unserem Fall war aber ein anderes Feld entscheidend.
Die Lücke: die Rechnungs-E-Mail
Eine QuickBooks-Rechnung hat ein Feld für die Empfängeradresse, in der API heißt es BillEmail. Der Sync aus HubSpot füllt es nicht. Die Rechnung wird angelegt, hat einen Kunden, Positionen und eine Belegnummer, aber keine Adresse, an die QuickBooks sie senden könnte. In der Oberfläche fällt das erst auf, wenn jemand auf Senden klickt.
Bei Einzelrechnungen trägt man die Adresse nach und ärgert sich kurz. Bei einer Beratung mit monatlichen Retainern passiert das jeden Monat, für jeden Kunden. Genau da lohnt sich Automatisierung.
Drei Wege, und was sie kosten
Native App und Handarbeit. Kostenlos und in einer Stunde eingerichtet. Die Lücke bleibt, jemand muss sie jeden Monat schließen. Für eine Handvoll Rechnungen im Monat ist das in Ordnung.
Zapier oder Make. Ein Szenario, das neue QuickBooks-Rechnungen abfragt und die Adresse nachträgt, ist an einem Nachmittag gebaut. Sie zahlen pro Ausführung, und die Logik für den Fallback wird in diesen Tools schnell unübersichtlich.
Eigener Workflow. Volle Kontrolle über Zeitfenster, Wiederholungen und was genau geschrieben wird. Früher hieß das eigene Entwicklung mit Wartung. Mit n8n bekommen Sie fast dieselbe Kontrolle, ohne Code zu pflegen, und ohne Gebühr pro Lauf.
Unsere Entscheidung: Der native Sync bleibt, weil er Kunden, Positionen und Belegnummern zuverlässig überträgt. Nur die eine Lücke schließt ein Workflow daneben.
So sieht der Workflow aus
Der Workflow läuft in n8n beim Kunden und macht alle 15 Minuten dasselbe:
- Alle 15 Minuten
- QuickBooks: Rechnungen der letzten 30 Minuten laden
- Rechnungs-E-Mail leer?Nur diese Rechnungen gehen weiter
- E-Mail vom QuickBooks-Kunden holen
- Sonst: HubSpot-Rechnung per Belegnummer finden, Kontakt-E-Mail nehmenFallback, wenn beim Kunden nichts hinterlegt ist
- Rechnungs-E-Mail eintragenNur dieses Feld, nur wenn eine Adresse gefunden wurde
- Optional: Rechnung aus QuickBooks sendenErst nach dem Testlauf aktiv
Das Zeitfenster von 30 Minuten überlappt sich bewusst mit dem Prüftakt von 15 Minuten. Fällt ein Lauf aus, holt der nächste die Rechnungen nach. Geschrieben wird per Sparse-Update, also nur das eine Feld. Alles andere auf der Rechnung bleibt unangetastet.
Der Fallback über HubSpot ist der Teil, der die Sache rund macht. Hat der QuickBooks-Kunde keine E-Mail hinterlegt, sucht der Workflow die HubSpot-Rechnung mit derselben Belegnummer, geht zum verknüpften Kontakt und nimmt dessen Adresse. Findet er auch dort nichts, schreibt er nichts. Eine leere Adresse zu schreiben wäre schlimmer als gar nichts zu tun.
Der automatische Versand ist ein eigener Schritt im Workflow und bleibt zunächst aus. Erst wenn ein paar Wochen lang die richtigen Adressen auf den richtigen Rechnungen stehen, wird er eingeschaltet.
Worauf Sie achten sollten, wenn Sie das nachbauen
- Sandbox zuerst. QuickBooks hat eine, nutzen Sie sie. Die Umstellung auf das Produktivsystem sollte am Ende zwei Werte in der Konfiguration sein: die Basis-URL und die Company-ID.
- Belegnummer als Schlüssel. Die DocNumber ist der zuverlässigste Join zwischen HubSpot-Rechnung und QuickBooks-Rechnung.
- Nie leer schreiben. Jeder Schritt, der etwas schreibt, braucht davor einen Filter, der prüft, ob es etwas zu schreiben gibt.
- Versand getrennt schalten. Dass eine Adresse stimmt und dass eine Rechnung rausgeht, sind zwei Entscheidungen.
- API-Version festhalten. QuickBooks ändert Feldverhalten zwischen Minor-Versionen. Ein fester Wert erspart Überraschungen.
Was danach möglich wird
Sobald der Workflow steht, ist der Weg von HubSpot nach QuickBooks offen. Wiederkehrende Rechnungen für Retainer lassen sich per API anlegen, direkt aus dem gewonnenen Deal, mit Intervall und Startdatum. Das ist bei diesem Kunden der nächste Schritt.
Wann sich das lohnt
Wenn Sie im Monat eine Handvoll Rechnungen aus HubSpot in QuickBooks anlegen, tragen Sie die Adresse nach. Ab etwa zwanzig, oder bei jedem wiederkehrenden Abrechnungsmodell, kostet die Handarbeit mehr als der Workflow. Und sie ist die Sorte Arbeit, die irgendwann jemand vergisst.
Eine Integration wie diese ist ein Schritt in einem größeren Projekt. Wie wir das ganze Projekt umsetzen, von der Entscheidung über jedes Feld bis zur Schulung des Teams, steht in HubSpot Implementierung: So läuft sie ab.