DatavidenceFinancials

Field mappings

Which US-GAAP tag each field is read from, in the order they are tried. This page is generated from the mapping code on every request, so it always matches what the API does.

Accuracy & coverage MCP quickstart Main site

How a field is resolved

IFRS filers are not mapped at all: they return UNSUPPORTED_FILER (see Accuracy & coverage).

Fields and their tags

Income statement

FieldTags, in the order tried
total_revenue
  1. Revenues
  2. RevenuesNetOfInterestExpense
  3. RegulatedAndUnregulatedOperatingRevenue
  4. RevenueFromContractWithCustomerExcludingAssessedTax
  5. RevenueFromContractWithCustomerIncludingAssessedTax
  6. SalesRevenueNet
  7. SalesRevenueGoodsNet
  8. InterestAndDividendIncomeOperating
  9. PremiumsEarnedNet
  10. HealthCareOrganizationRevenue

If none is reported, it may be computed instead: InterestIncomeExpenseNet + NoninterestIncome.

gross_profit
  1. GrossProfit

If none is reported, it may be computed instead: total_revenue - {cost_of_revenue}.

net_income
  1. NetIncomeLoss
  2. NetIncomeLossAvailableToCommonStockholdersBasic
  3. ProfitLoss
operating_income
  1. OperatingIncomeLoss

Banks and insurers don't report an operating income line, so theirs is blank; the bulk file marks those blanks "not applicable". A few companies with no operating income line tag their segment total with this element (e.g. Disney), which leaves out corporate costs.

pretax_income
  1. IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
  2. IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments

Income from continuing operations before income taxes. The second tag is the figure before equity-method income, which some filers report instead.

income_tax_expense
  1. IncomeTaxExpenseBenefit

Negative is a tax benefit.

interest_expense
  1. InterestExpense
  2. InterestExpenseNonoperating
  3. InterestAndDebtExpense
  4. InterestExpenseDebt
  5. InterestExpenseOperating

SEC's 2024 taxonomy split InterestExpense into InterestExpenseNonoperating (most companies) and InterestExpenseOperating (banks and insurers), so all three are read. For a bank it is total interest expense, deposits included. A value filed as a negative number (a sign error) is shown as the positive expense, with a note in provenance.

Balance sheet

FieldTags, in the order tried
total_assets
  1. Assets
total_liabilities
  1. Liabilities

If none is reported, it may be computed instead: LiabilitiesAndStockholdersEquity - {equity_incl_nci} or LiabilitiesAndStockholdersEquity - {equity_incl_nci} - temporary_equity.

stockholders_equity
  1. StockholdersEquity

If none is reported, it may be computed instead: StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest - MinorityInterest.

noncontrolling_interest
  1. MinorityInterest

If none is reported, it may be computed instead: StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest - StockholdersEquity.

total_equity
  1. StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest

If none is reported, it may be computed instead: StockholdersEquity + MinorityInterest or StockholdersEquity (no noncontrolling interest reported).

temporary_equity
  1. TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests

If that is not reported: Temporary equity attributable to the parent and Redeemable noncontrolling interest. If only one is reported it is read directly (its tag is named); if both are, they are summed (a computed value).

If none is reported, it may be computed instead: TemporaryEquityCarryingAmountAttributableToParent + {redeemable_nci}.

cash_and_equivalents
  1. CashAndCashEquivalentsAtCarryingValue
  2. Cash
  3. CashAndDueFromBanks

Excludes restricted cash. The cash-flow statement's total that includes it is a different figure and is not used.

current_assets
  1. AssetsCurrent

Banks, brokers, insurers and REITs usually present an unclassified balance sheet, so they report no figure; the bulk file marks those blanks "not applicable".

current_liabilities
  1. LiabilitiesCurrent

Banks, brokers, insurers and REITs usually present an unclassified balance sheet, so they report no figure; the bulk file marks those blanks "not applicable".

net_ppe
  1. PropertyPlantAndEquipmentNet
  2. PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
  3. PublicUtilitiesPropertyPlantAndEquipmentNet

The second tag is one line that also includes finance-lease right-of-use assets, which some filers report instead.

long_term_debt
  1. LongTermDebtNoncurrent
  2. LongTermDebtAndCapitalLeaseObligations

As the balance sheet shows it: excludes the part due within a year (long_term_debt_current). Add the two for total long-term debt. It includes finance-lease obligations only when the filer reports them in one line with its debt (the second tag). Short-term borrowings are in neither. Banks, insurers and REITs show one long-term debt line with no split by due date: for a year with no current assets or current liabilities, that line (LongTermDebt) is read instead, including any part due within a year, and provenance carries a note saying so.

long_term_debt_current
  1. LongTermDebtCurrent
  2. LongTermDebtAndCapitalLeaseObligationsCurrent

The part of long-term debt due within a year. DebtCurrent is not used: it also includes short-term borrowings. Not applicable to banks, brokers, insurers and REITs, which don't split debt by due date.

