- איך הופכים התראות אשראי לסיכום הוצאות אוטומטי של 24 השעות האחרונות, כל ערב ב-21:00, בחינם, עם Google Apps Script ו-n8n, כולל החרגה של קנייה גדולה.
כדי לקבל כל ערב את סך ההוצאות של 24 השעות האחרונות, בונים מסלול קצר: כל התראת אשראי שמגיעה לטלפון נשלחת אוטומטית לסקריפט חינמי ב-Google Apps Script, שמחלץ את הסכום ושומר אותו. פעם ביום הסקריפט מחבר את העסקאות, מדלג על קניות שסימנתם כחריגות או שעברו סף שקבעתם, ושולח לכם הודעה אחת. בלי טבלה, בלי אפליקציה בתשלום ובלי לגלול בהיסטוריה.
בקבוצת AI בפייסבוק עלתה לאחרונה שאלה פשוטה: איך יודעים בכל ערב כמה הוצאתי היום, בלי קליקים, בלי טבלאות ובלי לשבת מול היסטוריית העסקאות בארנק עם מחשבון. התשובה מפתיעה בפשטות שלה. כל המידע כבר מגיע אליכם. כל עסקה שולחת התראה. מה שחסר הוא רק מי שיאסוף אותן.
בקצרה
| השאלה | התשובה הקצרה |
|---|---|
| מאיפה מגיעים הנתונים? | מהתראות העסקה שכבר מגיעות לטלפון: SMS מחברת האשראי או התראה מהארנק. |
| מי אוסף אותן? | באייפון: אוטומציה באפליקציית קיצורים. באנדרואיד: MacroDroid. |
| מי מחשב? | סקריפט ב-Google Apps Script, בחשבון הגוגל שלכם. |
| מי שולח את הסיכום? | הסקריפט עצמו במייל, או n8n לטלגרם בשעה מדויקת. |
| איך מחריגים קנייה גדולה? | סף אוטומטי, וקיצור דרך של לחיצה אחת שמסמן את העסקה האחרונה. |
| כמה זה עולה? | אפס, אם נשארים ב-Apps Script וב-n8n בהתקנה עצמית. |
איך זה עובד: שלוש תחנות
המערכת בנויה משלוש תחנות, ולכל אחת תפקיד אחד בלבד. כשמבינים את החלוקה, קל לתקן כל תקלה.
- הטלפון קולט. התראה על עסקה מגיעה, ואוטומציה בטלפון שולחת את הטקסט שלה לכתובת אינטרנט פרטית.
- הסקריפט שומר. Apps Script מקבל את הטקסט, מוצא בו את הסכום, ושומר אותו באחסון הפנימי של הסקריפט. זה לא גיליון ואין שם שום טבלה שצריך לפתוח.
- הסיכום יוצא. פעם ביום, בשעה שקבעתם, הסקריפט מחבר את כל מה שנכנס ב-24 השעות האחרונות ושולח לכם שורה אחת.
נקודה חשובה לפני שמתחילים: אל תסתמכו על מייל מחברת האשראי בלי לבדוק. לא מצאתי אישור רשמי לכך שחברות האשראי בישראל שולחות מייל על כל עסקה בנפרד. ההתראות שכן מתועדות הן SMS ופוש באפליקציה. לכן המדריך יוצא מהטלפון, שם ההתראה מגיעה בוודאות. בדקו באזור האישי של חברת האשראי שלכם שהתראות העסקה פעילות.
שלב 1: הסקריפט שמקבל, שומר ומסכם
זה החלק היחיד שדורש העתקה של קוד, והוא נעשה פעם אחת. פותחים את script.google.com, יוצרים פרויקט חדש ומדביקים:
const SECRET = 'החליפו-במחרוזת-ארוכה-ואקראית';
const BIG = 500; // עסקה מעל הסכום הזה מוצגת בנפרד ולא נספרת
function doPost(e) {
const body = JSON.parse(e.postData.contents);
if (body.secret !== SECRET) return ContentService.createTextOutput('forbidden');
const lock = LockService.getScriptLock();
lock.waitLock(10000);
const props = PropertiesService.getScriptProperties();
const list = JSON.parse(props.getProperty('tx') || '[]');
if (body.action === 'skip') {
if (list.length) list[list.length - 1].skip = true;
} else {
const amount = parseAmount(body.text);
if (amount !== null) list.push({ t: Date.now(), amount: amount, note: String(body.text).slice(0, 60) });
}
const keepFrom = Date.now() - 48 * 3600 * 1000;
props.setProperty('tx', JSON.stringify(list.filter(x => x.t > keepFrom)));
lock.releaseLock();
return ContentService.createTextOutput('ok');
}
function parseAmount(text) {
const s = String(text);
const m = s.match(/(\d[\d,]*(?:\.\d{1,2})?)\s*(?:₪|ש"ח|ש״ח|ILS)/) ||
s.match(/(?:₪|ILS)\s*(\d[\d,]*(?:\.\d{1,2})?)/);
if (!m) return null;
const amount = Number(m[1].replace(/,/g, ''));
return /זיכוי|החזר/.test(s) ? -amount : amount;
}
function buildSummary() {
const list = JSON.parse(PropertiesService.getScriptProperties().getProperty('tx') || '[]');
const since = Date.now() - 24 * 3600 * 1000;
const recent = list.filter(x => x.t > since);
const counted = recent.filter(x => !x.skip && x.amount <= BIG);
const excluded = recent.filter(x => x.skip || x.amount > BIG);
const total = counted.reduce((sum, x) => sum + x.amount, 0);
let msg = 'ב-24 השעות האחרונות: ' + total.toFixed(2) + ' ₪ ב-' + counted.length + ' עסקאות.';
if (excluded.length) msg += '\nלא נספרו: ' + excluded.map(x => x.amount + ' ₪').join(', ');
return msg;
}
function dailySummary() {
MailApp.sendEmail(Session.getEffectiveUser().getEmail(), 'כמה הוצאתי היום', buildSummary());
}
function doGet(e) {
if (e.parameter.secret !== SECRET) return ContentService.createTextOutput('forbidden');
return ContentService.createTextOutput(buildSummary());
}
ואז ארבע פעולות קצרות:
- משנים את SECRET למחרוזת ארוכה שרק אתם מכירים. בלעדיה, כל מי שמגלה את הכתובת יכול לשלוח לסקריפט סכומים.
- קובעים אזור זמן. בהגדרות הפרויקט בוחרים Asia/Jerusalem, אחרת "21:00" יהיה בשעון אחר.
- מפרסמים כאפליקציית אינטרנט. לפי התיעוד של גוגל (נבדק ב-2026-10-05), בוחרים Deploy, אחר כך New deployment ו-Web app. מגדירים שהסקריפט ירוץ בשמכם (Execute as me) ושהגישה פתוחה לכל אחד. המחרוזת הסודית היא השומר. מעתיקים את הכתובת שמתקבלת.
- מוסיפים טריגר יומי. בתפריט הטריגרים בוחרים את הפונקציה dailySummary, סוג Time-driven, טיימר יומי, וחלון של 21:00 עד 22:00.
שתי הערות שחוסכות שעה של חיפוש תקלות. הראשונה: כל שינוי בקוד מחייב פרסום של גרסה חדשה (Manage deployments ואז New version), אחרת הכתובת ממשיכה להריץ את הקוד הישן. השנייה: הדפוס שמחלץ את הסכום הוא נקודת מוצא, לא אמת. ניסוח ההודעות שונה מחברה לחברה, ולכן שלחו לסקריפט הודעה אמיתית אחת שלכם ובדקו שהסכום נקלט נכון לפני שסומכים עליו.
שלב 2: הטלפון שולח כל עסקה לסקריפט
באייפון: אוטומציית "הודעה" בקיצורים (Shortcuts)
לפי המדריך הרשמי של אפל (נבדק ב-2026-10-05), "הודעה" (Message) היא אחד הטריגרים שאוטומציה אישית יכולה להגיב אליהם, וחלק מהאוטומציות יכולות לרוץ בלי לבקש אישור.
- פותחים את קיצורים, עוברים ללשונית אוטומציה ויוצרים אוטומציה חדשה מסוג הודעה.
- בוחרים את השולח של חברת האשראי. אם הוא לא מופיע ברשימה, משתמשים בתנאי "ההודעה מכילה" עם מילה שמופיעה בכל התראת עסקה שלכם.
- מסמנים הרצה מיידית.
- מוסיפים פעולת Get Contents of URL: מדביקים את הכתובת מהשלב הקודם, שיטה POST, וגוף מסוג JSON עם שני שדות: secret עם המחרוזת הסודית, ו-text עם תוכן ההודעה.
לאפל יש גם טריגר בשם Transaction שמגיב לתשלום מהארנק. שימו לב שהוא רואה רק תשלומים מהארנק, ולא קנייה באתר או החלקה של כרטיס פיזי. ה-SMS של חברת האשראי רואה את כולם.
באנדרואיד: מאקרודרואיד (MacroDroid)
לפי דף האפליקציה ב-Google Play (נבדק ב-2026-10-05), הגרסה החינמית מאפשרת עד 5 מאקרו ומציגה פרסומות. לתהליך הזה מספיקים שניים.
- יוצרים מאקרו עם טריגר SMS Received מהשולח של חברת האשראי. מי שמשלם דרך ארנק גוגל יכול לבחור במקום זאת טריגר Notification Received ולסנן לפי האפליקציה.
- מוסיפים פעולת HTTP Request: שיטה POST, הכתובת של הסקריפט, וגוף JSON עם secret ועם המשתנה שמחזיק את טקסט ההודעה.
- שולחים לעצמכם בדיקה ומוודאים שהסקריפט מחזיר ok.
המלכודת הנפוצה ביותר: אותה קנייה יכולה להגיע גם כהתראה מהארנק וגם כ-SMS מחברת האשראי. אם שני המקורות מחוברים, כל קנייה תיספר פעמיים והסיכום יוכפל בשקט. מקור אחד לכל כרטיס, תמיד.
שלב 3: החרגה של קנייה גדולה
השאלה ביקשה להחריג "הוצאה מסוימת", ויש לזה שתי תשובות שמשלימות זו את זו.
החרגה אוטומטית, בלי לחיצה. המשתנה BIG בראש הקוד קובע סף. כל עסקה מעליו לא נכנסת לסך היומי, אבל מופיעה בשורה נפרדת "לא נספרו", כך שהיא לא נעלמת לכם מהעין. את הסף בוחרים לפי ההרגלים שלכם, ו-500 שבקוד הוא רק דוגמה.
החרגה ידנית, בלחיצה אחת. לפעמים הקנייה החריגה דווקא קטנה: מתנה, תשלום שתחזירו לחבר, הוצאה של העבודה. בשביל זה בונים קיצור דרך שני, בלי טריגר, ששולח לאותה כתובת את הגוף הבא:
{ "secret": "המחרוזת-הסודית-שלכם", "action": "skip" }
באייפון מוסיפים אותו למסך הבית. באנדרואיד יוצרים מאקרו שני שמופעל מקיצור דרך. אחרי הקנייה החריגה לוחצים פעם אחת, והסקריפט מסמן את העסקה האחרונה כ"לא לספור". הקוד מטפל גם בזיכויים: הודעה שמופיעות בה המילים "זיכוי" או "החזר" נרשמת כסכום שלילי ומקטינה את הסך. גם כאן, בדקו מול נוסח ההודעות של חברת האשראי שלכם.
שלב 4 (רשות): n8n לשעה מדויקת ולטלגרם
הטריגר היומי של Apps Script נוח, אבל הוא לא שעון שוויצרי. לפי תיעוד ClockTriggerBuilder של גוגל (נבדק ב-2026-10-05), טריגר שמוגדר לשעה מסוימת רץ בזמן כלשהו בתוך אותה שעה. כלומר הסיכום יגיע בין 21:00 ל-22:00, בדרך כלל באותה דקה מדי יום.
מי שרוצה 21:00 בדיוק, או מעדיף לקבל את הסיכום בטלגרם, יכול לתת ל-n8n לנהל את התזמון. הסקריפט ממשיך לאסוף ולחשב, ו-n8n רק שואל ושולח:
- Schedule Trigger. לפי התיעוד של n8n (נבדק ב-2026-10-05), בוחרים מרווח של ימים וקובעים שעה ודקה. הצומת עובד לפי אזור הזמן של ה-Workflow, ואם לא הוגדר, לפי אזור הזמן של השרת. הגדירו Asia/Jerusalem.
- HTTP Request. בקשת GET לכתובת הסקריפט, עם secret בפרמטר של הכתובת. הסקריפט מחזיר את שורת הסיכום.
- Telegram. שולחים את התשובה לעצמכם דרך בוט שיוצרים אצל BotFather, לפי התיעוד של טלגרם.
- מפרסמים. התיעוד של n8n מדגיש ש-Workflow שמתחיל ב-Schedule Trigger חייב להישמר ולהתפרסם, אחרת הוא לא ירוץ.
כשמעבירים את השליחה ל-n8n, מוחקים את הטריגר היומי ב-Apps Script כדי לא לקבל שני סיכומים. הסבר מלא על הכלי עצמו נמצא במדריך המלא ל-n8n.
איזה מסלול מתאים לכם?
| Apps Script לבד | Apps Script ו-n8n | |
|---|---|---|
| מי מתזמן | טריגר יומי של גוגל | Schedule Trigger של n8n |
| דיוק השעה | בתוך חלון של שעה | שעה ודקה שקבעתם |
| לאן מגיע הסיכום | מייל | טלגרם, מייל או כל ערוץ ש-n8n מחבר |
| מה צריך להחזיק | רק חשבון גוגל | גם שרת n8n פעיל, או מנוי ענן |
| עלות | חינם | חינם בהתקנה עצמית, בתשלום בענן |
| מתאים ל | כמעט כולם | מי שכבר מריץ n8n |
לגבי העלות של n8n: לפי עמוד המחירים (נבדק ב-2026-10-05), הגרסה הקהילתית זמינה בחינם להתקנה עצמית, ומסלול Starter בענן עולה 20 אירו לחודש בחיוב שנתי. אם אין לכם n8n פעיל כבר, אל תתחילו מכאן. Apps Script לבד עונה על השאלה במלואה.
המגבלות שכדאי להכיר
הכול כאן חינמי, אבל לא בלי גבולות, וטוב לדעת אותם מראש. לפי עמוד המכסות של Apps Script (נבדק ב-2026-10-05), בחשבון גוגל רגיל:
- מיילים: עד 100 נמענים ביום. סיכום אחד ביום רחוק מאוד מהגבול.
- זמן ריצה של טריגרים: עד 90 דקות ביום בסך הכול. הסיכום רץ שניות.
- אחסון פנימי: עד 9KB לערך אחד ועד 500KB לכל אחסון. בגלל המגבלה הזו הקוד שומר רק 48 שעות אחורה, וכל עסקה תופסת שורה קצרה.
ומגבלה שאינה טכנית: הטלפון חייב להיות מחובר לאינטרנט כשההתראה מגיעה. עסקה שהתראתה הגיעה בזמן שהטלפון היה כבוי או בלי קליטה לא תישלח לסקריפט. הסיכום הוא כלי מודעות יומי, לא תחליף לדף החיוב החודשי.
פרטיות: מה נשמר ואיפה
ההתראות נשמרות באחסון הפנימי של הסקריפט, בחשבון הגוגל שלכם, ולא בשום שירות חיצוני. שלושה הרגלים שומרים על זה נקי:
- מחרוזת סודית ארוכה, שלא מופיעה בשום צילום מסך ששיתפתם.
- מינימום מידע. הקוד שומר רק 60 תווים מההודעה. אפשר לקצר עוד, או לשמור רק את הסכום.
- מחיקה מתגלגלת. הקוד מוחק כל עסקה אחרי 48 שעות, כך שלא מצטברת היסטוריה.
מי שרוצה להרחיב את הרעיון לתהליכים נוספים בבית או בעסק ימצא את העקרונות במדריך האסטרטגי לאוטומציה עסקית. ומי שעובד עם Claude Code (קלוד קוד) יכול להגיע לתוצאה דומה גם דרך משימות מתוזמנות בקלוד קוד.
שורה תחתונה
השאלה נשמעה כמו בקשה לאפליקציה. בפועל היא בקשה לחיבור. ההתראות כבר מגיעות, השעון כבר קיים, והחשבון כבר שלכם. כל מה שהיה חסר הוא סקריפט אחד שמחבר ביניהם, ושתי לחיצות בטלפון.
מה ששווה לקחת מכאן קצר. מקור אחד לכל כרטיס, כדי לא לספור פעמיים. סף אוטומטי לקניות הגדולות, וכפתור אחד לחריגות הקטנות. ובדיקה אחת עם הודעה אמיתית שלכם לפני שסומכים על המספר.
רוצים ללמוד לבנות תהליכים כאלה ב-n8n צעד אחר צעד, כולל תזמון, חיבור לשירותים ושליחה להודעות? יש קורס n8n (אן-אייט-אן) 2026: אוטומציה וסוכני AI שרצים בייצור, ב-9.90 שקלים.
מקורות
- Google Apps Script: אפליקציות אינטרנט (נבדק ב-2026-10-05)
- Google Apps Script: ClockTriggerBuilder (נבדק ב-2026-10-05)
- Google Apps Script: מכסות ומגבלות (נבדק ב-2026-10-05)
- אפל: אוטומציות אישיות בקיצורים (נבדק ב-2026-10-05)
- MacroDroid ב-Google Play (נבדק ב-2026-10-05)
- n8n: Schedule Trigger (נבדק ב-2026-10-05)
- n8n: מחירים (נבדק ב-2026-10-05)
- טלגרם: Bot API (נבדק ב-2026-10-05)
קורס במתנה עם ברכה אישית מכם, מסירה מיידית או בתאריך שתבחרו, וגישה לכל החיים.


