Du betrachtest gerade Zoho CRM, Books und Flow Integration für Event-Kontingent- und Rechnungsprozess Tutorial

Zoho CRM, Books und Flow Integration für Event-Kontingent- und Rechnungsprozess Tutorial

  • Beitrags-Autor:

Vom Event-Chaos zur System-Ordnung: Ein Deep Dive in Zoho CRM für die Ticket- und Kontingentverwaltung

Startest Du im Event-Management, in der Vermittlung von exklusiven Reisen oder im Handel mit limitierten Kontingenten, ist der Anfang oft von Tabellenkalkulationen wie Excel geprägt. Das funktioniert, solange die Prozesse überschaubar bleiben. Doch mit wachsendem Geschäft und mehr Teammitgliedern wird dieses System schnell zur Fehlerquelle: Doppelbuchungen, veraltete Preislisten und mangelnde Übersicht über verfügbare Kapazitäten sind die Folge. Genau hier setzt dieser Artikel an. Wir zeigen Dir, wie Du mit einem intelligent vernetzten Zoho-Ökosystem, insbesondere Zoho CRM als Herzstück, nicht nur Ordnung schaffst, sondern auch eine skalierbare Basis für zukünftiges Wachstum legst. Wir tauchen tief in die technischen Möglichkeiten ein und zeigen Dir, wie Du Zoho nicht als Insellösung, sondern als offene Plattform nutzt.

Praxisbeispiel: Die Herausforderung der Kontingentverwaltung im Event-Sektor

Stell Dir ein Unternehmen vor, das exklusive Tisch-Reservierungen für Großveranstaltungen wie das Oktoberfest, Tickets für Sporthighlights wie das Hahnenkamm-Rennen oder VIP-Logen bei Fußballspielen einkauft und mit einer Service-Marge weiterverkauft. Die Kernprozesse sind immer ähnlich, aber die Details sind komplex.

Die typischen Herausforderungen sind:

  • Inventar-Management: Welche Tische/Tickets sind verfügbar, welche sind reserviert, welche sind verkauft? Oft wird dies manuell in Listen gepflegt, was zu Doppelvergaben führt.
  • Dynamische Preisgestaltung: Wie werden Sonderkonditionen, Rabatte oder Aufschläge für Stammkunden oder Partner sauber dokumentiert und automatisch in der finalen Rechnung berücksichtigt?
  • Korrekte Rechnungsstellung: Insbesondere im Gastronomie- und Eventbereich gibt es oft komplexe steuerliche Anforderungen, wie die Aufteilung einer Pauschale auf verschiedene Umsatzsteuersätze (z.B. 7 % für Speisen, 19 % für Getränke).
  • Kommunikation im Team: Wie stellt man sicher, dass alle Mitarbeiter auf dem gleichen Stand sind und nicht versehentlich ein Kontingent anbieten, das bereits von einem Kollegen in Verhandlung ist?
  • Skalierbarkeit: Wie kann das System einfach auf neue Events oder Geschäftsfelder (z.B. weitere Sportarten, Konzerte) erweitert werden, ohne alles neu aufsetzen zu müssen?

Dieser Anwendungsfall schreit nach einer zentralisierten, automatisierten Lösung, die weit über eine einfache CRM-Implementierung hinausgeht.

Schritt-für-Schritt zur integrierten Lösung

Wir bauen nun ein System auf, das diese Herausforderungen adressiert, indem wir verschiedene Zoho Apps und externe Schnittstellen clever miteinander verknüpfen. Das Herzstück ist Zoho CRM, aber seine wahre Stärke entfaltet es erst im Zusammenspiel.

1. Das Fundament: Custom Modules in Zoho CRM

Der erste und wichtigste Schritt ist, die physische Realität deines Geschäftsmodells im CRM abzubilden. Standard-Module wie „Leads“ oder „Deals“ reichen hier nicht aus. Wir benötigen eigene Module.

  • Modul 1: „EK-Kontingente“ (Einkauf)
    Hier erfasst Du alles, was Du einkaufst. Für unser Beispiel wären das Tische oder Ticket-Pakete. Wichtige Felder sind:

    • Event-Name (z.B. „Wiesn 2026“, „Hahnenkamm-Rennen 2027“)
    • Kontingent-Details (z.B. „Tisch 14, Zelt X“, „Sitzplatz Block C, Reihe 5“)
    • Einkaufspreis
    • Verkaufspreis (Standard)
    • Status (Auswahlliste: Verfügbar, Angefragt, Verkauft, Storno)
    • Interne Notizen (Ein einfaches Textfeld, um manuelle Vermerke zu machen, z.B. „Angeboten an Firma Y seit 12.02.“)
  • Modul 2: „VK-Anfragen“ (Verkauf)
    Dieses Modul repräsentiert eine Kundenanfrage oder einen Verkauf. Es ist über ein Lookup-Feld direkt mit dem Modul „EK-Kontingente“ verknüpft.

    • Lookup auf EK-Kontingent (Wählt den spezifischen Tisch/Ticket aus)
    • Kunde (Lookup auf das Kontakte/Accounts-Modul)
    • Rechnungsempfänger (Lookup, falls abweichend vom Reservierungsnamen)
    • Sonderkonditionen (Ein Währungsfeld, in das Du positive oder negative Werte eintragen kannst)
    • Finaler Rechnungsbetrag (Ein Formelfeld oder ein per Deluge-Script berechnetes Feld)

