morning-cli

April 10, 2026 · View on GitHub

כלי שורת פקודה ידידותי-סוכן (agent-native) ל-morning — מערכת הנהלת החשבונות המובילה בישראל.

נבנה על-ידי JangoAI במתודולוגיית cli-anything. גרסה באנגלית: README.md.

למה בניתי את זה

אני מאור, מפתח עצמאי שמנהל את JangoAI — סטודיו קטן לאוטומציה ו-AI בישראל. אני עובד עם ה-API של morning כל יום — בעסק שלי ובפרויקטים של לקוחות — ונמאס לי לכתוב את אותו boilerplate של httpx + JWT בכל פרויקט מחדש.

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

מה זה

morning-cli עוטף את כל ה-API של morning ב-CLI נקי שאפשר להשתמש בו משורת הפקודה, מסקריפטים, או מתוך סוכני AI (Claude Code, Cursor, וכו'). הכלי לא מממש חשבוניות בפייתון — הוא קורא ישר ל-API האמיתי של morning.

מה יש בארסנל:

  • ✅ 66 endpoints ב-10 קבוצות (עסקים, לקוחות, ספקים, פריטים, מסמכים, הוצאות, תשלומים, פרטנרים, כלים)
  • ✅ אשף התחברות אינטראקטיבי (morning-cli auth init) שמעביר אותך שלב-אחר-שלב ביצירת מפתחות API
  • ✅ REPL אינטראקטיבי כמצב ברירת מחדל — הרץ morning-cli בלי פרמטרים
  • ✅ פלט JSON עקבי (--json) לצריכה על-ידי AI agents, עם מבנה מתועד
  • ✅ חידוש JWT אוטומטי על 401 — לא צריך לחשוב על תוקף טוקנים
  • ✅ ברירת מחדל: sandbox — תקלות לא פוגעות בנתונים אמיתיים
  • ✅ קובץ session נעול ב-~/.greeninvoice/session.json (הרשאות 0600)
  • ✅ 55 טסטים, מתוכם 22 רצים מול ה-sandbox החי האמיתי
  • ✅ הודעות שגיאה בעברית נשמרות end-to-end (errorCode + errorMessage)

התקנה

pip install morning-cli

דורש Python 3.10 ומעלה.

התחלה מהירה

# 1. הרץ את אשף ההתחברות האינטראקטיבי
morning-cli auth init

האשף ידריך אותך:

  1. לבחור בין sandbox ל-production
  2. לפתוח את העמוד של morning ליצירת מפתח API
  3. להדביק את ה-id וה-secret
  4. לאמת את המפתחות מול ה-API האמיתי
  5. לשמור אותם ב-~/.greeninvoice/credentials.json (הרשאות 0600)

לאחר מכן:

# REPL אינטראקטיבי (מצב ברירת מחדל)
morning-cli

# או פקודות חד-פעמיות
morning-cli --json business current         # פרטי העסק שלך
morning-cli --json document types --lang he  # כל סוגי המסמכים הנתמכים
morning-cli --json client search              # כל הלקוחות

דוגמה — יצירת חשבון עסקה (Proforma Invoice)

cat > /tmp/proforma.json <<'JSON'
{
  "description": "ריטיינר חודשי",
  "type": 300,
  "lang": "he",
  "currency": "ILS",
  "vatType": 0,
  "client": {"name": "חברת אקמה בע\"מ", "emails": ["ap@acme.co.il"], "country": "IL"},
  "income": [
    {"description": "שירותי ייעוץ", "quantity": 10, "price": 300, "currency": "ILS", "vatType": 0}
  ]
}
JSON

# תצוגה מקדימה (לא יוצרת מסמך אמיתי)
morning-cli --json document preview --file /tmp/proforma.json

# יצירה בפועל
morning-cli --json document create --file /tmp/proforma.json

סוגי מסמכים נתמכים

קודסוג
10הצעת מחיר
20דרישת תשלום / אישור תשלום
100הזמנה
200תעודת משלוח
300חשבון עסקה (עובד לכל סוגי העסקים)
305חשבונית מס (לא זמין לעוסק פטור)
320חשבונית מס / קבלה
330חשבונית זיכוי
400קבלה
405קבלה לתרומה

הרשימה המלאה: morning-cli --json document types --lang he

פקודות לפי קבוצה

קבוצהendpointsפקודות עיקריות
authמקומיinit (אשף), login, logout, whoami, refresh
sessionמקומיshow, reset, history
business10list, current, get, update, ניהול מספור ולוגו
client8add, get, update, delete, search, merge
supplier6כמו client אבל לספקים
item5ניהול פריטי קטלוג (מוצרים/שירותים)
document13יצירה, חיפוש, הורדת PDF, סגירה/פתיחה
expense13הוצאות + מנגנון העלאת קבלות
payment3טפסי תשלום וחיוב כרטיסי אשראי שמורים
partner4חיבורי בין-חשבונות של morning
tools4רשימות עזר: עיסוקים, מדינות, ערים, מטבעות

שגיאות נפוצות

קודמשמעותמה לעשות
401טוקן פגה-CLI מחדש אוטומטית — אם זה עדיין נכשל, הרץ morning-cli auth init שוב
1003אין עסק פעיל בחשבוןצור עסק ב-UI של morning תחילה
1006המינוי פגחדש את המינוי בהגדרות morning
1007חסרה הרשאהמפתח ה-API שלך בסקופ מוגבל מדי
1012הפעולה דורשת מסלול גבוה יותרשדרג את המינוי
1110מחיר לא תקיןבדוק את שדה price ב-income[]
2102אי-אפשר להוסיף עוד עסקים במסלול הזהשדרג או מחק עסק קיים
2403סוג מסמך לא נתמך עבור סוג העסקעוסק פטור למשל לא יכול להנפיק חשבונית מס (305)

משתני סביבה

export MORNING_API_KEY_ID=<ה-id-שלך>
export MORNING_API_KEY_SECRET=<הסוד-שלך>
export MORNING_ENV=sandbox   # או production

(התחילית הישנה GREENINVOICE_* עדיין נתמכת.)

שאלות נפוצות

איך אני יוצר מפתחות API? היכנס ל-morning → Settings → Advanced → Developers → "יצירת מפתח API". שים לב: הסוד מוצג פעם אחת בלבד. הרץ morning-cli auth init והאשף יפתח את הדף הנכון בשבילך.

מה ההבדל בין sandbox ל-production? Sandbox הוא סביבת בדיקות עם בסיס נתונים נפרד. מפתחות sandbox לא עובדים ב-production ולהפך. ה-sandbox משתמש בכרטיס אשראי דמו לתשלומים. הרשמה ל-sandbox: lp.sandbox.d.greeninvoice.co.il/join.

האם צריך מסלול מסוים של morning? כן — ה-API נעול מאחורי מסלולים מסוימים (כמו "Best"). אם אתה רואה "ForbiddenException: Product is not included in your subscription" — המסלול שלך לא כולל את מודול ה-API.

אני עוסק פטור — אילו מסמכים אני יכול להנפיק? עוסק פטור יכול להנפיק: הצעות מחיר (10), הזמנות (100), תעודות משלוח (200), חשבונות עסקה (300), קבלות (400). לא ניתן להנפיק חשבוניות מס (305) — זה מוגבל לעוסק מורשה/חברה.

איך אני מוחק חשבונית שיצרתי בטעות? אי-אפשר — מסמכים שהונפקו לא ניתנים למחיקה מסיבות רגולטוריות. מה שכן: אפשר לבטל ב-document close או להנפיק חשבונית זיכוי (330).

AI Agents

יש לחבילה קובץ SKILL.md שמתגלה אוטומטית על-ידי Claude Code / Cursor. אם אתה סוכן AI שקורא את זה — תתחיל שם, יש שם דוגמאות מוכנות ורשימה מלאה של קודי השגיאה של morning.

תרומה לפרויקט

PRs ברוכים ב-github.com/jango-ai-com/morning-cli. לפני שליחה:

pip install -e ".[test]"
pytest cli_anything/greeninvoice/tests/test_core.py -v

על JangoAI

JangoAI היא סטודיו ישראלי לאוטומציה וכלי AI לעסקים. אנחנו בונים אינטגרציות עם n8n, Monday.com, Supabase, ו-CLIs כמו זה — כולם עם דגש על להיות שימושיים לסוכני AI ולא רק לבני אדם.

היי, אם השתמשת בכלי ועזר לך — בוא נכיר! צור קשר דרך jango-ai.com או פתח issue ב-GitHub.

רישיון

MIT. ראה LICENSE.


נבנה על-ידי JangoAI · jango-ai.com · @jango-ai-com ב-GitHub