Inven for Excel — function reference

The Inven add-in adds six worksheet functions under the INVEN namespace. They fetch live company data from Inven into your spreadsheet.

Need help? See Support.

Before you start

Open the Inven task pane from the Inven button on the Home tab and sign in. Until you do, every INVEN. formula returns #SIGN_IN. Using the functions requires an Inven subscription with the Excel add-in enabled for your organisation.

Identifying a company

Every function takes an identifier as its first argument. This can be:

  • a domain"stripe.com", the fastest and least ambiguous;
  • a company name"Stripe", which Inven resolves to a company;
  • an Inven company id.

Prefer domains. If you are working from a list of names, resolve them once with INVEN.RESOLVE and point the rest of your formulas at that column, rather than resolving the same name on every formula.

Quick start

=INVEN.DATA("stripe.com","INV_TOTAL_REV")     Latest total revenue
=INVEN.COMPANY("stripe.com")                  A table of key facts
=INVEN.COMPANIES(A2:A50)                      Enrich a whole list at once
=INVEN.RESOLVE("Stripe")                      → stripe.com

Functions

INVEN.DATA

=INVEN.DATA(identifier, item, [period], [currency])

Returns a single value for one company and one field code. This is the main function, and the one to reach for whenever a field code exists for what you want.

Argument Required Description
identifier Yes Company domain, name or Inven company id
item Yes Field code, e.g. INV_TOTAL_REV — see Field codes
period No Fiscal year or relative offset, for financial-statement items
currency No ISO currency code; defaults to USD

period accepts a fiscal year ("2023" or "FY2023") or an offset from the latest available year ("0" for the latest, "-1" for one year back, and so on). When omitted, the latest available year is used. It has no effect on fields that are not point-in-time financials.

=INVEN.DATA("stripe.com","INV_TOTAL_REV")
=INVEN.DATA("stripe.com","INV_TOTAL_REV","-1","EUR")
=INVEN.DATA("acme.co.uk","INV_EBITDA_MARGIN","2023")

Field codes are case-insensitive and accept spaces or hyphens in place of underscores, so INV_TOTAL_REV, inv total rev and inv-total-rev are the same code.

INVEN.COMPANY

=INVEN.COMPANY(identifier, [currency])

Spills a two-column table of key facts for one company: a label in the first column, the value in the second. Give it thirteen empty rows to spill into.

The rows are: company name, domain, website, LinkedIn, headquarters, founded, ownership, employees, revenue, EBITDA, total funding, last funding date, and one-year headcount growth. Monetary rows are in millions of currency, which defaults to USD.

=INVEN.COMPANY("stripe.com")
=INVEN.COMPANY("stripe.com","EUR")

INVEN.COMPANIES

=INVEN.COMPANIES(identifiers, [currency])

Enriches a vertical range of companies in one batched call, spilling a header row followed by one row per input. This is the most credit-efficient way to enrich a list — far cheaper than one INVEN.COMPANY per row.

The columns match INVEN.COMPANY, with the input identifier in the first column.

=INVEN.COMPANIES(A2:A50)
=INVEN.COMPANIES(A2:A50,"GBP")

A single call is capped at 100 non-empty inputs. Inven's data agreements permit per-user, on-demand exports but not bulk extraction, and the cap keeps normal use on the right side of that line. Pull longer lists in successive ranges.

Because a spilled table cannot raise an error for one row, a row that fails carries its explanation in place of its values.

INVEN.FIELD

=INVEN.FIELD(identifier, fieldName)

Generic accessor by field name. It checks the field codes first, then falls back to the raw keys of Inven's company record.

Reach for this only when no field code covers what you want — it is the escape hatch. Where a code exists, use INVEN.DATA, which takes a period and a currency and is what the formula-bar dropdown offers.

=INVEN.FIELD("stripe.com","employees")
=INVEN.FIELD("stripe.com","HQ country")

Names are matched ignoring case and separators.

INVEN.META

=INVEN.META(identifier, item, [period], [attribute], [currency])

Where a figure came from, so a number in a model can be defended.

attribute Returns
source (default) The origin of the value, e.g. Companies House, Acme Ltd (2024)
fx_rate USD per one unit of the value's own currency
fx_rate_date The date that rate was taken, as YYYY-MM-DD
fx_rate_source The provider of the rate
=INVEN.META("acme.co.uk","INV_TOTAL_REV")
=INVEN.META("acme.co.uk","INV_TOTAL_REV","2023","fx_rate")

INVEN.RESOLVE

=INVEN.RESOLVE(name)

Returns the canonical Inven domain for a company name. Use it to pin a lookup column once instead of resolving the same name in every formula.

=INVEN.RESOLVE("Stripe")        → stripe.com

Field codes

The item argument of INVEN.DATA and INVEN.META takes one of the codes below. Excel offers them in a dropdown as you type the formula, so you rarely need this list in full.

Company profile

Code Meaning
COMPANY_NAMECompany name
DOMAINDomain
WEBSITEWebsite
LINKEDINLinkedIn
DESCRIPTIONDescription
HQHeadquarters
HQ_CITYHQ city
HQ_STATEHQ state
HQ_COUNTRYHQ country
FOUNDEDFounded
OWNERSHIPOwnership
EMPLOYEESEmployees
HEADCOUNTHeadcount band

Headline figures

