/

Automatisierung

Die Automatisierung ermöglicht es Ihnen, Regeln zu erstellen, die automatisch Aktionen auslösen. Sie können Workflows einrichten, Bedingungen für die Ausführung definieren und Aktionen wie E-Mail-Benachrichtigungen, in-app-Benachrichtigungen, Feldaktualisierungen, Webhooks und benutzerdefinierte Funktionen verknüpfen. Außerdem können Sie Workflows planen und Protokolle der ausgeführten Workflows anzeigen.


Workflow-Regeln

Sie können Aufgaben wie E-Mails senden, Felder aktualisieren oder Webhooks oder benutzerdefinierte Funktionen auslösen, indem Sie in Zoho Books Workflow-Regeln erstellen. Die Workflow-Regel wird automatisch ausgelöst, sobald die Bedingungen erfüllt sind.

Szenario: John möchte automatisch eine Dankes-E-Mail mit Rabattkupon an Kunden senden, sobald diese eine Bestellung abgeschlossen haben. Dazu erstellt er in Zoho Books eine Workflow-Regel, sodass die Regel beim Abschluss der Zahlung durch den Kunden ausgelöst wird, eine E-Mail-Benachrichtigung gesendet wird und John dadurch Zeit und Aufwand spart.


Neue Workflow-Regel erstellen

Um eine neue Workflow-Regel zu erstellen:

  • Gehe zu Einstellungen.
  • Wählen Sie unter Automatisierung Workflow-Regeln aus.
  • Klicken Sie in der oberen rechten Ecke auf + Neue Workflow-Regel.
  • Im Popup „Neue Workflow-Regel“ füllen Sie die folgenden Felder aus:
    • Name der Workflow-Regel: Geben Sie einen Namen für die Workflow-Regel ein.
    • Beschreibung: Fügen Sie eine Beschreibung hinzu, wenn nötig.
    • Modul: Wählen Sie das Modul für die Workflow-Regel aus dem Dropdown-Menü aus.

Hinweis: Sie können Workflow-Regeln für die folgenden Module erstellen:

  • Verkauf
  • Einkäufe
  • Zeitverfolgung
  • Kontakte
  • Banktransaktionen
  • Buchhalter
  • Aufgaben
  • Artikel
  • Lageranpassungen
  • Zahlungsbatches
  • Lieferanten-Batch-Zahlungen
  • Klicken Sie auf Weiter.
  • Unter AUSFÜHRUNGSKRITERIEN DER WORKFLOW-REGEL füllen Sie die folgenden Felder aus:
    • Workflow-Typ: Wählen Sie entweder ereignisbasiert oder zeitbasiert aus.
    • Aktionstyp: Wählen Sie den Aktionstyp aus, der die Workflow-Regel auslöst.
    • Ausführen, wenn: Wählen Sie die Aktionen aus, die die Workflow-Regel auslösen (Bearbeiten, bearbeitet oder erstellt).
    • Ausführen, wenn das Dokument: Wählen Sie entweder erstmals bearbeitet oder jedes Mal bearbeitet aus.

Hinweis: Die Felder Ausführen, wenn und Ausführen, wenn das Dokument werden nur angezeigt, wenn der Aktionstyp auf Bearbeitet oder Bearbeitet oder erstellt gesetzt ist.

  • Klicken Sie auf Weiter.
  • Klicken Sie auf + Neue Kriterien um eine neue Kriterien-Regel für die Workflow-Regel zu erstellen:
  • Klicken Sie in der rechten Seitenleiste auf Ja, um Kriterien hinzuzufügen, oder auf Nein, um sie zu überspringen.
  • Wählen Sie ein Feld, einen Vergleichsoperator und geben Sie den erforderlichen Wert ein.
  • Klicken Sie auf + Kriterium hinzufügen oder auf +, um zusätzliche Kriterien hinzuzufügen, wenn nötig.
  • Wenn Sie mehrere Kriterien hinzufügen, wählen Sie aus dem Dropdown-Menü entweder UND oder ODER aus, abhängig davon, wie die Kriterien funktionieren sollen. Sie können die Kriterienmuster auch manuell im Feld Kriterienmuster eingeben.
  • Sobald Sie die erforderlichen Kriterien hinzugefügt haben, klicken Sie auf Fertig.
  • Fügen Sie Aktionen hinzu, indem Sie aus den folgenden Optionen wählen:
    • + Sofortige Aktionen: Führt Aktionen sofort aus, sobald die Kriterien erfüllt sind.
      • In der rechten Seitenleiste wählen Sie im Dropdown „Typ“ die gewünschte Art der Workflow-Aktion aus. Danach wählen Sie im Dropdown „Name“ die bereits erstellte und konfigurierte Workflow-Aktion aus oder klicken Sie auf + Neue %Workflow-Aktion% im Dropdown, um eine neue Workflow-Aktion hinzuzufügen.
      • Klicken Sie auf + Neue Aktion hinzufügen, um weitere Aktionen hinzuzufügen, wenn nötig.
      • Klicken Sie auf Verknüpfen, um die Aktionen mit den Kriterien zu verknüpfen.
    • + Zeitbasierte Aktionen: Führt Aktionen basierend auf der geplanten Zeit aus.
      • In der rechten Seitenleiste geben Sie im Feld Ausführungszeit die Zeit ein, zu der die Aktion ausgeführt werden soll.
      • Wählen Sie im Dropdown „Typ“ die gewünschte Art der Workflow-Aktion aus. Danach wählen Sie im Dropdown „Name“ die bereits erstellte und konfigurierte Workflow-Aktion aus oder klicken Sie auf + Neue %Workflow-Aktion% im Dropdown, um eine neue Workflow-Aktion hinzuzufügen.
      • Klicken Sie auf + Neue Aktion hinzufügen, um weitere Aktionen hinzuzufügen, wenn nötig.
      • Klicken Sie auf Verknüpfen, um die Aktionen mit den Kriterien zu verknüpfen.
  • Klicken Sie auf Speichern, um die Workflow-Regel zu finalisieren und zu speichern. Jetzt, sobald Sie die Workflow-Regel erstellt haben, wird die Regel ausgeführt, sobald ein Ereignis auftritt, das mit dem ausgelösten Ereignis in der Workflow-Regel übereinstimmt, und die spezifizierte Aktion erfolgt.

Hinweis: Sie können bis zu 10 Kriterien für eine Workflow-Regel erstellen und innerhalb jedes Kriteriums bis zu 10 Kriterien hinzufügen.


Andere Aktionen in Workflow-Regeln

Die Reihenfolge der Workflow-Regeln ändern

Wenn Sie bestimmte Workflow-Regeln am Anfang der List View-Seite oder in einer bestimmten Reihenfolge anzeigen möchten, können Sie diese neu ordnen. So geht es:

  • Gehe zu Einstellungen.
  • Wählen Sie unter Automatisierung Workflow-Regeln aus.
  • Wählen Sie das Modul aus, in dem Sie die Reihenfolge der Workflow-Regeln ändern möchten, indem Sie das Dropdown-Menü für das Modul auswählen.
  • Klicken Sie in der oberen rechten Ecke auf Reihenfolge ändern.
  • Wählen Sie nun die Regeln aus und ordnen Sie diese nach Ihren Vorlieben neu an.
  • Nachdem Sie die erforderliche Reihenfolge geändert haben, klicken Sie auf Reihenfolge speichern.

Eine Workflow-Regel bearbeiten

  • Gehe zu Einstellungen.
  • Wählen Sie unter Automatisierung Workflow-Regeln aus.
  • Bewegen Sie den Mauszeiger über die Workflow-Regel, die Sie bearbeiten möchten, und klicken Sie auf Bearbeiten.
  • Machen Sie Ihre Änderungen und klicken Sie auf Speichern.

Eine Workflow-Regel klonen

Wenn Sie eine neue Workflow-Regel benötigen, die die gleichen Details wie eine bestehende Workflow-Regel enthält, können Sie die bestehende Regel klonen. So geht es:

  • Gehe zu Einstellungen.
  • Wählen Sie unter Automatisierung Workflow-Regeln aus.
  • Bewegen Sie den Mauszeiger über die Workflow-Regel, die Sie klonen möchten, klicken Sie auf das Dropdown-Menü rechts und wählen Sie Klonen.
  • Auf der Seite Neue Workflow-Regel überprüfen Sie die geklonten Details.
  • Überprüfen Sie die ARBEITSSCHRIFF-REGEL-AUSFÜHRUNGSBEDINGUNGEN und klicken Sie auf Aktualisieren.
  • Klicken Sie auf Speichern.

Eine Workflow-Regel als inaktiv markieren

Wenn Sie eine Workflow-Regel für eine Weile nicht verwenden werden, aber sie für zukünftige Nutzung beibehalten möchten, können Sie sie als inaktiv markieren, anstatt sie zu löschen. Um sie als inaktiv zu markieren:

  • Gehe zu Einstellungen.
  • Wählen Sie unter Automatisierung Workflow-Regeln aus.
  • Bewegen Sie den Mauszeiger über die Workflow-Regel, die Sie als inaktiv markieren möchten, klicken Sie auf das Dropdown-Menü rechts und wählen Sie Als inaktiv markieren.

Benachrichtigungs-Einstellungen für Workflow-Regeln konfigurieren

Einblick:

  • Sie können einen Workflow-Alarm bis zu 500 Mal pro Tag auslösen.
  • Admins erhalten auch in-app-Benachrichtigungen, wenn ein Workflow-Aktion die spezifizierte Schwelle überschreitet.