Diese Struktur schafft sofort eine klare Trennung zwischen deinem Inventar und deinen Verkaufsaktivitäten und ist die Basis für alle weiteren Automatisierungen.

2. Preislogik mit Deluge automatisieren

Die manuelle Berechnung von Endpreisen ist fehleranfällig. Das Feld „Sonderkonditionen“ im VK-Anfragen-Modul ist der Schlüssel zur Automatisierung. Mit einem einfachen Deluge-Script, das als „Workflow-Regel bei Felder-Aktualisierung“ ausgeführt wird, kannst Du den finalen Preis automatisch berechnen lassen, sobald sich der Standardpreis oder die Sonderkondition ändert.


// Deluge Custom Function zur Berechnung des finalen Verkaufspreises
// Auslöser: Jedes Mal, wenn das Lookup-Feld zum Kontingent oder das Feld "Sonderkonditionen" bearbeitet wird.

void calculateFinalPrice(int anfrageId)
{
    // Anfrage-Datensatz abrufen
    anfrageRecord = zoho.crm.getRecordById("VK_Anfragen", anfrageId);
    
    // Zugehöriges Kontingent abrufen, um den Standard-VK zu bekommen
    kontingentId = anfrageRecord.get("EK_Kontingent").get("id");
    if(kontingentId != null)
    {
        kontingentRecord = zoho.crm.getRecordById("EK_Kontingente", kontingentId);
        standardPreis = ifnull(kontingentRecord.get("Verkaufspreis_Standard"), 0);
        
        // Sonderkonditionen abrufen (kann positiv oder negativ sein)
        sonderkonditionen = ifnull(anfrageRecord.get("Sonderkonditionen"), 0);
        
        // Finalen Preis berechnen
        finalerPreis = standardPreis + sonderkonditionen;
        
        // Den berechneten Preis zurück in das Anfrage-Feld schreiben
        updateMap = Map();
        updateMap.put("Finaler_Rechnungsbetrag", finalerPreis);
        updateResponse = zoho.crm.updateRecord("VK_Anfragen", anfrageId, updateMap);
        info updateResponse;
    }
}

Dieses Script sorgt dafür, dass alle Preisanpassungen dokumentiert sind und der Endpreis immer korrekt ist, ohne dass jemand einen Taschenrechner benutzen muss.

3. Automatisierte Rechnungsstellung mit Zoho Books und der API

Sobald eine Anfrage im CRM den Status „Verkauft“ erreicht, soll automatisch eine Rechnung in Zoho Books erstellt werden. Die Herausforderung hierbei ist die steuerliche Aufteilung. Angenommen, eine Pauschale von 1000 € muss in 70 % (Speisen, 7 % USt) und 30 % (Getränke, 19 % USt) aufgeteilt werden.

Dies lässt sich über eine Custom Function im CRM lösen, die die Zoho Books API direkt anspricht.


// Deluge Custom Function, die durch einen Workflow bei Status = "Verkauft" ausgelöst wird

void createInvoiceInBooks(int anfrageId)
{
    // Notwendige Daten aus dem CRM holen
    anfrageRecord = zoho.crm.getRecordById("VK_Anfragen", anfrageId);
    finalerPreis = anfrageRecord.get("Finaler_Rechnungsbetrag");
    kundeId = anfrageRecord.get("Kunde").get("id");
    kundenDaten = zoho.crm.getRecordById("Contacts", kundeId);
    booksCustomerId = kundenDaten.get("Zoho_Books_ID"); // Wichtig: ID muss synchronisiert sein!

    // Aufteilung berechnen (Beispiel: 70/30 Regel)
    anteilSpeisen = finalerPreis * 0.7;
    anteilGetraenke = finalerPreis * 0.3;

    // Line Items für die Books API vorbereiten
    lineItemsList = List();
    
    // Line Item 1: Speisen mit 7% USt
    item1 = Map();
    item1.put("name", "Speisen- & Servicepauschale");
    item1.put("rate", anteilSpeisen);
    item1.put("tax_id", "DEIN_7_PROZENT_STEUERSATZ_ID_AUS_BOOKS");
    lineItemsList.add(item1);

    // Line Item 2: Getränke mit 19% USt
    item2 = Map();
    item2.put("name", "Getränkepauschale");
    item2.put("rate", anteilGetraenke);
    item2.put("tax_id", "DEIN_19_PROZENT_STEUERSATZ_ID_AUS_BOOKS");
    lineItemsList.add(item2);

    // API Call an Zoho Books
    invoiceMap = Map();
    invoiceMap.put("customer_id", booksCustomerId);
    invoiceMap.put("line_items", lineItemsList);
    
    // Wichtig: 'organization_id' und 'connection_name' anpassen
    response = zoho.books.createRecord("invoices", "DEINE_ORGANIZATION_ID", invoiceMap, "zohobooks_connection");
    info response;
}

