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 — "kone.com", the fastest and least ambiguous;
  • a company name — "KONE", 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.COMPANY_RESOLVE and point the rest of your formulas at that column, rather than resolving the same name on every formula.

Quick start

=INVEN.COMPANY_DATA("kone.com","TOTAL_REV")       Latest total revenue
=INVEN.COMPANY_DATA_ARRAY(A2:A50,"TOTAL_REV")     The same field down a list
=INVEN.COMPANY_META("kone.com","TOTAL_REV")       Where that number came from
=INVEN.COMPANY_RESOLVE("KONE")                    → kone.com

Functions

INVEN.COMPANY_DATA

=INVEN.COMPANY_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. TOTAL_REV — see Field codes
period No Fiscal year or relative offset, for financial-statement items
currency No ISO currency code; when omitted, the value keeps the currency it is reported in

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.

Leave currency out and a money figure comes back as Inven reports it: in the currency a registry filing was filed in, and in USD for a listed company's statements and for funding and valuation figures. Name a currency and the value is converted into it. See Currencies.

=INVEN.COMPANY_DATA("kone.com","TOTAL_REV")
=INVEN.COMPANY_DATA("kone.com","TOTAL_REV","-1","EUR")
=INVEN.COMPANY_DATA("acme.co.uk","EBITDA_MARGIN","2023")

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

INVEN.COMPANY_DATA_ARRAY

=INVEN.COMPANY_DATA_ARRAY(identifiers, item, [period], [currency])

Fetches one field for a range of companies in a single batched call, spilling a column of values — one row per input cell, in the order they were given. Reach for this instead of filling INVEN.COMPANY_DATA down a column: it is one request for the whole range rather than one per row.

Argument Required Description
identifiers Yes A range of company domains, names or Inven company ids
item Yes Field code, e.g. TOTAL_REV — see Field codes
period No Fiscal year or relative offset, for financial-statement items
currency No ISO currency code for the whole column; defaults to USD

Unlike INVEN.COMPANY_DATA, which keeps a figure in the currency Inven reports it in, a column settles on one currency — USD unless you name another. One column carries one number format and invites reading down its length, so a filed EUR figure sitting next to a filed GBP one would look like a difference in size rather than in currency.

=INVEN.COMPANY_DATA_ARRAY(A2:A50,"TOTAL_REV")
=INVEN.COMPANY_DATA_ARRAY(A2:A50,"REVENUE","2024","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. Blank inputs spill blank, and a row that fails carries its explanation in place of its value, because a spill cannot raise an error for one row.

INVEN.COMPANY_META

=INVEN.COMPANY_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.COMPANY_META("acme.co.uk","TOTAL_REV")
=INVEN.COMPANY_META("acme.co.uk","TOTAL_REV","2023","fx_rate")

INVEN.COMPANY_META_ARRAY

=INVEN.COMPANY_META_ARRAY(identifiers, item, [period], [attribute], [currency])

The provenance behind each value INVEN.COMPANY_DATA_ARRAY fetched: the same arguments, and a column of sources rather than figures, so a fetched column can be evidenced beside itself. Takes the same optional attribute as INVEN.COMPANY_META.

=INVEN.COMPANY_META_ARRAY(A2:A50,"TOTAL_REV")
=INVEN.COMPANY_META_ARRAY(A2:A50,"REVENUE","2024","fx_rate")

INVEN.COMPANY_FIELD

=INVEN.COMPANY_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.COMPANY_DATA, which takes a period and a currency and is what the formula-bar dropdown offers.

=INVEN.COMPANY_FIELD("kone.com","employees")
=INVEN.COMPANY_FIELD("kone.com","HQ country")

Names are matched ignoring case and separators.

INVEN.COMPANY_RESOLVE

=INVEN.COMPANY_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.COMPANY_RESOLVE("KONE")          → kone.com

Field codes

The item argument of INVEN.COMPANY_DATA, INVEN.COMPANY_META, INVEN.COMPANY_DATA_ARRAY and INVEN.COMPANY_META_ARRAY 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)

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)
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
TOTAL_REVTotal revenues
GPGross profit
OPER_INCOperating income
NINet income
DA_SUPPLDepreciation and amortisation

Balance sheet

Codes in this group accept a period.

