israeli-e-invoice
Israeli E-Invoice
Instructions
Step 1: Determine Invoice Type
Ask the user what type of document they need:
| Code | Hebrew | English | When to Use |
|---|---|---|---|
| 300 | hashbonit mas | Tax Invoice | B2B sales, services over threshold |
| 305 | hashbonit mas / kabala | Tax Invoice / Receipt | B2C with immediate payment |
| 310 | hashbonit zikui | Credit Invoice | Refunds, corrections, returns |
| 320 | kabala | Receipt | Payment confirmation only |
| 330 | hashbonit proforma | Proforma Invoice | Quotes, pre-billing (no allocation needed) |
Step 2: Collect Required Fields
For all invoice types, gather:
- Seller details: Business name, TIN (mispar osek), address, phone
- Buyer details: Business name (or individual), TIN (if B2B), address
- Transaction: Date, item descriptions, quantities, unit prices
- Payment: Method (cash, transfer, check, credit card), terms
Step 3: Calculate VAT
- Standard Israeli VAT rate: 18% (as of 2025, verify current rate)
- VAT calculation:
vat_amount = net_amount * 0.18 - Total:
gross_amount = net_amount + vat_amount - For VAT-exempt transactions (osek patur), no VAT line -- use receipt (320) instead
Step 4: Check Allocation Number Requirement
Determine if an allocation number is needed:
- Required if: Invoice amount >= current threshold AND invoice type is 300, 305, or 310
- Current thresholds:
- Until December 2025: transactions over 25,000 NIS (excluding VAT)
- January 2026: transactions over 10,000 NIS (excluding VAT)
- June 2026: transactions over 5,000 NIS (excluding VAT)
- Not required for: Receipts (320), proforma (330), invoices below threshold
If allocation number IS required:
- Inform user they must request from SHAAM before issuing
- Provide the API call structure (see references/shaam-api-reference.md)
- The allocation number must appear on the printed/sent invoice
Step 5: Generate Invoice Document
Create the invoice with all fields formatted per Israeli standards:
- Date in both Gregorian (DD/MM/YYYY) and Hebrew calendar
- Amounts in NIS (New Israeli Shekel)
- VAT breakdown as separate line
- Sequential invoice number from seller's series
- Allocation number (if applicable)
Step 6: Validate
Run validation checks:
- All required fields present
- TIN format valid (9 digits with check digit)
- VAT calculation correct
- Invoice number sequential
- Date not in the future
- Allocation number present if above threshold
If validation fails, report specific errors and how to fix them.
Examples
Example 1: Simple B2B Tax Invoice
User says: "Create a tax invoice for a web development project, 15,000 NIS to ABC Ltd" Actions:
- Identify: Tax Invoice (type 300), above threshold -- allocation needed
- Collect: Seller and buyer details
- Calculate: Net 15,000 + VAT 2,700 = Total 17,700 NIS
- Guide: Request allocation number from SHAAM
- Generate: Formatted invoice document Result: Complete tax invoice with all required fields and allocation number guidance
Example 2: Small B2C Receipt
User says: "I need a receipt for a 500 NIS cash payment" Actions:
- Identify: Receipt (type 320), below threshold -- no allocation needed
- Collect: Seller and buyer details
- Generate: Receipt document Result: Simple receipt, no allocation number required
Example 3: Credit Invoice for Refund
User says: "I need to issue a credit note for invoice #1234, partial refund of 3,000 NIS" Actions:
- Identify: Credit Invoice (type 310)
- Reference: Original invoice #1234
- Calculate: Credit amount with VAT reversal
- Check: Allocation requirement based on amount Result: Credit invoice referencing original, with correct VAT reversal
Bundled Resources
Scripts
scripts/validate_invoice.py— Validates Israeli e-invoice JSON against SHAAM requirements: checks required fields, TIN (mispar osek) format and check digit, invoice type codes, VAT calculation accuracy, and allocation number thresholds. Also referenced in Troubleshooting below. Run:python scripts/validate_invoice.py --help
References
references/shaam-api-reference.md— SHAAM (Tax Authority) API endpoints for requesting allocation numbers, OAuth2 authentication setup, and request/response formats. Consult when integrating with the SHAAM e-invoice API. Also referenced in Step 4 above.references/invoice-types.md— Complete listing of Israeli invoice type codes (300, 305, 310, 320, 330, 400) with required fields per type, VAT applicability, and allocation number requirements. Consult when determining which invoice type to use.references/compliance-timeline.md— Progressive e-invoice mandate timeline per Amendment 157 to the VAT Law, showing threshold reductions from 25,000 NIS down to all invoices. Consult when checking current allocation number thresholds.
Gotchas
- Israel's e-invoice system is managed by SHAAM (the Tax Authority's technology arm), which assigns allocation numbers (mispar haktzaa) for each invoice. Agents may generate invoices without SHAAM allocation, which would not be valid for tax purposes.
- Israeli TIN (Tax Identification Number) for individuals is 9 digits with a check digit algorithm. Agents may not validate the check digit and accept invalid TINs.
- The distinction between cheshbonit mas (tax invoice, type 305) and cheshbonit mas/kabala (tax invoice-receipt, type 320) is critical. Agents may use them interchangeably, but they have different legal implications for payment timing.
- Israeli e-invoice XML schemas follow SHAAM-specific standards, not the European Peppol or UBL formats. Agents may attempt to use international e-invoice standards that are not accepted by the Israeli Tax Authority.
- Credit notes (cheshbonit zikui) in Israel must reference the original invoice number. Agents may generate standalone credit notes without the required linkage.
Troubleshooting
Error: "Invalid TIN format"
Cause: Israeli TIN (mispar osek) must be exactly 9 digits with valid check digit Solution: Verify the number with the check digit algorithm. Run scripts/validate_invoice.py for validation.
Error: "Allocation number required"
Cause: Invoice amount exceeds current threshold for mandatory allocation Solution: Request allocation number from SHAAM API before issuing invoice. See Step 4.
Error: "VAT rate mismatch"
Cause: Using incorrect VAT rate (rate changes periodically) Solution: Verify current rate at the Tax Authority website. Standard rate is 18% as of 2025.
Error: "Invoice type not suitable"
Cause: Wrong invoice type selected for the transaction Solution: Review the invoice type table in Step 1. Common mistake: using type 300 when 305 (with receipt) is needed for immediate payment.
More from skills-il/accounting
israeli-receipt-scanner
OCR and parse Israeli receipts and invoices with Hebrew and English text extraction. Extracts merchant name, date, total amount in NIS, VAT amount, receipt or invoice number, payment method, and VAT registration number (osek murshe). Handles common Israeli retail formats including supermarkets, gas stations, restaurants, and online purchases. Auto-categorizes expenses into standard Israeli accounting categories and outputs structured JSON or CSV ready for import into accounting software. Use when you need to digitize, extract data from, or categorize Israeli receipts and tax invoices. Do NOT use for non-Israeli receipt formats, handwritten notes without printed text, or bank statement reconciliation.
2green-invoice
Integrate Green Invoice (Morning) API for Israeli invoicing, receipts, client management, and payment processing. Use when user asks to create invoices via Green Invoice, generate hashbonit mas through Morning API, manage clients in Green Invoice, set up webhook automation for document creation, query documents or expenses, or mentions "Green Invoice", "Morning", "hashbonit yeruka", "greeninvoice API", Israeli cloud invoicing, or needs to create tax invoice-receipt (cheshbonit mas/kabala). Covers all 13 document types, 8 payment types, client CRUD, item catalog, and webhook integration. Do NOT use for SHAAM allocation numbers or Tax Authority e-invoice compliance (use israeli-e-invoice), Cardcom payment processing (use cardcom-payment-gateway), or Tranzila integration (use tranzila-payment-gateway).
1israeli-annual-reports
Navigate and analyze Israeli corporate annual reports (dochot titkuftiim), financial filings, and regulatory disclosures. Use when user asks about Israeli annual reports, MAYA filings, IFRS financial statements, doch titkufti, dochot kaspiyim, or Companies Law reporting requirements. Covers TASE filing types, Israeli GAAP to IFRS transition, Hebrew financial terminology, and key financial statement analysis.
1hashavshevet-data-tools
Import and export data between Hashavshevet accounting software and modern formats (JSON, CSV, Excel). Use when you need to extract journal entries, chart of accounts, trial balances, or customer/supplier lists from Hashavshevet, import bank transactions and invoices into Hashavshevet format, migrate data from Hashavshevet to cloud-based solutions (iCount, Rivhit, Invoice4U), or handle Hebrew encoding conversions (Windows-1255 to UTF-8). Supports Hashavshevet Gold, Hashavshevet 2000+, and newer versions. Validates data integrity during import/export operations. Do NOT use for real-time Hashavshevet API integrations, direct database modifications, or live bookkeeping within Hashavshevet.
1israeli-financial-reports
Generate Israeli-standard financial reports including profit and loss (Doch Ruvach VeHefsed), balance sheet (Maazan), trial balance (Maazan Bochein), and cash flow statements. Supports bilingual Hebrew/English output with NIS formatting, VAT summary reports for bi-monthly and monthly filing, year-end annual report preparation, and comparison periods. Works with Osek Patur, Osek Murshe, and Chevra (company) business types. Compliant with Israeli accounting standards based on IFRS adaptations. Use when you need to produce financial statements, tax-related summaries, or periodic reports for Israeli businesses. Exports to PDF, Excel, and CSV formats. Do NOT use for tax filing submissions, payroll processing, or bank reconciliation workflows.
1israeli-bookkeeping-automation
Generate proper double-entry journal entries (pkudat yoman) for common Israeli business transactions including payroll with all statutory components, VAT handling, asset depreciation, and revenue recognition. Use when you need to create accurate bookkeeping entries following the Israeli chart of accounts (matkonet heshbonot) standard numbering system. Supports both Osek Murshe (authorized dealer) double-entry and Osek Patur (exempt dealer) single-entry bookkeeping. Handles salary payments with income tax, bituach leumi, health insurance, pension, keren hishtalmut, and convalescence pay. Do NOT use for tax filing submissions, annual financial statement audits, or replacing a certified public accountant (roeh heshbon).
1