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

המפה. תזמור אחד ב-n8n רץ כל יום ב-05:00 וקורא לשישה תהליכים בתור. כל אחד קורא ממקום אחד וכותב למקום אחד:

  1. קליטת מסמכים. קורא: תיבת החשבוניות (שבעת הימים האחרונים). כותב: קובץ בדרייב + שורה באיירטייבל. עוצר אותו: מסמך שכבר נקלט (בדיקת טביעת אצבע).
  2. קריאת המסמך (OCR). קורא: מסמכים בלי סכום או תאריך. כותב: ספק, תאריך, סכום, מע״מ. עוצר אותו: תמיד מתחיל מההתחלה של הרשימה, כי הרשימה מתקצרת תוך כדי ריצה.
  3. תיוק בשם קבוע. קורא: השדות משלב 2. כותב: ספק - יום חודש שנה - סוג.pdf. לעולם לא משנה שם שכבר ניתן, רק מעתיק.
  4. משיכת עסקאות. קורא: חשבון הבנק והכרטיסים דרך חיבור בנקאות פתוחה (ספק אחד לכל החשבונות). כותב: שורה לכל עסקה עם מפתח ייחודי, עדכון ולא כפילות.
  5. התאמה. קורא: מסמכים עם סכום + עסקאות בלי מסמך. כותב: זוג (מסמך, עסקה) עם ציון ביטחון: סכום, תאריך (± ימים), שם ספק. גבוה = מאושר לבד, בינוני = מחכה לי.
  6. דגלים. קורא: מה נשאר בלי זוג. כותב: דגל על העסקה. עסקה בלי מסמך לא נעלמת, היא מחכה לחשבונית.

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

  1. בדיקת כפילות שקוראת את השדה הנכון. אצלי היא קראה שדה שלא קיים, ואותם מסמכים תויקו שלושה ימים ברצף. בדקו שהבדיקה מחזירה ״קיים״ לפחות פעם אחת לפני שסומכים עליה.
  2. חלון זמן קבוע. שבעה ימים של מייל בכל ריצה. לקרוא את כל התיבה מפיל את התהליך על זיכרון.
  3. צעד שמחזיר אפס פריטים סוגר את השרשרת בשקט. ב-n8n צריך להדליק Always Output Data בכל צעד שיכול להחזיר כלום, אחרת התזמור נעצר בלי שגיאה ובלי הודעה. ובכל מקרה: תהליך שגיאה נפרד ששולח הודעה כשמשהו נופל.

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

דביר הירשברג · @dvir_hirshberg