HubSpot Integration
VerfügbarE-Rechnungen aus gewonnenen HubSpot-Deals und Commerce-Hub-Rechnungen erzeugen – heute schon, ohne eigene Server. Verbinde HubSpot mit invoice-api.xhub über Zapier, Make.com, n8n oder die direkte API.
Heute verfügbar – natives HubSpot-Modul in Planung
Du kannst HubSpot schon jetzt anbinden – über Zapier, Make.com, n8n oder die direkte API mit HubSpot-Webhooks. Eine native HubSpot-Workflow-Action ist zusätzlich in Planung.
Warum invoice-api.xhub für HubSpot?
HubSpot (inkl. Commerce Hub) erstellt Rechnungen, ist aber – Stand 2026 – nicht EN-16931-konform: kein XRechnung, kein ZUGFeRD, kein Peppol. invoice-api.xhub schließt genau diese Lücke.
HubSpot rechnet, aber nicht konform
Commerce-Hub-Rechnungen sind PDF/HTML – ohne das strukturierte EN-16931-XML, das B2B- und B2G-Empfänger in Deutschland verlangen.
xhub macht daraus eine E-Rechnung
Aus einem gewonnenen Deal oder einer HubSpot-Rechnung wird eine KoSIT-validierte XRechnung oder ein ZUGFeRD/Factur-X-PDF – GoBD-konform archivierbar.
Ausgelöst durch deinen Deal-Flow
Die Deal-Stage „Gewonnen“ oder das Erstellen einer Rechnung startet den Workflow – per Connector oder HubSpot-Webhook.
E-Rechnungspflicht: die Fristen
Seit dem 01.01.2025 müssen deutsche Unternehmen E-Rechnungen empfangen können. Die Ausstellungspflicht greift gestaffelt: ab 01.01.2027 für Unternehmen über 800.000 € Umsatz, ab 01.01.2028 für alle. HubSpot-Rechnungen erfüllen das Format (Stand 2026) nicht – mit invoice-api.xhub bist du vorbereitet.
Was die Integration kann
EN-16931-konform
XRechnung 3.0.2 & ZUGFeRD 2.4, KoSIT-validiert.
Deal-getriggert
Startet bei gewonnenem Deal oder neuer HubSpot-Rechnung.
Kein Code nötig
Zapier, Make oder n8n – per Drag & Drop verbunden.
GoBD-konform
Revisionssichere 10-Jahre-Archivierung optional.
Wie funktioniert die Integration?
Eine Automatisierungs-Plattform – oder ein HubSpot-Webhook – sitzt zwischen HubSpot und invoice-api.xhub. Das Muster ist immer dasselbe:
Trigger: HubSpot-Event
Die Deal-Stage „Gewonnen“ oder eine neu erstellte HubSpot-/Commerce-Hub-Rechnung löst den Workflow aus.
Action: invoice-api.xhub aufrufen
Deal- und Kontaktfelder (Käufer, Positionen, USt.) werden an die Generate- oder Validate-Operation übergeben.
Result: zurück nach HubSpot
Die fertige XRechnung/ZUGFeRD wird als Datei am Deal hinterlegt, per E-Mail versendet oder via Peppol übermittelt.
Authentifizierung
Alle invoice-api.xhub-Endpunkte werden per Bearer-API-Key authentifiziert. Den Key erzeugst du in der Console und trägst ihn als Header ein:
1# Header für alle invoice-api.xhub-Requests2Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx3 4# sk_test_* → Sandbox / Test5# sk_live_* → Produktion6# Den Key erzeugst du in der Console.Vier Wege zur Anbindung
Vom schnellsten No-Code-Weg bis zur direkten API mit HubSpot-Webhooks – wähle, was zu deinem Stack passt.
Zapier
~10 MinSchnellster Weg ohne Code. HubSpot ist nativer Zapier-Trigger; „Webhooks by Zapier“ ruft invoice-api.xhub auf.
- 1
Trigger: HubSpot „Deal in Stage“ (Gewonnen) oder „New Invoice“
- 2
Action: „Webhooks by Zapier“ → POST an den Generate-Endpoint
- 3
Action: HubSpot – Datei am Deal anhängen oder E-Mail mit Anhang
1# Zapier: HubSpot Deal → XRechnung erzeugen2 3# 1. Trigger: HubSpot – "Deal in Stage" (z. B. "Closed Won")4# oder "New Invoice" (Commerce Hub)5 6# 2. Action: Webhooks by Zapier – Custom Request7# Method: POST8# URL: https://service.invoice-api.xhub.io/api/v1/invoice/de/xrechnung/generate9# Headers: Authorization: Bearer sk_live_xxx10# Content-Type: application/json11# Body:12{13 "invoice": {14 "invoiceNumber": "{{deal.id}}",15 "type": "invoice",16 "issueDate": "{{deal.closedate}}",17 "currency": "EUR",18 "seller": {19 "name": "Acme GmbH", "vatId": "DE123456789",20 "street": "Hauptstraße 1", "city": "Berlin",21 "postalCode": "10115", "countryCode": "DE"22 },23 "buyer": {24 "name": "{{company.name}}", "vatId": "{{company.vat_id}}",25 "street": "{{company.address}}", "city": "{{company.city}}",26 "postalCode": "{{company.zip}}", "countryCode": "DE"27 },28 "items": [{29 "position": 1, "description": "{{deal.dealname}}",30 "quantity": 1, "unit": "C62", "unitPrice": {{deal.amount}},31 "taxRate": 19, "netAmount": {{deal.amount}},32 "taxAmount": {{deal.tax}}, "grossAmount": {{deal.total}}33 }],34 "subtotal": {{deal.amount}}, "total": {{deal.total}},35 "taxSummary": [{ "taxRate": 19, "netAmount": {{deal.amount}}, "taxAmount": {{deal.tax}} }],36 "paymentTerms": { "dueDays": 30 }37 }38}39 40# 3. Action: HubSpot – Datei/Notiz am Deal (oder Gmail mit Anhang)Make.com
~15 MinVisueller Builder mit EU-Rechenzentren. HubSpot „Watch Deals/Invoices“ als Trigger, HTTP-Modul ruft xhub auf.
- 1
Modul 1: HubSpot CRM „Watch Deals“ (Stage = closedwon)
- 2
Modul 2: HTTP – POST an invoice-api.xhub (Authorization: Bearer …)
- 3
Modul 3: HubSpot „Upload a File“ – Ergebnis am Deal speichern
1// Make.com: HubSpot → ZUGFeRD erzeugen2 3// Modul 1: HubSpot CRM – "Watch Deals" (Stage = closedwon)4// oder "Watch Invoices"5 6// Modul 2: HTTP – Make a request7{8 "url": "https://service.invoice-api.xhub.io/api/v1/invoice/de/zugferd/generate",9 "method": "POST",10 "headers": [11 { "name": "Authorization", "value": "Bearer sk_live_xxx" },12 { "name": "Content-Type", "value": "application/json" }13 ],14 "body": {15 "invoice": {16 "invoiceNumber": "{{1.dealId}}",17 "type": "invoice",18 "issueDate": "{{1.closeDate}}",19 "currency": "EUR",20 "seller": { "name": "Acme GmbH", "vatId": "DE123456789",21 "street": "Hauptstraße 1", "city": "Berlin",22 "postalCode": "10115", "countryCode": "DE" },23 "buyer": { "name": "{{1.companyName}}", "vatId": "{{1.vatId}}",24 "street": "{{1.street}}", "city": "{{1.city}}",25 "postalCode": "{{1.zip}}", "countryCode": "DE" },26 "items": [{ "position": 1, "description": "{{1.dealName}}",27 "quantity": 1, "unit": "C62", "unitPrice": "{{1.amount}}",28 "taxRate": 19, "netAmount": "{{1.amount}}",29 "taxAmount": "{{1.tax}}", "grossAmount": "{{1.total}}" }],30 "subtotal": "{{1.amount}}", "total": "{{1.total}}",31 "taxSummary": [{ "taxRate": 19, "netAmount": "{{1.amount}}", "taxAmount": "{{1.tax}}" }],32 "paymentTerms": { "dueDays": 30 }33 }34 }35}36 37// Modul 3: HubSpot – "Upload a File" / Notiz am Dealn8n
~20 MinSelf-hostbar mit nativem invoice-api.xhub Community Node. Volle Kontrolle über Logik und Daten.
- 1
Node 1: HubSpot Trigger – Deal-Stage geändert zu „closedwon“
- 2
Node 2: Invoice-api.xhub (Community Node) – Operation „Generate“
- 3
Node 3: HubSpot-Node – Datei am Deal aktualisieren
1# n8n: HubSpot Deal → E-Rechnung2 3# Node 1: HubSpot Trigger4# Event: Deal – Stage geändert zu "closedwon"5# (oder Webhook-Node + HubSpot-Workflow-Webhook)6 7# Node 2: HubSpot – Get Company/Contact (Käuferdaten anreichern)8 9# Node 3: Invoice-api.xhub (Community Node)10# Operation: Generate11# Country: de12# Format: xrechnung13# Invoice JSON: {{ $json }}14 15# Node 4: HubSpot – Datei am Deal anhängen / E-Mail senden16 17# Community Node installieren:18# Settings → Community Nodes → Install → n8n-nodes-invoice-api-xhubDirekte API + HubSpot-Webhooks
DirektFür Entwickler-Teams: HubSpot-Webhook-Subscriptions (dealstage, invoice.creation) treffen deinen Endpoint, der xhub aufruft und die Datei via HubSpot Files API zurückschreibt.
- 1
HubSpot-Webhook auf deal.propertyChange (dealstage) / object.creation abonnieren
- 2
Endpoint ruft invoice-api.xhub Generate auf
- 3
Ergebnis via HubSpot Files/CRM API am Deal speichern
1# Direkte API mit HubSpot-Webhooks (für Entwickler)2 3# 1. HubSpot-Webhook abonnieren (HubSpot App → Webhooks)4# Subscription: deal.propertyChange (property: dealstage)5# oder: object.creation (objectType: invoice)6# Ziel-URL: https://deine-app.example/webhooks/hubspot7 8# 2. In deinem Endpoint invoice-api.xhub aufrufen:9curl -X POST https://service.invoice-api.xhub.io/api/v1/invoice/de/zugferd/generate \10 -H "Authorization: Bearer sk_live_xxx" \11 -H "Content-Type: application/json" \12 -d @invoice.json13# → { "success": true, "format": "zugferd", "mimeType": "application/pdf",14# "filename": "INV-2025-001.pdf", "data": "JVBERi0x..." }15 16# 3. Ergebnis via HubSpot Files API am Deal/Kontakt ablegen:17# POST https://api.hubapi.com/files/v3/filesHubSpot Commerce Hub allein vs. + invoice-api.xhub
Was HubSpot von Haus aus leistet – und was invoice-api.xhub ergänzt (Stand 2026).
| Eigenschaft | HubSpot Commerce Hub | HubSpot + invoice-api.xhub |
|---|---|---|
| CRM & Deal-Pipeline | ||
| Rechnung erstellen | ||
| EN-16931 / XRechnung-XML | — | |
| ZUGFeRD / Factur-X | — | |
| KoSIT-Validierung | — | |
| Peppol-Versand | — | |
| GoBD-Archivierung | — | |
| Länder-Formate | 1 | 28 |
Typische Anwendungsfälle
So nutzen HubSpot-Teams invoice-api.xhub.
E-Rechnung bei gewonnenem Deal
Erreicht ein Deal die Stage „Gewonnen“, wird automatisch eine XRechnung erzeugt und am Deal hinterlegt.
- 1Trigger: HubSpot – Deal-Stage „Gewonnen“
- 2Action: invoice-api.xhub → Generate (XRechnung / ZUGFeRD)
- 3Action: HubSpot – Datei am Deal anhängen, E-Mail an den Kontakt
Commerce-Hub-Rechnung → XRechnung
Jede neue Commerce-Hub-Rechnung wird in eine EN-16931-konforme XRechnung/ZUGFeRD umgewandelt und an den Kunden versendet.
- 1Trigger: HubSpot – neue Rechnung in Commerce Hub
- 2Action: invoice-api.xhub → Generate (Format je Empfänger)
- 3Action: E-Mail mit konformer E-Rechnung oder Peppol-Versand
Eingehende Rechnungen prüfen
Per E-Mail eingehende E-Rechnungen werden gegen KoSIT-Schemas validiert; das Ergebnis landet als Notiz/Property am Kontakt.
- 1Trigger: E-Mail-Anhang empfangen (Zapier/Make/n8n)
- 2Action: invoice-api.xhub → Validate
- 3Action: HubSpot – Property „Validiert“ + Fehler am Kontakt setzen
Natives HubSpot-Modul – in Planung
Eine native HubSpot-Workflow-Action und ein Marketplace-Listing stehen auf unserer Roadmap. Bis dahin deckst du jeden Anwendungsfall bereits mit den vier Wegen oben ab. Interesse? Sag uns Bescheid – wir priorisieren nach Nachfrage.
Häufige Fragen
HubSpot + E-Rechnung – kurz erklärt.