Skip to content
Bevootech
Solutions · BVT DocFlow

Drop in the paperwork. Get clean rows back.

BVT DocFlow turns invoices, receipts, purchase orders and delivery slips into structured spreadsheet rows using the AI vision model of your choice. Check them against the original, fix them, and send them on.

Key takeaways

  • BVT DocFlow — a self-hosted web app that turns invoices, receipts, purchase orders and delivery slips into structured spreadsheet rows using the AI vision model of your choice.
  • Upload a batch, pick a document type, and get one row per line item, ready to review, export to CSV or Excel, or push to Google Sheets or Xero.
  • AI does the typing; people keep the judgement. Reviewers open any row beside the original document, fix values, add lines the AI missed, and sign the batch off.
  • Bring any OpenAI-compatible vision model — OpenAI, Azure OpenAI, Google Gemini, Groq, OpenRouter, or a local model through Ollama.
  • Corrections turn into plain-English rules that apply to every future extraction of that type, so the same mistake does not come back.
  • Five built-in document types, plus unlimited custom types defined by admins without code changes.
  • Single Node.js process with an embedded SQLite database; deploys on Ubuntu, Windows, Railway or AWS with a single script.
Capabilities

Built for the last mile of finance work.

Five built-in document types

Expense, receipt, supplier invoice, customer purchase order and logistics slip — each with its own column set.

Add your own document types

Admins define a new type with its own columns, without touching code.

Editable instructions per type

Each type has an editable prompt, a test panel to try a draft against a sample file before saving, and one-click revert to the default.

Text PDFs and scanned PDFs

If a PDF has a text layer, the system reads it. If it is a scan, each page is rendered to an image for the vision model.

Bring your own AI

Any OpenAI-compatible vision endpoint — OpenAI, Azure OpenAI, Google Gemini, Groq, OpenRouter, or a local model through Ollama. Add several providers and pick which does the conversion.

Run it on your own hardware

A local model through Ollama keeps extraction on your own infrastructure.

Source beside data, always

The document viewer zooms from 0.5x to 5x with pan, and renders PDFs in the browser. Open any row next to the page it came from.

Edits, with audit

Edit rows in a grid or a form, add lines the AI missed, and mark the batch as reviewed. A batch records who confirmed it and when; if the data changes afterwards, the mark clears automatically.

Optional second pass

Turn on a second AI extraction — optionally with a different model — to verify and correct the first. Switch it on or off per upload.

Re-run with version history

Re-extract a whole batch, selected files or a single row. Each attempt is kept as a version you compare against the live data before choosing which to keep.

Teach the AI in plain English

Turn a correction into a rule such as "the PO number is the one in the top right, not the invoice number". Rules apply to every future extraction of that type.

CSV, Excel, Google Sheets, Xero

Export filtered results to CSV or Excel. Admins can push supplier invoices to Google Sheets (column mapping, header check, retry one at a time) or create bills in Xero.

Admin and user roles

Admins manage users, AI providers, prompts, document types, rules and integrations. Users upload and review their own batches.

Activity log and email alerts

Log of AI calls, extractions, sign-ins and settings changes, with filters and JSON export. Email when a batch finishes via your own SMTP server.

One process, one database

Node.js serves the app and the API. Data lives in an embedded SQLite database — no database server to install. Uploads on local disk or Amazon S3.

Who it's for

Teams that still key documents in by hand.

  • Accounts payable — turn supplier invoices into bills in Xero or rows in a ledger sheet, with a human check before anything is posted.
  • Operations and purchasing — capture customer purchase orders and match line items, codes and delivery dates.
  • Logistics and warehouse — digitise delivery and shipping slips into trackable rows.
  • Finance and expenses — convert receipts and expense documents into a clean sheet for reconciliation.
  • Agencies and bookkeepers — add a custom document type for a client's unusual form, and teach the system its quirks.
Book a walkthrough

See BVT DocFlow on a real batch of yours.

A 30-minute demo on documents you actually handle — same model your team would run, with the review screen next to the source.

By submitting, you agree to our Privacy Policy.

Frequently asked questions

What is BVT DocFlow?
BVT DocFlow is a self-hosted web app that turns invoices, receipts, purchase orders and delivery slips into structured spreadsheet rows using an AI vision model of your choice. Your team uploads a batch, picks a document type, and gets one row per line item, ready to review, export to CSV or Excel, or send to Google Sheets or Xero.
Which AI providers does BVT DocFlow work with?
Any OpenAI-compatible vision endpoint — OpenAI, Azure OpenAI, Google Gemini, Groq, OpenRouter, or a local model through Ollama. Admins can add several providers, test each one from the admin screen, and choose which does the conversion. Running a local model through Ollama keeps extraction on your own infrastructure.
Can a human check the AI's work before anything is posted?
Yes. Reviewers open any row beside the original document, zoom in, edit values, add lines the AI missed, and mark the batch as reviewed. A batch records who confirmed it and when, and the mark clears automatically if the data is changed afterwards.
Does the system learn from our corrections?
Yes. Reviewers can turn a correction into a plain-English rule — for example, "the PO number is the one in the top right, not the invoice number". Rules are stored per document type and applied to every future extraction of that type, so the same mistake does not come back.
Where can the extracted data be sent?
CSV and Excel (.xlsx) export, with filters by batch, document type, date range, title and description. Admins can also push supplier invoices to Google Sheets (with column mapping, a header check before writing, duplicate warnings and per-row retry) and create supplier bills in Xero.
Which integrations are available, and for which document types?
Google Sheets and Xero are admin-only and handle supplier invoices. Xero searches for an existing contact — it does not create new contacts. Other document types export to CSV or Excel.
What input formats are supported?
Images, PDF (text and scanned), TXT and CSV, up to 25 MB per file. XLSX and DOCX are not supported. If a PDF has a text layer, the system reads it; if it is a scan, each page is rendered to an image for the vision model.
How is BVT DocFlow hosted?
It runs as a single Node.js process with an embedded SQLite database, so there is no separate database server to install. It can be deployed on an Ubuntu or Windows server, on Railway, or to AWS with a single script. Uploads can be stored on local disk or in Amazon S3.
What security controls are in place?
Passwords are hashed with bcrypt. Sessions expire after 15 minutes of inactivity. Integration credentials and OAuth tokens are encrypted at rest with AES-256-GCM. In production the server refuses to start with an insecure signing secret.
Can I get a sense of the price before a full conversation?
BVT DocFlow is sold as a self-hosted, one-time-licensed product. Scoping depends on the document types, integration set and deployment target, so we always start with a 30-minute walkthrough. Use the form below to book one.

Looking for sales or invoicing software instead?