Deterministic Invoice & Receipt Text-to-JSON Normalizer avatar

Deterministic Invoice & Receipt Text-to-JSON Normalizer

Pricing

from $1.00 / 1,000 processed items

Go to Apify Store
Deterministic Invoice & Receipt Text-to-JSON Normalizer

Deterministic Invoice & Receipt Text-to-JSON Normalizer

Standardizes messy OCR text and receipt strings into clean, structured accounting JSON with vendor, date, line items, and totals without expensive LLM API fees.

Pricing

from $1.00 / 1,000 processed items

Rating

0.0

(0)

Developer

Nadim Hider

Nadim Hider

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Security

Limited permissions

Share

A resilient, ultra-fast financial document parser that transforms unformatted OCR text dumps, email receipts, and digital invoice strings into standardized accounting JSON. Extracts merchant/vendor, invoice number, ISO 8601 date, currency, subtotal, tax/VAT, grand total, and itemized line items without calling expensive LLM APIs.


🚀 Why Use This Actor?

Using LLMs (like GPT-4o or Claude 3.5) for high-volume receipt and invoice intake costs $0.02 to $0.05 per document and suffers from token latency and non-deterministic formatting errors. This Actor provides a deterministic alternative:

  • 100x Lower Costs: Billable at only $0.001 per invoice, cutting automated bookkeeping expenses by 95%+.
  • Zero Hallucinations: Uses strict regex, financial token parsing, and currency heuristics. Numbers add up exactly as stated on the receipt.
  • Automated ISO 8601 Date Parsing: Handles standard international date formats (YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, and month names).
  • Line Item Extraction: Automatically extracts product descriptions, quantities, unit prices, and line totals.
  • ERP & Accounting Integration: Feeds cleanly into QuickBooks, Xero, NetSuite, Google Sheets, or Airtable via Make/n8n.

📥 Input Schema

FieldTypeDefaultDescription
invoicesArraySample ReceiptArray of objects containing invoice_id and raw raw_text strings.
default_currencyString"USD"Fallback ISO currency code if no symbol is detected.

Sample Input JSON

{
"invoices": [
{
"invoice_id": "INV-2026-01",
"raw_text": "GitHub Inc.\nInvoice #GH-88192\nDate: 2026-10-01\nCopilot Enterprise 5 $39.00 $195.00\nSubtotal: $195.00\nTax: $0.00\nTotal: $195.00"
}
],
"default_currency": "USD"
}

📤 Output Dataset Format

{
"invoice_id": "INV-2026-01",
"vendor_name": "GitHub Inc.",
"invoice_number": "GH-88192",
"invoice_date_iso": "2026-10-01T00:00:00+00:00",
"currency": "USD",
"subtotal": 195.0,
"tax_amount": 0.0,
"total_amount": 195.0,
"line_items": [
{
"description": "Copilot Enterprise",
"quantity": 5,
"unit_price": 39.0,
"line_total": 195.0
}
],
"confidence_score": 100.0,
"status": "success"
}

💰 Pay-Per-Event (PPE) Pricing

  • Event Name: item-processed
  • Cost: Only $0.001 per invoice ($1.00 per 1,000 invoices processed).
  • Outcompetes manual data entry and expensive OCR SaaS APIs with instantaneous throughput and zero setup overhead.

🔌 API & Python Client Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("YOUR_USERNAME/invoice-receipt-json-normalizer").call(run_input={
"invoices": [
{"invoice_id": "receipt_1", "raw_text": "Office Depot\nTotal: $45.20\nDate: 2026-08-14"}
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Vendor: {item['vendor_name']} | Total: {item['currency']} {item['total_amount']}")