מי רשאי לעשות מה, ומה נשאר רשום

לכל עובד במשרד יש תפקיד ולקוחות משלו. כל פעולה חשובה נרשמת ביומן חתום שנבדק בכל לילה. בהדרכה הזו נפרט גם מה ההגנות האלה לא מכסות.

למי: בעלי משרדים, שותפים, רואי חשבון ומבקריםזמן קריאה: כ־9 דקות

בקצרה

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

כל תפקיד במילים פשוטות

התפקיד קובע אילו מסכים יופיעו בתפריט, אבל ההחלטה האמיתית נעשית בשרת. מי שמנסה לפנות ישירות לפעולה שאינה בתפקידו, נדחה.

תפקידים שרואים את כל המשרד

  • בעל/ת משרד, ומנהל/ת לשכה. גישה מלאה בתוך המשרד: לקוחות ושיוך שלהם לעובדים, מסמכים ואישורים, הכנה, אישור ורישום של פקודות יומן, סגירת תקופה, שכר, חיבורים, ניהול משתמשים, הגדרות מייל ובקשות פרטיות.
  • רואה חשבון. אותן הרשאות, מלבד ניהול משתמשים והגדרות מייל. רואה את כל לקוחות המשרד.

תפקידים שרואים רק לקוחות משויכים

  • מנהל/ת חשבונות בכיר/ה. עבודה על הלקוחות, כולל שיוך שלהם; מסמכים וחריגים; אישור מסמכים; הכנה ואישור של פקודות יומן, אבל לא רישום שלהן; דוחות וייצוא. בלי שכר ובלי סגירת תקופה.
  • מנהל/ת חשבונות. מסמכים ותיקונים, אישור מסמכים, בנק, הכנת טיוטות של פקודות, דוחות, ייצוא ועבודה עם העוזר. לא מאשר/ת ולא רושם/ת פקודות, לא סוגר/ת תקופות, לא משייך/ת לקוחות ולא מריץ/ה שכר.
  • אחראי/ת שכר. הרצת שכר, דוחות וצפייה במסמכים.
  • בודק/ת מסמכים. צפייה במסמכים, טיפול בחריגים ואישור בדיקות. נכנס/ת ישר לתור החריגים.
  • מנהל/ת. פיקוח לקריאה בלבד: דוחות, תיעוד הפעולות וייצוא.
  • צופה. דוחות, לקריאה בלבד.
  • מבקר/ת. לקריאה בלבד: דוחות, תיעוד הפעולות וספרי החשבונות.

מחוץ לצוות המשרד

  • בית עסק. בעל העסק עצמו. רואה רק את העסק שלו, מעלה מסמכים, ורואה את החריגים ואת התיעוד של העסק שלו.
  • מאמת/ת ידע. בודק/ת את העובדות במאגר הידע של העוזר. לתפקיד הזה אין גישה לנתוני לקוחות.
  • מנהל כללי. תפקיד של צוות Ledger Pilot בלבד, לתמיכה ולתפעול. כשאיש צוות שלנו נכנס למשרד שלכם במצב תמיכה, הכניסה נרשמת בתיעוד של המשרד שלכם.
מסך ניהול משתמשים: לשוניות משתמשים, הזמנות, תפקידים ופעילות, וטבלה עם שם, מייל, תפקיד, סטטוס, מספר שיוכים ופעולות איפוס סיסמה והשבתה
ניהול משתמשים במשרד לדוגמה. לכל משתמש תפקיד, מצב ומספר הלקוחות ששויכו לו, ולידו איפוס סיסמה והשבתה. בטבלה הזו התפקידים מוצגים בשמם הטכני באנגלית, והכתובות הן כתובות דוגמה.

ממסך ניהול המשתמשים מזמינים עובד, משנים תפקיד, משביתים ומפעילים מחדש, מאפסים סיסמה ורואים את הפעילות. שני כללים שומרים על המסך הזה:

  • מי שמזמין עובד לא יכול לתת לו תפקיד עם יותר הרשאות משיש לו עצמו.
  • תפקיד לא מוכר מקבל את התפריט ואת ההרשאות המצומצמים ביותר, לא את הרחבים.

גישה לפי לקוח

להיות עובד במשרד זה לא מספיק. מנהלת חשבונות רואה ופועלת רק על לקוחות ששויכו אליה, ובעל עסק רואה רק את העסק שלו. יש ארבע רמות גישה:

  • צוות המערכת: התפקיד של Ledger Pilot עצמה, לתמיכה.
  • המשרד כולו: בעל המשרד, מנהל הלשכה ורואה החשבון.
  • לקוחות משויכים: כל שאר תפקידי הצוות, רק על לקוחות שיש להם אליהם שיוך פעיל.
  • עסק אחד: בעל העסק.

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

השיוך עצמו נעשה בלוח המשרד, ומוסבר בהדרכה ניהול המשרד והלקוחות.

