Skip to content
All case studies

BookSmart, Accounting and bookkeeping

Invoices, bank statements, and SIE files read into the books

A bookkeeping workspace that treats invoices, bank statements, and Swedish SIE files as different inputs with different processing paths.

Built for: A Swedish bookkeeping product serving accountants and their clients.

document types read
3
document types read
extraction model
GPT-4o
extraction model
OCR engines
2
OCR engines

First agent live in one week. A short call. Your first agent, a fixed quote, and the timeline. No obligation.

BookSmart case study overview: what we built, key numbers, and AI used

Sound familiar?

  • “We retype invoice and statement data into client accounts every week.”
  • “One generic tool can't handle invoices, statements, and accounting exports properly.”
  • “When a number looks wrong, finding the source document takes too long.”

How the system works.

  1. Step 1

    Separate extraction per document type

    Invoices and bank statements each get their own GPT-4o extraction routine and output shape, so the fields a bookkeeper needs are captured correctly.

  2. Step 2

    OCR and image preparation

    PDF rendering, image cleanup with Sharp, and Tesseract OCR prepare scanned documents, with a Textract companion path.

  3. Step 3

    Dedicated SIE parser

    Structured Swedish SIE accounting exports are parsed directly, with encoding handling, instead of being run through OCR.

  4. Step 4

    Bulk intake and sorting

    Batch processing and sorting tasks handle large document drops that take longer than a single upload.

  5. Step 5

    Bookkeeping workspace

    Client records, accounts, document tables, notes, dashboards, and Excel and PDF exports, with every extracted record kept beside its source file.

What changed.

  • 3 distinct processing paths: invoices, bank statements, and SIE exports.
  • Document intake connects straight to client, account, task, and export workflows.
  • Every extracted amount stays next to its source file for fast review.
  • Bulk tasks process batches of financial documents without manual sorting.

The AI inside.

OpenAI GPT-4o

Extracts structured fields from invoices and transaction rows from bank statements.

Tesseract OCR

Reads text from scanned PDFs and images before extraction.

AWS Textract

Companion OCR path for document text extraction.

The full stack.

Frontend

  • React 18
  • Vite
  • Redux Toolkit
  • Ant Design
  • Tailwind CSS

Backend

  • Node.js
  • Express
  • SIE parser
  • PDF utilities
  • Sharp

Data

  • MongoDB
  • Amazon S3

AI and automation

  • OpenAI GPT-4o
  • Tesseract
  • AWS Textract
  • Bulk task and sorting services

Integrations

  • Stripe
  • jsPDF
  • ExcelJS

This fits you if...

  • Your team keys invoice and statement data into accounting records by hand.
  • You receive a mix of scanned documents and structured accounting files.
  • Reviewers need the source document one click away from every extracted number.

Start with a free Agent Audit. First agent live in one week

The Document Intake Agent brings this to your team.

Every contract, invoice, and bid pack becomes a checked record, with the source page attached.

Full project write-upRead it

Project overview

Swedish invoices, bank statements, and accounting exports in one workspace

Services: Document AI ; AI Fintech ; AI Workflow Automation
Delivery: Bookkeeping application, financial-document processing, and accounting-file parsing.

Project Scope

  • Separate AI extraction routines for invoices and bank statements.
  • PDF and image intake, bulk processing, and sorting tasks.
  • A dedicated parser for Swedish SIE accounting exports.
  • Client records, accounts, documents, tasks, reporting, and exports.

The Problem

The input determines the processing method. A scanned invoice needs text extraction. A bank statement needs transaction rows. A Swedish SIE file already contains structured accounting data and needs a parser that understands its format.

Treating all three as a generic document summary would lose the fields the bookkeeper needs.

What We Delivered

BookSmart accepts financial documents into client and account workflows. Its processing code includes PDF rendering, image preparation, OCR utilities, and OpenAI extraction.

The invoice prompt asks for a defined financial structure. The bank-statement routine has a separate output shape. Formatting and JSON-handling code prepare those outputs for application records.

Structured SIE files follow a dedicated parser with encoding utilities. Bulk-task and sorting services handle batches, while the frontend provides document tables, account views, notes, dashboards, and export tools.

Engineering Decisions

Separate invoices from statements. The records have different fields and downstream uses. The backend has distinct extraction functions instead of one universal financial prompt.

Parse structured files directly. SIE files should retain their accounting structure rather than pass through OCR.

Keep numbers and dates intact during preparation. The text-cleaning prompt explicitly preserves invoice-related terms, numbers, and dates.

Track the processing task. Document, bulk-task, and sorting records let the application represent work that takes longer than an upload request.

Keep the file beside its record. Bookkeepers need to inspect the source when reviewing an extracted amount.

Results

The delivered product connects document intake to client, account, and task records, with export paths for accounting work.

The available evidence establishes the processing paths and product scope. It does not include a labeled accuracy benchmark or before-and-after bookkeeping time measurement. Those should be measured separately for invoices, statements, and SIE imports rather than combined into one accuracy claim.

Technology stack

React 18, Vite, Redux Toolkit, Ant Design, Tailwind CSS; Node.js, Express, MongoDB; OpenAI GPT-4o extraction routines; PDF utilities, Sharp, Tesseract tooling and a Textract companion project; SIE parsing; S3, Stripe, jsPDF, ExcelJS.

Example value calculation

Hypothetical planning example, not a measured project result or a performance forecast. All volumes and timings below are assumed.

Enter invoice fields or review extracted fields against the source document.

  • Workload: 300 invoice documents per month.
  • Manual handling: 6 minutes per item.
  • Assisted handling, including human review: 2 minutes per item.
  • Additional exception handling: 120 minutes in the same period.
  • Modeled difference: 300 x (6 - 2) - 120 = 1080 minutes (18 hours) per month.

The example reserves another 120 minutes per month for unreadable or incomplete invoices. Bank statements and SIE imports are outside this calculation. This is potential staff capacity, not cash savings; setup, training, and software costs are excluded.

How to validate: Use a labeled invoice sample to track review minutes, correction minutes, failed extraction, and field-level accuracy. Count all failed documents in the sample, not just successful extractions.

Want this for your team?

Book a short audit call and show us the workflow. You leave with the first agent we would build, a fixed quote, and the timeline.

Get my free Agent Audit