Sie können tägliche Grenzwerte für Workflow-Alarm-Auslöser festlegen und E-Mail-Empfänger hinzufügen, um Benachrichtigungen zu erhalten, wenn die tägliche Schwelle erreicht wird. Sie können auch konfigurieren, wie Sie bei einem fehlgeschlagenen Workflow-Regel-Fehler-Protokoll-Benachrichtigungen erhalten. So konfigurieren Sie:

  • Gehe zu Einstellungen.
  • Wählen Sie unter Automatisierung Workflow-Regeln aus.
  • Klicken Sie in der oberen rechten Ecke auf Benachrichtigungs-Einstellungen konfigurieren.
  • In dem Popup Benachrichtigungs-Einstellungen konfigurieren füllen Sie die folgenden Felder aus:
    • Verwendungsgrenzwert-Benachrichtigungen: Wählen Sie eine Schwelle aus, um Benachrichtigungen für Workflow-Aktionen wie E-Mail-Alarme, Webhooks und benutzerdefinierte Funktionen zu senden.
    • Fehlerprotokoll-Benachrichtigungen: Wählen Sie die Häufigkeit und die Zeit für Benachrichtigungen aus und geben Sie die E-Mail-Empfänger an, die bei Bedarf die Fehlerprotokoll-Updates erhalten.
  • Klicken Sie auf Speichern.

Eine Workflow-Regel löschen

  • Gehe zu Einstellungen.
  • Wählen Sie Workflow-Regeln unter Automatisierung aus.
  • Bewegen Sie den Mauszeiger über die Workflow-Regel, die Sie löschen möchten, klicken Sie auf das Dropdown-Menü rechts und wählen Sie Workflow-Regel löschen.
  • Klicken Sie im folgenden Popup auf Ja, um zu bestätigen.

Workflow-Aktionen

E-Mail-Benachrichtigungen

Die folgenden Schritte erklären, wie Sie eine E-Mail-Benachrichtigung für jedes Modul in Zoho Books einrichten können.

Erstellen einer neuen E-Mail-Benachrichtigung:
Um eine E-Mail-Benachrichtigung einzurichten, navigieren Sie zu  > Automatisierung > E-Mail-Benachrichtigungen und klicken Sie auf + Neue E-Mail-Benachrichtigung.

Neue E-Mail-Benachrichtigung

FeldBeschreibung
NameGeben Sie einen einzigartigen Namen für die E-Mail-Benachrichtigung ein.
ModulWählen Sie das Modul aus, für das Sie eine E-Mail-Benachrichtigung erstellen möchten.
E-Mail-VorlageSie können eine Vorlage aus dem Dropdown-Menü auswählen oder auf + Neue E-Mail-Vorlage hinzufügen klicken, wenn Sie eine neue Vorlage erstellen möchten.
email temp drop
EmpfängerWählen Sie aus dem Dropdown-Menü Kontakte aus, an die Sie die E-Mail-Benachrichtigungen senden möchten.
Zusätzliche EmpfängerWenn Sie E-Mail-Benachrichtigungen an weitere Personen senden möchten, geben Sie ihre E-Mail-Adressen mit Komma getrennt ein. Bitte beachten Sie, dass Sie maximal 10 zusätzliche Empfänger hinzufügen können.

Klicken Sie auf Speichern, um eine neue E-Mail-Benachrichtigung zu erstellen. Sie können nun aus dem Dropdown-Menü eine der vielen bereits erstellten E-Mail-Benachrichtigungen auswählen, um Benachrichtigungen zu erhalten, wenn ein Workflow ausgelöst wird.

Andere Aktionen in E-Mail-Benachrichtigungen

Löschen einer E-Mail-Benachrichtigung:
Um eine E-Mail-Benachrichtigung zu löschen, bewegen Sie den Mauszeiger neben einer E-Mail-Benachrichtigung in der Liste und klicken Sie auf das Löschen-Icon.

E-Mail-Benachrichtigung löschen

Filtern von E-Mail-Benachrichtigungen:
Um die Liste der E-Mail-Benachrichtigungen zu filtern, folgen Sie diesen Schritten:

  • Navigieren Sie zu  > Automatisierung > E-Mail-Benachrichtigungen.
  • Unter Modul wählen Sie aus dem Dropdown-Menü das Modul aus, für das die E-Mail-Benachrichtigung erstellt wurde.

Je nach Ihrer Auswahl werden die entsprechenden E-Mail-Benachrichtigungen als Liste angezeigt.

Filter E-Mail-Benachrichtigung

Hinweise:

  • Sie können pro Workflow-Regel maximal 5 E-Mail-Benachrichtigungen erstellen.
  • Pro Tag können maximal 500 E-Mail-Benachrichtigungen ausgelöst werden.
In-App-Benachrichtigungen

Zoho Books ermöglicht es Ihnen, in-App-Benachrichtigungen zu erstellen, um Ihre Benutzer über einen Ereignis oder eine bedeutende Aktivität in Ihrer Organisation zu informieren. Sie können diese für alle Module einrichten und bestimmen, wann die Benachrichtigung ausgelöst werden soll.

Szenario: Angenommen, das Verkaufsteam hat in Ihrer Organisation einen Verkauf im Wert von 100000 erzielt. Nicht alle Admins und Benutzer der Organisation sind davon erfahren. Die Auslösung einer in-App-Benachrichtigung für Rechnungen, deren Gesamtbetrag über dem durchschnittlichen Verkaufsvalue der Organisation liegt, hätte alle Benutzer der Organisation benachrichtigt.

Ebenso können Sie eine Workflow-Regel einrichten, um in-App-Benachrichtigungen für Ihre Organisation auszulösen. Hier ist das Vorgehen:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.

  • Wählen Sie unter Automation Workflow Actions aus.

  • Wählen Sie im Bereich Workflow Actions In-app Notifications aus.

  • Klicken Sie in der oberen rechten Ecke auf + New In-app Notification.

  • Auf der Seite New In-app Notification:

    • Erstellen Sie eine neue Workflow-Regel, indem Sie einen Name eingeben und das Modul auswählen.
    • Wählen Sie wann die Benachrichtigung ausgelöst werden soll – Event Based oder Date Based.
    • Legen Sie Filter und **Kriterien für den Workflow fest und klicken Sie auf Next.

    Workflow

    • Wählen Sie den Action Type als In-app Notifications aus.
    • Erstellen Sie eine neue Benachrichtigung, indem Sie auf + New In-app Notification unter Sale klicken.

    New Notification

    • Aktivieren Sie die Option, um zeitbasierte Aktionen hinzuzufügen, und wählen Sie den Zeitpunkt aus, zu dem die Aktion ausgeführt werden soll.
    • Legen Sie die Kriterien fest und klicken Sie auf Save.

Set Criteria

Die nächste Zeit, wenn die Aktion ausgelöst wird, werden die ausgewählten Empfänger über das Bell-Symbol benachrichtigt. Klicken Sie darauf, um die Details anzuzeigen.

Notification


Feldaktualisierungen

Die Option Field Updates ermöglicht es, automatisch Änderungen an einem Feld eines bestimmten Moduls vorzunehmen, wenn ein Workflow ausgelöst wird. Zum Beispiel können Sie die Ablaufdatum eines Angebots automatisch auf den 30. Juni 2015 setzen, wenn der Gesamtbetrag größer oder gleich 500 $ ist. In diesem Fall wird das Feld Expiry Date auf das oben genannte Datum gesetzt, wenn das Feld Total “>=” 500 ist.

Um eine Feldaktualisierung einzurichten:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wählen Sie unter Automation Workflow Actions aus.
  • Wählen Sie im Bereich Workflow Actions Field Updates aus.
  • Klicken Sie in der oberen rechten Ecke auf + New Field Update.
  • Auf der Seite New Field Update geben Sie die folgenden Angaben ein:

New Field Update

FeldBeschreibung
NameGeben Sie einen eindeutigen Namen für die Feldaktualisierung ein.
ModulWählen Sie ein Modul aus, für das Sie eine Feldaktualisierung erstellen möchten.
AktualisierenWählen Sie das Feld aus, in dem Sie Änderungen vornehmen möchten, wenn ein Workflow ausgelöst wird, aus dem Dropdown-Menü.
-Referenz
-Ablaufdatum
-Verkäufer
-Notizen
-Bedingungen
-Anpassungsbeschreibung
Geben Sie den Wert des Feldes in das entsprechende Feld ein. Wenn Sie das Feld mit einem leeren Wert aktualisieren möchten, aktivieren Sie die Option Update with empty value?.
Update Empty Value
  • Klicken Sie auf Save, um eine neue Feldaktualisierung zu erstellen. Sie können nun eine der vielen erstellten Feldaktualisierungen auswählen, um Änderungen vorzunehmen, wenn ein Workflow ausgelöst wird.

Andere Aktionen in Feldaktualisierungen

Feldaktualisierung löschen

Um eine Feldaktualisierung zu löschen:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wählen Sie unter Automation Workflow Actions aus.
  • Wählen Sie im Bereich Workflow Actions Field Updates aus.
  • Bewegen Sie den Mauszeiger über die Feldaktualisierung, die gelöscht werden soll, und klicken Sie auf das Löschen-Icon.

Delete Field Update

Filtern von Feldaktualisierungen

Um Feldaktualisierungen zu filtern:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wählen Sie unter Automatisierung Workflow-Aktionen aus.
  • Im Bereich Workflow-Aktionen wählen Sie Feldaktualisierungen aus.
  • Unter Modul wählen Sie ein Modul aus dem Dropdown-Menü aus, für das die Feldaktualisierung erstellt wurde.

Je nach Auswahl werden die entsprechenden Feldaktualisierungen als Liste angezeigt.

Filter Feldaktualisierung

Hinweis: Für jedes Workflow-Regel können Sie maximal 3 Feldaktualisierungen erstellen.


Webhooks

Webhooks ermöglichen die Kommunikation mit externen Anwendungen, indem sie sofortige Web-Benachrichtigungen senden, sobald ein Ereignis in Zoho Books auftritt. Mit Webhooks können Sie HTTP- und HTTPS-URLs konfigurieren und diese mit Workflow-Regeln verknüpfen, um den Benachrichtigungsprozess zu automatisieren. Lesen Sie unsere Hilfedokumentation zu Webhook-Beispielen, um zu erfahren, wann und wie Sie Webhooks verwenden können.

Für allgemeine Informationen zu Webhooks besuchen Sie webhooks.org.

Ein Webhook erstellen

Um einen Webhook zu konfigurieren:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wählen Sie unter Automatisierung Workflow-Aktionen aus.
  • Im Bereich Workflow-Aktionen wählen Sie Webhooks aus.
  • Klicken Sie in der oberen rechten Ecke auf + Neuer Webhook.
Klicken Sie auf + Neuer Webhook
  • Geben Sie auf der Seite Neuer Webhook die folgenden Angaben ein:
    • Geben Sie einen Namen für den Webhook in das Feld Name ein.
    • Wählen Sie das Modul aus, für das Sie den Webhook erstellen möchten, aus dem Dropdown-Menü neben dem Feld Modul.
    • Fügen Sie eine Beschreibung zum Webhook im Feld Beschreibung ein, falls erforderlich.
Seite Neuer Webhook
  • Geben Sie in dem Feld URL & Parameter die HTTP-Methode ein und geben Sie die URL der externen Anwendung ein. Die verfügbaren HTTP-Methoden in Zoho Books sind unten aufgeführt:

    • Post: Anfragen, bei denen die gesendeten Daten als neue Daten betrachtet werden müssen
    • Put: Anfragen, bei denen die gesendeten Daten als aktualisierte Version der bereits vorhandenen Daten betrachtet werden müssen
    • Delete: Anfragen, bei denen die Daten gelöscht werden müssen.

Hinweis: Wenn Sie eine Portnummer im Feld URL & Parameter angeben möchten, unterstützt Zoho Books nur die Portnummern 80 und 443.

Sie können zusätzliche Abfrageparameter hinzufügen, indem Sie auf Parameter hinzufügen klicken und die erforderlichen Werte in den Feldern Schlüssel und Wert eingeben. Sie können benutzerdefinierte Parameter wie Auth-Token, Sicherheits-Token, API-Schlüssel usw. hinzufügen.

URL und Parameter
  • Aktivieren Sie die Option Ich möchte diesen Webhook sichern, wenn Sie Ihren Webhook sichern möchten. Geben Sie den Geheimschlüssel im Feld Geheimes Token ein. Dies hilft, zu überprüfen, ob der Webhook von Zoho Books gesendet wurde. Der Geheimschlüssel muss alphabetisch-numerisch sein und zwischen 12 und 50 Zeichen lang sein.

Hinweis: Sie können den Geheimschlüssel später nicht bearbeiten oder ansehen.

Secret Token

Notiz: Der Geheimschlüssel wird verwendet, um einen Hash-Wert zu berechnen, daher müssen Sie sicherstellen, dass der gleiche Schlüssel auf Ihrem Server verfügbar ist, um einen ähnlichen Hash-Wert zu berechnen.

  • Im Abschnitt „Headers“ können Sie beliebige zusätzliche Informationen einbeziehen, die im HTTP-Anfrage enthalten sein sollen. Klicken Sie auf + Neuen Header hinzufügen, wenn Sie zusätzliche Header hinzufügen möchten.
Headers
  • Im Abschnitt „Authorization Type“ wählen Sie, wie Sie den Webhook autorisieren möchten.

    • Self-Authorization: Wählen Sie diese Option aus, um Ihren Webhook manuell mit den Autorisierungsdetails zu konfigurieren.
    • Connections: Wählen Sie diese Option aus, um Ihren Webhook über eine Verbindung zu konfigurieren. Lesen Sie unsere Hilfedokumentation zu „Connections“, um zu erfahren, wie Sie Verbindungen erstellen.
Authorization Type
  • Im Abschnitt „Body“ wählen Sie, wie die Daten gesendet werden sollen. Sie können aus den folgenden Body-Parametern wählen:

    • Default Payload: Im Standard-Payload-Format werden alle mit dem Modul verknüpften Parameter im Anfragekörper im Content-Type application/json gesendet.
    • form-data: Die Daten werden als Text oder als Dateien gesendet. Wenn Sie Datei wählen, werden die benutzerdefinierten Felder für die Anhangart, die in dem Modul erstellt wurden, für das Webhook erstellt wurden, in der Dropdown-Liste angezeigt.
    • x-www-form-urlencoded: Im x-www-form-urlencoded-Format werden die Daten kodiert und an den Server gesendet.
    • Raw: Im Rohformat können Sie die Parameter im Anfragekörper auswählen. Der Content-Type wird auf application/json gesetzt.
Body
  • Klicken Sie auf Speichern und Ausführen, um zu überprüfen, ob der Webhook ordnungsgemäß funktioniert, oder klicken Sie auf Speichern, wenn Sie die Ausführung später durchführen möchten.

Notiz: Wenn Sie Webhooks einrichten, werden alle Kontaktdaten Ihrer Zoho Books-Organisation (Name, Telefonnummer, Adresse und E-Mail-Adresse) an die URL weitergegeben, die Sie benachrichtigen möchten.

Webhook-Beispiele

Um Ihnen zu helfen, zu verstehen, wie Webhooks in Zoho Books funktionieren, haben wir einige Beispiele aufgeführt. Diese geben Ihnen einen klaren Überblick darüber, wie Webhooks in Ihrem Geschäft eingesetzt werden können.

Ihre Webhooks sichern

Die Sicherung Ihrer Webhooks kann helfen, zu überprüfen, ob die Webhooks tatsächlich von Zoho Books stammen. Dazu müssen Sie Ihren Server so einrichten, dass er Webhooks von Zoho Books empfängt. Wenn Ihr Server einen Webhook von Zoho Books erhält, muss ein Hash-Wert basierend auf dem Payload und Ihrem Geheimschlüssel generiert werden. Sobald dies erfolgt, wird überprüft, ob er mit dem Hash-Wert von Zoho Books übereinstimmt, und so die Quelle des Webhooks validiert. Dies kann eine zusätzliche Sicherheit schaffen, indem Ihr Server Webhooks von Dritten ablehnt, die sich als von Zoho Books stammend ergeben.

Webhooks validieren

Wenn Ihr Server das Webhook-Ereignis empfängt, muss ein Hash-Wert für den Payload in derselben Weise wie Zoho Books generiert werden. Dies ist notwendig, um denselben Hash-Wert zu erzeugen, um das Webhook-Ereignis zu validieren.

Folgende Parameter (falls vorhanden) werden verwendet, um den Hash-Wert zu generieren:

  • Query-String-Parameter.
  • Standard-Payload oder kundenspezifischer Roh-JSON-Payload.
  • x-www-form-urlencoded-Payload (Key-Value-Paare).

Bauen Sie eine Zeichenkette durch Sortierung der Key-Value-Paare des Payloads alphabetisch auf. Die Paare müssen alphabetisch nach ihren Keys sortiert werden.

Hinweis

  • Wenn Ihr Webhook Query-String-Parameter enthält, stellen Sie sicher, dass diese Key-Value-Paare zusammen mit den Key-Value-Paaren des Payloads sortiert werden.
  • Es dürfen keine Leerzeichen zwischen den Key-Value-Paaren vorhanden sein.

Nachdem die Key-Value-Paare sortiert wurden und die Zeichenkette erstellt wurde, fügen Sie den Roh-JSON-Payload am Ende der Zeichenkette hinzu.

Beispiele

  1. Standard-Payload

Query-String-Parameter (Key-Value-Paare):

subscription_id=90343, name=basic

Standard-Payload/Roh-JSON:

{"created_date":"2019-03-06","event_id":"5675"}

Die erzeugte Zeichenkette wäre:

namebasicsubscription_id90343{"created_date":"2019-03-06","event_id":"5675"}
  1. x-www-form-urlencoded

Query-String-Parameter (Key-Value-Paare):

customer_name=Brandon, status=active

x-www-form-urlencoded-Payload (Key-Value-Paare):

addon_description=Monthly addon, quantity=1

Die erzeugte Zeichenkette wäre:

addon_descriptionMonthly addoncustomer_nameBrandonquantity1statusactive

Pro-Tipp

  • Wenn Ihr Payload im Format x-www-form-urlencoded ist, muss die gesamte Zeichenkette vor der Hash-Generierung entschlüsselt werden.
  • Wenn ein Key-Value-Paar Leerzeichen enthält, müssen diese Leerzeichen ebenfalls in der erzeugten Zeichenkette enthalten sein.

Der Hash-Wert kann durch Anwendung des HMAC-SHA256-Algorithmus auf diese Zeichenkette mit dem geheimen Token, das in Zoho Books verwendet wurde, berechnet werden.

Sie können das Webhook-Signatur überprüfen, indem Sie prüfen, ob der von Ihnen berechnete Hash-Wert mit demjenigen im Header (X-Zoho-Webhook-Signature) des von Zoho Books empfangenen Webhooks übereinstimmt.

Sie können Ihre Webhook-Unterschrift mit den folgenden Programmiersprachen überprüfen:

JavaScript:

  
const crypto = require('crypto');

function verifyWebhook(queryParams, bodyParams, signature, secretKey) {
  try {
    const constructedString = constructString(queryParams, bodyParams);

    const hmac = crypto.createHmac('sha256', secretKey);
    hmac.update(constructedString);

    const calculatedSignature = hmac.digest('base64');

    return calculatedSignature === signature;
  } catch (error) {
    console.error(error);
    return false;
  }
}

function constructString(queryParams, bodyParams) {
  // Merge and sort keys
  const allParams = { ...queryParams, ...bodyParams };
  const sortedKeys = Object.keys(allParams).sort();

  let result = '';
  for (const key of sortedKeys) {
    result += key + allParams[key];
  }

  return result;
}

Java:

  
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.util.Map;
import java.util.TreeMap;
import java.util.Base64;

public class Hmacverify {
public static boolean verifyWebhook(Map<String, String> queryParams, Map<String, String> bodyParams, String signature, String secretKey) {
        try {
            String constructedString = constructString(queryParams, bodyParams);

            Mac sha256HMAC = Mac.getInstance("HmacSHA256");
            SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(), "HmacSHA256");
            sha256HMAC.init(secretKeySpec);

            byte[] hash = sha256HMAC.doFinal(constructedString.getBytes());
            String calculatedSignature = Base64.getEncoder().encodeToString(hash);

            return calculatedSignature.equals(signature);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    private static String constructString(Map<String, String> queryParams, Map<String, String> bodyParams) {
        StringBuilder result = new StringBuilder();
        
        
        TreeMap<String, String> sortedParams = new TreeMap<>(queryParams);
        sortedParams.putAll(bodyParams);

        for (Map.Entry<String, String> entry : sortedParams.entrySet()) {
            result.append(entry.getKey()).append(entry.getValue());
        }

        return result.toString();
    }
}

Python:

import hmac
import hashlib
import base64

def verifyWebhook(queryParams, bodyParams, signature, secretKey):
    constructedString = constructString(queryParams, bodyParams)
    
    calculatedSignature = base64.b64encode(hmac.new(secretKey.encode(), constructedString.encode(), hashlib.sha256).digest()).decode()

    return calculatedSignature == signature

def constructString(queryParams, bodyParams):
    # Merge and sort query and body parameters
    allParams = {**queryParams, **bodyParams}
    sortedParams = sorted(allParams.items())

    result = ''.join([key + value for key, value in sortedParams])

    return result

Beispielnutzung

queryParams = {‘subscription_id’: ‘90343’, ’name’: ‘basic’} bodyParams = {‘created_date’: ‘2019-03-06’, ’event_id’: ‘5675’} signature = ‘provided-signature’ secretKey = ‘your-secret-key’

verifyWebhook(queryParams, bodyParams, signature, secretKey)

SMS-Gateways konfigurieren 

Sie können Webhooks einrichten, um Nachrichtenalerts über SMS-Gateways zu senden und zu empfangen. Dazu müssen Sie nur die SMS-Gateways mit der URL konfigurieren und die unten angegebenen Schritte befolgen.

Bulk SMS

Bulk SMS ist ein beliebter SMS-Gateway und ist mit über 800 Mobilfunknetzwerken weltweit kompatibel.

URL: https://bulksms.vsms.net/eapi/submission/send_sms/2/2.0?username=%username%&password=%password%&msisdn=${CONTACT.CONTACT_MOBILE_PHONE}&message=%message_content%

Um die URL für Bulk SMS zu konfigurieren:

  • Klicken Sie auf das Rädchen-Icon im oberen rechten Bereich und wählen Sie Automatisierung.
  • Navigieren Sie zur Webhooks-Registerkarte und klicken Sie auf + Neuer Webhook.
  • Fügen Sie die obige URL in das Feld URL zur Benachrichtigung ein.
  • Ersetzen Sie die Platzhalter %username% und %password% in der URL durch den Benutzernamen und das Passwort Ihres Bulk SMS-Kontos.
  • Geben Sie Ihre Nachricht am Ende der URL ein, also nach “message=”.
  • Ersetzen Sie alle Leerzeichen in Ihrem Nachrichteninhalt durch %20 und alle Kommas durch %2C.
Bulk SMS konfigurieren

Hinweis: Wenn in Ihrem Nachrichteninhalt andere Zeichen vorhanden sind, können Sie prüfen, wie diese mit Modifikatoren aus dieser Website ersetzt werden. Achten Sie jedoch darauf, dass Sie Zeichen nicht ersetzen, die für die Syntax der Nachricht notwendig sind.

Nach Formatierung Ihrer Nachricht mit %20 für Leerzeichen und %2C für Kommas sollte es wie folgt aussehen:

URL: https://bulksms.vsms.net/eapi/submission/send_sms/2/2.0?username=%username%&password=%password%&msisdn=${CONTACT.CONTACT_MOBILE_PHONE}&message=Hello%20${CONTACT.CONTACT_NAME}.Thank%20you%20for%20the%20purchase%20of%20${INVOICE.INVOICE_TOTAL}

Ebenso können andere SMS-Gateways konfiguriert werden, wobei nur die URL variiert.

SMS-Magic

SMS-Gateways wie SMS-Magic erfordern, dass Sie zusätzliche Entity-Parameter eingeben, um die Webhook-Konfiguration vorzunehmen.

Um SMS-Magic zu konfigurieren:

  • Geben Sie die URL https://sms-magic.in/smapi/post im Feld URL zur Benachrichtigung ein.
  • Klicken Sie auf +Entity-Parameter hinzufügen.
  • Geben Sie im Parameterfeld den folgenden Text ein:
SMS Magic konfigurieren
<?xml version="1.0"?>
<m:Library xmlns:m="http://screen-magic.com" xmlns="http://www.defns.com">
<userid>**User_ID**</userid>
<senderid>**%Sender_ID**</senderid>
<accountid>**%Account_ID**</accountid>
<hashkey>**%hashkey%**</hashkey>
<message mobilenumber="${CONTACT.CONTACT_MOBILE_PHONE}" >
<![CDATA[${INVOICE.INVOICE_TOTAL}]]>
</message>
</m:Library>

Ersetzen Sie die Platzhalter in der URL durch den User ID, Sender ID und Account ID Ihres SMS-Magic-Kontos. Der hashkey bezieht sich auf einen standardmäßigen md5-hash eines Strings, der aus Ihrem User ID, Passwort, Account ID und Sender ID zusammengesetzt ist.

Hinweis: Um den hashierten md5-Wert zu erzeugen, können Sie die Website hier besuchen.

Text Local

Text Local erfordert einen Entity-Parameter sowie einen benutzerdefinierten Parameter, um funktionieren zu können.

Um Text Local zu konfigurieren:

Text Local konfigurieren
  • Geben Sie die URL http://api.textlocal.in/send/ im Feld URL zur Benachrichtigung ein.
  • Klicken Sie auf +Benutzerdefinierten Parameter hinzufügen.
  • Fügen Sie die Parameter sender und apikey hinzu und ersetzen Sie die Platzhalter in der URL durch die entsprechenden Informationen aus Text Local.
  • Klicken Sie auf +Entity-Parameter hinzufügen.
  • Geben Sie einen Namen für den Parameter ein und wählen Sie aus dem Dropdown-Menü die erforderlichen Bedingungen aus. Beispiel: numbers = ${CONTACT.CONTACT_MOBILE_PHONE}
  • Aktivieren Sie das Feld Benutzerdefinierte Parameter hinzufügen und geben Sie die Nachricht ein, die gesendet werden soll, sowie alle notwendigen Platzhalter.
  • Klicken Sie auf Speichern.

Andere Aktionen in Webhooks

Webhooks löschen

Um einen Webhook zu löschen:

  • Gehe zu Einstellungen im oberen rechten Bereich der Seite.
  • Wähle unter Automatisierung die Option Workflow-Aktionen.
  • Im Bereich Workflow-Aktionen wähle Webhooks aus.
  • Bewege die Maus über den Webhook, den du löschen möchtest, und klicke auf das Löschen-Icon.
Klicken Sie auf das Löschen-Icon
  • Klicke im erscheinenden Popup auf Ja. Der Webhook wird gelöscht. Wenn Sie den Webhook in einer Workflow-Regel verwendet haben, stellen Sie sicher, dass Sie die Workflow-Regel aktualisieren, da die Workflow-Regel möglicherweise nicht mehr ausgelöst wird.
Filtern von Webhooks

Um die Liste der Webhooks zu filtern, folgen Sie diesen Schritten:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wählen Sie unter Automatisierung Workflow-Aktionen aus.
  • Im Bereich Workflow-Aktionen wählen Sie Webhooks aus.
  • Unter Modul wählen Sie ein Modul aus dem Dropdown-Menü aus, für das der Webhook erstellt wurde.

Abhängig von Ihrer Auswahl wird die entsprechende Webhook-Liste angezeigt.

Filtern von Webhook

Hinweis

  • Sie können pro Workflow-Regel nur einen Webhook erstellen.
  • Maximal 500 Webhooks können pro Tag ausgelöst werden.

Benutzerdefinierte Funktionen

Benutzerdefinierte Funktionen in Zoho Books ermöglichen es Ihnen, kleine Codeabschnitte zu schreiben, um Ihre Geschäftsprozesse zu automatisieren. Ob ein spezieller Rabatt auf die Rechnungen Ihrer Kunden gewährt wird oder eine Spätaufnahme bei einer überfälligen Rechnung hinzugefügt wird – Sie müssen nur einen Codeabschnitt mit Deluge-Skript schreiben und ihn einer Workflow-Regel zuordnen, sodass der Prozess automatisch abgewickelt wird.

Was ist Deluge?

Deluge (Data Enriched Language for the Universal Grid Environment) ist eine online-integrierte Skriptsprache in Zoho Creator. Sie ermöglicht es den Benutzern, Logik schrittweise hinzuzufügen, wodurch die Anwendung leistungsfähiger und robuster wird.

Weitere Informationen zu Deluge finden Sie im Deluge-Hilfesystem.

Wenn Sie Deluge durch Schreiben von Codebeispielen lernen möchten, klicken Sie bitte hier.

Erstellen und Ausführen einer benutzerdefinierten Funktion

Um eine benutzerdefinierte Funktion einzurichten,

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wählen Sie unter Automatisierung Workflow-Aktionen aus.
  • Im Bereich Workflow-Aktionen wählen Sie Benutzerdefinierte Funktionen aus.
  • Klicken Sie in der oberen rechten Ecke auf + Neue benutzerdefinierte Funktion.

Knopf für neue benutzerdefinierte Funktion

