Recued
Menu
← Back to recipes

Refresh a company's fundamentals

by recued-core v2 11 views

Use “Refresh a company's fundamentals” in Recued. Pull one reported xbrl concept for one watched company straight out of its SEC filings and keep the most recent periods. Only periods not already stored are added, so re-running is safe and cheap.

Complete workflow

Fundamentals Watch 4 pinned recipes

Use Fundamentals Watch in Recued for stocks, equities, sec, and edgar. It includes 8 built-in actions and 3 ready-to-run workflows. Actions that change data use Recued's approval controls.

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

Use “Refresh a company's fundamentals” in Recued. Pull one reported xbrl concept for one watched company straight out of its SEC filings and keep the most recent periods. Only periods not already stored are added, so re-running is safe and cheap.

pack:fundamentals-watchstockssecedgar
by recued-core pinned v2

Use “Watch a company” in Recued. Resolve one ticker to its SEC CIK once and keep it.

pack:fundamentals-watchstockssecedgar
by recued-core pinned v2

Use “Show a company's filed numbers” in Recued. List the stored periods for one company and concept, newest first, with the change against the period before it. Read-only — it calls the SEC not at all and shows only what a refresh already stored.

pack:fundamentals-watchstockssecboard
by recued-core pinned v3
View pack details, dependencies, and permissions →

What it reads

One XBRL concept for one company — every value it has reported for that tag, across all its filings — and keeps the newest periods.

Tag is the concept name as the SEC stores it. Common ones:

  • RevenueFromContractWithCustomerExcludingAssessedTax — revenue for most modern filers
  • NetIncomeLoss — net income
  • Assets, Liabilities, StockholdersEquity

There is no universal revenue tag. Filers choose which concept to report under, and it changes between eras and industries. A company that reports revenue under a different tag returns 404, which this recipe reports as not reported under that tag rather than as an error — try another tag rather than assuming the company filed nothing.

USD only. The response groups values by unit; this recipe reads units.USD and ignores the rest, so a foreign-currency filer will look empty. That is a real limit, not a bug, and the card says which units were present.

Both 10-K and 10-Q rows are kept, and they are not comparable. A 10-K value is usually a full year and a 10-Q a single quarter; the form column tells you which. Do not sum a column that mixes them.

Restatements exist. A later filing can report a different value for a period already stored. One period of one concept for one company is ONE row, and the first value observed is the one kept — refreshing never overwrites history and never adds a second row for a period you already have. Delete the datapoint if you want it re-read.

That rule is enforced by the store, not by this recipe, and it did not used to be. The recipe reads back what it already holds and skips those periods, but that read is capped at 200 rows — so a company with a long history compared itself against a fraction of itself, and every refresh past that point added the same periods again. The row id is now derived from the company, the concept and the period, so a period you already have is recognised however long the history is. The read-back stays as a shortcut; it is no longer what keeps the numbers right.

This reports what was filed. It is not advice, a score, or a recommendation, and nothing here values a company.

How it works 34 steps

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

Process (34 steps)
company_id trim
Trim whitespace from setting company id
id_present compare
Check if company id has data
id_guard guard
Stop if id present equals
company ?
found compare
Check if company record id has data
found_guard guard
Stop if found equals
cik default
Apply default
cik_present compare
Check if cik has data
cik_guard guard
Stop if cik present equals
tag trim
Trim whitespace from setting tag
cik_list to_list
Apply to_list
concept_probe ?
defaults defaults
Apply defaults
units default
Apply default
unit_list to_list
Apply to_list
unit_names pluck
Extract key from each item
units_seen join
Join items with ", "
usd_rows default
Apply default
usd_count count
Count items in usd rows
periodic filter
Filter by condition
newest_first sort
Sort by end
wanted slice
Take a subset of
company_ref template
Generate text from a template
stored ?
stored_rows default
Apply default
stored_ends pluck
Extract period_end from each item
stored_count count
Count items in stored ends
fresh filter
Filter by condition
fresh_rows map
Extract from each item
fresh_count count
Count items in fresh rows
write ?
refreshed_at date_add
Add 0 seconds to
touch_company ?
card to_summary
Format results as a summary card
Settings 5 configurable

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

tag setting = RevenueFromContractWithCustomerExcludingAssessedTax
sec data setting =
taxonomy setting = us-gaap
company id setting = [object Object]
max periods setting = 8

Trust & control

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

Data it touches

Warehousedata.company

About

Tags

pack:fundamentals-watchstockssecedgarxbrlrecordsv2

Details

34 steps 5 configurable settings recipe_id: refresh-company-fundamentals