פורסם

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

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

אם אתם מפתחים, סביר להניח שהנתונים הפיננסיים שלכם יושבים היום על שרת של מישהו אחר. כל אפליקציה לניהול תקציב או למעקב הוצאות, Mint, YNAB, Copilot, Lunch Money, שומרת בענן שלה את התנועות, היתרות ודפוסי ההוצאה שלכם. אתם פשוט מקווים שהיא לא תיפרץ, לא תמכור את הנתונים שלכם, ולא תיסגר יום אחד, כמו שקרה ל-Mint ב-2024.

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

מערכת בקוד פתוח למעקב הוצאות שאתם פורסים בעצמכם

Expense Budget Tracker היא מערכת מלאה בקוד פתוח לניהול תקציב ומעקב הוצאות, הבנויה על Postgres. משכפלים את המאגר, מריצים make up, ומקבלים אפליקציה עובדת על localhost:3000 עם מסד נתונים אמיתי שנמצא בשליטה שלכם.

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

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

המחסנית הטכנולוגית פשוטה וברורה: Next.js לממשק הווב, Postgres 18 לאחסון, ותהליך רקע ב-TypeScript שמושך שערי חליפין יומיים. הכול רץ בקונטיינרים של Docker דרך קובץ docker-compose.yml יחיד.

אירוח עצמי עם Docker או פריסה ל-AWS

המאגר מגיע עם שתי אפשרויות פריסה מוכנות מראש:

Docker Compose מקומי: ארבע פקודות ואתם בפנים:

git clone https://github.com/kirill-markin/expense-budget-tracker.git
cd expense-budget-tracker
open -a Docker   # start Docker if not running
make up          # Postgres + migrations + web + worker

פתחו את http://localhost:3000 והתחילו להזין תנועות. נתוני Postgres נשמרים ב-Docker volume, וזה כל תהליך ההקמה.

AWS CDK: פריסת ייצור מלאה עם סקריפט אחד:

bash scripts/bootstrap.sh --region eu-central-1

הסקריפט מרים ECS Fargate, מסד RDS Postgres, איזון עומסים עם HTTPS, אימות דרך Cognito, הגנת WAF, ניטור ב-CloudWatch, גיבויים אוטומטיים ו-CI/CD דרך GitHub Actions. העלות המשוערת היא כ-50 דולר בחודש, ובתמורה אתם מקבלים תשתית ברמה ארגונית שנמצאת כולה בבעלותכם. מדריך הפריסה עובר שלב אחר שלב, מפתיחת חשבון AWS ועד הגדרת DNS ב-Cloudflare.

ומכיוון שבסופו של דבר מדובר פשוט ב-Postgres וב-Docker, אפשר לארח את המערכת גם כמעט בכל מקום אחר. DigitalOcean, Hetzner, Raspberry Pi בארון, או קלאסטר Kubernetes של העבודה. אם אפשר להריץ שם Docker ו-Postgres, אפשר להריץ גם את זה.

ממשק SQL לגישה תכנותית

רוב אפליקציות התקציב נותנות לכם ממשק ווב וזהו. כאן יש ממשק שאילתות SQL דרך HTTP: נקודת הקצה POST /v1/sql מקבלת פקודות SQL גולמיות ומחזירה JSON.

curl -X POST https://api.your-domain.com/v1/sql \
  -H "Authorization: ApiKey ebta_a7Bk9mNp..." \
  -H "X-Workspace-Id: workspace-id" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT category, SUM(amount) AS total FROM ledger_entries WHERE kind = '\''spend'\'' AND ts >= DATE_TRUNC('\''month'\'', CURRENT_DATE) GROUP BY category ORDER BY total"}'

יוצרים מפתח API מתוך Settings, בוחרים את מזהה סביבת העבודה הרצוי, וכל לקוח HTTP יכול לגשת לנתונים שלכם. זו נקודת קצה REST פשוטה, בלי GraphQL, בלי שכבות ORM, ובלי SDK חדש שצריך ללמוד. פשוט SQL נכנס, JSON יוצא.

