Scale me AI

Case study · B2B SaaS · Berlin

We automated invoice processing for Brightlane Software. Around 4,800 vendor invoices a year, hands-free.

Two finance staff used to spend ~40 hours a week pulling invoices out of inboxes, keying them into the accounting system, and filing PDFs. We replaced that with an AI pipeline that watches the inboxes, extracts the fields, deduplicates, enriches new vendors, and routes exceptions. Phase 1 in n8n in 2 weeks. Phase 2 a custom admin panel the finance team uses every day.

Service used: Workflow Automation + AI Integration Services

See how we work →

Today's invoice run

Live
AWS · INV-2026-04-119873 · Just processed

Total: $4,238.17 USD · €3,891.04 EUR @ 0.918

Filed: Drive · Postgres · Xero · Slack #finance

  • finance@ · Stripe billing receipt

    Auto-classified · Receipt · Filed

    Filed
  • ap@ · OpenAI subscription · €1,840

    Extract complete · 96% confidence

    Synced
  • billing@ · New vendor · €11,420

    Enrichment + over threshold → CFO

    Awaiting CFO

Today: 17 invoices processed

2 awaiting human review

  • ~400

    vendor invoices processed per month

  • ~4,800

    invoices automated per year

  • ~1.5 FTE

    of finance work freed up

  • 80+

    vendors with auto-enriched profiles

  • n8n → Node.js

    Phase 1 to Phase 2 build path

Client

About Brightlane Software

Brightlane Software is a B2B SaaS scaleup headquartered in Berlin with a sales and support entity in London. They sell a product analytics platform to mid-market software teams. Like every scaleup their size, they live on dozens of vendors at once: cloud infrastructure, AI APIs, observability, ad platforms, recruiting tools, contractors, agencies, freelancers. Most of those vendors bill on different cadences, in different currencies, into different inboxes.

Client identity, region, sector, and headline numbers are paraphrased and rounded under an active NDA. Architecture, flow, and tech stack are accurate to the build we shipped.

FieldDetail
SectorB2B SaaS (product analytics)
Size~85 employees, two entities (DE + UK)
HeadquartersBerlin, Germany (EU)
Finance team1 finance manager + 1 AP clerk, reporting to a CFO
Tax / regulatory frameGDPR, German HGB §257 (10-year invoice retention), EU VAT regime, UK VAT for the London entity
Vendor stack80+ recurring vendors: cloud (AWS, Vercel), AI APIs (OpenAI, Anthropic), observability, CRM, ad platforms, contractors, agencies, freelancers
Invoice volume~350 to 450 vendor invoices per month, ~4,800 per year
CurrenciesEUR (base), USD, GBP
EngagementPhase 1 PoC in n8n (~2 to 3 weeks) then Phase 2 custom Node.js admin panel (~10 to 14 weeks)

Before

Two finance staff, six inboxes, four hundred PDFs a month

On the first call, the CFO walked us through a typical Monday. The finance manager opens six shared inboxes (finance@, billing@, ap@, accounts@ across two entities), looks for new emails with attachments, saves the PDFs to a desktop folder, and starts keying in invoice data.

The mechanics were simple and brutal:

  • Triage each inbox for new vendor invoices and receipts
  • Download PDFs, rename them, sort into the right Drive folder
  • Re-key vendor, dates, totals, VAT, currency into the accounting tool
  • Decide if the vendor was new (cue Google search to figure out who they were)
  • Convert non-EUR invoices to EUR for monthly reporting
  • Chase missing invoices when a vendor changed their billing email

Roughly 40 person-hours a week, between the two of them, on invoice triage. And it still wasn't enough. Some months, the close took an extra week because the AP clerk was still tracking down three invoices that had landed in founders@ and never made it to ap@.

The second layer of pain was the audit trail. Under German HGB §257, every invoice has to be retained for 10 years and produced on demand. Saving PDFs to a Drive folder named after the vendor is technically compliant, but in practice, finding the August 2023 AWS invoice meant scrolling through a folder of 14 attachments named things like "Invoice (3).pdf".

