תפריט

תבניות מספר VAT: מה משתנה ממדינה למדינה

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

פורסם

  • מספר VAT
  • נתוני מס
  • נתוני בדיקה

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

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

מהו מספר VAT?

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

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

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

מתי עסק באמת זקוק למספר כזה?

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

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

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

מה משתנה ממדינה למדינה?

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

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

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

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

האם תבנית תקפה זהה לעסק רשום?

לא, והפער בין השתיים הוא הדבר המועיל ביותר להבין בשדה הזה.

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

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

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

מדוע צוותים צריכים להימנע מכתיבת כללים משל עצמם?

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

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

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

למפתחים: בדיקת תבנית ובדיקת פנקס הן שתי פונקציות שונות

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

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

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

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

צעדים הבאים

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

המשך קריאה

מדריכים בנושא מחולל נתוני חברה לבדיקה