מודל האבטחה כאן הדוק: מפתחות API נשמרים כגיבוב SHA-256, כך שהערך הגלוי שלהם לעולם לא נשמר; השאילתות מוגבלות ל-SELECT/INSERT/UPDATE/DELETE, בלי DDL; לכל שאילתה יש מגבלת זמן של 30 שניות; כל תגובה מוגבלת ל-100 שורות; ויש גם הגבלת קצב של 10 בקשות לשנייה לכל מפתח. כל השאילתות רצות דרך אבטחת שורות של Postgres (Row Level Security), אותה שכבת בידוד שמשמשת גם את אפליקציית הווב, כך שמפתח API יכול לגשת רק לנתונים של סביבת העבודה של הבעלים שלו.

נבנה עבור סוכני AI ומודלי שפה

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

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

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

  1. מעלים לסוכן AI דף חיוב בנקאי, קובץ CSV, PDF או צילום מסך.
  2. הסוכן קורא כל תנועה, מתאים אותה לקטגוריות שכבר קיימות אצלכם, ומבצע INSERT אל ledger_entries.
  3. הסוכן משווה את יתרת החשבון ליתרה שהבנק מציג.
  4. אתם משקיעים חמש דקות בבדיקה במקום שעה של הזנה ידנית.

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

Expense Budget Tracker כוללת גם צ'אט AI מובנה בממשק הווב. מחברים מפתח API של OpenAI או Anthropic, ומקבלים עוזר עם הכלי query_database, שמסוגל לבצע SELECT, INSERT, UPDATE ו-DELETE ישירות על ה-Postgres שלכם. מעלים צילום מסך של אפליקציית הבנק, וה-AI מפענח כל תנועה, מבקש מכם אישור, ומכניס אותה למסד. הוא פועל לפי פרוטוקול קשיח: קודם מגלה אילו קטגוריות כבר קיימות, אחר כך בודק כפילויות, מאמת שהיתרות תואמות, ורק אז כותב, וגם זה רק אחרי אישור מפורש שלכם.

צ'אט ה-AI תומך במודלי Claude של Anthropic ובמודלי GPT של OpenAI. שניהם משתמשים באותו כלי מסד נתונים ונתונים לאותם כללי בטיחות: רשימת מילות מפתח מותרות, מגבלות זמן לשאילתות ואכיפת RLS. אפשר גם להשתמש בממשק ה-SQL עם כל סוכן חיצוני: Claude Code, OpenAI Codex, סקריפטים מותאמים אישית או webhooks של Zapier. נותנים לסוכן את מפתח ה-ebt_ שלכם, מפנים אותו לנקודת הקצה, והוא מקבל גישת קריאה וכתיבה מלאה שמוגבלת לסביבת העבודה שלכם.

יכולות המערכת לניהול תקציב

זו לא אפליקציית הוצאות בסיסית. כל היכולות שהייתם מצפים לראות במוצר מסחרי כבר כאן:

  • טבלת תקציב: השורות הן קטגוריות והעמודות הן חודשים. חודשים קודמים מציגים נתונים בפועל, חודשים עתידיים מציגים תחזית. אפשר לתכנן 12 חודשים קדימה ולראות את היתרות הצפויות במבט אחד.
  • תמיכה בריבוי מטבעות: כל תנועה נשמרת במטבע המקורי שלה. שערי חליפין יומיים מ-ECB, CBR ו-NBS נמשכים אוטומטית. ההמרה למטבע הדיווח נעשית בזמן השאילתה דרך צירופי SQL, בלי עמודות מחושבות מראש ובלי פגיעה בדיוק.
  • יתרות חשבון: מעקב אחרי עו"ש, חסכונות, כרטיסי אשראי, מזומן והשקעות. לכל חשבון יש יתרה שוטפת שנגזרת מתוך פנקס התנועות.
  • העברות: אפשר להעביר כסף בין החשבונות שלכם, כולל בין מטבעות שונים. שתי רשומות בפנקס התנועות עם אותו event_id, אחת שלילית ואחת חיובית.
  • סיווג תנועות: הקטגוריות חופשיות לגמרי ואתם מגדירים אותן. אין טקסונומיה כפויה. ה-AI לומד את הקטגוריות שלכם מתוך הנתונים הקיימים.
  • ממשק רב-לשוני: אנגלית, ספרדית, סינית, ערבית, עברית, פרסית, אוקראינית ורוסית, עם תמיכה מלאה ב-RTL.
  • בידוד בין סביבות עבודה: אבטחת השורות של Postgres מבטיחה שהנתונים של כל משתמש מבודדים לחלוטין. גם אם כולם חולקים אותו שרת מסד נתונים, אי אפשר לראות נתונים של אחרים.
  • מצב הדגמה: אפשר ללחוץ על כפתור בממשק ולעבור לנתוני הדגמה בזיכרון. לא צריך בכלל מסד נתונים כדי להתרשם מהמוצר.