הפרדת תפקידים, ומה ברירת המחדל

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

  • התפקידים עצמם. מנהלת חשבונות מכינה טיוטה של פקודה, אבל אינה יכולה לאשר אותה או לרשום אותה. מנהל/ת חשבונות בכיר/ה יכול/ה לאשר, אבל לא לרשום. במשרד עם כמה אנשים, זה כבר מפריד בין מי שמכין לבין מי שמאשר.
  • פקודות יומן. ברירת המחדל מקלה: במשרד שבו אדם אחד עושה הכול, אותו אדם יכול לאשר ולרשום פקודה שהוא עצמו הכין. זה אף פעם לא שקט: כל פעולה כזו נכתבת לתיעוד כפעולה של אדם יחיד. המשרד יכול להפעיל בקרה כפולה, ואז מי שהציע פקודה לא יכול לאשר אותה, ומי שאישר לא יכול לרשום אותה.
  • שכר. קפדני כברירת מחדל: מי שהכין תלוש או צפה בו מראש לא יכול לרשום אותו. משרד יכול לבחור במפורש מצב של אדם יחיד בשכר, וגם אז כל פעולה נרשמת.
  • תשלומים מלקוחות. אם מישהו הציע רישום של תשלום, אדם אחר צריך לרשום אותו. אם אף אחד לא הציע קודם, משתמש אחד רושם אותו ישירות.
  • תשלומים לספקים. הופכים לטיוטות של פקודות ועוברים את כללי פקודות היומן. קובץ מס״ב נשאר תמיד טיוטה, והמערכת לא שולחת אותו לשום מקום.
  • עקיפה. גם כשצוות המערכת עוקף כלל של הפרדת תפקידים, העקיפה נרשמת בתיעוד. וכל סירוב של הכלל נרשם גם הוא.
בלי הגזמה

לא כל תשלום דורש שני אנשים. בקרה של שני אנשים חלה על רישום שכר, על תשלומי לקוחות שהוצעו קודם, ועל פקודות יומן במשרד שהפעיל אותה. בכל השאר מותרת פעולה של אדם יחיד, והיא נרשמת.

המערכת

  • דוחה כל פעולה שחורגת מהתפקיד או מהשיוך.
  • אוכפת בקרה כפולה בשכר, ובפקודות כשהופעלה.
  • רושמת כל פעולה של אדם יחיד וכל עקיפה.

אתם

  • מחלקים תפקידים ומשייכים לקוחות.
  • מחליטים אם להפעיל בקרה כפולה בפקודות יומן.
  • בודקים את התיעוד כשצריך.

התיעוד: מי עשה מה ומתי

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

לכל משרד שרשרת משלו. כל רשומה נושאת חתימה שמחושבת במפתח סודי על תוכן הרשומה ועל החתימה של הרשומה הקודמת. אם מישהו משנה או מוחק רשומה באמצע השרשרת, החתימות מפסיקות להתאים, והבדיקה מראה איפה.

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

היסטוריית אחריות

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

מסך היסטוריית אחריות: מסננים לפי תקופה, תחום, מבצע ולקוח, וטבלת אירועים עם מתי, מי, תחום, פעולה, אובייקט ופרטים
היסטוריית אחריות במשרד לדוגמה. כל שורה היא פעולה אחת: מתי, מי, באיזה תחום, מה נעשה ועל איזו רשומה. למעלה מסננים לפי תקופה, תחום, אדם ולקוח. חלק מסוגי הפעולות עדיין מוצגים בשמם הטכני באנגלית.
  1. אדם פועללמשל מאשר טיוטה של פקודה.
  2. השרת בודקאת התפקיד, את השיוך ללקוח ואת כללי הפרדת התפקידים.
  3. הפעולה נרשמתעם חתימה שקשורה לרשומה הקודמת.
  4. בדיקת לילההשרשרת נבדקת מתחילתה ועד סופה.
  5. בודקים את ההיסטוריהרואה החשבון או המבקר קורא את ציר הזמן בעברית.
הדרך של פעולה אחת לתוך התיעוד. גם פעולה שנדחתה בגלל הרשאות או הפרדת תפקידים נרשמת.

מה התיעוד מגן עליו, ומה לא

שרשרת חתומה היא הגנה חזקה, אבל יש לה גבולות. חשוב לנו שתדעו אותם לפני שאתם נשענים עליה.

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

הפרדת נתונים בין משרדים ובין לקוחות

בין משרדים: במסד הנתונים עצמו

כל טבלה שמחזיקה נתונים של משרד מוגנת בכלל של מסד הנתונים עצמו, שמסנן כל שורה לפי מזהה המשרד (Row-Level Security). כל בקשה קושרת את מזהה המשרד שלה לחיבור למסד הנתונים, בכל טרנזקציה שהיא פותחת. כך ההפרדה בין משרדים לא תלויה רק בקוד של האפליקציה: מסד הנתונים עצמו לא מחזיר שורות של משרד אחר. בדיקות אוטומטיות מריצות את זה מול מסד נתונים אמיתי, עם משתמש שאינו יכול לעקוף את הכלל.

בין לקוחות של אותו משרד: בשרת, בכל בקשה

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

הצפנה, גיבויים ופרטיות

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

מה המערכת לא עושה בלי אדם

הכלל הבסיסי פשוט: המערכת מכינה, מסמנת ומציעה. אדם מחליט.

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

כל פעולה שמשנה את הספרים, שיוצאת מהמשרד או שנוגעת בכסף, עוברת דרך אדם עם ההרשאה המתאימה, ונרשמת בתיעוד בשמו.

פותחים חשבון ומתחילים על התיקים שלכם.

30 הימים הראשונים בלי תשלום ובלי כרטיס אשראי. מקימים את המשרד, מוסיפים לקוחות ומעלים את מסמכי החודש.