הטיפ השבועי לילד: ניהול גבייה עם Google Sheets (כולל קובץ לדוגמה)

(אוקיי אוקיי, אולי לא בדיוק שבועי, אבל אתם מבינים את הכוונה)

טוב, נתחיל. יצא לי קצת להתעסק עם גבייה בשבועיים האחרונים, וחשבתי שיהיה נחמד לשתף אתכם ב-Hack נחמד שעושה שימוש ב"פתיחות" של Google Sheets, וכשאני אומר פתיחות אני לא מתכוון רק לעובדה שאפשר לשתף מסמכים בקלילות באמצעות URL, אלא גם לעובדה שקל יחסית "לדחוף" נתונים לגליון באמצעות קוד, ולאו דווקא באמצעות מקלדת.

הדרישה: כלי דינמי לתפעול וניהול הליך גבייה

אז מה בעצם היה חשוב לי כשחיפשתי כלי שיסייע לי לנהל את תהליך הגבייה?

  1. שמספר אנשים יוכלו לצפות בו-זמנית בקובץ שמראה כמה חייב כל לקוח. זה אגב לא רק מי שתפקידו להתקשר ולשאול את הלקוחות איפה הכסף, אלא כל אדם אחר בחברה שמתעניין בנושא.
  2. שהאנשים שביצעו שיחות יוכלו להזין בו-זמנית מידע אודות השיחות שניהלו (תאריך, מה אמרו להם וכו').
  3. שתהיה אפשרות "לנהל דיון" בנוגע לחובות מסוימים, בצורה מסודרת.
  4. שיהיה דשבורד שיציג סיכום עדכני של כמה חוב יש בחוץ, כמה שיחות התבצעו.
  5. שיהיה אפשר לצפות בצורה מרוכזת בתוכן שהוזן (קצת כמו אזור ה-Notifications של פייסבוק).

פיתרונות אפשריים שנפסלו

אלו כלים פסלתי?

  • אקסל, בשילוב עם Power Query – כי לא נוח לעבוד עליו במקביל והוא לא נגיש בצורה מושלמת, כלומר באמצעות URL ציבורי.
  • שימוש ב-ERP, כמו פריוריטי – כי ההזנה אפשרית רק ברמת הערות באובייקט הלקוח, כי הוא לא נגיש, כי בשביל להשיג בו גמישות צריך לשלם אלפי שקלים למטמיעים שאף פעם לא זמינים, כי הוא מכוער (אוקיי, מודה שאני טיפה אמוציונלי בנוגע לפריוריטי).
  • שימוש בכלי לניהול משימות כמו Trello – כי טיפה מסובך להזין לתוכו נתונים, אבל בעיקר בגלל שכאשר יש מספר לקוחות גדול התצוגה של מאות כרטיסים היא לא משהו שאפשר לעבוד איתו. וגם כי סיפור לבנות עם זה דשבורד.

הפיתרון: שימוש ב-Google Sheets

מהר מאוד הבנתי שהפיתרון מצוי ב-Google Sheets, הדבר היחיד שתקע אותי זה שלא ידעתי איך אפשר לדחוף אליו נתונים של דוח גיול עדכני, מ-View שיושב על SQL Server של פריוריטי אל תוך הגליון שהולכים לעבוד עליו. למזלי, ה-VP R&D שלנו פתר לי את הבעיה בערך תוך 2 דקות של שיחה, כשסיפר לי על Google Apps Script, שזו שפה מבוססת JavaScript המאפשרת לכתוב Add-ons למסמכי Google Docs. שמח וטוב לב אצתי רצתי ל-Upwork ומצאתי לי מפתח מקדוני שביצע עבורי את מה שהייתי צריך. מה זה אומר בעצם? או, אז ככה:

הקובץ לדוגמה כאן

  • בלשונית הראשונה, הנקראת Aging, מובאת טבלה שטוחה סטנדרטית שהיא דוח הגיול מתוך ה-ERP, פריוריטי במקרה שלי.

  •  בלשונית השנייה, שנקראת CallsInput, מתרחש רוב האקשן. ישנה טבלה שמציגה סיכום של החוב הכולל של כל לקוח והחוב שנמצא באיחור, כאשר הטבלה מסודרת לפי גודל החוב שמצוי באיחור, מהגבוה לקטן כמובן. כך יכולים נציגי הגבייה לראות מהו החוב הכולל של כל לקוח, וכמובן להקצות תשומת לב מיוחדת לחובות הגדולים יותר. אבל כמו שציינתי קודם לכן, המטרה היא לא רק להציג סיכום, המטרה היא להשתמש בקובץ כמשטח עבודה, ולכן ישנו מקום להזין את הסטטוס של החוב (תוך שימוש ב-Data Validation) ואת תוכן השיחות שנוהלו עם הלקוח, כאשר התוכן שמזינים לתא הוא תאריך השיחה והתוכן של השיחה מוזן ב-Comment לתא.

השקעתי הרבה מחשבה בנושא הזה עד שהגעתי לשיטת ההזנה הזו וישנן מספר סיבות לכך שבחרתי בשיטה הספציפית הזו: האחת, הזנת התאריכים בלבד מסייעת לכך שהגליון לא יהיה "עמוס" בעין כמו מסמך וורד; השנייה, הזנת התאריכים בלבד תקל עלינו כשנרצה לדעת כמה שיחות נעשו בכל יום (שימוש ב-Countif עבור כל יום); שלישית, הזנת תוכן השיחה כ-Comments מאפשרת ניהול דיון בנוגע לשיחה ספציפית עם קולגות באמצעות פנייה אליהם (שימוש ב-@); רביעית ואחרונה, הזנת תוכן השיחה כ-Comments מאפשרת צפייה מרוכזת של כל התגובות האחרונות, שימושי מאוד עבור מי שמנהל את הנושא ורוצה להתעדכן במה שהתרחש בשעות האחרונות:

  • בלשונית השלישית, ששמה Summary, ישנם תרשימים המסכמים את הסטטוס של התהליך, עבור מנהלי החברה שרוצים להתעדכן בשורה התחתונה:

חלקכם אולי יגיבו כעת עם משהו בסגנון של "אוקיי, אז הראית לנו גליון Sheets שאפשר לעבוד עליו ולתקשר מעליו, שיודע גם לסכם את המידע. נחמד, אבל לא מרגש. למה בכלל היית צריך לשכור מפתח מקדוני? רצית להרגיש עליון על מישהו?"

טוב, ההערה האחרונה שלכם ממש פגעה.

העניין בתהליך גבייה הוא שיתרת החוב של הלקוחות היא משהו שמשתנה אחת לכמה ימים, והדבר הכי גרוע הוא שעובדים יתחילו "לנהל גרסאות" של קבצים אליהם הזינו את תוכן השיחות. זה בדיוק מפספס את הקטע של אחסון הידע שנצבר במקום אחד. כאן נכנס לסיפור המנגנון של Google Apps Script, ומה שביקשתי מהמפתח הלך ככה:

  1. ראשית, משוך את טבלת הגיול העדכנית מתוך View שישכון בשרת של הפריוריטי.
  2. במידה ונוספו לטבלה שנמשכה לקוחות חדשים, שלא מופיעים בלשונית Calls Input, תוסיף אותם לסוף הטבלה שנמצאת ב-Calls Input, יחד עם SUMIF של מצב החוב שלהם.
  3. מיין את הטבלה שנמצאת ב-Calls Input לפי סך החוב שנמצא בפיגור.
  4. כמו-כן, לעולם אל תמחק לקוחות מלשונית Calls Input, גם אם הם כבר לא מופיעים בטבלת Aging.

כך, מדי עדכון של טבלת הגיול שנעשה בלחיצת כפתור (אך גם ניתן לתזמון אם רוצים), אנו מקבלים את פירוט החוב העדכני של כל לקוח, תוך שימור המידע שהוזן עד כה – בדיוק המטרה הראשונית שלנו!

סיכום

כבר חזרתי ואמרתי אינספור פעמים שאני תופס את תפקיד ה-CFO בסטארט אפים קטנים (עד 100 עובדים) ככזה שאמור לבנות מנגנונים שייעלו הליכים קיימים ולמצוא דרכים יצירתיות ליישם אותם. אני מאוד גאה ברעיון שחלקתי אתכם כאן כי תוך 48 שעות מהרגע שחשבתי עליו צוות של שלושה עובדים כבר התחיל לעבוד עליו באופן שוטף, כולל החלפת מידע באמצעות מנגנון התגובות. זה ערך לא מבוטל שהגיע די מהר – עניין לא טריוויאלי עבור מחלקה שבדרך כלל לוקח זמן לראות את הפירות שהיא מניבה.

יש לכם טיפים משלכם שאתם רוצים לחלוק? שלחו לי מייל, אשמח לתת לכם במה!

3 תגובות כתוב תגובה

  1. ערן, דוגמא מעולה לייעול תהליכים ויוזמה של CFO. בתור CFO חשוב לנו הרבה פעמים לעשות עלות תועלת ולבחור בכלי שמביא לתועלת הכי גבוהה בעלות נמוכה ואסור לנו לפסול אף כלי (למשל GOOGLE DOCS). השליטה שלך בכלים והיכולת שלך לעבוד עם גורמים זרים מרשימה. חג שמח, קובי

כתיבת תגובה