The third layer was vendor knowledge. When an unfamiliar vendor name appeared on a bank statement, the finance manager would have to search the inbox for the original invoice, open the PDF, then Google the vendor to figure out which team had actually onboarded them and for what.

Brightlane didn't need a new accounting tool. They had one. They needed everything that happens before an invoice ever reaches that tool to run itself.

Before

  • ~40 person-hours/week on invoice triage
  • 3 to 7 days from inbox to filed
  • 6 inboxes triaged manually
  • Vendor info scattered across emails
  • Audit trail = Drive folders + memory

After

  • ~5 to 8 hours/week on exceptions only
  • Under 15 minutes from inbox to filed
  • All 6 inboxes watched automatically
  • 80+ vendors with structured profiles
  • Every invoice searchable + audit-ready

Solution architecture

An AI invoice processing pipeline that runs itself, and knows when to ask

We built the system in two phases. Phase 1 was a fast n8n proof-of-concept wired to a single inbox and a sample of 50 invoices, to prove the extraction quality and surface edge cases on real data. Phase 2 was a custom Node.js application with a full admin panel, integrated with Brightlane's accounting tool by API. That is what runs in production today.

The flow is the case study, not the platform. The same nine-step pattern transfers to any company drowning in vendor invoices.

The flow, end to end

  1. 01

    Watch inboxes

    Gmail + Microsoft Graph poll every 15 min

  2. 02

    Classify document

    Invoice / receipt / statement / noise

  3. 03

    Duplicate check

    Vendor + invoice # + total + date hash

  4. 04

    Extract fields

    Vendor, dates, lines, totals, VAT, currency

  5. 05

    Confidence check

    Low confidence → exceptions queue

    Human review
  6. 06

    Enrich vendors

    Web research + VIES VAT validation

  7. 07

    FX normalize

    Original currency + EUR at invoice date

  8. 08

    Approval routing

    >€5k or anomaly → CFO sign-off

    Human review
  9. 09

    File + sync + notify

    Drive + DB + ERP + Slack digest

Human review lane

Step 5 (low-confidence extract) goes to the finance manager's exceptions queue. Step 8 (over-threshold or anomalous invoice) routes to the CFO before payment.

AI node
Plumbing
Human

The pipeline runs every 15 minutes around the clock. By 09:00 Berlin time, every invoice that arrived overnight is already extracted, filed, and visible in the admin panel. The finance manager starts the day looking at the exceptions, not the inboxes.

How we built it

Three weeks to extraction quality, then a system the finance team owns outright

We don't deliver a 12-week build before anyone sees a working version. The point of Phase 1 is to verify, on real invoices, that the extraction quality is good enough to justify the production build. AI document extraction is not a solved problem on every invoice format, and the failure modes are loud. We want to find them on day 14, not day 84.

Phase 1 — Fast PoC

Toolingn8n (self-hosted, EU region)
Window~2 to 3 weeks

Single inbox, 50-invoice sample, real LLM extraction, real Drive filing, real Postgres writes. We tested classification accuracy, dedupe behavior, and the field-level confidence scoring on actual invoices from Brightlane's vendor mix. Goal: prove extraction quality before anyone signed off on the production build.

Phase 2 — Production app

ToolingCustom Node.js / TypeScript application + Next.js admin panel
Window~10 to 14 weeks

Full multi-inbox watcher, vendor enrichment, FX normalization, anomaly detection, approval routing, accounting-tool sync, and the admin panel the finance team uses every day. Hardened error handling, retries, role-based access, audit logging, and EU data residency. The system Brightlane runs today.

Phase 1 doesn't replace Phase 2. It de-risks Phase 2. By the time we started the production build, we already knew which invoice formats the extraction handled cleanly, which needed a fallback prompt, and which needed to land in the exceptions queue.

If you've been pitched a six-month invoice automation build before you've seen anything working on your own data, you already know why we sequence it this way.

What the finance team sees

An admin panel built for one finance team, not a generic SaaS

Most invoice automation tools sell you a per-seat SaaS that has to be flexible for thousands of customers. We built one tool, for one finance team, that does exactly what they need and nothing else. Two views do about 90 percent of the work.