Code Meaning
REVENUERevenue (millions)
EBITDAEBITDA (millions)
GROSS_PROFITGross profit
NET_PROFITNet income
EBITDA_MARGINEBITDA margin %
REVENUE_ESTIMATERevenue estimate (USD m)
MARKET_CAPMarket capitalisation (USD)
EVTotal enterprise value (USD)
EV_EBITDATEV/EBITDA
EV_SALESTEV/total revenues
EV_EBITTEV/EBIT

Funding

Code Meaning
TOTAL_FUNDINGTotal funding (USD m)
LAST_FUNDING_DATELast funding date
LAST_FUNDING_TYPELast funding type
LAST_FUNDING_AMOUNTLast funding amount (USD m)
FUNDING_STAGEFunding stage
INVESTMENT_COUNTInvestment count

Growth signals

Code Meaning
HC_GROWTH_3M, HC_GROWTH_6M, HC_GROWTH_1Y, HC_GROWTH_2Y, HC_GROWTH_3Y, HC_GROWTH_4Y, HC_GROWTH_5YHeadcount growth over the period
TRAFFIC_GROWTH_3M, TRAFFIC_GROWTH_6M, TRAFFIC_GROWTH_1Y, TRAFFIC_GROWTH_2YWeb traffic growth over the period

Income statement

Codes in this group accept a period.

Code Meaning
INV_TOTAL_REVTotal revenues
INV_GPGross profit
INV_OPER_INCOperating income
INV_EBITDAEBITDA
INV_NINet income
INV_DA_SUPPLDepreciation and amortisation

Balance sheet

Codes in this group accept a period.

Code Meaning
INV_TOTAL_ASSETSTotal assets
INV_TOTAL_CATotal current assets
INV_NPPEFixed assets (total, as filed)
INV_TOTAL_LIABTotal liabilities
INV_TOTAL_CLTotal current liabilities
INV_NON_CURRENT_LIABTotal non-current liabilities
INV_TOTAL_EQUITYTotal equity

Ratios and margins

Code Meaning
INV_GROSS_MARGINGross margin %
INV_EBITDA_MARGINEBITDA margin %
INV_NI_MARGINNet income margin %
INV_OPER_MARGINOperating margin %
INV_RETURN_EQUITYReturn on equity %
INV_RETURN_ASSETSReturn on assets %
INV_CURRENT_RATIOCurrent ratio

Growth rates

Code Meaning
INV_TOTAL_REV_1YR_ANN_GROWTHTotal revenues, 1 yr growth %
INV_EBITDA_1YR_ANN_GROWTHEBITDA, 1 yr growth %
INV_GP_1YR_ANN_GROWTHGross profit, 1 yr growth %
INV_EBIT_1YR_ANN_GROWTHEBIT, 1 yr growth %
INV_REV_GROWTH_1YR, INV_REV_GROWTH_2YR, INV_REV_GROWTH_3YRRevenue growth, past period %
INV_REV_GROWTH_FWD_1YR, INV_REV_GROWTH_FWD_2YRRevenue growth, forward period %

Listed companies

Code Meaning
INV_TICKERTicker symbol
INV_EXCHANGEStock exchange
INV_IPO_DATEIPO date
INV_MARKETCAPMarket capitalisation (USD)
INV_TEVTotal enterprise value (USD)
INV_TEV_TOTAL_REVTEV/total revenues
INV_TEV_EBITDATEV/EBITDA
INV_TEV_EBITTEV/EBIT
INV_PEPrice/earnings
INV_PRICE_SALESPrice/sales
INV_PBVPrice/book value
INV_PUB_TOTAL_REVTotal revenues, listed (USD)
INV_PUB_EBITDAEBITDA, listed (USD)
INV_PUB_EBITEBIT, listed (USD)
INV_PUB_NINet income, listed (USD)
INV_PUB_EBITDA_MARGINEBITDA margin %, listed
INV_PUB_EBIT_MARGINEBIT margin %, listed
INV_PUB_NI_MARGINNet income margin %, listed

Also available

INV_COMPANY_NAME, INV_BUSINESS_DESCRIPTION, INV_COMPANY_ADDRESS, INV_FULL_TIME (employees from LinkedIn) and INV_REVENUE_EST mirror profile fields under the INV_ naming.


Currencies

currency accepts: USD (default), EUR, GBP, CHF, SEK, NOK, DKK, PLN, JPY, CNY, AUD, CAD, NZD, INR, BRL, ZAR.

Figures are converted from the currency they were filed in. Use INVEN.META with fx_rate, fx_rate_date or fx_rate_source to see the rate applied.

What a cell can return

Excel understands only seven built-in error values and a custom function cannot add an eighth, so account-level problems come back as text that reads like an error:

Cell shows Meaning What to do
#SIGN_IN No Inven session, or it was rejected Sign in from the task pane
#NO_ACCESS Your organisation does not have the Excel add-in, or that data is outside your subscription Contact support
#CREDIT_LIMIT Your organisation has used its data credits Contact support
#RATE_LIMIT Too many requests at once, after automatic retries Recalculate in a moment
#N/A Inven has no value for that company and field Nothing — the value does not exist
#VALUE! An argument was missing or not understood Check the formula
#BUSY! The request is still running Nothing — it resolves itself

#N/A is a real Excel error, so IFERROR and ISNA work with it as usual. The text values above are not errors to Excel, so test for them with =A1="#SIGN_IN" rather than ISERROR.

Rate limits

Inven allows five company-data requests per second per organisation. The add-in spaces and retries requests automatically, so an ordinary recalculation stays inside the limit. A very wide rebuild may still return #RATE_LIMIT on some cells; recalculating resolves them.