ניתוח אוטומטי: זוהו 4 גורמי סיכון (הרצת סקריפטים, גישה לרשת, גישה למערכת קבצים, גישה למשתני סביבה). הרשאות: 62/100, טיפול בנתונים: 65/100.
החל מינואר 2025, רשות המסים בישראל מחייבת חשבוניות אלקטרוניות עם מספר הקצאה ממערכת שע"ם. הסף יורד ל-5,000 ש"ח ביוני 2026, מה שמשפיע על כמעט כל עסק בישראל. מפתחים שבונים מערכות חשבוניות צריכים לשלב את ה-API של שע"ם עם אימות OAuth2, פורמט JSON ספציפי ובדיקות תקינות.
יוצר: @skills-il
בניית חשבוניות אלקטרוניות תואמות שע"ם עם מספרי הקצאה לפי דרישות רשות המסים
npx skills-il add skills-il/accounting --skill israeli-shaam-e-invoice-builderמערכת שע"ם (שנות אסמכתא מקוונת) היא הפלטפורמה של רשות המסים בישראל להנפקת מספרי הקצאה לחשבוניות אלקטרוניות. החל מינואר 2025, חשבוניות מעל סכומים מסוימים מחייבות מספר הקצאה כדי שהקונה יוכל לנכות מס תשומות. מיומנות זו מבצעת אוטומציה של התהליך מקצה לקצה: אימות, בניית חשבונית, ולידציה, הגשה וקבלת מספר הקצאה.
| תאריך | סף מינימלי | היקף |
|---|---|---|
| ינואר 2025 | 25,000 ש"ח (כולל מע"מ) | חשבוניות מעל הסף מחייבות מספר הקצאה |
| ינואר 2026 | 10,000 ש"ח (כולל מע"מ) | הורדת הסף |
| יוני 2026 | 5,000 ש"ח (כולל מע"מ) | הסף הסופי המתוכנן |
ללא מספר הקצאה תקף, הקונה אינו יכול לנכות מס תשומות בעסקה.
הגדרת פרטי OAuth2 לפלטפורמת שע"ם. נדרשים מזהה לקוח וסוד לקוח שהונפקו על ידי רשות המסים לאחר רישום התוכנה.
שמירת פרטי הגישה במשתני סביבה:
export SHAAM_CLIENT_ID="your-client-id"
export SHAAM_CLIENT_SECRET="your-client-secret"
export SHAAM_ENV="production" # או "sandbox" לבדיקותכתובות בסיס של הממשק:
https://ita-api-sandbox.taxes.gov.il/shaam/api/v2https://ita-api.taxes.gov.il/shaam/api/v2נקודת קצה לטוקן OAuth2:
https://ita-api-sandbox.taxes.gov.il/auth/oauth2/tokenhttps://ita-api.taxes.gov.il/auth/oauth2/tokenקבלת טוקן גישה באמצעות client credentials grant:
curl -X POST "${SHAAM_TOKEN_URL}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=${SHAAM_CLIENT_ID}" \
-d "client_secret=${SHAAM_CLIENT_SECRET}" \
-d "scope=invoice:write invoice:read"התגובה מחזירה טוקן גישה תקף ל-60 דקות:
{
"access_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "invoice:write invoice:read"
}יש לשמור את הטוקן במטמון ולרענן אותו לפני פקיעת התוקף. אין לבקש טוקן חדש עבור כל קריאת API.
בניית אובייקט החשבונית לפי המפרט הטכני v2.0 של רשות המסים. מבנה ה-JSON הנדרש:
{
"invoice_type": "hashbonit_mas",
"invoice_number": "INV-2026-001234",
"invoice_date": "2026-03-08",
"supplier": {
"tax_id": "123456789",
"name": "ספק בע\"מ",
"address": {
"street": "שדרות רוטשילד 1",
"city": "תל אביב",
"postal_code": "6688101"
}
},
"buyer": {
"tax_id": "987654321",
"name": "קונה בע\"מ",
"address": {
"street": "רחוב הרצל 10",
"city": "ירושלים",
"postal_code": "9423201"
}
},
"line_items": [
{
"description": "שירותי פיתוח תוכנה",
"quantity": 1,
"unit_price": 15000.00,
"vat_rate": 17,
"total_before_vat": 15000.00,
"vat_amount": 2550.00,
"total_with_vat": 17550.00
}
],
"totals": {
"total_before_vat": 15000.00,
"total_vat": 2550.00,
"total_with_vat": 17550.00
},
"currency": "ILS",
"payment_terms": "net30"
}סוגי חשבוניות נתמכים:
| סוג | עברית | תיאור |
|---|---|---|
hashbonit_mas |
חשבונית מס | חשבונית מס רגילה |
hashbonit_mas_kabala |
חשבונית מס / קבלה | חשבונית מס עם קבלה |
hashbonit_zikuy |
חשבונית זיכוי | חשבונית זיכוי |
kabala |
קבלה | קבלה |
לפני ההגשה, יש לבצע ולידציה מקומית של החשבונית:
אימות מספר עוסק מורשה של הקונה: אימות שמספר העוסק הוא מספר בן 9 ספרות תקף. אלגוריתם ספרת הביקורת משתמש בסכום משוקלל מודולו 10 עם משקלות [1,2,1,2,1,2,1,2,1].
בדיקת סף: קביעה האם סכום החשבונית (כולל מע"מ) חורג מהסף הנוכחי. אם מתחת לסף, מספר הקצאה אינו נדרש אך ניתן עדיין לבקש אותו.
שדות חובה: וידוא שכל השדות החובה מאוכלסים: invoice_type, invoice_number, invoice_date, supplier.tax_id, buyer.tax_id, פריטי שורה עם חישובי מע"מ תקינים.
אימות חישוב מע"מ: אישור ש-vat_amount שווה ל-total_before_vat * vat_rate / 100 עבור כל פריט שורה, ושהסיכומים עקביים.
אימות תאריך: invoice_date לא יכול להיות בעתיד ולא יותר מ-6 חודשים בעבר.
הגשת החשבונית המאומתת לממשק שע"ם:
curl -X POST "${SHAAM_BASE_URL}/invoices" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d @invoice.jsonתגובה מוצלחת (HTTP 201):
{
"allocation_number": "IL-2026-0308-A1B2C3D4",
"invoice_reference": "INV-2026-001234",
"status": "approved",
"valid_until": "2026-04-07T23:59:59Z",
"qr_code_data": "https://www.invoice.gov.il/verify/IL-2026-0308-A1B2C3D4"
}allocation_number (מספר הקצאה) חייב להיות מודפס על החשבונית. כתובת ה-qr_code_data מאפשרת לקונה לאמת את החשבונית מקוון.
לחשבוניות בנפח גבוה, יש להשתמש בנקודת הקצה למשלוח מרוכז:
curl -X POST "${SHAAM_BASE_URL}/invoices/batch" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"invoices": [
{ ... },
{ ... }
]
}'תגובת משלוח מרוכז:
{
"batch_id": "BATCH-20260308-001",
"total_submitted": 15,
"accepted": 13,
"rejected": 2,
"results": [
{
"invoice_reference": "INV-2026-001234",
"status": "approved",
"allocation_number": "IL-2026-0308-A1B2C3D4"
},
{
"invoice_reference": "INV-2026-001235",
"status": "rejected",
"error_code": "BUYER_TAX_ID_INVALID",
"error_message": "מספר עוסק מורשה של הקונה לא עבר אימות"
}
]
}גודל מרבי של משלוח מרוכז הוא 100 חשבוניות לבקשה. לנפחים גדולים יותר, יש לפצל למשלוחים מרובים עם השהייה של שנייה אחת בין הבקשות.
בדיקת סטטוס של חשבונית שהוגשה קודם:
curl -X GET "${SHAAM_BASE_URL}/invoices/{invoice_reference}/status" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"תגובה:
{
"invoice_reference": "INV-2026-001234",
"allocation_number": "IL-2026-0308-A1B2C3D4",
"status": "approved",
"created_at": "2026-03-08T10:30:00Z",
"valid_until": "2026-04-07T23:59:59Z"
}בעת הנפקת חשבונית זיכוי, יש להפנות לחשבונית המקורית:
{
"invoice_type": "hashbonit_zikuy",
"invoice_number": "CN-2026-000045",
"invoice_date": "2026-03-08",
"original_invoice_reference": "INV-2026-001234",
"original_allocation_number": "IL-2026-0308-A1B2C3D4",
"reason": "ביטול חלקי של שירות",
"line_items": [
{
"description": "שירותי פיתוח תוכנה - זיכוי",
"quantity": -1,
"unit_price": 5000.00,
"vat_rate": 17,
"total_before_vat": -5000.00,
"vat_amount": -850.00,
"total_with_vat": -5850.00
}
],
"totals": {
"total_before_vat": -5000.00,
"total_vat": -850.00,
"total_with_vat": -5850.00
}
}חשבוניות זיכוי מקבלות מספר הקצאה משלהן וחייבות להפנות לחשבונית המקורית.
המשתמש אומר: "צור חשבונית אלקטרונית על 30,000 ש"ח בתוספת מע"מ לקונה עם מספר עוסק 514788338 עבור שירותי ייעוץ"
פעולות:
invoice_type: "hashbonit_mas"POST /invoicesIL-2026-0308-X7Y8Z9W0תוצאה: חשבונית מס נוצרה עם מספר הקצאה IL-2026-0308-X7Y8Z9W0. הקונה יכול לנכות 5,100 ש"ח מס תשומות.
המשתמש אומר: "הגש את כל 25 החשבוניות ממחזור החיוב של מרץ 2026 לשע"ם"
פעולות:
POST /invoices/batchתוצאה: 22 חשבוניות קיבלו מספרי הקצאה. 3 חשבוניות דורשות טיפול (2 מספרי עוסק לא תקינים, 1 מספר כפול).
המשתמש אומר: "הנפק חשבונית זיכוי על 8,000 ש"ח כנגד חשבונית INV-2026-000789"
פעולות:
GET /invoices/INV-2026-000789/statusinvoice_type: "hashbonit_zikuy", סכומים שלילייםoriginal_invoice_reference ו-original_allocation_numberPOST /invoicesתוצאה: חשבונית זיכוי CN-2026-000120 הונפקה עם מספר הקצאה משלה, עם הפנייה לחשבונית המקורית.
סיבה: מספר העוסק המורשה בן 9 הספרות של הקונה נכשל באימות ספרת הביקורת, או שמספר העוסק אינו רשום כעסק פעיל הרשום במע"מ ברשות המסים.
פתרון:
https://www.misim.gov.il/mm-hofashosek/סיבה: חשבונית עם אותו invoice_number כבר הוגשה לשע"ם על ידי מספר העוסק שלך.
פתרון:
GET /invoices/{invoice_number}/statusסיבה: טוקן הגישה של OAuth2 פג (הטוקנים תקפים ל-60 דקות) או שפרטי הגישה שגויים.
פתרון:
SHAAM_CLIENT_ID ו-SHAAM_CLIENT_SECRET נכוניםסיבה: סכומי המע"מ שהוגשו אינם תואמים לחישוב הצפוי על בסיס סיכומי פריטי השורה ושיעור המע"מ.
פתרון:
vat_amount = total_before_vat * vat_rate / 100totals.total_vat שווה לסכום כל ערכי vat_amount של פריטי השורהtotals.total_with_vat שווה ל-totals.total_before_vat + totals.total_vatסיבה: תאריך החשבונית הוא בעתיד או לפני יותר מ-6 חודשים.
פתרון:
invoice_date לתאריך של היום או לתאריך העסקה בפועלYYYY-MM-DDסוכנים נתמכים
תבנה חשבונית מס אלקטרונית בפורמט JSON של שע"ם עבור מכירה של 25,000 ש"ח + מע"מ.
תשלח את החשבונית לשע"ם וקבל מספר הקצאה. טפל בשגיאות אפשריות.
תייצר חשבונית זיכוי עם הפניה לחשבונית מקור מספר 12345.
ציון אמון
הסקיל יכול להריץ סקריפטים ופקודות על המערכת שלך.
נמצאו 1 התאמות בקוד
הסקיל יכול לבצע בקשות רשת לשירותים חיצוניים.
נמצאו 4 התאמות בקוד
הסקיל יכול לקרוא ולכתוב קבצים במערכת שלך.
נמצאו 1 התאמות בקוד
הסקיל יכול לגשת למשתני סביבה שעלולים להכיל סודות.
נמצאו 8 התאמות בקוד
ייבוא וייצוא נתונים בין תוכנת חשבשבת לפורמטים מודרניים כמו JSON, CSV ו-Excel, כולל המרת קידוד עברית והעברת נתונים למערכות ענן
סריקה וניתוח קבלות וחשבוניות ישראליות עם חילוץ טקסט בעברית ואנגלית
אוטומציה של התאמת בנק לבנקים ישראליים, כולל זיהוי פערים והפקת דוחות התאמה
רוצים לבנות סקיל משלכם? נסו את יוצר הסקילס · הגשת סקיל