Skip to content
Recued
Menu
← Back to recipes

Invoice intake watch (Google Drive folder)

by recued-core v1

Watch a Google Drive folder for new invoice / receipt documents and stage their extracted finance data. Polls the folder via the gdrive file.list operation, picks the newest document that is not a Google-native file, downloads its bytes straight into the warehouse CAS as a Gateway-gated data.file (file.download surfaces result.file_ref, so the bytes never flow through op-step values), parses it to Markdown with the local docling tool (which materializes the file_ref to a temp file it reads), and pulls vendor, number, amount, currency, and dates from the parsed Markdown via the same file-ref isolation. Preview-first: by default it shows the extracted fields and writes nothing; set write_mode to stage to persist a durable staged invoice/expense row into data.shared for later review and posting. A per-run context guard skips re-processing the same newest file across polls. This is the Drive-folder source lane for the SMB-finance intake; the manual single-document lane is invoice-intake-organizer.

Complete workflow

SMB Invoice Intake 2 pinned recipes

Vendor-neutral document-intake pack for a small business that keeps its own books. The two recipes parse received invoices/receipts and stage the extracted fields, with no accounting-vendor binding of their own: invoice-intake-organizer parses one received document with the docling toolkit and stages the extracted fields (preview-first); invoice-intake-watch polls a Google Drive folder for new documents and stages each through the same docling parse (download straight into the warehouse CAS as a file_ref, no bytes through op-step values). The accounting reporting workflows (overdue-invoice-chase, accounting-daily-back-office) moved to the accounting capability packs (accounting-quickbooks / accounting-xero) where they resolve their canonical op-steps against the bound vendor — install one of those for the AR / overdue / cash-in side. Bind the Google Drive connection once and assign each recipe a dish.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Watch a Google Drive folder for new invoice / receipt documents and stage their extracted finance data. Polls the folder via the gdrive file.list operation, picks the newest document that is not a Google-native file, downloads its bytes straight into the warehouse CAS as a Gateway-gated data.file (file.download surfaces result.file_ref, so the bytes never flow through op-step values), parses it to Markdown with the local docling tool (which materializes the file_ref to a temp file it reads), and pulls vendor, number, amount, currency, and dates from the parsed Markdown via the same file-ref isolation. Preview-first: by default it shows the extracted fields and writes nothing; set write_mode to stage to persist a durable staged invoice/expense row into data.shared for later review and posting. A per-run context guard skips re-processing the same newest file across polls. This is the Drive-folder source lane for the SMB-finance intake; the manual single-document lane is invoice-intake-organizer.

accountingbookkeepinginvoicereceipt
by recued-core pinned v1

Parse a received invoice or receipt (PDF / image / DOCX / scan) with the local docling tool into readable text - so any text model can read it - then extract vendor, number, amount, currency, and dates. Preview-first: shows the extracted fields and writes nothing; set write_mode to stage to persist a staged invoice/expense row into data.shared. Writes no accounting system - staging is the holding area for later review and posting. Content-isolated via Gateway-gated file refs.

accountingbookkeepinginvoicereceipt
by recued-core pinned v1
View pack details, dependencies, and permissions →
How it works 28 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (28 steps)
listing ?
skip: config.folder_id is_empty
files default
Apply default
candidates filter
Filter by condition
pick find
Find first match in
has_pick compare
Check if pick exists
pick_id default
Apply default
is_new all
Check if all conditions are true
download ?
skip: step.is_new not_equal true
file_ref default
Apply default
parsed ?
skip: step.is_new not_equal true
parsed_ref default
Apply default
has_parsed compare
Check if parsed ref has data
extract ?
skip: step.has_parsed not_equal true
vendor default
Apply default
invoice_number default
Apply default
amount default
Apply default
currency default
Apply default
issue_date default
Apply default
due_date default
Apply default
confidence default
Apply default
below_threshold compare
Check if confidence is less than setting confidence threshold
now date_add
Add 0 days to
skip_write any
Check if any of the conditions are true
keep ?
skip: step.skip_write equal true
stage_row ?
skip: step.skip_write equal true
staged not
Apply not
last_id coalesce
Use the first available value from: pick id, recipe last id
card to_summary
Format results as a summary card
Settings 6 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

google setting =
doc type setting = invoice
folder id setting =
write mode setting = preview
staging prefix setting = smb_finance_staging
confidence threshold setting = 0.6

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Where it runs

Device + server Runs on your device (browser) or your server.

Data it touches

Warehousedata.shareddata.file

About

Tags

accountingbookkeepinginvoicereceiptexpensedoclinggoogle-drivegdrivestoragefolder-watchdocumentextractionintakestagingsmb-financeone-person-companypack:smb-invoice-financeai_surface

Details

28 steps 6 configurable settings recipe_id: invoice-intake-watch