ParseDoc icon

ParseDoc

Turn a receipt or invoice (image/PDF) into structured accounting data

Parse to Accounting Line

AI-generated

Summary

Parses a receipt or invoice (image or PDF) through the ParseDoc API and returns one flat, accounting-ready row per input item (date, merchant, totals, tax, category, and more).

Inputs

  • Document Source — Where the document comes from: 'Binary Property' (a file from a previous node, the default) or 'URL' (a public document URL).
  • Binary Property (required) — Shown when the source is Binary Property. Name of the binary property that holds the image or PDF (default 'data'). The file is base64-encoded and sent with its MIME type, falling back to image/jpeg if none is set.
  • Document URL (required) — Shown when the source is URL. Public URL of the document, sent to the API as image_url.

Output shape

One output item per input item. Each has a flat JSON object with these fields: date, merchant (name only), document_type, invoice_number, currency, subtotal, tax, total, category, payment_method, item_count, confidence and needs_review. The tax field is the sum of all tax amounts, or null if the document has no tax array. item_count is the number of line items. needs_review is true when confidence is below 0.85.

The node makes one POST request per item, with a 90-second timeout. Without the optional parseDocApi credential it calls the public /api/demo endpoint. With an API key it calls /api/key/v1/parse using Bearer auth, and the credential's base URL can override the default host. The demo endpoint's limits are not shown in the source. If the API returns no document or an error, the node throws an error. With Continue On Fail enabled, it outputs {error: message} for that item instead. Line items are counted but not returned. Use the Parse Document operation if you need the full structured JSON.

Examples

Example 1: Log emailed receipt attachments to a spreadsheet as one row each.

Document Source = Binary Property, Binary Property = 'data'. Follow with a Google Sheets append node.

Example 2: Parse a receipt image that is hosted at a public link.

Document Source = URL, Document URL = {{ $json.receiptUrl }}.

Example 3: Send low-confidence parses to a person for checking.

Run the operation, then add an IF node on {{ $json.needs_review }} to route those items to a manual review step.

Links

Discussion