What they did
The poster's team runs an expense workflow in self-hosted n8n. It used to run OCR on each receipt or invoice and pass the text to an LLM, so anything the OCR dropped, such as the date on a crumpled fuel receipt, never reached the model. They wrote a community node that runs the Claude Code CLI on the n8n host and hands it the photo or PDF itself, asking for JSON with amount, date and vendor. The workflow now reads every receipt twice, once from the OCR text and once from the image, and compares the two results field by field.
How it went
On 136 real receipts and invoices, the reading from the image supplied 22 values the OCR route had missed, among them 4 dates and 5 VAT rates. The two readings agreed on every amount. The node returns cost and token usage with each call, and it retries on failure. The author published it as an open-source community node.
Worth knowing
It only works on self-hosted n8n, because the node shells out to the claude CLI, which has to be installed and logged in on the host. Calls count against a Claude subscription rather than an API key, so check that the plan's terms cover automated use. By default the call runs with no tools or MCP servers. The source is the author's own launch post; there were no replies confirming the numbers.