עיקרי הדברים
- לתלוש יש שלושה בסיסים סטטוטוריים, לא נתון ברוטו אחד — מס הכנסה, ביטוח לאומי ובריאות, ופנסיה ופיצויים.
- פטור מצמצם בסיס. הוא לעולם אינו אמור להקטין את מה שהעובד השתכר.
- כל שיעור הוא תלוי תאריך: תלוש של ינואר מחושב לפי הטבלאות של ינואר, יהיו אשר יהיו של היום.
- ברירת המחדל המסוכנת היא שתיקה. רכיב שכר שאינו מזוהה צריך להיות מסומן בקול, לעולם לא פטור בשקט.
- הרצת שכר היא רצף — טיוטה, מאושר, נרשם, שולם — ולא כפתור.
שכר נראה מבחוץ כמו הדבר הקל ביותר בכל המערכת. קחו את המשכורת, הורידו מס, שלמו את ההפרש. זה חשבון שמנהל חשבונות מוכשר עושה ביד כל חודש, וכך כבר עשרות שנים.
זה גם המודול היחיד שבו טעות קטנה יש לה שם, חשבון בנק, וציפייה סבירה שיאמרו לה את האמת. זה משנה את המשמעות של "מספיק טוב".
שלושה בסיסים, לא סכום אחד
הנה הדבר שרוב האנשים מחוץ לעולם השכר מעולם לא נאלצו לחשוב עליו. כשאתם מוסיפים משהו לשכר של מישהו — בונוס, החזר נסיעות, תשלום כוננות, מתנה חד-פעמית — אינכם מוסיפים אותו לסכום אחד. אתם מחליטים, בנפרד, אם הוא נחשב לצורך:
- בסיס מס ההכנסה
- בסיס הביטוח הלאומי והבריאות
- בסיס הפנסיה והפיצויים
שלוש התשובות האלה עצמאיות באמת. תשלום יכול להיות חייב במלואו במס הכנסה ולשבת לגמרי מחוץ לבסיס הפנסיוני. אחר יכול להיות פנסיוני אך מטופל אחרת לביטוח לאומי. אין כלל כללי שאפשר להחיל פעם אחת ולעשות בו שימוש חוזר — התשובה שייכת לסוג התשלום, ולכן היא חייבת להיות תכונה של כל רכיב שכר ולא הגדרה על העובד או כלל בראש של מישהו.
לכן מנוע שכר שמחשב נתון ברוטו אחד ומחיל עליו שלושה אחוזים אינו מפשט. הוא שגוי, בדרך שמייצרת תלוש סביר למראה.
שלושה חיובים, שלושה בסיסים נפרדים. כל דבר שמכווץ אותם למספר אחד כבר הפסיד בוויכוח.
הכלל ששומר על היושר
יש החלטת תכנון אחת מתחת לכל זה ששווה לומר בפירוש, כי היפוך שלה הוא הטעות הקלאסית.
פטור מצמצם בסיס סטטוטורי. הוא לעולם אינו מקטין שכר ברוטו.
אם רכיב אינו פנסיוני, העובדה הזו לא אמורה לגעת במה שהעובד השתכר. ברוטו הוא מה ששילמו לו — נקודה. הוא מופיע בתלוש, הוא מזין את הדיווח הסטטוטורי, והוא המספר שהעובד ישווה מול החוזה שלו. דגל שדלף לתוך הברוטו היה מקטין את ההשתכרות וגורר איתו את הדיווחים הסטטוטוריים, וזה סוג שגיאה יקר בהרבה מניכוי שחושב לא נכון.
שימו לב
ניכויים אינם פטורים. מפתה להתייחס ל"הורידו את זה מהתלוש" ול"השאירו את זה מחוץ לבסיס המס" כאל אותה פעולה, כי שתיהן מקטינות מספר. הן אינן קשורות. אילו ניכויים מקטינים איזה בסיס היא שאלה סטטוטורית נפרדת עם תשובה משלה, ומערכת שמערבבת ביניהן תהיה שגויה בביטחון לשני הכיוונים.
מאיפה הסכום עצמו מגיע
לפני שאפשר לסווג משהו, הסכום צריך להתקיים. בפועל שורת שכר מגיעה באחת משלוש צורות, ולכל אחת דרך משלה להשתבש.
קבוע. הסכום הוא הסכום. פשוט, וברירת המחדל הנכונה.
שעתי. כמות כפול תעריף. מצב הכשל כאן הוא תעריף חסר או אפס: ההתנהגות הנאיבית היא לחשב אפס ולהמשיך, וזה משלם למישהו כלום על חודש עבודה ונראה בדוח כאילו הוא פשוט לא עבד. תעריף שאינו קיים צריך לעצור את החישוב, לא לייצר אפס בטוח בעצמו.
אחוז ממשהו אחר. זו המעניינת, כי "חמישה אחוזים" חסר משמעות עד שאומרים חמישה אחוזים ממה. שני דברים נובעים מזה. ראשית, אחוזים חייבים להתברר אחרי שכל סכום קבוע ושעתי סופי, אחרת התשובה תלויה בסדר שבו השורות הגיעו במקרה — שימו את שורת האחוז ראשונה ותקבלו חמישה אחוזים מכלום. שנית, אחוז מאחוז חייב להידחות ולא להיפתר, כי שרשראות מחזירות בדיוק את התלות בסדר.
ואסור שתהיה ברירת מחדל ל"ממה". הנחה שקטה של שכר הבסיס הייתה משנה את המשכורת של מישהו בלי שאיש החליט על כך.
מה צריך לקרות כשהמערכת אינה מזהה משהו
זו השאלה שמפרידה בין תוכנת שכר שאפשר לסמוך עליה לבין תוכנת שכר שרק רצה.
מישהו מוסיף רכיב שכר חדש ואינו מסיים להגדיר אותו. למנוע יש עכשיו סכום שהוא אינו יכול לסווג. יש שתי דרכים להתנהג, ורק אחת מהן ניתנת להגנה.
האפשרות הנוחה היא להשאיר אותו מחוץ לבסיסים. שום דבר לא נכשל, התלוש נראה רגיל, והתוצאה היא שהתשלום פטור ממס בשקט ואינו פנסיוני בשקט. איש אינו מגלה עד להתאמת סוף שנה או ביקורת — ועד אז זה קרה שתים-עשרה פעמים.
האפשרות הנכונה היא ההפך: לספור אותו לכל אחד מהבסיסים ולרשום אזהרה. זה עלול לגבות מעט ביתר לחודש אחד, וזה גלוי, ניתן לתיקון ולא נורא יחסית. הגדרה חסרה היא בעיה לתקן בקול, לא פטור ממס להעניק בשקט.
בפועל
שאלו כל ספק שכר מה קורה כשרכיב מוגדר לא נכון. אם התשובה היא "כלום, הוא פשוט לא ייכלל", למדתם משהו חשוב. היעדר הודעת שגיאה אינו היעדר שגיאה.
לכל שיעור יש תאריך
מדרגות מס משתנות. אחוזי ביטוח לאומי, המדרגה המופחתת, התקרות, שווי נקודת זיכוי, אחוזי המינימום לפנסיה ולפיצויים — כולם זזים, רובם בינואר, ואף אחד מהם אינו מכריז על עצמו בתוכנה שלכם.
כלומר שיעור אינו יכול להיות קבוע בקוד. הוא חייב להיות שורה עם תאריך תחילת תוקף, כך שחישוב מחדש של שכר מרץ בנובמבר ישתמש בטבלאות של מרץ ולא של נובמבר. זה אותו עיקרון שמנהל את שיעור המע״מ במסמך מס, וזה חשוב מאותה סיבה: אסור שההיסטוריה תישכתב בשקט בעדכון תחזוקה.
זה גם משנה מי יכול להגיב לשינוי רגולטורי. כששיעור הוא נתון, המספרים החדשים מוזנים עם תאריך והמנוע אינו נוגע. כששיעור הוא קוד, כל ינואר הוא גרסה.
הרצת שכר היא רצף, לא כפתור
החלק האחרון הוא תהליך ולא חשבון. שכר של חודש עובר דרך מצבים נבדלים — טיוטה, מאושר, נרשם בספרים, סומן כשולם — ולכל מעבר משמעות אחרת לאדם אחר. פקיד השכר מתעניין בחישוב. המנהל מתעניין באישור. רואה החשבון מתעניין בכך שזה הגיע לכרטסת בדיוק פעם אחת, עם עלויות המעביד בצד הנכון.
כיווץ של זה לפעולה אחת של "הרץ שכר" מרגיש יעיל עד החודש הראשון שבו מישהו צריך לענות על "מי אישר את זה, והאם זה כבר שולם כשהדוח הופק?" הרצה שנושאת מצב משלה, וקישור לפקודת היומן שהיא ייצרה, עונה על זה בלי שאיש ישחזר מהזיכרון.
איפה Capitán נכנסת
השכר של Capitán בנוי על המודל שלמעלה, ובמכוון. החבות היא תכונה של כל רכיב שכר, שנפתרת לשלושה בסיסים סטטוטוריים נפרדים. הסכומים נגזרים כקבועים, שעתיים או כאחוז מרכיב שצוין, בשני מעברים כך שהתוצאה אינה יכולה להיות תלויה בסדר הקלט — והמנוע מסרב לנחש במקום להמציא בסיס. מדרגות מס הכנסה, שיעורי ותקרות ביטוח לאומי, שווי נקודות זיכוי ומינימומי פנסיה ופיצויים הם כולם טבלאות תלויות תאריך, כך ששינוי שיעור הוא הזנת נתונים ולא הטמעת גרסה.
מכיוון שזה חלק ממערכת אחת ולא שירות נפרד, העובדים הם אותם עובדים במשאבי אנוש, והרצה מאושרת נרשמת לאותם ספרים כמו כל השאר — וזה ההבדל בין שכר שמותאם לבין שכר שאפשר להתאים.
מה שהיא לא תעשה זה להעמיד פנים שהחלטת מדיניות היא תכונה. מכפילי שעות נוספות סטטוטוריים, למשל, אינם מוסתרים בתוך המנוע: שעה נוספת היא רכיב משלה בתעריף משלה, כי ההחלטה כמה משעות העובד הן שעות נוספות — או חופשה, או מחלה, לכל אחת כלל תשלום משלה וצבירה משלה — היא שאלת מדיניות, ומנוע שכר שעונה עליה במקומכם מנחש לגבי המשכורת של מישהו.
אם אתם בוחנים מערכת שכר, השיחה המועילה היא על הרכיבים המוזרים ולא על הסטנדרטיים. הביאו לנו את רכיב השכר המשונה ביותר שלכם — זה שאיש אינו מצליח להסביר עד הסוף — ונאמר לכם בכנות איך הוא היה מוגדר.
הגרסה הקצרה
שכר אינו חשבון עם עטיפת ציות. הוא שלושה בסיסים שאינם מסכימים זה עם זה, טבלאות שיעורים עם תאריכים, ורשימה ארוכה של מקומות שבהם ברירת המחדל השגויה היא שתיקה. שפטו מערכת שכר לפי מה שהיא עושה כשמשהו חסר.