Cash flow statement

FieldTags, in the order tried
operating_cash_flow
  1. NetCashProvidedByUsedInOperatingActivities
  2. NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
investing_cash_flow
  1. NetCashProvidedByUsedInInvestingActivities
  2. NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
financing_cash_flow
  1. NetCashProvidedByUsedInFinancingActivities
  2. NetCashProvidedByUsedInFinancingActivitiesContinuingOperations
depreciation_amortization
  1. DepreciationDepletionAndAmortization
  2. DepreciationAndAmortization
  3. DepreciationAmortizationAndAccretionNet

Depreciation, depletion and amortization as added back in the cash-flow statement. A filer with none of these tags gets its plain Depreciation figure (Microsoft, Alphabet, Tesla), with a note: it is depreciation only, often from the property and equipment note, so it leaves out amortization and anything else the cash-flow add-back includes (Microsoft: $34.3B vs a $38.5B cash-flow line). The last tag nets accretion, so a bank's or insurer's can be negative.

capex
  1. PaymentsToAcquirePropertyPlantAndEquipment
  2. PaymentsToAcquireProductiveAssets

Capital expenditures, as a POSITIVE amount paid: free cash flow is operating_cash_flow - capex. A payment filed as a negative number (a sign error) is shown positive, with a note in provenance.

buybacks
  1. PaymentsForRepurchaseOfCommonStock
  2. PaymentsForRepurchaseOfEquity

Repurchases of common stock (else of all equity), as a positive amount paid; a negative filed value is shown positive, with a note.

dividends_paid
  1. PaymentsOfDividendsCommonStock
  2. PaymentsOfDividends
  3. PaymentsOfOrdinaryDividends

Dividends paid to common shareholders where reported, else the filer's total dividends paid; a positive amount, a negative filed value shown positive with a note.

Share data

FieldTags, in the order tried
eps_basic
  1. EarningsPerShareBasic
  2. EarningsPerShareBasicAndDiluted

In the reporting currency per share, as filed (a decimal). Like every field, the latest filed figure: after a stock split, earlier years read the split-adjusted figure from a later 10-K (if one re-reported that year); pass as_of for the figure first reported. The second tag is used when the filer reports one figure for basic and diluted.

eps_diluted
  1. EarningsPerShareDiluted
  2. EarningsPerShareBasicAndDiluted

In the reporting currency per share, as filed. Restated after a stock split like basic EPS. The second tag is used when the filer reports one figure for basic and diluted.

diluted_shares
  1. WeightedAverageNumberOfDilutedSharesOutstanding
  2. WeightedAverageNumberOfShareOutstandingBasicAndDiluted

The weighted-average number of diluted shares for the year, the denominator of diluted EPS. Restated after a stock split like EPS; when it was (by 1.5x or more), provenance carries a note. With no diluted count but diluted EPS equal to basic EPS, the basic weighted count (WeightedAverageNumberOfSharesOutstandingBasic) is read (Exxon Mobil). A count the filer tagged in thousands or millions (or that much too large) is shown at the scale its own EPS and net income prove, with a note.

shares_outstanding
  1. dei:EntityCommonStockSharesOutstanding
  2. CommonStockSharesOutstanding

The cover-page count from the year's annual report (dei taxonomy), dated a few weeks after the year-end and never restated, so after a later stock split it is on a different basis from EPS and diluted shares (provenance notes it). Companies with several share classes report the cover count per class, which SEC's data leaves out; for them the balance-sheet count at the year-end is read (Alphabet). Some (Meta, Ford) report neither undivided, and the field is blank. A count of 0 in a filing is a placeholder and is treated as not reported.

Computed values

A few fields are computed from other reported values when their own tags are missing. The provenance of a computed value says so: derived is true, tag is null (no single element holds the number) and derivation carries the formula shown here. A name in braces, such as {cost_of_revenue}, is an input with more than one possible tag: in derivation it is replaced by the tag actually read. Each input’s tags, in order, are listed below.

gross_profit

When: No GrossProfit tag is reported, but revenue and cost of revenue are.

derivation: total_revenue - {cost_of_revenue}

Reads: total_revenue, Cost of revenue

total_equity

When: No total-equity tag is reported; parent equity and noncontrolling interest are.

derivation: StockholdersEquity + MinorityInterest

Reads: stockholders_equity, noncontrolling_interest

total_equity

When: No total-equity tag and no noncontrolling interest are reported, so total equity equals parent equity.

derivation: StockholdersEquity (no noncontrolling interest reported)

Reads: stockholders_equity

stockholders_equity

When: StockholdersEquity is not reported; total equity and noncontrolling interest are.

derivation: StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest - MinorityInterest

Reads: total_equity, noncontrolling_interest

noncontrolling_interest

When: MinorityInterest is not reported, and total equity and parent equity differ.

derivation: StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest - StockholdersEquity

Reads: total_equity, stockholders_equity

temporary_equity

