Categorize expenses from a statement
Use “Categorize expenses from a statement” in Recued. Turn a dropped bank or card statement (PDF / CSV / docx / image) into a categorized expense table and a CSV. Parses the document locally with docling, reads it through a Gateway-gated file ref, then classifies every transaction into your category list in one batched model call.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Process (28 steps)
parsed
recued-core.docling.document.to_markdown
To markdown document on docling
skip: config.source_path is_empty
parsed_ref
default
Apply default
has_parsed
compare
Check if parsed ref has data
extract
core.ai.extract
AI extracts structured fields from data
skip: step.has_parsed not_equal true
transactions
default
Apply default
tx_count
count
Count items in transactions
has_transactions
compare
Check if transactions has data
classified_raw
core.ai.classify
AI classifies data into one of the given categories
skip: step.has_transactions not_equal true
classified
default
Apply default
classified_count
count
Count items in classified
debits
filter
Filter by condition
debit_total
reduce
Reduce with sum
category_totals
group_by
Group by category
ranked_categories
sort
Sort by
category_table
to_table
Format results as a data table
tx_rows
slice
Take a subset of
tx_rows_count
count
Count items in tx rows
tx_table
to_table
Format results as a data table
csv_export
to_csv
Serialize rows as a CSV string
period
default
Apply default
has_period
compare
Check if period has data
defaults
defaults
Apply defaults
now
date_add
Add 0 days to
stage_requested
compare
Check if setting write mode equals stage
skip_stage
any
Check if any of the conditions are true
stage_rows
core.storage.shared.write
Write storage shared
skip: step.skip_stage equal true
staged
not
Apply not
card
to_summary
Format results as a summary card
▼
Output
summary
card
table
category_table
table
tx_table
copyable
csv_export
json
classified
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
row limit
setting
=
100
categories
setting
=
groceries,eating_out,transport,housing,utilities,health,subscriptions,shopping,travel,income,transfer,other
write mode
setting
=
preview
source path
setting
=
[object Object]
staging prefix
setting
=
data.shared.recipe.recued-core_personal-finance.spend
Uses (4 operations)
Pack operation
To markdown document on docling
recued-core.docling.document.to_markdown
AI models
AI extracts structured fields from data
core.ai.extract
AI models
AI classifies data into one of the given categories
core.ai.classify
Shared store
Write storage shared
core.storage.shared.write
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.
What it's allowed to do
Read
AI models
core.ai.extract
read-only
Read
AI models
core.ai.classify
read-only
Write
Shared store
core.storage.shared.write
external change
1 more isn't listed here. You'll see it at install.