Invoices · April 2026

5 of 412

FiltersDate: April 2026Currency: any+ Vendor+ Amount
VendorAmountStatus
AWSINV-04-119873
$4,238.17Filed
OpenAIOPENAI-92041
$2,000.00Filed
VercelVERCEL-2026-04
€420.00Filed
(new) Riverline StudioRS-2026-118
€11,420.00CFO review
DatadogDD-Q2-04421
$8,940.50Anomaly +212%

Total this month: €542,180.34

Export CSV →

Vendor · AWS

Auto-enriched
aws.amazon.com
Amazon Web Services EMEA Sarl · Luxembourg
Cloud infrastructure · VAT LU26888617

YTD

€38,210

This mo

€3,891

Invoices

14 of 14

Recent invoices

2026-04-29$4,238.17Filed
2026-03-29$3,872.04Filed
2026-02-28$3,920.51Filed

Vendor profile, billing contact, and tax ID populated by the AI enrichment step. Editable by the finance manager.

Every invoice has a permalink. Every vendor has a profile. Every PDF opens in Drive in one click. The finance manager built the muscle for this in about a week.

The CFO uses the same panel from a phone, in approval mode. Over-threshold invoices land in a single screen with the line items, the FX-converted total, the vendor profile, and one button to approve.

Built for GDPR, HGB, and the auditor

What "compliant" means in this build

An invoice processing system handles tax-relevant records and vendor PII. Both have a regulatory floor that has nothing to do with AI. We designed for the boring requirements first.

EU data residency

All workflow execution and data storage runs in EU regions (Frankfurt). Postgres, Drive folder structure, and the admin panel all sit inside the EU under GDPR (Regulation 2016/679). No customer or vendor PII leaves the EU.

10-year retention by HGB §257

German law requires invoices to be retained for 10 years and produced on demand. Every PDF is stored at /Vendors/<vendor>/<YYYY-MM>/ in the customer's own Drive, plus a checksum and metadata copy in Postgres. Tax-audit-ready in one query.

VAT-ID validation against VIES

Every EU vendor's VAT number is validated against the European Commission's VIES registry on first contact, then re-validated quarterly. Bad VAT IDs are flagged before any invoice based on them gets booked as input-tax-deductible.

Role-based access control

AP clerk sees the full invoice queue and can edit extracted fields. Finance manager sees everything plus the exceptions queue. CFO sees the approval queue and the analytics. Auditor role gets read-only access for tax and DD reviews.

Full audit log

Every extraction, every edit, every approval, every export is logged with timestamp, user, and before/after diff. If a number changes between the PDF and the accounting tool, you can see who changed it and when.

No silent low-confidence writes

AI extraction is not perfect on every invoice. Anything below the per-field confidence threshold lands in the exceptions queue with the PDF and the model's best guess side by side. Humans approve, edit, or reject. Nothing low-confidence gets booked silently.

If your jurisdiction has a tax-record retention requirement (most do, the period varies from 5 to 10 years), the same design pattern transfers directly. Swap HGB §257 for IRS Pub 583 in the US, FCA SYSC 9 in the UK, or your own tax authority's requirement. The shape of the system is the same.

Outcomes

~1.5 FTE of work, removed. Audit completeness, fixed.

Framing note: every number below is approximate. Volumes are anonymized ranges from Brightlane's actuals. Cost-per-invoice numbers are aligned with industry benchmarks for AI invoice processing (Precoro 2026, NetSuite 2024). Where uncertain, we hedge.

MetricBefore (manual)After (automated)
Invoices processed per month~350 to 450~350 to 450
Invoices processed per year~4,800~4,800
Person-hours per week on triage~40 (~1.5 to 2 FTE)~5 to 8 (exception review)
Time from inbox to filed3 to 7 daysUnder 15 minutes
Cost per invoice processed~€12 to €25~€1 to €3
Vendor profile coverageTribal knowledge80+ vendors with structured profiles
Audit completenessDrive folders + memory100% logged with diff history
Currencies handledEUR + USD + GBP, manual conversionEUR + USD + GBP, auto-converted at invoice date