Wichtiger Hinweis: Die genaue steuerliche Behandlung solltest Du immer mit einem Steuerberater klären. Das Script zeigt nur die technische Umsetzbarkeit der Aufteilung.

4. Externe Anbindungen: Zapier, Webhooks und Zoho Flow

Dein Ökosystem endet nicht bei Zoho. Oft kommen Daten aus anderen Quellen oder müssen an externe Systeme gesendet werden.

  • Zoho Flow als Alternative zu Zapier: Wenn Du Daten aus externen Quellen wie Google Sheets, Typeform oder anderen Tools integrieren musst, ist Zoho Flow die native und leistungsstarke Lösung. Ein Flow könnte beispielsweise einen neuen Eintrag in einem Partner-Sheet überwachen und automatisch ein neues „EK-Kontingent“ im CRM anlegen.
  • Webhooks für Echtzeit-Benachrichtigungen: Sobald ein Tisch den Status „Verkauft“ erhält, könntest Du einen Webhook aus dem CRM an einen Zoho Cliq oder Slack-Kanal senden, um das Team in Echtzeit zu informieren. Der JSON-Payload könnte so aussehen:
    
    {
      "event": "kontingent.verkauft",
      "data": {
        "kontingent_name": "${EK_Kontingente.Name}",
        "kunde": "${Kontakte.Vorname} ${Kontakte.Nachname}",
        "verkauft_durch": "${Users.Full_Name}",
        "preis": "${VK_Anfragen.Finaler_Rechnungsbetrag}"
      }
    }
            

5. Zielgerichtetes Marketing mit Zoho Campaigns

Mit den sauberen Daten in deinem CRM wird Marketing zum Kinderspiel. Du kannst mit Zoho Campaigns hochgradig segmentierte Listen erstellen:

  • „Alle Kunden, die letztes Jahr Wiesn-Tische gekauft haben.“
  • „Alle Kontakte, die sich für Fußball interessieren, aber noch nie gebucht haben.“
  • „Alle VIP-Kunden mit einem Gesamtumsatz von über 10.000 €.“

Diese Segmente werden automatisch synchronisiert und ermöglichen Dir personalisierte Kampagnen, um z.B. Frühbucherrabatte für das nächste Event anzubieten.

Tipps und Best Practices

  • Pragmatisch starten, dann automatisieren: Die Lösung mit dem Feld „Interne Notizen“, um angebotene Tische manuell zu markieren, ist ein gutes Beispiel. Nicht jeder Prozess muss von Tag eins an vollautomatisiert sein. Eine einfache, diszipliniert genutzte Lösung kann oft besser sein als eine überkomplexe Automatisierung.
  • Benutzerfreundlichkeit (UI/UX) ist entscheidend: Dein Team muss das System annehmen. Nutze in Zoho CRM Layout-Regeln, um Felder auszublenden, die für bestimmte Benutzerrollen oder Prozessschritte nicht relevant sind. Eine aufgeräumte Maske erhöht die Akzeptanz und Datenqualität.
  • Skalierbarkeit von Anfang an denken: Die Entscheidung, separate Module für Kontingente und Anfragen zu erstellen und diese über ein Feld wie „Event-Name“ zu kategorisieren, macht das System zukunftssicher. Ein neues Event wie „FC Bayern Tickets“ erfordert lediglich neue Datensätze, keine grundlegende Änderung der Systemarchitektur.

Fazit: Mehr als nur ein CRM

Dieser Deep Dive zeigt, dass Zoho weit mehr ist als eine Ansammlung einzelner Apps. Durch die intelligente Kombination von Zoho CRM, Zoho Books und Automatisierungstools wie Deluge und Zoho Flow baust Du ein maßgeschneidertes Betriebssystem für dein Unternehmen. Du eliminierst manuelle Fehlerquellen, schaffst transparente Prozesse und legst eine datengetriebene Grundlage für Marketing und Vertrieb. Der Schlüssel liegt darin, die Logik Deines Geschäftsmodells sauber in der Software-Architektur abzubilden und die vorhandenen Schnittstellen (APIs, Webhooks) konsequent zu nutzen, um ein nahtloses, integriertes System zu schaffen.

Verwendete Zoho Apps in diesem Beispiel: