{"id":3775,"date":"2025-10-02T14:55:20","date_gmt":"2025-10-02T12:55:20","guid":{"rendered":"https:\/\/sprintcx.net\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/"},"modified":"2025-10-02T16:54:49","modified_gmt":"2025-10-02T14:54:49","slug":"tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren","status":"publish","type":"post","link":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/","title":{"rendered":"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren"},"content":{"rendered":"<h2>Vom Standard-ERP zur ma\u00dfgeschneiderten L\u00f6sung: Komplexe Dienstleistungsprozesse mit Zoho automatisieren<\/h2>\n<p>Stehst Du vor der Herausforderung, dass Dein aktuelles ERP-System zu starr f\u00fcr Deine dynamischen Dienstleistungsprozesse ist? Viele Standardl\u00f6sungen sto\u00dfen an ihre Grenzen, wenn es um flexible Abrechnungsmodelle, individuelle Angebotsgestaltung oder spezifische Automatisierungsw\u00fcnsche geht. Genau hier entfaltet das Zoho-\u00d6kosystem seine wahre St\u00e4rke: Nicht als fertiges Produkt von der Stange, sondern als eine flexible Plattform, die sich durch intelligente Kombination verschiedener Apps und gezielte Eigenentwicklung exakt an Deine Bed\u00fcrfnisse anpassen l\u00e4sst. In diesem Artikel zeigen wir Dir anhand eines konkreten Praxisbeispiels aus der IT-Dienstleistungsbranche, wie Du komplexe Anforderungen wie variable Stundens\u00e4tze und dynamische Angebotstexte umsetzen kannst. Wir tauchen tief in den Tech-Stack ein und demonstrieren, wie Du mit <a href=\"\/de\/zoho-crm\/\">Zoho CRM<\/a>, <a href=\"https:\/\/www.zoho.com\/de\/projects\/\">Zoho Projects<\/a>, <a href=\"\/de\/zoho-books\/\">Zoho Books<\/a> und der Skriptsprache Deluge eine hochgradig individualisierte L\u00f6sung baust.<\/p>\n<h3>Das Praxisbeispiel: Die Herausforderung eines Cyber-Security-Dienstleisters<\/h3>\n<p>Stell Dir ein spezialisiertes Cyber-Security-Unternehmen vor. Bisher nutzt es ein branchenspezifisches ERP-System, das jedoch immer mehr zum Hemmschuh wird. Die Prozesse sind starr, Anpassungen kaum m\u00f6glich. Das Team k\u00e4mpft t\u00e4glich mit manuellen Workarounds, die fehleranf\u00e4llig und zeitaufwendig sind. Folgende Kernanforderungen kann die bestehende Software nicht oder nur unzureichend abbilden:<\/p>\n<ul>\n<li><strong>Variable Stundens\u00e4tze:<\/strong> Innerhalb desselben Projekts m\u00fcssen unterschiedliche Stundens\u00e4tze abgerechnet werden k\u00f6nnen \u2013 zum Beispiel ein Satz f\u00fcr Remote-Arbeit und ein h\u00f6herer f\u00fcr Eins\u00e4tze vor Ort (Onsite). Das System soll automatisch den korrekten Satz basierend auf der erfassten Zeitart ziehen.<\/li>\n<li><strong>Dynamische Angebotstexte:<\/strong> Wenn ein bestimmter Service, z.B. ein &#8222;Penetrationstest&#8220;, zum Angebot hinzugef\u00fcgt wird, soll automatisch ein vordefinierter, ausf\u00fchrlicher Beschreibungstext am Anfang des Angebots eingef\u00fcgt werden.<\/li>\n<li><strong>Zeitversetzter Versand:<\/strong> Eine Auftragsbest\u00e4tigung, die sp\u00e4t abends erstellt wird, soll nicht sofort, sondern erst am n\u00e4chsten Morgen um 8:00 Uhr automatisch versendet werden, um einen professionelleren Eindruck zu hinterlassen.<\/li>\n<li><strong>Durchg\u00e4ngiger Prozess:<\/strong> Der gesamte Workflow von der Angebotserstellung \u00fcber die Zeiterfassung im Projekt bis hin zur automatisierten Rechnungsstellung und dem Versand von E-Rechnungen an den externen Buchhaltungsdienstleister muss nahtlos und ohne manuelle Eingriffe funktionieren.<\/li>\n<\/ul>\n<p>Das Ziel ist klar: Weg von einer rigiden Insell\u00f6sung, hin zu einem integrierten und flexiblen System, das die einzigartigen Prozesse des Unternehmens unterst\u00fctzt und nicht behindert.<\/p>\n<h3>Schritt-f\u00fcr-Schritt zur L\u00f6sung: Der Tech-Stack im Detail<\/h3>\n<p>Um diese anspruchsvollen Anforderungen umzusetzen, gen\u00fcgt nicht eine einzelne App. Die L\u00f6sung liegt in der intelligenten Verkn\u00fcpfung mehrerer Zoho-Anwendungen, die durch Custom Functions (geschrieben in Deluge) und APIs zu einer ma\u00dfgeschneiderten Einheit verschmelzen. Die Basis bildet in der Regel eine <a href=\"https:\/\/www.zoho.com\/de\/one\/\">Zoho One<\/a> Lizenz, die den Zugriff auf alle notwendigen Apps erm\u00f6glicht.<\/p>\n<h4>Schritt 1: Flexible Angebotserstellung in Zoho CRM<\/h4>\n<p>W\u00e4hrend <a href=\"\/de\/zoho-books\/\">Zoho Books<\/a> hervorragend f\u00fcr die Buchhaltung und Rechnungsstellung geeignet ist, sind seine Angebotsvorlagen eher standardisiert. Die Anforderung, dynamisch ganze Textbl\u00f6cke basierend auf den Angebotspositionen einzuf\u00fcgen, l\u00e4sst sich wesentlich flexibler im Angebotsmodul von <a href=\"\/de\/zoho-crm\/\">Zoho CRM<\/a> umsetzen.<\/p>\n<p><strong>Die Umsetzung:<\/strong><br \/>\nWir erstellen eine Custom Function in Zoho CRM, die immer dann ausgel\u00f6st wird, wenn ein Produkt zu einem Angebot hinzugef\u00fcgt oder entfernt wird. Diese Funktion pr\u00fcft den Namen des Artikels und aktualisiert ein mehrzeiliges Textfeld im Angebot, das wir &#8222;Vortext&#8220; nennen. Dieses Feld wird dann in der Angebotsvorlage an prominenter Stelle platziert.<\/p>\n<p><strong>Beispiel-Code (Deluge f\u00fcr Zoho CRM):<\/strong><\/p>\n<pre><code>\n\/\/ Custom Function, die an das Angebotsmodul gebunden ist\n\/\/ Parameter: quoteId (ID des aktuellen Angebots)\n\n\/\/ Angebot und zugeh\u00f6rige Posten abrufen\nquoteDetails = zoho.crm.getRecordById(\"Quotes\", quoteId);\nlineItems = quoteDetails.get(\"Product_Details\");\nvortext = \"\";\n\n\/\/ Pr\u00fcfen, ob bestimmte Produkte im Angebot enthalten sind\nfor each item in lineItems\n{\n    productName = item.get(\"product\").get(\"name\");\n    if(productName.containsIgnoreCase(\"Penetrationstest\"))\n    {\n        \/\/ Vordefinierten Textbaustein hinzuf\u00fcgen\n        vortext = vortext + \"Einleitung zum Penetrationstest:nUnser umfassender Sicherheitstest analysiert Ihre Systeme auf Schwachstellen und bietet konkrete Handlungsempfehlungen. Der Prozess umfasst die Phasen X, Y und Z...nn\";\n    }\n    if(productName.containsIgnoreCase(\"Mitarbeiterschulung\"))\n    {\n        vortext = vortext + \"Informationen zur Mitarbeiterschulung:nUnsere interaktiven Schulungen sensibilisieren Ihr Team f\u00fcr aktuelle Cyber-Bedrohungen und st\u00e4rken Ihre menschliche Firewall...nn\";\n    }\n}\n\n\/\/ Das \"Vortext\"-Feld im Angebot aktualisieren\nupdateMap = Map();\nupdateMap.put(\"Beschreibung_Vortext\", vortext); \/\/ \"Beschreibung_Vortext\" ist der API-Name des Custom Fields\nupdateResponse = zoho.crm.updateRecord(\"Quotes\", quoteId, updateMap);\ninfo updateResponse;\n<\/code><\/pre>\n<h4>Schritt 2: Variable Stundens\u00e4tze in Zoho Projects &amp; Books<\/h4>\n<p>Dies ist eine der kniffligsten Anforderungen, da <a href=\"https:\/\/www.zoho.com\/de\/projects\/\">Zoho Projects<\/a> standardm\u00e4\u00dfig einen Stundensatz pro Projekt oder pro Benutzer vorsieht, aber nicht pro einzelnem Task oder Zeitbucheintrag. Wir m\u00fcssen diese Logik selbst bauen.<\/p>\n<p><strong>Die Umsetzung:<\/strong><br \/>\n1. <strong>Datenmodell erweitern:<\/strong> In <a href=\"https:\/\/www.zoho.com\/de\/projects\/\">Zoho Projects<\/a> f\u00fcgen wir dem Zeiterfassungsmodul (Timesheet) ein benutzerdefiniertes Auswahlfeld hinzu, z.B. &#8222;Abrechnungsart&#8220; mit den Werten &#8222;Remote&#8220; und &#8222;Onsite&#8220;.<br \/>\n2. <strong>Zentrale Logik via Custom Function:<\/strong> Anstatt die Zeiteintr\u00e4ge direkt in <a href=\"\/de\/zoho-books\/\">Zoho Books<\/a> zu fakturieren, erstellen wir eine geplante Custom Function (z.B. in Zoho CRM oder direkt in Zoho Books), die t\u00e4glich oder w\u00f6chentlich l\u00e4uft.<br \/>\n3. <strong>Prozess der Funktion:<\/strong> Die Funktion ruft per API alle fakturierbaren, aber noch nicht fakturierten Zeiteintr\u00e4ge aus Zoho Projects ab. F\u00fcr jeden Eintrag pr\u00fcft sie den Wert im Feld &#8222;Abrechnungsart&#8220; und wendet den entsprechenden, in der Funktion hinterlegten Stundensatz an (z.B. Remote = 100\u20ac, Onsite = 150\u20ac). Anschlie\u00dfend erstellt oder aktualisiert sie die Rechnungsposten in Zoho Books \u00fcber dessen API.<\/p>\n<p><strong>Beispiel-Code (Konzeptionelles Deluge-Skript):<\/strong><\/p>\n<pre><code>\n\/\/ Geplante Funktion, die z.B. t\u00e4glich l\u00e4uft\n\n\/\/ Verbindung zu Zoho Projects und Zoho Books herstellen\nprojects_connection = \"zoho_projects_connection\";\nbooks_connection = \"zoho_books_connection\";\n\n\/\/ Alle fakturierbaren Zeiteintr\u00e4ge abrufen\ntimeLogs = invokeurl\n[\n    url :\"https:\/\/projects.zoho.eu\/restapi\/portal\/{portal_id}\/projects\/{project_id}\/logs\/\"\n    type :GET\n    connection:projects_connection\n];\n\nfor each log in timeLogs.get(\"logs\")\n{\n    if(log.get(\"is_billable\") == true &amp;&amp; log.get(\"invoiced_status\") == \"Not Invoiced\")\n    {\n        \/\/ Custom Field f\u00fcr Abrechnungsart auslesen\n        billingType = log.get(\"custom_fields\").get(\"Abrechnungsart\");\n        hours = log.get(\"log_hours\").toDecimal();\n        rate = 0.0;\n        \n        \/\/ Stundensatz basierend auf der Abrechnungsart festlegen\n        if(billingType == \"Remote\")\n        {\n            rate = 100.0;\n        }\n        else if(billingType == \"Onsite\")\n        {\n            rate = 150.0;\n        }\n        \n        \/\/ Hier folgt der API-Call, um den Posten in einer Zoho Books Rechnung zu erstellen\/aktualisieren\n        \/\/ z.B. zoho.books.createRecord(\"Invoices\", organizationId, invoiceData, books_connection);\n    }\n}\n<\/code><\/pre>\n<p>Diese Methode gibt Dir die volle Kontrolle \u00fcber die Abrechnungslogik, erfordert aber eine saubere Programmierung und Fehlerbehandlung.<\/p>\n<h4>Schritt 3: Zeitversetzter Versand von Dokumenten<\/h4>\n<p>Diese Anforderung ist ein klassischer Fall f\u00fcr eine geplante Automatisierung. Wir nutzen daf\u00fcr eine Scheduler-Funktion.<\/p>\n<p><strong>Die Umsetzung:<\/strong><br \/>\n1. F\u00fcge dem entsprechenden Modul (z.B. Auftragsbest\u00e4tigungen in Zoho Books) ein Kontrollk\u00e4stchen hinzu, etwa &#8222;F\u00fcr geplanten Versand vormerken&#8220;.<br \/>\n2. Erstelle eine geplante Custom Function, die jeden Werktag um 8:00 Uhr morgens ausgef\u00fchrt wird.<br \/>\n3. Die Funktion sucht nach allen Datens\u00e4tzen, bei denen das Kontrollk\u00e4stchen aktiviert ist. F\u00fcr jeden gefundenen Datensatz f\u00fchrt sie die Standard-E-Mail-Versandaktion \u00fcber die API aus und deaktiviert anschlie\u00dfend das Kontrollk\u00e4stchen.<\/p>\n<p><strong>Beispiel-Code (Deluge f\u00fcr Zoho Books Scheduler):<\/strong><\/p>\n<pre><code>\n\/\/ Geplante Funktion, l\u00e4uft jeden Tag um 08:00 Uhr\n\norganizationId = zoho.books.getOrganizations().get(\"organizations\").get(0).get(\"organization_id\");\n\/\/ Suche nach Rechnungen (oder SalesOrders), die zum Versand markiert sind\nsearchCriteria = \"(cf_geplanter_versand == true)\"; \/\/ cf_geplanter_versand ist der API-Name des Custom Fields\ninvoicesToSend = zoho.books.getRecords(\"Invoices\", organizationId, {\"search_text\":searchCriteria});\n\nfor each invoice in invoicesToSend.get(\"invoices\")\n{\n    invoiceId = invoice.get(\"invoice_id\");\n    \n    \/\/ E-Mail-Versand per API ausl\u00f6sen\n    emailParams = Map();\n    \/\/ Hier k\u00f6nnen E-Mail-Parameter wie Empf\u00e4nger, Vorlage etc. definiert werden\n    emailResponse = zoho.books.sendEmail(\"Invoices\", invoiceId, emailParams, organizationId);\n    \n    \/\/ Nach erfolgreichem Versand das Kontrollk\u00e4stchen zur\u00fccksetzen\n    if(emailResponse.get(\"code\") == 0)\n    {\n        updateMap = Map();\n        updateMap.put(\"cf_geplanter_versand\", false);\n        zoho.books.updateRecord(\"Invoices\", invoiceId, updateMap, organizationId);\n    }\n}\n<\/code><\/pre>\n<h4>Schritt 4: Die Br\u00fccke bauen mit Zoho Flow und externen APIs<\/h4>\n<p>Nicht jede Verbindung muss von Grund auf programmiert werden. F\u00fcr die Synchronisation zwischen <a href=\"\/de\/zoho-crm\/\">Zoho CRM<\/a> (Angebot angenommen) und <a href=\"https:\/\/www.zoho.com\/de\/projects\/\">Zoho Projects<\/a> (Projekt anlegen) oder <a href=\"\/de\/zoho-books\/\">Zoho Books<\/a> (Auftrag erstellen) kann <a href=\"\/de\/zoho-flow\/\">Zoho Flow<\/a> eine visuelle, Low-Code-Alternative sein.<\/p>\n<p>Zus\u00e4tzlich erm\u00f6glicht die `invokeurl`-Task in Deluge die Anbindung beliebiger externer Systeme \u00fcber deren REST-APIs. So k\u00f6nnten die finalen Rechnungsdaten aus Zoho Books nicht nur als PDF exportiert, sondern direkt an das System des externen Buchhaltungsdienstleisters oder an eine Plattform wie <a href=\"https:\/\/www.datev.de\/\" target=\"_blank\" rel=\"noopener noreferrer\">DATEV<\/a> \u00fcbertragen werden, sofern diese eine entsprechende Schnittstelle anbietet.<\/p>\n<h3>Tipps und Best Practices<\/h3>\n<ul>\n<li><strong>Datenmodell zuerst:<\/strong> Bevor Du eine Zeile Code schreibst, plane Dein Datenmodell. Welche benutzerdefinierten Felder ben\u00f6tigst Du in welcher App? Eine saubere Datenstruktur ist die halbe Miete.<\/li>\n<li><strong>Prozessbr\u00fcche managen:<\/strong> Der Wechsel von Zoho CRM (Angebot) zu Zoho Books (Rechnung) ist ein potenzieller Bruch. Gestalte ihn f\u00fcr den Anwender so nahtlos wie m\u00f6glich, z.B. durch einen Button im CRM (&#8222;Auftrag &amp; Rechnung erstellen&#8220;), der eine Custom Function ausl\u00f6st, die alle Daten sauber \u00fcbertr\u00e4gt.<\/li>\n<li><strong>Testen in der Sandbox:<\/strong> Entwickle und teste Deine Custom Functions immer in einer Sandbox-Umgebung von Zoho, bevor Du sie im Live-System einsetzt. Das verhindert teure Fehler im produktiven Betrieb.<\/li>\n<li><strong>Dokumentation ist entscheidend:<\/strong> Kommentiere Deinen Deluge-Code und dokumentiere die Logik Deiner Automatisierungen. Das hilft Dir (und anderen), die Funktionen auch Monate sp\u00e4ter noch zu verstehen und zu warten.<\/li>\n<\/ul>\n<h3>Fazit<\/h3>\n<p>Die wahre St\u00e4rke von Zoho liegt nicht darin, eine &#8222;Out-of-the-box&#8220;-L\u00f6sung f\u00fcr jedes Problem zu sein. Sie liegt in der beispiellosen Flexibilit\u00e4t, die es Dir erm\u00f6glicht, eine perfekt auf Deine Gesch\u00e4ftsprozesse zugeschnittene L\u00f6sung zu entwickeln. Das vorgestellte Beispiel zeigt, dass selbst komplexe Anforderungen wie variable Stundens\u00e4tze und dynamische Dokumente realisierbar sind, wenn man bereit ist, \u00fcber den Tellerrand der Standardkonfiguration hinauszuschauen.<\/p>\n<p>Die Umsetzung erfordert zwar eine Investition in Konzeption und Entwicklung, doch das Ergebnis ist ein System, das mit Deinem Unternehmen w\u00e4chst, manuelle Arbeit eliminiert und Dir einen echten Wettbewerbsvorteil verschafft. Du bist nicht l\u00e4nger gezwungen, Deine Prozesse an die Software anzupassen \u2013 Du passt die Software an Deine Prozesse an.<\/p>\n<p><strong>Verwendete Zoho Apps in dieser L\u00f6sung:<\/strong><\/p>\n<ul>\n<li><a href=\"\/de\/zoho-crm\/\">Zoho CRM<\/a><\/li>\n<li><a href=\"https:\/\/www.zoho.com\/de\/projects\/\">Zoho Projects<\/a><\/li>\n<li><a href=\"\/de\/zoho-books\/\">Zoho Books<\/a><\/li>\n<li><a href=\"\/de\/zoho-flow\/\">Zoho Flow<\/a> (optional)<\/li>\n<li>Deluge Scripting (als Teil der Plattform)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Transformiere komplexe Dienstleistungsprozesse mit Zoho. Entfalte maximale Flexibilit\u00e4t durch ma\u00dfgeschneiderte L\u00f6sungen f\u00fcr variierende Stundens\u00e4tze und dynamische Angebote.<\/p>\n","protected":false},"author":1,"featured_media":4518,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","osh_disable_topbar_sticky":"default","osh_disable_header_sticky":"default","osh_sticky_header_style":"default","osh_sticky_header_effect":"","osh_custom_sticky_logo":0,"osh_custom_retina_sticky_logo":0,"osh_custom_sticky_logo_height":0,"osh_background_color":"","osh_links_color":"","osh_links_hover_color":"","osh_links_active_color":"","osh_links_bg_color":"","osh_links_hover_bg_color":"","osh_links_active_bg_color":"","osh_menu_social_links_color":"","osh_menu_social_hover_links_color":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3775","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zoho","entry","has-media"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren - SprintCX<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren - SprintCX\" \/>\n<meta property=\"og:description\" content=\"Transformiere komplexe Dienstleistungsprozesse mit Zoho. Entfalte maximale Flexibilit\u00e4t durch ma\u00dfgeschneiderte L\u00f6sungen f\u00fcr variierende Stundens\u00e4tze und dynamische Angebote.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/\" \/>\n<meta property=\"og:site_name\" content=\"SprintCX\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-02T12:55:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-02T14:54:49+00:00\" \/>\n<meta name=\"author\" content=\"Gregor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gregor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/\"},\"author\":{\"name\":\"Gregor\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#\\\/schema\\\/person\\\/33a4ba085d0b86874d45522b74c193eb\"},\"headline\":\"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren\",\"datePublished\":\"2025-10-02T12:55:20+00:00\",\"dateModified\":\"2025-10-02T14:54:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/\"},\"wordCount\":1231,\"publisher\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sprintcx.net\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1770286111-69846c1f98ff0.png\",\"articleSection\":[\"Zoho Tutorials\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/\",\"url\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/\",\"name\":\"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren - SprintCX\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sprintcx.net\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1770286111-69846c1f98ff0.png\",\"datePublished\":\"2025-10-02T12:55:20+00:00\",\"dateModified\":\"2025-10-02T14:54:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sprintcx.net\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1770286111-69846c1f98ff0.png\",\"contentUrl\":\"https:\\\/\\\/sprintcx.net\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/1770286111-69846c1f98ff0.png\",\"width\":1408,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/\",\"name\":\"SprintCX\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#organization\",\"name\":\"SprintCX\",\"url\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sprintcx.net\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/cropped-ChatGPT-Image-6.-Mai-2025-09_53_42.png\",\"contentUrl\":\"https:\\\/\\\/sprintcx.net\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/cropped-ChatGPT-Image-6.-Mai-2025-09_53_42.png\",\"width\":846,\"height\":828,\"caption\":\"SprintCX\"},\"image\":{\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/gregor-sprint\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/#\\\/schema\\\/person\\\/33a4ba085d0b86874d45522b74c193eb\",\"name\":\"Gregor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/890daf3cadca0407ae6752f5d3c0f4a1bbb2ce129b70d5e65fbefcc86deba987?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/890daf3cadca0407ae6752f5d3c0f4a1bbb2ce129b70d5e65fbefcc86deba987?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/890daf3cadca0407ae6752f5d3c0f4a1bbb2ce129b70d5e65fbefcc86deba987?s=96&d=mm&r=g\",\"caption\":\"Gregor\"},\"sameAs\":[\"https:\\\/\\\/sprintcx.net\"],\"url\":\"https:\\\/\\\/sprintcx.net\\\/de\\\/author\\\/gregor\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren - SprintCX","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/","og_locale":"de_DE","og_type":"article","og_title":"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren - SprintCX","og_description":"Transformiere komplexe Dienstleistungsprozesse mit Zoho. Entfalte maximale Flexibilit\u00e4t durch ma\u00dfgeschneiderte L\u00f6sungen f\u00fcr variierende Stundens\u00e4tze und dynamische Angebote.","og_url":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/","og_site_name":"SprintCX","article_published_time":"2025-10-02T12:55:20+00:00","article_modified_time":"2025-10-02T14:54:49+00:00","author":"Gregor","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Gregor","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#article","isPartOf":{"@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/"},"author":{"name":"Gregor","@id":"https:\/\/sprintcx.net\/de\/#\/schema\/person\/33a4ba085d0b86874d45522b74c193eb"},"headline":"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren","datePublished":"2025-10-02T12:55:20+00:00","dateModified":"2025-10-02T14:54:49+00:00","mainEntityOfPage":{"@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/"},"wordCount":1231,"publisher":{"@id":"https:\/\/sprintcx.net\/de\/#organization"},"image":{"@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#primaryimage"},"thumbnailUrl":"https:\/\/sprintcx.net\/wp-content\/uploads\/2025\/10\/1770286111-69846c1f98ff0.png","articleSection":["Zoho Tutorials"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/","url":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/","name":"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren - SprintCX","isPartOf":{"@id":"https:\/\/sprintcx.net\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#primaryimage"},"image":{"@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#primaryimage"},"thumbnailUrl":"https:\/\/sprintcx.net\/wp-content\/uploads\/2025\/10\/1770286111-69846c1f98ff0.png","datePublished":"2025-10-02T12:55:20+00:00","dateModified":"2025-10-02T14:54:49+00:00","breadcrumb":{"@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#primaryimage","url":"https:\/\/sprintcx.net\/wp-content\/uploads\/2025\/10\/1770286111-69846c1f98ff0.png","contentUrl":"https:\/\/sprintcx.net\/wp-content\/uploads\/2025\/10\/1770286111-69846c1f98ff0.png","width":1408,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/sprintcx.net\/de\/tutorial-variable-stundensatze-und-angebotslogik-mit-zoho-crm-projects-books-und-deluge-automatisieren\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sprintcx.net\/de\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Variable Stundens\u00e4tze und Angebotslogik mit Zoho CRM, Projects, Books und Deluge automatisieren"}]},{"@type":"WebSite","@id":"https:\/\/sprintcx.net\/de\/#website","url":"https:\/\/sprintcx.net\/de\/","name":"SprintCX","description":"","publisher":{"@id":"https:\/\/sprintcx.net\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sprintcx.net\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/sprintcx.net\/de\/#organization","name":"SprintCX","url":"https:\/\/sprintcx.net\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/sprintcx.net\/de\/#\/schema\/logo\/image\/","url":"https:\/\/sprintcx.net\/wp-content\/uploads\/2025\/05\/cropped-ChatGPT-Image-6.-Mai-2025-09_53_42.png","contentUrl":"https:\/\/sprintcx.net\/wp-content\/uploads\/2025\/05\/cropped-ChatGPT-Image-6.-Mai-2025-09_53_42.png","width":846,"height":828,"caption":"SprintCX"},"image":{"@id":"https:\/\/sprintcx.net\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/gregor-sprint\/"]},{"@type":"Person","@id":"https:\/\/sprintcx.net\/de\/#\/schema\/person\/33a4ba085d0b86874d45522b74c193eb","name":"Gregor","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/890daf3cadca0407ae6752f5d3c0f4a1bbb2ce129b70d5e65fbefcc86deba987?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/890daf3cadca0407ae6752f5d3c0f4a1bbb2ce129b70d5e65fbefcc86deba987?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/890daf3cadca0407ae6752f5d3c0f4a1bbb2ce129b70d5e65fbefcc86deba987?s=96&d=mm&r=g","caption":"Gregor"},"sameAs":["https:\/\/sprintcx.net"],"url":"https:\/\/sprintcx.net\/de\/author\/gregor\/"}]}},"_links":{"self":[{"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/posts\/3775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/comments?post=3775"}],"version-history":[{"count":1,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/posts\/3775\/revisions"}],"predecessor-version":[{"id":3776,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/posts\/3775\/revisions\/3776"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/media\/4518"}],"wp:attachment":[{"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/media?parent=3775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/categories?post=3775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sprintcx.net\/de\/wp-json\/wp\/v2\/tags?post=3775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}