סכמת Postgres שנבנתה למפתחים

זו סכמה שאפשר להחזיק בראש:

  • ledger_entries — שורה אחת לכל תנועת חשבון, וזו הטבלה המרכזית.
  • budget_lines — תוכנית תקציב שנשמרת בהוספה בלבד; בכל תא הערך האחרון שנכתב הוא הקובע.
  • budget_comments — הערות על תאי התקציב.
  • exchange_rates — שערי חליפין יומיים, גלובליים, בלי בקרת גישה.
  • workspace_settings — מטבע הדיווח של כל סביבת עבודה.
  • account_metadata — סיווג נזילות.
  • accounts — תצוגה (VIEW) שמחושבת מתוך ledger_entries.

בלי ORM. בלי מסגרת עבודה למיגרציות. רק קובצי SQL ממוספרים ב-db/migrations/, שמורצים על ידי סקריפט מעטפת. אפשר לקרוא כל מיגרציה, להבין כל טבלה, ולכתוב שאילתות ישירות מול הסכמה.

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

למה מפתחים מארחים בעצמם את הנתונים הפיננסיים שלהם

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

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

התאמה אישית: אפשר להוסיף עמודות לסכמה, לבנות דוחות משלכם עם SQL גולמי, ולחבר את המערכת לכלים שאתם כבר משתמשים בהם. רוצים בוט טלגרם שמדווח על הוצאות יומיות? כתבו סקריפט שקורא לממשק ה-SQL. רוצים להציג נתונים ב-Grafana? הפנו אותה אל מסד ה-Postgres. הקוד שלכם, והשינויים גם הם שלכם.

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

למידה: בסיס הקוד הוא דוגמה אמיתית ל-Next.js + Postgres + Docker + AWS CDK + אבטחת שורות + אימות מבוסס מפתח API + שילוב כלי AI. אם אתם בונים מוצר SaaS, תמצאו כאן לא מעט דפוסים ששווה לאמץ.

איך מתחילים עם מנהל התקציב בקוד פתוח

git clone https://github.com/kirill-markin/expense-budget-tracker.git
cd expense-budget-tracker
make up

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

כשתרצו לעבור לפריסה אמיתית, אפשר להיעזר ב-מדריך הפריסה ל-AWS או להתאים את Docker Compose לתשתית שלכם.

המאגר נמצא ב-github.com/kirill-markin/expense-budget-tracker. אתם יכולים לתת כוכב, לפצל אותו, או פשוט לקרוא את הקוד. הוא מופץ תחת רישיון MIT, כך שאפשר להשתמש בו בכל דרך שמתאימה לכם.

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

להמשך קריאה

איך להשתמש ב-AI כדי לעקוב אחר הוצאות ולנהל תקציב

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

חלופה ל-Mint ב-2026: אפליקציית תקציב בקוד פתוח שאפשר לארח בעצמכם

מחפשים חלופה ל-Mint ב-2026? ההבדל המעשי פשוט: רוב האפליקציות נותנות עדיפות לנוחות, בעוד שאפליקציית תקציב בקוד פתוח מעניקה לכם אירוח עצמי, אוטומציה עם AI, גישת SQL ושליטה מלאה בנתונים.

הגדרת מעקב הוצאות עם בינה מלאכותית עבור Claude Code, Codex ו-OpenClaw

כך מחברים את Claude Code, את Codex או את OpenClaw למנהל הוצאות בקוד פתוח: משתפים כתובת גילוי אחת, מאשרים את קוד האימייל, שומרים את מפתח ה-API שמתקבל, ונותנים לסוכן להתחיל לעבוד.

איך לעקוב אחר הוצאות ולנהל תקציב עם Claude Code

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