FreshStack
Back to the site

Case 03 · Marketing Agency · Finance

How We Automated Invoice Reconciliation with Claude

FreshStack built a complete finance system on the Claude API. Claude reads invoices the moment they're dropped, payments are detected as they land, and everything reconciles automatically.

0
manual reconciliation
Real-time
visibility
Claude
invoice reading

Finance was entirely manual. Invoices arrived as PDFs and images with no structured way to log them. Payments landed but nobody knew until someone checked. Reconciliation meant cross-referencing spreadsheets, with zero real-time visibility on what was paid versus unpaid.

Inputs

  • Invoice PDFs and images
  • Incoming payment events
  • Finance database records

What runs

  1. 01Claude extracts every invoice field from dropped files, including supplier, amount, currency, due date and line items, and returns them as structured output
  2. 02Real-time payment detection across multiple accounts
  3. 03Claude matches incoming payments to open invoices and flags anything ambiguous for one-click human confirmation

Outputs

  • Auto-logged invoices with structured data
  • Instant payment confirmations
  • One-click payment links

We built two connected systems. First, a Claude-powered invoice ingestion layer: drop a PDF or image into a Slack channel and Claude extracts every field, posts an interactive approval, and logs confirmed invoices instantly. Second, a real-time payment detection engine that monitors multiple accounts, uses Claude to match incoming payments to open invoices, and lets the team confirm or reject with one click. Outgoing invoices get auto-generated payment links.

Built with: Claude API (structured outputs, document extraction) · n8n · Slack · Notion · Xero

Next caseOne sales source of truthBook a call