פיתוח מערכת דיווח לקרן קריפטו במפתח

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

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

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

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

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

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

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

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

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

מה משתנה לאחר ההטמעה: אפקטים מדידים

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

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

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

התאמת הפעולות מתבצעת אוטומטית

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

נעלם סוג שלם של אי-התאמות מהזנה ידנית

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

השלימות לפי נכסים מאושרת

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

תנועת הכספים ניתנת למעקב עד למקור

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

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

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

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

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

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

שלבי העבודה: ממיפוי המקורות ועד מסירת המערך

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

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

מה מוסרים לידיים: מרשמים, דיווח, נהלים

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

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

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

מקרה בוחן: יישרנו נתונים מארבעה מקורות למרשם אחד

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

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

מה שינינו

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

מה קיבלנו

מדד לפני אחרי
סגירת התקופה 10 ימי עבודה יומיים
פעולות שהותאמו אוטומטית כ-40% 96%
אי-התאמות שנמצאו לפני הדיווח בודדות 30–40 בחודש

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

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

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

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

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

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

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

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

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

ספקות טכניים: הרשאות, התאמות, שחזור

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

מהיכן המערכת שואבת את נתוני הקרן?

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

כיצד מופרדות הרשאות הגישה?

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

הדוח לא התיישב עם הבורסה — מה הלאה?

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

מה קורה אחרי תקלה?

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

נדון במשימה: נראה סכימה ונחזור עם הערכה

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

אחרי השיחה תקבלו:

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

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