  • Auf der Seite „Neue benutzerdefinierte Funktion“:
    • Geben Sie einen Namen für Ihre benutzerdefinierte Funktion ein und geben Sie eine kurze Beschreibung an.
    • Wählen Sie das Modul aus, für das Sie die benutzerdefinierte Funktion erstellen möchten.
    • Wählen Sie die Programmiersprache aus, in der Sie den Code der benutzerdefinierten Funktion schreiben möchten.
      • Wenn Sie Deluge als Programmiersprache gewählt haben, klicken Sie auf Weiter und geben Sie die Parameter ein oder ziehen Sie diese in den Deluge-Editor.
      • Wenn Sie eine andere Programmiersprache als Deluge gewählt haben, müssen Sie den Code der benutzerdefinierten Funktion über die Zoho Finance CLI eingeben. Weitere Informationen.
Neue voreingestellte Verbindung
  • Sobald Sie fertig sind, klicken Sie auf Speichern.

Im nächsten Schritt erstellen Sie eine Workflow-Regel mit der neu erstellten benutzerdefinierten Funktion.

  • Gehe zurück zum Bereich Automatisierung und wähle Workflow-Regeln aus.
  • Erstellen Sie eine neue Workflow-Regel und legen Sie die Auslöser fest.
  • Nun gehen Sie im Bereich Aktionen auf Benutzerdefinierte Funktionen und wählen Sie Ihre neu erstellte benutzerdefinierte Funktion aus.
  • Klicken Sie auf Speichern. Jetzt wird, sobald die Kriterien erfüllt sind, die Workflow-Regel ausgelöst, was wiederum die benutzerdefinierte Funktion auslöst.
Standardfelder

Derzeit unterstützen benutzerdefinierte Funktionen die Module: Benutzer, Organisation, Angebote, Rechnungen, Verkaufsbestellungen, Einkaufsbestellungen, Kunden, Wiederholende Rechnungen, Ausgaben, Rechnungen, Wiederholende Rechnungen und Artikel.

Diese Module verfügen über die folgenden Felder, aus denen Sie die notwendigen Parameter für Ihre benutzerdefinierte Funktion erhalten können.

Benutzer

Das Feld „Benutzer“ unterstützt die folgenden Parameter:

SchlüsselfelderBeschreibung
nameName des Benutzers
zuidZUID des Benutzers
Organisation

Das Organisationfeld unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
organization_idIhre Organisation-ID
nameName der Organisation
time_zoneZeitzone Ihrer Organisation
language_codeSprache der Organisation
date_formatDatumformat Ihrer Organisation
currency_idWährungs-ID
currency_codeWährungskode
currency_symbolWährungssymbol
addressAdresse der Organisation
phoneKontakttelefonnummer der Organisation
faxFaxnummer
websiteOrganisation URL
emailE-Mail-Adresse
portal_nameName des Portals Ihrer Organisation

Beispiel-Map:

{
	"time_zone": "Asia/Calcutta",
	"language_code": "en",
	"currency_id": "7605000000000099",
	"phone": "99999999999",
	"fax": "check",
	"website": "",
	"email": "charles@zylker.com",
	"address": {
		"zip": "624001",
		"country": "India",
		"city": "New Delhi",
		"street_address2": "Block 15",
		"street_address1": "6/35 Garden Lane,",
		"state": "Delhi"
	},
	"organization_id": "12345678",
	"name": "Zlyker Industries",
	"date_format": "dd MMM yyyy",
	"currency_symbol": "Rs.",
	"portal_name": "zylkerindustry",
	"currency_code": "INR"
}
Angebot

Das Angebot-Feld unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
quote_idAngebot-ID
quote_numberIhre Angebotnummer
dateAngebotdatum
reference_numberReferenznummer Ihres Angebots
statusStatus Ihres Angebots
customer_idID des Kunden, der dem Angebot zugewiesen ist
customer_nameName Ihres Kunden
currency_idWährungs-ID
currency_codeWährungskode
currency_symbolWährungssymbol
exchange_rateWechselkurs im Angebot
expiry_dateAblaufdatum des Angebots
discount_amountRabattbetrag
discountRabatt
shipping_chargeVersandkosten im Angebot
adjustmentAnpassungen
sub_totalBruttobetrag des Angebots
totalGesamtbetrag des Angebots
tax_totalGesamtbetrag der Steuern im Angebot
billing_addressRechnungsadresse des Kunden
shipping_addressVersandadresse des Kunden
notesNotizen
termsBedingungen und Allgemeine Geschäftsbedingungen
custom_fieldsAnbieter-Optionen
salesperson_idID des Verkäufer
salesperson_nameName des Verkäufer

Beispiel-Map:

{
	"total": "12000.0",
	"terms": “checking",
	"quote_id": "7605000000320001",
	"date": "2016-06-03",
	"quote_number": "EST-000026",
	"shipping_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": “Fax Number”
	},
	"salesperson_name": “Salesperson”,
	"adjustment": "0.0",
	"currency_symbol": "Rs.",
	"salesperson_id": "7605000000336089",
	"currency_code": "INR",
	"shipping_charge": "0.0",
	"custom_fields": [
		{
			"customfield_id": "7605000000190011",
			"is_active": true,
{
	"show_in_all_pdf": false,
	"value_formatted": "Check-6",
	"data_type": "autonumber",
	"index": 1,
	"label": "auto number",
	"show_on_pdf": false,
	"value": "Check-6"
},
	"currency_id": "7605000000000099",
	"exchange_rate": "1.0",
	"status": "invoiced",
	"sub_total": "12000.0",
	"customer_name": "Customer",
	"discount_amount": "0.0",
	"discount": "0.0",
	"tax_total": "0.0",
	"reference_number": "Ref number",
	"notes": "Looking forward for your business.",
	"expiry_date": "2016-06-03",
	"customer_id": "7605000000258011",
	"billing_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	}
}
Rechnung

Der Rechnungsmappen unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
due_dateFälligkeitsdatum der Rechnung
payment_expected_dateErwartetes Zahlungsdatum der Rechnung
reference_numberReferenznummer der Rechnung
customer_idKunden-ID
customer_nameName des Kunden, der der Rechnung zugewiesen ist
currency_idWährungs-ID
currency_codeWährungscode
currency_symbolWährungssymbol
exchange_rateWechselkurs, der in der Rechnung berücksichtigt wird
discount_amountRabattbetrag, der in der Rechnung berücksichtigt wird
discountRabatt, der in der Rechnung berücksichtigt wird
shipping_chargeVersandgebühr, die in der Rechnung eingegeben wurde
adjustmentAnpassungen
sub_totalDer Zwischensumme der Rechnung
tax_totalGesamtsteuerbetrag in der Rechnung
totalGesamtsumme
balanceAusgleich
price_precisionAnzahl der Dezimalstellen
billing_addressRechnungsadresse des Kunden
shipping_addressVersandadresse des Kunden
notesNotizen
termsBedingungen
custom_fieldsAnpassungsfelder der Rechnung
salesperson_idID des Verkäufer

Beispiel-Mappen:

{
	"total": "0.0",
	"payment_terms": "0",
	"terms": "Checking",
	"price_precision": "2",
	"payment_expected_date": "2016-06-31",
	"date": "2016-06-30",
	"shipping_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	},
	"balance": "0.0",
	"adjustment": "0.0",
	"currency_symbol": "Rs.",
	"salesperson_id": "7605000000336089",
	"currency_code": "INR",
	"shipping_charge": "0.0",
	"custom_fields": [
		{
			"customfield_id": "7605000000336081",
			"is_active": true,
			"show_in_all_pdf": false,
			"value_formatted": "INV-8",
			"data_type": "autonumber",
			"index": 1,
			"label": "AutoNumber",
			"show_on_pdf": false,
			"value": "INV-8"
		},
		{
			"customfield_id": "7605000000351027",
			"is_active": true,
			"show_in_all_pdf": true,
			"value_formatted": "01 Aug 2016",
			"data_type": "date",
			"index": 2,
			"label": "Date",
			"show_on_pdf": true,
			"value": "2016-08-01"
		}
	],
	"currency_id": "7605000000000099",
	"exchange_rate": "1.0",
	"status": "draft",
	"sub_total": "12000.0",
	"customer_name": "Customer",
	"invoice_number": "INV-000087",
	"discount_amount": "12000.0",
	"discount": "100.00%",
	"tax_total": "0.0",
	"reference_number": "checking",
	"due_date": "2016-06-30",
	"invoice_id": "7605000000369043",
	"notes": "Thanks for your business.",
	"customer_id": "7605000000258011",
	"billing_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	}
}
Verkaufsbestellung
SchlüsselfelderBeschreibung
dateDatum der Bestellung
tax_totalGesamtsteuerbetrag in der Bestellung
zcrm_potential_idID des Potenzials in Zoho CRM
discount_amountRabattbetrag in der Bestellung
salesorder_idBestell-ID
discountRabatt
shipment_dateDatum der Lieferung
billing_addressRechnungsadresse des Kunden
line_itemsArtikelpositionen
currency_codeWährungscode
totalGesamtbetrag
delivery_method_idLiefermethode-ID
termsBedingungen
delivery_methodLiefermethode
shipping_addressVersandadresse des Kunden
exchange_rateWechselkurs in der Bestellung
currency_symbolWährungssymbol
custom_fieldsKundenspezifische Felder der Bestellung
quote_idAngebot-ID
reference_numberReferenznummer der Bestellung
salesperson_nameName des Verkäufer
salesperson_idID des Verkäufer
shipping_chargeVersandkosten in der Bestellung
salesorder_numberIhre Bestellnummer
sub_totalBruttobetrag der Bestellung
zcrm_potential_nameName des Potenzials in Zoho CRM
adjustmentAnpassungen
customer_nameName des Kunden, der der Bestellung zugewiesen ist
customer_idID des Kunden, der der Bestellung zugewiesen ist
currency_idWährungs-ID
statusStatus Ihrer Bestellung

Beispiel-Karte:

{
	"date": "2016-05-23",
	"tax_total": "0.0",
	"zcrm_potential_id": "",
	"discount_amount": "1200.0",
	"salesorder_id": "7605000000295003",
	"discount": "10.00%",
	"shipment_date": "2016-05-23",
	"billing_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	},
	"line_items": [
		{
			"bcy_rate": 12000,
			"line_item_id": "7605000000295011",
			"quantity": 1,
			"item_id": "7605000000259147",
			"tax_name": "",
			"description": "",
			"discount": 0,
			"item_total": 12000,
			"item_custom_fields": [
			],
			"tax_id": "",
			"is_invoiced": true,
			"item_order": 0,
			"tags": [
			],
			"stock_on_hand": "",
			"unit": "",
			"rate": 12000,
			"tax_type": "tax",
			"name": "Moto",
			"tax_percentage": 0
		}
	],
	"currency_code": "INR",
	"total": "10820.0",
	"delivery_method_id": "7605000000461053",
	"terms": "Terms & Conditions",
	"delivery_method": "Door Delivery",
	"shipping_address": {
		"zip": "",
		"country": "",
		"address": "",
		"city": "",
		"state": "",
		"fax": ""
	},
	"exchange_rate": "1.0",
	"currency_symbol": "Rs.",
	"custom_fields": [
		{
			"customfield_id": "7605000000321009",
			"is_active": true,
			"show_in_all_pdf": true,
			"value_formatted": "Text",
			"data_type": "string",
			"index": 1,
			"label": "Text",
			"show_on_pdf": true,
			"value": "Text"
		}
	],
	"quote_id": "7605000000405047",
	"reference_number": "Reference",
	"salesperson_name": "Arun",
	"salesperson_id": "7605000000135003",
	"shipping_charge": "10.0",
	"salesorder_number": "SO-00002",
	"sub_total": "12000.0",
	"zcrm_potential_name": "",
	"adjustment": "10.0",
	"customer_name": "Arun",
	"customer_id": "7605000000101007",
	"currency_id": "7605000000000099",
	"status": "invoiced"
}
Einkaufsrechnung

Die Karte für die Einkaufsrechnung unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
dateDatum der Einkaufsrechnung
delivery_addressLieferadresse
delivery_org_address_idID des Lieferorganisation-Adressen
purchaseorder_idBestellnummer
expected_delivery_dateErwarteter Liefertermin
billing_addressRechnungsadresse der Bestellung
line_itemsArtikel der Bestellung
currency_codeWährungscode
totalGesamtsumme der Bestellung
delivery_customer_idLieferkunden-ID
exchange_rateWechselkurs der Bestellung
currency_symbolWährungssymbol
custom_fieldsKundenspezifische Felder der Bestellung
ship_via_idID des Versandwegs
vendor_nameName des Lieferanten
reference_numberReferenznummer Ihrer Bestellung
purchaseorder_numberBestellnummer
delivery_dateLieferdatum
vendor_idLieferanten-ID
sub_totalBruttobetrag der Bestellung
ship_viaVersandart
attentionAufmerksamkeit
crm_owner_idID des Zoho CRM-Besitzers
currency_idWährungs-ID
statusStatus

Beispiel-Map:

{
	"date": "2016-07-11",
	"delivery_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	},
	"tax_total": "0.0",
	"delivery_org_address_id": "7605000000054013",
	"purchaseorder_id": "7605000000378500",
	"expected_delivery_date": "",
	"billing_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	},
	"line_items": [
		{
			"bcy_rate": 1000,
			"line_item_id": "7605000000378504",
			"quantity": 1,
			"item_id": "7605000000298021",
			"tax_name": "",
			"description": "",
			"item_total": 1000,
			"tax_id": "",
			"item_order": 0,
			"tags": [

			],
			"unit": "No",
			"account_id": "7605000000000403",
			"rate": 1000,
			"tax_type": "tax",
			"account_name": "Advertising And Marketing",
			"name": "Moto G Turbo Edition",
			"tax_percentage": 0
		}
	],
	"currency_code": "INR",
	"total": "1000.0",
	"delivery_customer_id": "",
	"exchange_rate": "1.0",
	"currency_symbol": "Rs.",
	"custom_fields": "[]",
	"ship_via_id": "7605000000461053",
	"vendor_name": "Mr. Vendor",
	"reference_number": "Reference",
	"purchaseorder_number": "PO-00006",
	"delivery_date": "2016-07-11",
	"vendor_id": "7605000000112009",
	"sub_total": "1000.0",
	"ship_via": "Door Delivery",
	"attention": "Arun",
	"crm_owner_id": "",
	"currency_id": "7605000000000099",
	"status": "billed"
}
Kunde

Die Kunde-Map unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
owner_idID des zugehörigen Besitzers
billing_addressRechnungsadresse des Kunden
sourceQuelle des Kunden
contact_idKontakt-ID
payment_termsZahlungsbedingungen des Kunden
currency_codeWährungscode
language_codeSprachcode
contact_typeTyp des Kontakts
twitterTwitter-Informationen
zcrm_contact_idID des Kontakts in Zoho CRM
shipping_addressVersandadresse des Kunden
pricebook_idID des Preisbuchs
contact_nameName des Kontakts
websiteWebsite des Kontakts
owner_nameName des Kontakts-Besitzers
currency_symbolWährungssymbol
zcrm_account_idID des Zoho CRM-Kontos
custom_fieldsKundenspezifische Felder
facebookFacebook-Informationen
pricebook_nameName des Preisbuchs
primary_contact_idID des primären Kontakts
company_nameName des Unternehmens
contact_salutationKontaktsalutation
crm_owner_idID des CRM-Besitzers
currency_idWährungs-ID
payment_terms_labelZahlungsbedingungen-Label
statusStatus

Beispiel-Karte:

{
	"owner_id": "",
	"shipping_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	},
	"source": "user",
	"contact_id": "7605000000197147",
	"payment_terms": "0",
	"currency_code": "INR",
	"language_code": "en",
	"contact_type": "customer",
	"twitter": "",
	"zcrm_contact_id": "",
	"billing_address": {
		"zip": "94588",
		"country": "USA",
		"address": "4910 Hopyard Rd",
		"city": "Pleasanton",
		"state": "CA",
		"fax": "Fax Number"
	},
	"pricebook_id": "",
	"contact_name": "Arun",
	"website": "www.zoho.com",
	"owner_name": "",
	"currency_symbol": "Rs.",
	"zcrm_account_id": "418070000000135001",
	"custom_fields": [
		{
			"customfield_id": "7605000000063049",
			"is_active": true,
			"show_in_all_pdf": false,
			"value_formatted": "1234",
			"data_type": "number",
			"index": 1,
			"label": "Unpaid Invoices",
			"show_on_pdf": false,
			"value": "1234"
		}
	],
	"facebook": "",
	"pricebook_name": "",
	"primary_contact_id": "7605000000197149",
	"company_name": "Zoho",
	"contact_salutation": "",
	"crm_owner_id": "",
	"currency_id": "7605000000000099",
	"payment_terms_label": "Due on Receipt",
	"status": "active"
}
Wiederkehrender Rechnung

Die Karte für wiederkehrende Rechnungen unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
end_dateEnddatum des Profils für wiederkehrende Rechnungen
tax_totalGesamtsteuerbetrag in der wiederkehrenden Rechnung
discount_amountRabattbetrag in der wiederkehrenden Rechnung
repeat_everyWiederholungsintervall des Profils für wiederkehrende Rechnungen
discountRabatt in der wiederkehrenden Rechnung
taxesSteuern, die mit der wiederkehrenden Rechnung verbunden sind
billing_addressRechnungsadresse des Kunden
line_itemsArtikel in der wiederkehrenden Rechnung
payment_termsZahlungsbedingungen, die mit dem Kunden verbunden sind
currency_codeWährungscode
last_sent_dateDatum der letzten versandten Rechnung
totalGesamtbetrag
recurrence_nameName des Profils für wiederkehrende Rechnungen
shipping_addressVersandadresse des Kunden
next_invoice_dateDatum der nächsten zu versendenden Rechnung
recurrence_frequencyHäufigkeit des Profils für wiederkehrende Rechnungen
recurring_invoice_idID des Profils für wiederkehrende Rechnungen
contact_personsBeteiligte Kontakte an der wiederkehrenden Rechnung
start_dateStartdatum des Profils für wiederkehrende Rechnungen
exchange_rateWechselkurs in der wiederkehrenden Rechnung
currency_symbolWährungssymbol
custom_fieldsAnpassungsfelder für wiederkehrende Rechnungen
salesperson_nameName des Verkäuferpersons, die an der wiederkehrenden Rechnung beteiligt ist
salesperson_idID des Verkäuferpersons, die an der wiederkehrenden Rechnung beteiligt ist
shipping_chargeVersandkosten, die in der wiederkehrenden Rechnung eingegeben wurden
sub_totalZwischensumme der wiederkehrenden Rechnung
adjustmentAnpassungen
customer_nameName des Kunden, der an der wiederkehrenden Rechnung beteiligt ist
customer_idID des Kunden, der an der wiederkehrenden Rechnung beteiligt ist
statusStatus des Profils für wiederkehrende Rechnungen

Beispiel-Karte:


{
	"end_date": "2016-10-15",
	"tax_total": "0.0",
	"discount_amount": "1.0",
	"repeat_every": "2",
	"discount": "1.00%",
	"taxes": "[]",
	"billing_address": {"zip":"","fax":"","address":"","state":"","country":"","city":""},
"line_items": [{"tags":[],"tax_name":"","tax_type":"tax","item_custom_fields":[],"product_type":"service","line_item_id":"348960000000103013","discount":0,"unit":"","item_order":0,"rate":100,"item_id":"","description":"%(d)%-%(m-2)%-%(y)%","name":"","quantity":1,"tax_id":"","tax_percentage":0,"item_total":100}],
	"payment_terms": "0",
	"currency_code": "GBP",
	"last_sent_date": "",
	"total": "200.0",
	"recurrence_name": "1",
	"shipping_address": {"zip":"","fax":"","address":"","state":"","country":"","city":""},
	"next_invoice_date": "",
	"recurrence_frequency": "months",
	"recurring_invoice_id": "348960000000103005",
	"contact_persons": "[]",
	"start_date": "2016-01-07",
	"exchange_rate": "1.0",
	"currency_symbol": "£",
	"custom_fields": [{"value_formatted":"EST-001","index":1,"is_active":true,"data_type":"string","show_on_pdf":false,"value":"EST-001","show_in_all_pdf":false,"label":"Quote Number","customfield_id":"348960000000056001"},{"value_formatted":"15 Oct 2016","index":2,"is_active":true,"data_type":"date","show_on_pdf":false,"value":"2016-10-15","show_in_all_pdf":false,"label":"Date","customfield_id":"348960000000056003"},{"value_formatted":"true","index":3,"is_active":true,"data_type":"check_box","show_on_pdf":false,"value":true,"show_in_all_pdf":false,"label":"Invoice Factoring","customfield_id":"348960000000056079"},{"value_formatted":"£100.00","index":4,"is_active":true,"data_type":"amount","show_on_pdf":true,"value":100,"show_in_all_pdf":true,"label":"Amount","customfield_id":"348960000000060003"},{"value_formatted":"10%","index":5,"is_active":true,"data_type":"percent","show_on_pdf":true,"value":10,"show_in_all_pdf":true,"label":"Percentage","customfield_id":"348960000000060005"}],
	"salesperson_name": "Arun N",
	"salesperson_id": "348960000000111001",
	"shipping_charge": "100.0",
	"sub_total": "100.0",
	"adjustment": "1.0",
	"customer_name": "iArun",
	"customer_id": "348960000000051041",
	"status": "expired"}
Ausgabe

Der Ausgabemapping unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
dateDatum
payment_modeZahlungsart
custom_fieldsBenutzerdefinierte Felder der Ausgabe
vendor_nameName des Lieferanten
is_billableRechnungsfähigkeit der Ausgabe
line_itemsArtikel der Ausgabe
project_nameName des Projekts
reference_numberReferenznummer der Ausgabe
currency_codeWährungscode
totalGesamtsumme
project_idID des Projekts
vendor_idID des Lieferanten
sub_totalZwischensumme der Ausgabe
customer_nameName des Kunden
customer_idID des Kunden
expense_idAusgabeid
currency_idWährungs-ID

Beispiel-Mapping:

{
	"date": "2016-10-08",
	"payment_mode": "Cash",
	"custom_fields": "[]",
	"vendor_name": "Vendor",
	"is_billable": "true",
	"line_items": [{"tags":[],"tax_name":"Standard Rate","item_order":1,"tax_type":"tax","account_id":"348960000000000400","description":"Notes","tax_amount":16.67,"product_type":"goods","tax_id":"348960000000044037","line_item_id":"348960000000184015","tax_percentage":20,"item_total":83.33,"account_name":"Office Supplies"}],
	"project_name": "",
	"reference_number": "12345",
	"currency_code": "GBP",
	"total": "100.0",
	"project_id": "",
	"vendor_id": "348960000000051033",
	"sub_total": "83.33",
	"customer_name": "Accounts",
	"customer_id": "348960000000111017",
	"expense_id": "348960000000184003",
	"currency_id": "348960000000000103"
}
Rechnung

Der Rechnungsmappen unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
dateDatum der Rechnung
bill_idID der Rechnung
purchaseorder_idsID der Bestellung, die betroffen ist
tax_totalGesamtbetrag der Steuern in der Rechnung
exchange_rateWechselkurs, der in der Rechnung berücksichtigt wird
currency_symbolWährungszeichen
custom_fieldsBenutzerdefinierte Felder der Rechnung
due_dateFälligkeitsdatum der Rechnung
vendor_nameName des Lieferanten
billing_addressRechnungsadresse
line_itemsArtikel in der Rechnung
payment_termsZahlungsbedingungen, die dem Lieferanten zugeordnet sind
payment_expected_dateErwartetes Zahlungsdatum
reference_numberReferenznummer der Rechnung
currency_codeWährungscode
totalGesamtbetrag der Rechnung
bill_numberRechnungsnummer
payment_madeZahlung, die für die Rechnung erfolgt ist
balanceRestbetrag
recurring_bill_idID des wiederholenden Rechnungsprofils
vendor_idID des Lieferanten
sub_totalBruttobetrag der Rechnung
statusStatus der Rechnung

Beispiel-Mappen:

{
	"date": "2016-10-12",
	"bill_id": "348960000000193039",
	"purchaseorder_ids": "[]",
	"tax_total": "0.0",
	"exchange_rate": "1.0",
	"currency_symbol": "£",
	"custom_fields": "[]",
	"due_date": "2016-10-15",
	"vendor_name": "Vendor",
	"billing_address": {"zip":"","fax":"","address":"","state":"","country":"","city":""},
	"line_items": [{"tags":[],"tax_name":"","project_name":"","tax_type":"tax","account_id":"348960000000000412","customer_name":"","is_billable":false,"product_type":"goods","line_item_id":"348960000000193047","invoice_number":"","sku":"","purchaseorder_item_id":"","account_name":"Credit Card Charges","unit":"1","item_order":0,"rate":33000,"bcy_rate":33000,"item_id":"348960000000087031","description":"","project_id":"","name":"refrigerator","tax_id":"","quantity":1,"invoice_id":"","tax_percentage":0,"customer_id":"","item_total":33000}],
	"payment_terms": "3",
	"payment_expected_date": "",
	"reference_number": "1",
	"currency_code": "GBP",
	"total": "33000.0",
	"bill_number": "Bill-001",
	"payment_made": "0.0",
	"balance": "33000.0",
	"recurring_bill_id": "",
	"vendor_id": "348960000000051033",
	"sub_total": "33000.0",
	"status": "open"
}
Wiederholende Rechnung

Der Wiederholungsrechnungsmappen unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
end_dateEnddatum des wiederholenden Rechnungsprofils
tax_totalGesamtbetrag der Steuern in der wiederholenden Rechnung
exchange_rateWechselkurs, der in der wiederholenden Rechnung berücksichtigt wird
custom_fieldsBenutzerdefinierte Felder der wiederholenden Rechnung
repeat_everyWiederholungsintervall des wiederholenden Rechnungsprofils
taxesSteuern, die in der wiederholenden Rechnung enthalten sind
vendor_nameName des Lieferanten
line_itemsArtikel in der wiederholenden Rechnung
payment_termsZahlungsbedingungen, die dem Lieferanten zugeordnet sind
currency_codeWährungscode
last_sent_dateDatum der letzten gesendeten Rechnung
totalGesamtbetrag der wiederholenden Rechnung
next_bill_dateDatum der nächsten Rechnung
recurring_bill_idID der wiederholenden Rechnung
recurrence_nameName des wiederholenden Rechnungsprofils
vendor_idID des Lieferanten
sub_totalBruttobetrag der wiederholenden Rechnung
recurrence_frequencyHäufigkeit des wiederholenden Rechnungsprofils
payment_terms_labelZahlungsbedingungen-Label
statusStatus des wiederholenden Rechnungsprofils
start_dateStartdatum des wiederholenden Rechnungsprofils

Beispiel-Mappen:

{
	"end_date": "2016-10-15",
	"tax_total": "0.0",
	"exchange_rate": "1.0",
	"custom_fields": "[]",
	"repeat_every": "1",
	"taxes": "[]"
}
"vendor_name": "Vendor",
	"line_items": [{"tags":[],"tax_name":"","account_id":"348960000000000403","tax_type":"tax","product_type":"goods","line_item_id":"348960000000193067","account_name":"Advertising And Marketing","unit":"","item_order":0,"rate":900,"bcy_rate":900,"item_id":"348960000000051011","description":"","name":"Item","quantity":1,"tax_id":"","tax_percentage":0,"item_total":900}],
	"payment_terms": "0",
	"currency_code": "GBP",
	"last_sent_date": "2016-10-12",
	"total": "900.0",
	"next_bill_date": "",
	"recurring_bill_id": "348960000000193061",
	"recurrence_name": "RB-001",
	"vendor_id": "348960000000051033",
	"sub_total": "900.0",
	"recurrence_frequency": "weeks",
	"payment_terms_label": "Due on Receipt",
	"status": "expired",
	"start_date": "2016-10-12"
}
Artikel

Das Artikel-Map unterstützt die folgenden Felder:

SchlüsselfelderBeschreibung
item_idArtikel-ID
custom_fieldsBenutzerdefinierte Felder des Artikels
item_typeTyp des Artikels
tax_nameName der beteiligten Steuer
purchase_rateKaufpreis des Artikels
zcrm_product_idID des Produkts in Zoho CRM
tax_idID der beteiligten Steuer
unitEinheit des Artikels
account_idVerkaufs-Konto-ID
purchase_account_nameName des Kaufkontos
purchase_account_idKaufkonto-ID
tax_typeTyp der beteiligten Steuer
rateVerkaufspreis des Artikels
account_nameName des verknüpften Verkaufsaccounts
nameName des Artikels
tax_percentageProzentsatz der beteiligten Steuer
pricebook_ratePreisbuchpreis
skuSKU des Artikels
statusStatus des Artikels

Beispiel-Map:

{
	"item_id": "348960000000051011",
	"custom_fields": [{"value_formatted":"100","index":1,"is_active":true,"data_type":"decimal","show_on_pdf":true,"value":100,"show_in_all_pdf":true,"label":"Profit","customfield_id":"348960000000134003"}],
	"item_type": "sales_and_purchases",
	"tax_name": "",
	"purchase_rate": "900.0",
	"zcrm_product_id": "1665395000000205001",
	"tax_id": "",
	"unit": "1",
	"account_id": "348960000000000388",
	"purchase_account_name": "Advertising And Marketing",
	"purchase_account_id": "348960000000000403",
	"tax_type": "",
	"rate": "1000.0",
	"account_name": "Sales",
	"name": "Item",
	"tax_percentage": "0",
	"pricebook_rate": "1000.0",
	"sku": "SKU",
	"status": "active"
}

Einige Beispiele, die zeigen, wie diese Felder helfen, die notwendigen Parameter abzurufen:

Beispiel 1:

Um die Quote-ID abzurufen, verwenden Sie:

quoteid = quote.get("quote_id");

Beispiel 2:

Um den Namen Ihrer Organisation abzurufen, verwenden Sie:

orgid = organization.get("name");

Beispiel 3:

Um den Namen eines Benutzers und seinen ZUID abzurufen, verwenden Sie:

username = user.get("name");
zuid = user.get("zuid");

Weitere Informationen darüber, wie Deluge-Skripte für die Schreibung benutzerdefinierter Funktionen verwendet werden, finden Sie in der Deluge-Referenzanleitung.

Weitere Informationen zu verschiedenen Szenarien, in denen benutzerdefinierte Funktionen nützlich sein können, finden Sie auf unserer Seite Szenarien für benutzerdefinierte Funktionen.


Zeitpläne

Zoho Books ermöglicht es Ihnen, vordefinierte Aufgaben an bestimmten Zeitintervallen zu erstellen und auszuführen, indem Sie Zeitpläne erstellen. Sie können Aufgaben mit einem Deluge-Skript erstellen und diesen Zeitplan so einstellen, dass er zu einem bestimmten Zeitpunkt oder auf wiederholender Basis ausgeführt wird.

Hinweis: Diese Funktion ist nur für bestimmte Abonnements von Zoho Books verfügbar. Besuchen Sie die Preisliste, um zu prüfen, ob sie in Ihrem aktuellen Abonnement verfügbar ist.

Szenarien

Hier sind einige Szenarien, in denen Schedules erstellt werden können, um benutzerdefinierte Aktionen auszuführen. Sie können jedoch benutzerdefinierte Schedules entsprechend Ihren Firmenbedingungen erstellen.

Szenario 1: Peter führt einen Supermarkt. Am Ende jedes Monats möchte er Kunden mit einem Gesamtbetrag von mehr als einem bestimmten Betrag, sagen wir 1000, um 10 % Rabatt auf den nächsten Einkauf zu belohnen. Peter erstellt einen Schedule, um diese Nachricht an ausgewählte Kunden am letzten Tag des Monats per E-Mail zu senden.

Szenario 2: Peter verwendet eine externe Anwendung zur internen Verwaltung von Kunden und Mitarbeitern. Er möchte die Daten aus Zoho Books regelmäßig in diese Anwendung synchronisieren. Dazu erstellt er einen benutzerdefinierten Schedule, der die Daten um 18 Uhr täglich synchronisiert.

Szenario 3: Peter setzt für seine territorialen Manager jährliche Verkaufsziele. Jedes vierte Monat muss er ihnen ihre Gewinn- und Verlustberichte senden sowie eine Glückwunsch-E-Mail, wenn sie ihr Ziel erreicht haben, oder eine motivierende E-Mail, um sie zu ermutigen, besser zu leisten. Er schreibt eine Funktion und plant sie, um sie alle vier Monate an sein Personal zu senden.

Neuen Schedule erstellen

Um einen benutzerdefinierten Schedule zu erstellen:

  • Gehe zu Einstellungen in der oberen rechten Ecke der Seite.
  • Wähle unter Automatisierung Workflow-Aktionen aus.
  • Im Bereich Workflow-Aktionen wähle Schedules aus.
  • Klicke in der oberen rechten Ecke auf + Neuer Schedule.

Neuer Scheduler erstellen

  • Auf der Seite Neuer Schedule:
    • Gib einen Namen für deinen Schedule ein.
    • Stelle die Häufigkeit und das Wiederholungsmuster für die Ausführung des Schedules ein. Dies kann täglich, wöchentlich, monatlich oder jährlich sein.

Einblick: Das Wiederholungsmuster ermöglicht es dir, zu bestimmen, wann der benutzerdefinierte Schedule ausgeführt werden soll. Du kannst wählen, wann er entsprechend der festgelegten Häufigkeit ausgeführt wird.

  • Wähle, wie häufig die Aufgabe ausgeführt werden soll.
    • Täglich: Die Aufgabe wird täglich (oder entsprechend dem Wiederholungsmuster) ausgeführt. Du kannst die Wochenenden ausschließen.

Täglich ausführen

  • Wöchentlich: Die Aufgabe wird einmal pro Woche ausgeführt. Wähle den Tag der Woche aus, an dem die Aufgabe ausgeführt werden soll.

Wöchentlich ausführen

