Workflow-Szenarien
Workflows können nützlich sein, wenn Sie Dinge automatisch in Zoho Books erledigen möchten. Folgend sind einige der Szenarien aufgeführt, in denen Workflows zum Einsatz kommen.
- Szenarien für E-Mail-Benachrichtigungen
- Szenarien für Feldaktualisierungen
- Szenarien für Webhooks
- Szenarien für benutzerdefinierte Funktionen
Szenarien für E-Mail-Benachrichtigungen
Szenario 1:
Dillion Inc. ist ein Bekleidungsexportunternehmen. Der VP für Vertrieb möchte E-Mail-Benachrichtigungen erhalten, wenn ein Mitarbeiter ein Angebot über einen Betrag von mehr als 10.000 $ für einen ihrer wichtigsten Kunden erstellt. Dies wird ihnen helfen, ihre besten Dienstleistungen anzubieten. In diesem Fall kann ein Workflow entworfen werden, der automatisch E-Mail-Benachrichtigungen auslöst, wenn die folgenden Bedingungen erfüllt sind.
Ausführen, wenn: Erstellt
Regelkriterien: Gesamter fälliger Betrag ist größer als 10.000 $.
Sofortige Aktion: E-Mail-Benachrichtigung an den VP für Vertrieb/Finanzteam.
Zeitbasierte Aktion: —
Szenario 2:
Joseph, der CTO von Bookworm.com, einem Online-Buchladen, möchte ein System implementieren, bei dem eine Benachrichtigungsnachricht an die Verpackungsabteilung ausgelöst werden soll, sobald eine Rechnung für eine vom Kunden aufgegebene Bestellung erstellt wird. Die Funktion E-Mail-Benachrichtigungen ermöglicht es ihm, dies zu erreichen, indem er eine Workflow-Regel mit den folgenden Parametern erstellt.
Ausführen, wenn: Erstellt oder bearbeitet
Regelkriterien: Kontaktname ist XYZ
Sofortige Aktion: —
Zeitbasierte Aktion: E-Mail-Benachrichtigung an die Verpackungsabteilung bei Erstellung einer Rechnung.
Szenario 3:
Adrian ist der Leiter der Reiseabteilung bei Fossil Petrocorp, einem Unternehmen, das sich auf die Suche nach effizienten Möglichkeiten zur Nutzung nicht erneuerbarer Energiequellen spezialisiert hat. Ihre Ingenieure reisen ständig um die Welt, um Geschäfte mit großen Erdölunternehmen zu machen. Adrians Aufgabe ist es sicherzustellen, dass ihre Flugtickets rechtzeitig vom Unternehmen gebucht und bezahlt werden. Jedes Mal, wenn Adrian ein Flugticket für seine Kollegen über ihren Reiseanbieter bucht, möchte er eine Bestätigungs-E-Mail an den Anbieter senden, dass sie die Rechnung erhalten haben und die Zahlung vor dem Fälligkeitsdatum leisten werden.
Ausführen, wenn: Erstellt oder bearbeitet
Regelkriterien: Firmenname ist ABC Reisebüro und Status ist Offen.
Sofortige Aktion: —
Zeitbasierte Aktion: E-Mail-Benachrichtigung an den Reiseanbieter bei Erstellung einer Rechnung für die Flugtickets.
Szenarien für Feldaktualisierungen
Szenario 1:
Andrew ist der Marketingleiter von SolarSync, einem Hersteller von Solarpanelen. Laut seiner neu erlassenen Richtlinie sollte der Vertriebsmitarbeiter auf “XYZ” geändert werden, sobald der Vertriebsmitarbeiter “ABC” den Verkauf abgeschlossen hat, d.h. wenn eine Rechnung über einen Gesamtbetrag von mehr als 10.000 $ erstellt oder bearbeitet wurde. Ein Workflow automatisiert den Prozess der Neuzuweisung der Aufgabe an eine andere Person, indem die folgenden Parameter festgelegt werden, um die Richtlinie auszuführen.
Ausführen, wenn: Erstellt oder bearbeitet
Regelkriterien: Wenn der Vertriebsmitarbeiter “ABC” ist und der Gesamtbetrag größer als 10.000 $ ist.
Sofortige Aktion: Aktualisieren Sie das Feld Vertriebsmitarbeiter auf “XYZ”
Zeitbasierte Aktion: —
Szenario 2:
MobileCave Inc. besitzt eine Kette von Geschäften, die Mobiltelefone verkauft. Sie bestellen ständig Telefone von verschiedenen Anbietern. Die Einkaufsabteilung hatte oft Schwierigkeiten, die Sendungen rechtzeitig zu erhalten, da ihre Anbieter auch an mehrere andere Geschäfte in der Stadt liefern. Die Einkaufsabteilung findet einen Weg, dies zu überwinden, indem sie den Anbieter eine Woche vor dem versprochenen Lieferdatum benachrichtigt. Laut dem Einkaufsteam kann dies erreicht werden, indem ein Workflow erstellt wird, der ausgeführt wird, wann immer eine Bestellung über 2000 $ aufgegeben wurde.
Außerdem wurde eine weitere Aktion festgelegt, um das Notizfeld zu aktualisieren, das eine kurze Nachricht an den Anbieter enthält, in der er gebeten wird, die Waren pünktlich zu liefern, und wenn sie dies tun, können sie in Zukunft mit weiteren Bestellungen von MobileCave Inc. rechnen.
Ausführen Wenn: Erstellt oder Bearbeitet
Regelkriterien: Wenn Firmenname “ABC” ist ODER Gesamtbetrag größer als 2000 $.
Sofortige Aktion: Notizfeld mit einer Nachricht aktualisieren, um die Waren pünktlich zu liefern.
Zeitbasierte Aktion: E-Mail-Benachrichtigung 7 Tage vor dem erwarteten Lieferdatum.
Szenario 3:
Andrew ist der Eigentümer von Phoenix Rent-a-Car, einem Autovermietungsunternehmen in Chicago. Einer seiner Stammkunden hat ein Auto für einen Monat gemietet. Andrew sendet ihm eine Rechnung über 1500 $ für einen Zeitraum von 30 Tagen, d.h. 50 $/Tag, d.h. 1500 $/Monat. Er hat seinem Kunden auch einen Rabatt von 500 $ angeboten. Er möchte jedoch die Kundennotizen 10 Tage nach dem Angebotsdatum aktualisieren, indem er ihm auch ein paar kostenlose Angebote macht. Er kann diese Aufgabe automatisieren, indem er die folgenden Parameter festlegt.
Ausführen Wenn: Erstellt oder Bearbeitet
Regelkriterien: Wenn Gesamtbetrag=1000 und Rabatt > 500.
Sofortige Aktion: —
Zeitbasierte Aktion: Das Feld Kundennotizen 10 Tage nach dem Angebotsdatum aktualisieren.
Szenarien für Webhooks
Szenario 1:
Greg ist der PR-Manager eines Unternehmens für Home & Office Security. Ein Erstkunde hat um ein Angebot für die Einrichtung von Sicherheitssystemen für sein Büro in Boston gebeten. Greg möchte einen guten Eindruck hinterlassen, indem er sofort eine ‘Danke’-SMS sendet, sobald er das Angebot annimmt. Die Webhooks-Funktion in der Automatisierung kann dies tun, indem die folgenden Parameter festgelegt und mit einem SMS-Gateway verbunden werden.
Ausführen Wenn: Erstellt oder Bearbeitet
Regelkriterien: Wenn Kontaktname “XYZ” und Kontakttyp “Kunde” ist.
Sofortige Aktion: SMS-Benachrichtigung über einen Webhook mit SMS-Gateway.
Zeitbasierte Aktion: —
Szenario 2:
Frank ist der Finanzcontroller einer Wertpapierfirma. Der Großteil der Einnahmen des Unternehmens wird auf das offizielle Stripe-Konto des Unternehmens gutgeschrieben. Er möchte über alle hochpreisigen Einzahlungen oder Abhebungen in Bezug auf Rechnungen oder Ausgaben von diesem Konto wöchentlich per E-Mail oder SMS benachrichtigt werden. Er kann dies erreichen, indem er einen Webhook mit den folgenden Parametern einrichtet.
Ausführen Wenn: Erstellt oder Bearbeitet
Regelkriterien: Wenn Gesamtbetrag>=$10.000
Sofortige Aktion: —
Zeitbasierte Aktion: SMS 7 Tage nach dem Regeltriggerdatum auslösen.
Szenario 3:
Simon ist der CEO eines Start-ups namens Food4Fun, das Mahlzeiten für die Mitarbeiter großer Unternehmen im Bay Area bereitstellt. Er hat etwa 5 Kunden. Sein Unternehmen hat täglich Ausgaben für Zutaten, Transport, Benzin und die Stundenlöhne der Mitarbeiter, die stundenweise bezahlt werden. Seine Buchhalterin Jane hat ihn gebeten, die Quittungen für die entstandenen Transportausgaben hochzuladen, damit sie diese überprüfen und den Kunden in Rechnung stellen kann. Jedes Mal, wenn Simon am Ende des Tages eine Ausgabe für den Transport erstellt, wird die Quittung automatisch in einen Cloud-Speicherdienst hochgeladen, auf den auch Jane zugreifen kann.
Ausführen Wenn: Erstellt oder Bearbeitet
Regelkriterien: Wenn Ausgaben-Konto Reisekosten UND Ist abrechenbar ist Wahr.
Sofortige Aktion: Ausgabenbelege werden über Webhooks in einen Cloud-Speicherdienst hochgeladen.
Zeitbasierte Aktion: —
Szenarien für benutzerdefinierte Funktionen
Szenario 1:
Anwenden eines 10% Rabatts, wenn der Rechnungsbetrag 2500 $ übersteigt
Sarah betreibt einen Supermarkt und möchte Rabatte anbieten, um den 10. Jahrestag ihres Geschäfts zu feiern. Sie beschließt, einen Rabatt von 10% für jeden zu gewähren, der einen Einkauf von 2500 $ oder mehr tätigt. Es wäre eine mühsame Aufgabe, den Rabatt jedes Mal einzufügen, wenn sie eine Rechnung erstellt.
Mit Hilfe einer benutzerdefinierten Funktion kann sie ein kleines Stück Code schreiben, um diese Aktion auszuführen.
Sarah kann eine Bedingung festlegen, bei der, wenn der Gesamtbetrag der Rechnung 2500 $ übersteigt, die Funktion ausgeführt wird und ein Rabatt von 10% angewendet wird.
Jetzt schauen wir uns an, wie die benutzerdefinierte Funktion für dieses Szenario aussehen würde.
Name der benutzerdefinierten Funktion: Rabatt
Beschreibung: Wenden Sie einen Rabatt von 10% an, wenn der Rechnungsbetrag 2500 $ übersteigt
Modul: Rechnung
Skript:
//create a variable and get invoice total
total = invoice.get("total").toDecimal();
//set a condition: when invoice amount is >= 2500
if ( total >= 2500.00 )
{
adjustment = invoice.get("adjustment").toDecimal();
adjustment = adjustment - total * 0.10;
jsonstring = "{\"adjustment\":" + adjustment + ",\"reason\":\" DISCOUNT \"}";
// To update the current record
zoho.books.updateRecord("Invoices", organization.get("organization_id"), invoice.get("invoice_id"), jsonstring.toMap());
}
Sie erstellt dann eine Workflow-Regel mit den folgenden Parametern.
Name der Workflow-Regel: Jubiläumsrabatt
Modul: Rechnung
Workflow-Typ: Ereignisbasiert
Wenn eine Rechnung: erstellt wird
Auslöser: Wenn der Gesamtbetrag >= 2500
Aktionen: Benutzerdefinierte Funktionen - Rabatt
Jetzt wird der Workflow ausgelöst und die benutzerdefinierte Funktion ausgeführt, wenn der Rechnungsbetrag größer oder gleich 2500 $ ist.
Szenario 2:
Hinzufügen einer 5% Verspätungsgebühr, wenn eine Rechnung überfällig wird
Dennis betreibt eine Self-Storage-Anlage in Manhattan, in der Kunden alles in einer Kiste lagern können, die klein genug ist, um Dokumente sicher zu lagern, und groß genug, um ein teures Auto zu lagern. Er berechnet seinen Kunden die Möglichkeit, täglich, wöchentlich, monatlich oder sogar jährlich zu zahlen. Er bietet ihnen eine 10-tägige Karenzzeit ab dem Rechnungsdatum, um die Zahlung zu leisten, nach der er zusätzlich 5% des Rechnungsbetrags als Verspätungsgebühren erhebt.
Mit Zoho Books schreibt er einen kleinen Code mit benutzerdefinierten Funktionen, um die Verspätungsgebühren automatisch zu berechnen und als Anpassungen in den Rechnungen hinzuzufügen, wenn die Rechnungen überfällig werden.
Jetzt schauen wir uns an, wie die benutzerdefinierte Funktion für dieses Szenario aussehen würde.
Name der benutzerdefinierten Funktion: Verspätungsgebühr
Beschreibung: Wenden Sie eine 5% Verspätungsgebühr auf den Rechnungsbetrag an
Modul: Rechnung
Skript:
//create a variable to get invoice total and add a 5% late fee
latefee = invoice.get("total").toDecimal() * 0.05;
//display the value stored in the latefee variable
info latefee ;
//add late fee and adjustment and store the total amount in the variable 'adjustment'
adjustment = invoice.get("adjustment").toDecimal()+ latefee;
jsonstring = "{\"adjustment\":" + adjustment + ",\"reason\":\" late fee\"}";
// To update the current record
result = Map();
result = zoho.books.updateRecord("Invoices", organization.get("organization_id"), invoice.get("invoice_id"), jsonstring.toMap());
info result;
Sie erstellt dann eine Workflow-Regel mit den folgenden Parametern. Workflow-Regelname: Verspätungsgebühr
Modul: Rechnung
Workflow-Typ: Datumsbasiert
Ausführungsdatum: 0 Tag(e) nach Fälligkeitsdatum
Ausführungszeit: Geben Sie die Ausführungszeit ein
Ausführungshäufigkeit: Einmal
Trigger: Wenn > Status > ist nicht > Bezahlt > UND > Status > ist nicht > Teilweise Bezahlt
Jetzt, wenn das Fälligkeitsdatum der Rechnung das festgelegte Datum (in der Workflow-Regel) überschreitet, wird der Workflow ausgelöst und die benutzerdefinierte Funktion wird ausgeführt.
Szenario 3:
Rabatt gewähren, wenn die Zahlung für die Rechnung vor dem Fälligkeitsdatum erfolgt
Donna betreibt ein Designbüro, das monatlich Werbematerialien für Websites erstellt. Dazu gehört das Entwerfen von Broschüren, Banneranzeigen und anderen Werbematerialien. Donna sendet am Ende jedes Monats Rechnungen und erhält oft erst nach der Kreditfrist, die 30 Tage beträgt, Zahlungen. Um die Gelder sofort zu erhalten, beschließt sie, einen Rabatt anzubieten, wenn der Rechnungsbetrag vor dem Fälligkeitsdatum der Rechnung bezahlt wird.
Um dies umzusetzen, fügt sie ihren Rechnungen einen Rabatt von 5% hinzu und erwähnt im Abschnitt für Kundennotizen, dass der Rabatt nur gilt, wenn die Zahlung vor dem Fälligkeitsdatum erfolgt.
Um dies zu ermöglichen, schreibt Donna die folgende benutzerdefinierte Funktion.
//wenn die Zahlung für die Rechnung nach dem Fälligkeitsdatum der Rechnung eingeht, wird der Rabatt nicht angewendet
jsonstring = "{\"discount\" : 0, \"reason\" : \"überfälliges Datum überschritten\"}";
zoho.books.updateRecord("invoices", organization.get("organization_id"), invoice.get("invoice_id"), jsonstring.toMap());
Sobald dies erledigt ist, erstellt sie einen Workflow, um diese benutzerdefinierte Funktion auszuführen. Die Parameter der Workflow-Regel sind unten aufgeführt:
Workflow-Regelname: Rabatt für frühzeitige Zahlung
Modul: Rechnung
Workflow-Typ: Datumsbasiert
Ausführungsdatum: 0 Tag(e) nach Fälligkeitsdatum
Ausführungszeit: Geben Sie die Ausführungszeit ein
Ausführungshäufigkeit: Einmal
Trigger: Wenn > Status > ist nicht > Bezahlt
Aktionen
Typ: Benutzerdefinierte Funktion und Name: Name Ihrer benutzerdefinierten Funktion
Wenn also eine Rechnung das Fälligkeitsdatum erreicht, wird der Workflow ausgelöst und die benutzerdefinierte Funktion wird 0% Rabatt anstelle der tatsächlichen 5% hinzufügen.
Szenario 4:
Fälligkeitsdatum für eine Rechnung automatisch auf 30 Tage vor dem Veranstaltungsdatum (das über ein benutzerdefiniertes Feld eingegeben wird) festlegen
Tom ist ein kreativer Hochzeitsfotograf. Seine Kunden buchen seine Dienste 2-3 Monate vor dem Hochzeitstermin (Veranstaltungsdatum). Und Tom würde das Datum nur bestätigen, wenn der Kunde den vollen Betrag 30 Tage vor dem Hochzeitstermin bezahlt. Um diesen Prozess zu optimieren, schreibt Jake, eines der Mitglieder von Toms Studio, eine kleine benutzerdefinierte Funktion.
Um zu beginnen, erstellt Jake ein benutzerdefiniertes Feld mit dem Namen “Hochzeitsdatum” mit dem Datentyp und schreibt die folgende benutzerdefinierte Funktion
customFields = invoice.get("custom_fields").toList();
cfDate = null;
for each customField in customFields
{
customField = customField.toMap();
if(customField.get("label") == "Datum")
{
cfDate = customField.get("value");
}
}
duedate = cfDate.toTime().subMonth(1);
info duedate;
duedate = duedate.year() + "-" + text(duedate.month(),"00") + "-" + text(duedate.day(),"00");
jsonstring = "{\"due_date\":" + duedate + ",\"reason\":\" Fälligkeitsdatum geändert. \"}";
result = zoho.books.updateRecord("invoices",organization.get("organization_id"),invoice.get("invoice_id").toString(),jsonstring.toMap());
info result;
Nachdem Jake die benutzerdefinierte Funktion erstellt hat, erstellt er eine Workflow-Regel, um sie auszulösen. Die Parameter der Workflow-Regel sind wie folgt:
Workflow-Name: Zahlung 30 Tage vor der Hochzeit
Modul: Rechnung
Workflow-Typ: Ereignisbasiert
Wenn die Rechnung: Erstellt wird
Aktionen
Typ: Benutzerdefinierte Funktion und Name: Name Ihrer benutzerdefinierten Funktion
Beim Erstellen einer Rechnung, wenn Tom das Hochzeitsdatum im benutzerdefinierten Feld erwähnt, wird der Workflow ausgelöst und die benutzerdefinierte Funktion setzt das Fälligkeitsdatum der Rechnung auf 30 Tage vor dem Hochzeitsdatum.
Szenario 5:
Ein Angebot automatisch ablehnen, wenn es innerhalb von 10 Tagen nach dem Erstellungsdatum nicht angenommen wird.
Katherine besitzt ein Unternehmen, das Automobilersatzteile an mehrere Kfz-Servicewerkstätten liefert. Mehrere Kunden bitten sie um ein Angebot, aber ein Teil von ihnen kommuniziert ihre Entscheidung nicht, indem sie das Angebot weder annehmen noch ablehnen. Um dies zu vermeiden, beschließt Katherine, das Angebot abzulehnen, wenn sie innerhalb von 10 Tagen nach Erhalt des Angebots nichts vom Kunden hört. Um dies umzusetzen, schreibt sie eine benutzerdefinierte Funktion.
\\Hole das Angebot und die Organisations-ID
quoteid = quote.get("quote_id");
orgid = organization.get("organization_id");
\\Ändere den Status des Angebots auf 'abgelehnt'
result = invokeUrl
[
url: "https://books.zoho.com/api/v3/quotes/" + quoteid + "/status/declined?organization_id=" + orgid
type: POST
connection: "books_api_connection"
];
Erfahren Sie mehr im Connections Hilfedokument.
Um die Ausführung dieser benutzerdefinierten Funktion auszulösen, erstellt sie eine Workflow-Regel mit den folgenden Parametern.
Workflow-Name: Angebot nach 10 Tagen nach Erhalt ablehnen
Modul: Angebote
Workflow-Typ: Datumsbasiert
Ausführungsdatum: 10 Tag(e) nach Erstellungszeit
Ausführungszeit: Geben Sie die Ausführungszeit ein
Ausführungszyklus: Einmal
Kriterien: Wenn > Angebotsstatus > ist > Gesendet > UND > Angebotsstatus > ist > nicht genehmigt
Aktionen
Typ: Benutzerdefinierte Funktion und Name: Name Ihrer benutzerdefinierten Funktion
Jetzt, wenn das Angebot 10 Tage nach seiner Erstellungszeit überschreitet, wird der Workflow ausgelöst und die benutzerdefinierte Funktion wird ausgeführt, um den Status des Angebots auf abgelehnt zu ändern.
Szenario 6:
Fälligkeitsdatum um 7 Tage verlängern, wenn der Kunde 50% des Rechnungsbetrags am oder vor dem ursprünglichen Fälligkeitsdatum bezahlt
Diane besitzt ein Geschäft, das Druckpapier und Büromaterial für Büros in ihrer Umgebung liefert. Sie möchte das Fälligkeitsdatum der Rechnung um eine Woche verlängern, wenn die Kunden 50% des Rechnungsbetrags am oder vor dem ursprünglichen Fälligkeitsdatum bezahlen.
Um dies zu tun, schreibt sie die folgende benutzerdefinierte Funktion:
//Gesamtbetrag der Rechnung, Restbetrag nach der Teilzahlung und Fälligkeitsdatum abrufen
inv_total = invoice.get("total").toDecimal();
inv_balance = invoice.get("balance").toDecimal();
inv_duedate = invoice.get("due_date").toDate();
orgid = organization.get("organization_id");
invid = invoice.get("invoice_id");
//Bedingung überprüfen, ob der gezahlte Betrag 50% des Rechnungsbetrags beträgt
if(inv_balance == inv_total / 2)
{
inv_duedate = inv_duedate.addDay(7);
inv_duedate = inv_duedate.year() + "-" + text(inv_duedate.month(),"00") + "-" + text(inv_duedate.day(),"00");
//Aktualisiere das Fälligkeitsdatum um 7 Tage
jsonstring = "{\"due_date\" : " + inv_duedate + ", \"reason\" : \"Fälligkeitsdatum verlängert\"}";
result = zoho.books.updateRecord("invoices",orgid,invid,jsonstring.toMap());
}
Sobald dies erledigt ist, erstellt Diane eine Workflow-Regel, um die benutzerdefinierte Funktion auszuführen.
Workflow-Name: Fälligkeitsdatum verlängern
Modul: Rechnung
Workflow-Typ: Ereignisbasiert
Wenn die Rechnung: Bearbeitet wird
Workflow ausführen Wenn ein Feld aktualisiert wird
Nur einmal oder jedes Mal? Nur einmal
Trigger Wenn > Status > ist > Teilweise bezahlt
Typ: Benutzerdefinierte Funktion und Name: Name Ihrer benutzerdefinierten Funktion
Jetzt, wenn ein Kunde 50% des Rechnungsbetrags bis zum ursprünglichen Fälligkeitsdatum bezahlt, wird ihm eine Nachfrist von 7 Tagen gewährt, um den Restbetrag zu zahlen.