When: The total temporary-equity tag is not reported and both portions are. (If only one portion is reported, it is read directly and its tag is named.)

derivation: TemporaryEquityCarryingAmountAttributableToParent + {redeemable_nci}

Reads: Temporary equity attributable to the parent, Redeemable noncontrolling interest

total_liabilities

When: Liabilities is not reported; total liabilities and equity, and equity, are.

derivation: LiabilitiesAndStockholdersEquity - {equity_incl_nci}

Reads: Total liabilities and equity, Equity including noncontrolling interest

total_liabilities

When: As above, for a filer that also reports temporary equity, which sits between liabilities and equity and so is netted out.

derivation: LiabilitiesAndStockholdersEquity - {equity_incl_nci} - temporary_equity

Reads: Total liabilities and equity, Equity including noncontrolling interest, temporary_equity

total_revenue

When: The first revenue tag found is InterestAndDividendIncomeOperating (a bank's gross interest income) and net interest income and noninterest income are both reported for the period. This is the total net revenue banks themselves report. If either is missing, gross interest income stays, with a note in provenance.

derivation: InterestIncomeExpenseNet + NoninterestIncome

Reads: Net interest income (banks), Noninterest income (banks)

Inputs used only for computed values

Resolved the same way as a field: tags in order, the first one reported wins.

InputTags, in the order tried
Cost of revenue
cost_of_revenue
  1. CostOfRevenue
  2. CostOfGoodsAndServicesSold
  3. CostOfGoodsSold
Total liabilities and equity
liabilities_and_equity
  1. LiabilitiesAndStockholdersEquity
Equity including noncontrolling interest
equity_incl_nci
  1. StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
  2. StockholdersEquity
Net interest income (banks)
bank_net_interest_income
  1. InterestIncomeExpenseNet
Noninterest income (banks)
bank_noninterest_income
  1. NoninterestIncome
Temporary equity attributable to the parent
parent
  1. TemporaryEquityCarryingAmountAttributableToParent
Redeemable noncontrolling interest
redeemable_nci
  1. RedeemableNoncontrollingInterestEquityCarryingAmount
  2. RedeemableNoncontrollingInterestEquityFairValue
  3. RedeemableNoncontrollingInterestEquityOtherCarryingAmount

Revenue check

The first revenue tag a company reports is sometimes a partial figure (for example about $2B under Revenues next to about $18B of total revenue). Size alone can’t tell, because some companies deliberately report a smaller net figure, so the company’s own figures for the same period decide. Revenue should equal one of these totals (within 1%): cost of revenue + gross profit, costs and expenses + operating income, operating expenses + operating income, cost of revenue + operating expenses + operating income, cost of revenue + SG&A + operating income. Only when the tag found matches none, and a later tag in the revenue list that is at least 1.5× larger matches one, is the later tag used. Some companies have operating lines outside these totals, which leaves the totals a few percent off their revenue. So when the tag found is less than 1/1.5 of every total, a later tag within 10% of one is used. That value’s provenance then carries a note saying so. The check never switches to gross interest income, and it reads these tags only for this purpose:

InputTags, in the order tried
Costs and expenses
costs_and_expenses
  1. CostsAndExpenses
Operating expenses
operating_expenses
  1. OperatingExpenses
Selling, general and administrative expense
sga
  1. SellingGeneralAndAdministrativeExpense
Operating income
operating_income
  1. OperatingIncomeLoss

Pretax check

pretax_income has two tags: income before taxes, and the same line before income from equity-method investments. Some companies report the income statement’s line under the second and use the first for another figure, and a company that changes tags leaves an older version under the first. So when both tags report the period with different values, the company’s own figures decide: pretax income minus income_tax_expense should equal one of its after-tax figures for the period (within 1%) — net income, with or without noncontrolling interests and discontinued operations; equity-method income may sit between the two. Only when the first tag found fits none and the other fits one is the other tag used. That value’s provenance then carries a note saying so. If both or neither fit, the tag order stands. The check reads these tags only for this purpose:

InputTags, in the order tried
Net income including noncontrolling interests
profit_loss
  1. ProfitLoss
Income from continuing operations
continuing_ops
  1. IncomeLossFromContinuingOperations
Income from continuing operations including noncontrolling interests
continuing_ops_incl_nci
  1. IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
Net income attributable to noncontrolling interests
nci
  1. NetIncomeLossAttributableToNoncontrollingInterest
  2. NetIncomeLossAttributableToNonredeemableNoncontrollingInterest
Net income attributable to redeemable noncontrolling interests
redeemable_nci
  1. NetIncomeLossAttributableToRedeemableNoncontrollingInterest
Income from discontinued operations, net of tax
discontinued
  1. IncomeLossFromDiscontinuedOperationsNetOfTax
  2. IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
Income from equity-method investments
equity_method
  1. IncomeLossFromEquityMethodInvestments

Think a mapping is wrong?

Open an issue with the company, the year and the field. The tag in that value’s provenance shows which rule applied, which makes it quick to check.