Israeli businesses collect hundreds of receipts and invoices monthly, but manually documenting each one is slow and error-prone. Israeli receipts contain Hebrew and English text, shekel amounts, and VAT registration numbers that need to be extracted and categorized.
Author: @skills-il
OCR and parse Israeli receipts and invoices with Hebrew and English text extraction
npx skills-il add skills-il/accounting --skill israeli-receipt-scannerIdentify the input format. The receipt may be provided as:
If the input is an image, use vision capabilities to read the text. Israeli receipts typically contain a mix of Hebrew (right-to-left) and English (left-to-right) text, along with numbers. Pay attention to bidirectional text rendering, as merchant names are usually in Hebrew while product codes and amounts use Latin numerals.
Determine whether the document is:
Look for the document type indicator near the top of the receipt, usually printed in bold or larger font immediately below the merchant header.
Parse the following fields from the receipt text:
Different Israeli retailers use distinct receipt layouts:
Supermarkets (Shufersal, Rami Levy, Yochananof, Osher Ad):
Gas Stations (Paz, Sonol, Delek, Ten):
Restaurants and Cafes:
Online Purchases (invoices from Israeli e-commerce):
Map the merchant and items to standard Israeli accounting categories commonly used in bookkeeping:
| Category | Hebrew | Common Merchants/Items |
|---|---|---|
| Groceries | מזון ומכולת | Shufersal, Rami Levy, Osher Ad |
| Fuel | דלק | Paz, Sonol, Delek, Ten |
| Office Supplies | ציוד משרדי | Office Depot, Kravitz |
| Meals & Entertainment | ארוחות ואירוח | Restaurants, cafes |
| Transportation | תחבורה | Parking, tolls, public transit |
| Software & SaaS | תוכנה ושירותי ענן | Digital subscriptions |
| Professional Services | שירותים מקצועיים | Consultants, lawyers |
| Telecommunications | תקשורת | Cellcom, Partner, HOT |
| Insurance | ביטוח | Insurance premiums |
| Maintenance | תחזוקה | Repairs, cleaning |
| Medical | רפואה | Pharmacies, clinics |
| Travel | נסיעות | Hotels, flights |
Use the merchant name and item descriptions to determine the most likely category. If ambiguous, default to "General Expenses (הוצאות כלליות)" and flag for manual review.
Generate the extracted data in a structured format. Default to JSON:
{
"document_type": "tax_invoice_receipt",
"merchant": {
"name_he": "שופרסל דיל",
"name_en": "Shufersal Deal",
"vat_registration": "520044078",
"branch": "סניף רמת אביב",
"address": "רחוב איינשטיין 15, תל אביב"
},
"document_number": "12345678",
"date": "2026-03-08",
"time": "14:32",
"items": [
{
"description": "חלב תנובה 3% 1 ליטר",
"quantity": 2,
"unit_price": 6.90,
"total": 13.80
}
],
"subtotal": 245.50,
"vat_rate": 0.18,
"vat_amount": 37.44,
"total": 289.69,
"currency": "ILS",
"payment": {
"method": "credit_card",
"card_last_four": "4532",
"installments": 1
},
"category": "groceries",
"category_he": "מזון ומכולת"
}For CSV output, flatten the structure with these columns:
date, document_type, document_number, merchant_name, vat_registration, subtotal, vat_amount, total, payment_method, category
Perform validation checks on the extracted data:
total = subtotal + vat_amount (tolerance of 0.05 NIS for rounding). Current Israeli VAT rate is 18%.If validation fails, include a warnings array in the output with specific issues found.
User says: "Scan this Shufersal receipt and extract the data."
The user provides an image of a Shufersal receipt. The agent:
Result: Complete JSON output with all 12 items, validated totals (VAT check passed), and category assignment.
User says: "Parse this Sonol gas station receipt. I need it for my expense report."
The user provides a Sonol receipt image. The agent:
Result: JSON with split expense categories and a note that the receipt covers two expense types.
User says: "I have a restaurant receipt from a business lunch. Extract the details for tax deduction purposes."
The user provides a restaurant receipt. The agent:
tax_notes field: "Business meal VAT deduction is subject to Israeli tax authority limitations"Result: Complete JSON with tax-relevant notes for the accountant.
scripts/receipt_parser.py -- Python utility for batch processing receipt images. Run: python scripts/receipt_parser.py --helpscripts/export_csv.py -- Convert JSON receipt data to CSV format for accounting software import. Run: python scripts/export_csv.py --input receipts.json --output expenses.csvreferences/israeli-vat-rates.md -- Historical Israeli VAT rates and thresholds. Consult when validating VAT calculations on older receipts.references/receipt-field-glossary.md -- Hebrew-English glossary of common receipt fields and terms. Consult when encountering unfamiliar Hebrew terms on receipts.Cause: The receipt image may be low resolution, poorly lit, or the Hebrew text may be in a decorative font that is difficult to parse. Thermal receipt paper often fades, making text barely visible.
Solution:
null with a warningCause: The calculated VAT (subtotal * 0.18) does not match the VAT amount printed on the receipt. This can happen due to rounding across many line items, mixed VAT-exempt and VAT-inclusive items, or items with reduced VAT rates.
Solution:
Cause: The merchant name does not match any known retailer in the categorization database. This is common with small businesses, market stalls, or businesses using trade names different from their registered names.
Solution:
needs_review: true flagCause: Some receipts print dates without clear separators or use inconsistent formats. For example, "080326" could be interpreted as 08/03/2026 (DD/MM/YYYY) or 03/08/2026 (MM/DD/YYYY).
Solution:
Supported Agents
Scan this receipt and extract the business name, date, amount, VAT, and payment method.
Process all receipts in the folder and generate a sorted CSV file with all details.
Identify whether this is a tax invoice, receipt, tax invoice/receipt, or price quote.
Trust Score
This skill can execute scripts and commands on your system.
1 occurrences found in code
This skill can read and write files on your system.
1 occurrences found in code
This skill can make network requests to external services.
1 occurrences found in code
Import and export data between Hashavshevet accounting software and modern formats like JSON, CSV, and Excel, including Hebrew encoding conversion and cloud migration
Build SHAAM-compliant electronic invoices with allocation numbers per Israeli Tax Authority requirements
Automate bank reconciliation for Israeli banks, including discrepancy detection and reconciliation report generation
Want to build your own skill? Try the Skill Creator · Submit a Skill