  • Monatlich: Die Aufgabe wird einmal im Monat ausgeführt. Dies kann ein bestimmter Tag oder ein Tag im Monat sein. Zum Beispiel kannst du wählen, dass die Aufgabe am 5. jeden Monats oder am zweiten Samstag jedes Monats ausgeführt wird.

Monatlich ausführen

  • Jährlich: Die Aufgabe wird einmal im Jahr ausgeführt. Du kannst den Monat auswählen und den Tag der Ausführung angeben oder den Tag festlegen. Zum Beispiel kann die Aufgabe am ersten Sonntag im Januar oder einfach am 5. Januar ausgeführt werden. Execute Yearly

  • Setze den Startdatum und -zeitpunkt.

Warnung: Das Startdatum eines Zeitplans darf nicht mehr als ein Jahr nach dem Erstellungsdatum liegen.

  • Wählen Sie, wann der Zeitplan ablaufen soll. Er kann nach einer bestimmten Anzahl von Ausführungen, an einem festgelegten Datum oder gar nicht ablaufen.

Set Expiry

  • Ziehen Sie Optionen herum, um eine Deluge-Funktion zu erstellen, die Ihnen bei der Erstellung Ihrer Funktion hilft.

Einblick: Deluge (Data Enriched Language for the Universal Grid Environment) ist eine online-integrierte Skriptsprache mit Zoho Services. Sie ermöglicht es Ihnen, eigene Funktionen zu schreiben, die es ermöglichen, die Anwendung schrittweise anzupassen, wodurch sie leistungsfähiger und robuster wird.

