Skip to main content

Document intake · for market data & information teams

Forward it once.
It files itself.


Every account gets its own inbox address. Forward any invoice, contract or statement, attachments and all, and it arrives as structured, reconciled data: line items, amounts, matched to the right contract. No uploads, no manual entry, and nothing changes until you publish it.

Every document enters through the same door


A vendor invoice and an internal headcount list look nothing alike, and they take the same route in. One address, one set of checks, one place to look when you need to know what arrived and what it did.

SAMPLEBANK-X742@INBOX.FIRMFACT.COM

Nothing reaches the model without instructions

Handing every incoming file to a model and asking it what to do is quick to build, and a confident guesser is not what should be running licence administration. So each document passes the same checks first, and those checks are plain rules.

Who sent it

The address it arrived from is checked against the senders your account knows, so a document is attributed before anything is read out of it.

What it should contain

An invoice, a contract and a personnel list each have a shape. Firmfact knows which one it is looking at and what has to be present before the contents count as read.

Which records it may touch

Extraction is scoped to the vendor and the contracts it resolves to. A document cannot reach across your account and change records it has nothing to do with.

What a person confirms

The change is prepared and shown with the reasoning behind it, next to the source document. A person publishes it.

The checks a rule cannot do

Vendor documents do not agree on a layout, and they change it without telling anyone. So Firmfact does not look for a value in a fixed spot on the page. It recognises the data points that matter, the vendor, the period, the reference, the amounts, wherever they happen to sit, and matches them to what your account already holds.

Below, a Bloomberg SID report arrives and is read into users, products and contract items, mapped to your organisation. The extraction stands beside the source file, so every value can be traced back to the page it came from.

Firmfact reading a Bloomberg SID report: the source file beside the extracted users, products and mappings
A Bloomberg SID report arrives; Firmfact reads it into users, products and contract items, mapped to your organisation

It prepares the change. You publish it.

Automation you cannot overrule is someone else's opinion arriving faster. Every step of intake is shown with its reasoning, next to the document it came from, and none of it lands in your records until a person says so.

A clean match takes a moment to confirm. A variance comes back as a precise call to action, the line and the amount that disagree with the contract, rather than a month-end research project. The work that is left is the decision.

Kept in Europe

Your documents, processed in the EU

Contracts and invoices are among the most sensitive things a firm holds, so Firmfact runs on EU-primary infrastructure hosted in Germany, with AI processing kept to EU-first sub-processors and an audit-ready history of every change.

GDPR aligned Hosted in Germany AI processing in France

What the documents feed

Document intake, answered

How do documents get into Firmfact?

Every account gets its own inbox address. Forward an invoice, a contract or a statement to it, attachments and all, and it is read into structured data: line items, amounts, periods, matched to the right contract. There is nothing to upload and no template to fill in first.

What does the AI actually do with a document?

It does the reading a fixed rule cannot. Rather than looking for a value in a fixed position on the page, it recognises the data points that matter (vendor, period, reference, amounts) wherever they sit in the layout, and matches them to what your account already holds. The checks around it, who sent the document, what it should contain and which records it may touch, are rules, not model output.

Does Firmfact change our data automatically?

No. Intake prepares the change and shows its reasoning beside the source document. A person publishes it. Clean matches are quick to confirm; a variance arrives as a specific question rather than a research project.

What happens when an invoice does not match the contract?

The difference is surfaced as a variance against the contract it was matched to, with the line items and amounts that caused it. That is the point of reading the document in the first place: the record explains what changed, so the answer does not have to be reconstructed by hand each month.

Where are our documents processed and stored?

On EU-primary infrastructure hosted in Germany, with AI processing kept to EU-first sub-processors, under Dutch law. Details at https://firmfact.com/european-infrastructure.

Forward your first document

Start free, no credit card. Signup includes a Production account for real setup and a Demo account for safe exploration.