The most underrated win is vendor knowledge. Two finance staff used to carry the answer to "who is this vendor and what do we use them for" in their heads. Now it's a database row. New hires onboard onto the tool in a day, not a quarter.

Anonymized under NDA

Anonymized client testimonial

Two of my finance people used to spend their entire week chasing PDFs in inboxes and re-keying numbers. Scale me AI shipped an n8n version inside three weeks that handled the easy 70 percent on day one, then built it into a proper Node.js application with the admin panel my team actually wanted. Today my finance manager looks at exceptions, not inboxes. The audit trail alone was worth it.

CFO, Brightlane Software

Real role, paraphrased wording, identity withheld

Under the hood

What we built it on

LayerTool / vendorWhy
Workflow engine, Phase 1n8n (self-hosted, EU)Visual, fast to iterate, self-hostable in Frankfurt for GDPR
Workflow engine, Phase 2Custom Node.js / TypeScript applicationFull control over retry, observability, and the deeper integrations a no-code engine cannot reach
Admin panelNext.js (App Router) + Postgres + Clerk authServer-rendered, fast, role-based access, deployed alongside the worker on the same Frankfurt region
Document AI (extraction + classification)Frontier LLM (OpenAI and Anthropic both qualified)Superior multi-format invoice extraction vs OCR-only tools; final model choice scoped at deployment
Vendor enrichment (web research)LLM with web search + VIES VAT lookupAuto-populates vendor profiles on first contact, validates EU VAT IDs against the European Commission registry
Email watcherGmail API + Microsoft Graph APIMost SMBs have at least one of each; we support both natively
StorageGoogle Drive (PDFs) + Postgres (metadata)Customer keeps their original Drive convention; structured search lives in Postgres
Accounting tool syncXero / QuickBooks / NetSuite (via REST + webhooks)Generic adapter; pattern transfers to any accounting tool with a real API
NotificationsSlack API (#finance digest)Daily summary, large-invoice alerts, anomaly flags — where the finance team already lives
Hosting / data residencyEU region (Frankfurt)GDPR by design; HGB-compatible record retention

We don't fuse a stack onto a customer because we have a partner deal. We pick the tools that fit the regulator, the inbox provider, the accounting tool, and the cost curve. If your stack is different, the design pattern still holds.

Frequently asked

AI invoice processing, in plain operator language

How do you automate invoice processing from email?

An email watcher polls the finance inboxes (Gmail, Outlook, or both) every 15 minutes and queues every new email with attachments. An LLM classifies each attachment as invoice, receipt, statement, or noise. Only invoices and receipts move forward. Then the system extracts structured fields (vendor, dates, totals, VAT, currency), deduplicates against everything already processed, files the original PDF in Drive, writes structured data to a database, and pushes the booked invoice to your accounting tool. The whole loop completes in under 15 minutes per inbox.

How does AI invoice processing actually work?

Modern AI invoice processing uses a frontier LLM (we typically use Claude or GPT) that reads the PDF as a vision-and-text input and returns a structured JSON object with vendor, dates, line items, subtotal, VAT, and total. It is not classic OCR. OCR converts pixels to characters. AI invoice extraction also understands what those characters mean in context, which lets it handle invoices in formats it has never seen before, including non-tabular layouts. Confidence is scored field by field, so low-confidence extractions can be routed for human review.

How much does AI invoice processing cost compared to manual?

Industry benchmarks (Precoro 2026, NetSuite 2024) put manual processing at €12 to €30 per invoice when you load fully-burdened staff cost. AI invoice processing typically lands at €1 to €5 per invoice including LLM, storage, and workflow cost. For Brightlane Software's volume of about 4,800 invoices a year, the per-invoice cost dropped from roughly €15 to roughly €2, which translates to about €60,000 a year of finance-team capacity returned to the business.

How accurate is AI on real-world invoices?

On the standard formats (cloud vendors, ad platforms, common SaaS subscriptions) modern frontier LLMs hit field-level accuracy in the high 90s. On weird formats, hand-written receipts, scans of scans, foreign-language invoices, and one-off freelancer invoices, accuracy is lower. The right design isn't to chase 100 percent accuracy. It's to score confidence per field and route anything below the threshold to a human review queue. That's exactly what this build does.

Can AI invoice processing handle multi-currency invoices?

Yes. Every invoice is stored in its original currency and also converted to the customer's base currency at the FX rate on the invoice date. We pull rates from the European Central Bank reference rates for EUR-base operations, or from a comparable source for other base currencies. Monthly reporting comes out in one currency without anyone touching a spreadsheet.

What about VAT validation and tax compliance?

For EU vendors, every VAT number is validated against the European Commission's VIES registry on first contact and re-validated quarterly. Bad VAT IDs are flagged before any invoice based on them gets booked as input-tax-deductible. For German clients specifically, we also build to HGB §257 retention requirements (10 years), with PDFs in Drive and metadata in Postgres, both auditable.

How long does an invoice automation build take?

We do it in two phases. Phase 1 is a fast n8n proof-of-concept (~2 to 3 weeks) that proves extraction quality on real customer invoices and starts producing measurable ROI inside a month. Phase 2 is the production build with a custom admin panel, accounting integration, approval workflow, and full hardening (~10 to 14 weeks). Phase 1 doesn't replace Phase 2; it de-risks Phase 2.

Can this work without replacing my accounting tool?

Yes, that's the point. Brightlane kept their existing accounting tool. The automation handles everything before the invoice reaches the accounting tool: capture, extraction, dedup, vendor enrichment, FX conversion, approval routing, and filing. Then it pushes the booked invoice into the accounting tool by API. We've built integrations with Xero, QuickBooks, and NetSuite-class systems; the pattern transfers to any accounting tool with a real API.

Applicability

This pattern works for any company drowning in vendor invoices

SaaS scaleups, e-commerce brands, agencies, multi-entity service businesses, professional-services firms. If you recognize any of the following, this build pattern transfers directly:

  • Your finance team spends a noticeable share of every week pulling invoices out of inboxes and re-keying them
  • You have multiple shared inboxes (finance@, billing@, ap@, accounts@) and invoices land in all of them
  • You operate across more than one entity, more than one currency, or both
  • You have an audit, due-diligence, or tax-retention requirement and your current invoice archive is mostly Drive folders and tribal knowledge
  • Your AP clerk has been promised a SaaS that will solve this and it has never quite fit your accounting tool
  • You hire 3 to 10 new vendors a quarter and nobody on the finance team can immediately tell you who they are

The architecture is portable. The compliance pattern is portable. The phase-1-then-phase-2 sequence is portable.

What changes is the inbox provider, the accounting tool, the tax retention frame, and the vendor mix. We scope each engagement around those four variables on the first call.

Want this for your invoices?

Book a 30-minute discovery call. We'll map your invoice volume, your inbox setup, your accounting tool, and what a Phase 1 in n8n would actually look like for you, before you commit to anything.

See how we work →

Related

Workflow automation

Workflow Automation

The email watcher, the multi-step extraction, the FX conversion, the Slack digest — every piece of the invoice pipeline is a structured workflow that runs on a schedule and writes outcomes back to the system of record.

See workflow automation

AI integration build

AI Integration Services

The Phase 2 custom application integrated with Brightlane's accounting tool, Drive, and Slack. When a no-code workflow engine doesn't go deep enough, we build the connector and own the failure modes.

See AI integration services

Customer support automation

Customer Support Automation

The same patterns apply to inbound customer email triage: classify, extract structured data, deduplicate, route exceptions to a human. Different content, identical architecture.

See customer support automation

AI chatbots

AI Chatbots

When a vendor question comes in ("why is this invoice 3x last month's?"), an AI chatbot trained on the vendor profile and recent invoices can answer it before it gets to the finance manager. Same data layer, different surface.

See AI chatbots

Invoice triage is the most boring expensive thing your finance team does. Stop doing it by hand.

A 30-minute call. We'll tell you whether Phase 1 in n8n is the right move for your invoice volume, and what it would cost, before you commit to anything.

See case studies →