  • Klicken Sie auf Speichern oder Speichern und Ausführen, um sie zu starten.

Save Scheduler

Einblick: Sie können maximal 10 benutzerdefinierte Zeitpläne erstellen.

Beispiel-Funktion

Hier ist ein Beispiel-Funktion für Szenario 1:

organizationID = organization.get("organization_id");
name = organization.get("name");
orgEmail = organization.get("email");
salesResponse = invokeUrl
 [
 url: "https://books.zoho.com/api/v3/reports/salesbycustomer?organization_id=" + organizationID + "&from_date=" + toStartOfMonth(today).toString("YYYY-MM-dd") + "&to_date=" + eomonth(today,0).toString("YYYY-MM-dd")
 type: GET
 connection: "books_api_connection"
 ];
salesDetails = salesResponse.get("sales").toList();
for each  sales in salesDetails
{
	amount = sales.get("sales_with_tax");
	if(amount > "<ENTER AMOUNT>")
	{
		customerName = sales.get("customer_name");
    customerResponse = invokeUrl
     [
     url: "https://books.zoho.com/api/v3/contacts/" + sales.get("customer_id") + "?organization_id=" + organizationID
     type: GET
     connection: "books_api_connection"
     ];
    customerDetails = customerResponse.get("contact");
		customerEmail = customerDetails.get("email");
		sendmail
		[
			from :zoho.adminuserid
			to :customerEmail
			subject :"Thank you for shopping! Here's a 10% discount!"
			message :"<div>Dear&nbsp;" + customerName + ",<br></div><div><br></div><div>We just wanted to take a moment of our time to thank you for your continuous support.<br></div><div><br></div><div> Based on your recent purchases, we'd like to offer you a 10% off on your next purchase with us.&nbsp;<br></div><div><br></div><div>Please show this email during billing to avail this discount!<br></div><div><br></div><div>Regards,<br></div><div>" + name + "<br></div><div><br></div><div><br></div><div><br></div><div><br></div>"
		]
	}
}

Workflow-Szenarien

Workflows helfen Ihnen, Aufgaben in Zoho Books zu automatisieren. Mehr erfahren, um einige gängige Szenarien genauer zu erkunden.

Weitere Informationen finden Sie im Verbindungen-Hilfedokument.

Automatisieren Sie Ihren Geschäftsablauf mit Zoho Books’ Rechnungsautomatisierung.


Hat dieses Dokument Ihnen geholfen?
Ja
Nein

Vielen Dank für Ihre Rückmeldung!