Code Meaning
TOTAL_ASSETSTotal assets
TOTAL_CATotal current assets
NPPEFixed assets (total, as filed)
TOTAL_LIABTotal liabilities
TOTAL_CLTotal current liabilities
NON_CURRENT_LIABTotal non-current liabilities
TOTAL_EQUITYTotal equity

Ratios and margins

Code Meaning
GROSS_MARGINGross margin %
NI_MARGINNet income margin %
OPER_MARGINOperating margin %
RETURN_EQUITYReturn on equity %
RETURN_ASSETSReturn on assets %
CURRENT_RATIOCurrent ratio

Growth rates

Growth is asked for from three different sources, and the codes are not interchangeable. Pick the row that matches the companies in your sheet.

Code Meaning Answers for
HC_GROWTH_1Y, TRAFFIC_GROWTH_1YHeadcount and web traffic growth %any company
TOTAL_REV_1YR_ANN_GROWTHTotal revenues, 1 yr growth %companies that file accounts
EBITDA_1YR_ANN_GROWTHEBITDA, 1 yr growth %companies that file accounts
GP_1YR_ANN_GROWTHGross profit, 1 yr growth %companies that file accounts
EBIT_1YR_ANN_GROWTHEBIT, 1 yr growth %companies that file accounts
PUB_REV_GROWTH_1YR, PUB_REV_GROWTH_2YR, PUB_REV_GROWTH_3YRRevenue growth, past period %listed companies only
PUB_REV_GROWTH_FWD_1YR, PUB_REV_GROWTH_FWD_2YRRevenue growth, forward period %listed companies only

A PUB_ code on a private company returns nothing — that is the code working as intended, not a gap in the data. For a private company's revenue growth, use TOTAL_REV_1YR_ANN_GROWTH.

Listed companies

Code Meaning
TICKERTicker symbol
EXCHANGEStock exchange
IPO_DATEIPO date
MARKET_CAPMarket capitalisation (USD)
EVEnterprise value (USD)
EV_SALESEV/revenue
EV_EBITDAEV/EBITDA
EV_EBITEV/EBIT
PEPrice/earnings
PRICE_SALESPrice/sales
PBVPrice/book value
PUB_TOTAL_REVTotal revenues, listed (USD)
PUB_EBITDAEBITDA, listed (USD)
PUB_EBITEBIT, listed (USD)
PUB_NINet income, listed (USD)
PUB_EBITDA_MARGINEBITDA margin %, listed
PUB_EBIT_MARGINEBIT margin %, listed
PUB_NI_MARGINNet income margin %, listed

Currencies

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

Omit it and the figure keeps the currency it is reported in — the currency a registry filing was filed in, or USD for a listed company's statements and for funding and valuation figures. The cell's currency symbol follows the figure, so a euro filing reads €116.9M.

Name a currency and the figure is converted into it, from the currency it was filed in and at the rate Inven filed alongside it. Use INVEN.COMPANY_META with fx_rate, fx_rate_date or fx_rate_source to see the rate applied.

INVEN.COMPANY_DATA_ARRAY defaults to USD instead, because a single column — under one header, in one number format — has to name one currency for every company in it.

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
#MONTHLY_LIMIT You, or your organisation, have reached this month's limit on how many new companies formulas may look up Wait for the start of next month, or use Inven's export for a large list. Contact support to review your account's limits
#SESSION_LIMIT This add-in session has looked up as many different companies as it may Use Inven's export for a list this size
#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

#MONTHLY_LIMIT and #CREDIT_LIMIT both mean "no more data for now" and are worth telling apart: credits are something an account can buy more of, and the monthly limit is not. It resets at the start of each calendar month.

#MONTHLY_LIMIT and #SESSION_LIMIT count different companies, not formulas or recalculations. Values already in the sheet are unaffected, and existing formulas keep refreshing — it is only companies new to you that stop. See Limits.

#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.

Limits

Inven limits how quickly each organisation can request company data. 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.

The formulas are built for models and research, not bulk extraction: Inven's data agreements permit per-user, on-demand exports but not bulk extraction. So there is also a limit on how many different companies formulas may look up — per add-in session (#SESSION_LIMIT), and per user and per organisation each calendar month (#MONTHLY_LIMIT). Only companies new to you count: recalculating a sheet you have already built costs nothing against either, so ordinary use does not come near them. For a very large list, use Inven's export rather than the formulas. If your work regularly reaches the monthly limit, contact support and we can review your account's limits with you.