DOCUMENT OPS

Dropbox invoice scan to Postgres ledger with duplicate guard

Extracts vendor, invoice number, and totals from scanned invoices dropped in Dropbox.

CategoryDocument Ops
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew invoice scan in Dropbox folderDropboxDropbox
  • ActionDownload invoice file from DropboxDropboxDropbox
  • ActionExtract vendor, number, date, total via Hugging FaceHugging FaceHugging Face
  • LogicCheck Postgres for existing invoice numberPostgreSQLPostgres
  • OutputInsert new invoice row into Postgres ledgerPostgreSQLPostgres

What it does

Scanned invoices placed in a Dropbox folder are parsed for vendor name, invoice number, date, and total amount, then written into a Postgres accounting ledger — but only if that invoice number is not already on file, preventing double entry.

When to use it

Use it when vendors email or hand over paper invoices that someone scans into Dropbox, and you want them landing in your database ledger automatically without paying twice for the same invoice number.

How it works

  1. 1A new scanned invoice in the Dropbox folder triggers the run.
  2. 2The file is downloaded from Dropbox.
  3. 3A Hugging Face document model extracts vendor, invoice number, issue date, and total.
  4. 4A logic step queries Postgres for the extracted invoice number scoped to that vendor.
  5. 5If a matching row already exists, the run stops and logs a duplicate so nothing is inserted twice.
  6. 6If it is new, the invoice is inserted into the Postgres ledger table with all extracted fields and the source file link.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect DropboxFiles and folders.
  2. 2
    Connect Hugging FaceModels, datasets, spaces — the open-source hub.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.