Parsing Statements
Here is how we parse company financial statements, from the moment a company reports a statement to the moment it is available in our API:
1. Company Reports Statement
We parse statements from the SEC, so the company needs to file them first. Not every company files its statement at the same time as its earnings; there can be a delay of a few weeks between the earnings date and the SEC filing. For example, to check whether Apple has already filed its statement, look here: Apple SEC 10-Q/K filings.
2. Parsing Statement
We use our own script to extract all the information from a statement, and we calculate some fields when the statement does not include them. A statement is available in FMP about 15 minutes after it is filed with the SEC. Here are some of the formulas we use for fields a statement does not include:
operatingExpenses = SellingAndMarketingExpenses + ResearchAndDevelopmentExpenses + GeneralAndAdministrativeExpenses
costAndExpenses = operatingExpenses + costOfRevenue
grossProfit = revenue - costOfRevenue
EPS = netIncome / weightedAverageShsOut
EBITDA = netIncome + depreciationAndAmortization + incomeTaxExpense + interestExpense
totalDebt = longTermDebt + shortTermDebt
netDebt = totalDebt - cashAndCashEquivalents
longTermDebt = totalDebt - shortTermDebt
cashAndShortTermInvestments = cashAndCashEquivalents + shortTermInvestments
totalLiabilities = totalLiabilitiesAndStockholdersEquity + totalStockholdersEquity
totalInvestments = shortTermInvestments + longTermInvestments
totalStockholdersEquity = totalLiabilitiesAndStockholdersEquity - totalLiabilities
freeCashFlow = netCashProvidedByOperatingActivites + investmentsInPropertyPlantAndEquipment
goodwillAndIntangibleAssets = goodwill + intangibleAssets
netChangeInCash = cashAtEndOfPeriod - cashAtBeginningOfPeriod
3. Financials Update and CSV Files
Finally, once the statement is added, we generate a new financial growth entry, update our TTM ratios and generate CSV files with the newly parsed quarterly or annual statement.