The FlowDocs check

One careful check for every shipment pack.

Five stages, from the documents you upload to the evidence you forward to the shipper. Each one is visible, and none of them guesses.

How it works

Five stages, one check.

Each stage is marked live, partly live or next. We tell you which, so you know exactly what you’re getting today.

  1. 01IntakeLive

    Upload the commercial invoice, packing list and bill of lading or air waybill to one shipment pack.

  2. 02ReadLive

    Order reference, consignee, packages and gross weight are read from both documents, with the page each came from.

  3. 03NormalizeComing next

    Number formats and units put into one form before comparing: decimal commas, thousands separators, pounds and tonnes to kilograms. Today: weights compare in kilograms only.

  4. 04RulesPartly live

    Fixed rules: exact references and names, whole-package totals, ±5 kg. Critical values are reviewed by a person first. Live for invoice vs packing list. Next: bill of lading values.

  5. 05Evidence reportPartly live

    Match, mismatch or cannot compare for every field, with both values and their pages. Next: a share link and PDF.

The check

Every result shows its working.

01

Intake

One shipment, one pack.

Upload the commercial invoice, the packing list and the bill of lading or air waybill to one shipment pack. Scanned or digital.

  • PDF, DOCX, PNG, JPG or TIFF
  • No CargoWise, TMS or ERP access needed
  • Email ingest set up with you, on request
02

Reading

Every value, tied to its page.

FlowDocs reads the order reference, consignee, packages and gross weight from both documents, and keeps the page each value came from.

  • Scanned pages are read by Mistral (OCR)
  • Text is sent to OpenAI to extract the fields
  • A value it can’t read with certainty is never guessed
03

Human review

A person checks what matters most.

Order reference and gross weight are critical fields. Every value FlowDocs reads for them is reviewed by a person before it is compared.

  • Critical fields reviewed before comparison
  • Every free check is read by a founder
  • Corrections keep the original value beside them
04

Comparison rules

Fixed rules, not a model’s judgement.

The comparison is plain code: the same values always give the same result. When a value is unclear, the answer is Cannot compare, with the reason.

  • Order reference and consignee: equal as text, ignoring case and extra spaces
  • Packages: whole-package totals must be equal
  • Gross weight: within ±5 kg, in kilograms
05

Evidence report

A result you can act on.

Match, mismatch or cannot compare for every field, both values side by side with their pages, and whether the transport document is in the pack.

  • Every result shows the page it came from, where known
  • A free check’s report is emailed to you, ready to forward to the shipper
  • Next: a share link and PDF

Your data

Where your documents go, and who can see them.

StorageStored in Frankfurt, Germany

Files, extracted values and results are stored with Supabase in its Central EU (Frankfurt) region.

ProcessingChecked on our servers in Germany

Documents are parsed, read and compared on servers FlowDocs runs at Hetzner in Germany.

ProcessorsTwo AI providers, named

Scanned pages are read by Mistral (OCR). Text is sent to OpenAI to extract the fields. No other AI provider sees your documents.

AccessOne workspace can’t read another

Separation is enforced in the database, not just hidden in the screens. A refused read returns “not found”, so records can’t be enumerated.

RetentionDeleting moves to Trash

You can restore a document from Trash. To remove a document for good, contact us and we'll do it.

In transitEncrypted in transit

The app, the API and the ingest endpoint are served over TLS only, and webhook deliveries are signed so your side can verify what it received.

The full detail is on the Security page and in the privacy policy.

Connect

Start with an upload. Connect when you’re ready.

Nothing to install and no system access to start. API access and signed webhooks are available on request; we set them up with you.

01Upload, nothing to installLive

Start with uploads. FlowDocs needs no access to CargoWise, a TMS or an ERP, and writes nothing into them.

02Email ingestOn request

A dedicated address, set up with you. The first attachment in each email is read with your fields, and the results reach you by webhook, email or a Google Sheet.

03API and signed webhooksOn request

Send documents and receive results programmatically. API keys belong to one workspace and stop working the moment they’re removed.

04Google Sheets deliveryOn request

Each extraction is added as a row to a spreadsheet FlowDocs creates in your Google Drive.

Support

You talk to the people who build it.

  1. 01
    A founder reads every free check

    Before any free report goes back, a founder reviews every result by hand.

  2. 02
    Set up with you personally

    Paid access, email ingest and integrations are configured with your team, not left to a help article.

  3. 03
    A reply within a day

    Email info@flowdocs.dev or use the contact form. We reply by email, usually within a day.

Coming nextno dates promised
Pounds and tonnes converted to kilograms

The original value shown beside the converted one.

Bill of lading and air waybill values

Gross weight, packages, consignee and container numbers, shown beside the invoice and packing list.

A shareable report link and PDF

So you can send the shipper exactly what to correct.

US Customs invoice requirements

Invoice completeness against 19 CFR 141.86: parties, description, quantities, price, currency and country of origin.

See it check your own packs.

Send 3 shipment packs. Get the report within 24 hours. Free, and read by a founder.

  • Stored in Frankfurt, Germany
  • No access to your systems
  • Not used to train AI models
  • Security details

You can delete or paste over the names, values and routes first — FlowDocs still reads whatever is left. Use a tool that removes the text rather than a black box drawn on top: a drawn box hides it from you, not from a parser.