Skip to navigation

The Profit Loss Statement object

An extracted profit loss statement.

The retrieve endpoint returns this object on its own. The list endpoint returns one per document, wrapped as { "borrower_id": …, "statements": [ { "extracted_document_id", "document_category", "report_data" } ] }.

lines carries the statement’s rows in print order, each with its label, a depth reflecting the document’s own indentation and per-column values; period and periods state the reporting period or periods. cpa_engagement states the engagement level the statement was prepared under (0 none, 1 compiled or prepared, 2 reviewed, 3 audited), with cpa_engagement_label as its display string.

The documents behind this object carry document_category profit_and_loss, pl_statement, pl_statement_platform, income_statement, profit_and_loss_single, profit_and_loss_dual or profit_and_loss_multi. Money keys are JSON strings with exactly two decimals ("9200000.00", "-1250.50"). Date keys are YYYY-MM-DD, as each key’s Type column shows.

Fields

KeyTypePresent whenDescription
document_typealways profit_loss_statementAlwaysWhich family of document this is.
entitystring, nullableAlwaysThe reporting entity’s name as printed.
entity_sourcestringWhen the document states itWhat names the entity when the statement’s own page does not: the page image (page_image), the filing’s cover page (filing_cover), or the opening pages of the financial statement packet the statement arrived in (packet_text); absent when the statement’s own page names it.
entity_source_sheetstringOn a spreadsheet upload whose own sheet does not name the company, when the workbook names exactly one company; absent otherwise.The sheet of the uploaded workbook that names the company, when this statement’s own sheet does not and the workbook names exactly one company; absent otherwise.
titlestring, nullableAlwaysThe statement’s printed title.
periodstring, nullableAlwaysThe reporting period as printed in the heading.
period_sourcestring, nullableAlwaysWhich part of the document states the reporting period: the printed heading (printed), the date the statement was printed on (print_stamp), a year the heading prints alone (year_only, the period being that year’s end), the page image (page_image), the file’s name (filename) or the file’s own creation date (file_metadata); null when none of these dates the statement.
periodsarray of objectsAlwaysThe statement’s figure columns, one entry per column.
billing_yearsintegerAlwaysYears of data billed: the distinct years among columns that print a non-zero figure; 0 when no column prints one (such a document is not billed).
columnsintegerAlwaysNumber of figure columns.
reporting_unitstring, one of ones, thousands, millions, billionsOn a profit and loss, balance sheet or cash flow statement; absent on an older extraction.The unit the figures are printed in; on the wire the figures are already whole dollars.
scale_multiplierintegerOn a profit and loss, balance sheet or cash flow statement; absent on an older extraction.Scale of the printed figures: 1 for whole dollars, 1000 when the statement is stated in thousands, 1000000 when it is stated in millions, 1000000000 when it is stated in billions.
unit_exceptionsarray of stringOn a profit and loss, balance sheet or cash flow statement; absent on an older extraction.The carve-outs the statement’s unit declaration lists, such as per share amounts, whose lines and columns keep their printed figures; empty when it lists none.
unit_sourcestring, one of printed, noneOn a profit and loss, balance sheet or cash flow statement; absent on an older extraction.Where the statement states its unit: printed when the statement header, a column header or a heading line prints it; none when nothing is printed and the figures are whole dollars as printed.
linesarray of objectsAlwaysThe printed lines in order.
component_columnsarray of objectsOn a statement that prints component columns beside a total; absent otherwise.The columns the statement prints beside a total as its parts, such as one per class or location, when it prints any.
entity_splitobjectOn a statement read out of a page whose columns are separate companies; absent otherwise.Which part of a page whose columns are separate companies this statement is; absent on every other statement.
canonicalobjectWhen the document states itThe printed lines mapped onto standard line names.
per_shareobjectOn a profit and loss whose statement prints a per-share block under the bottom line (earnings per share, weighted-average shares); absent otherwise.The per-share block printed under the bottom line, when the statement prints one: earnings per share and weighted-average shares, basic and diluted, one row each as printed.
supplementalobjectOn a profit and loss whose statement prints rows under the bottom line besides a per-share block; absent otherwise.The rows printed under the bottom line besides the per-share block, when the statement prints any: other comprehensive income, a retained earnings roll-forward, supplemental lines.
cpa_engagementintegerWhen the document states itThe accountant’s level of assurance: 0 unaudited, 1 compiled, 2 reviewed, 3 audited.
cpa_engagement_labelstringWhen the document states itThe assurance level in words.
presentationstring, one of formal, free_formOn a profit and loss, balance sheet or cash flow statement (a spreadsheet upload reads free_form); absent on an older extraction.How the statement is presented: formal when it is presented as issued financial statements (a CPA engagement stated, a reference to the notes to the financial statements, a per-share block, the supplemental cash flow disclosures, the preparation legend that no assurance is provided, a plural statement title such as balance sheets or statements of income, or a statement of changes in equity or plural statement titles in the packet it arrived in); free_form when it is a report out of the books (accounting software or a spreadsheet).
signalsarray of objectsWhen the document states itNotes about the statement’s reporting period, when any.
packetobjectWhen the document states itWhere the statement sat in the financial statement packet it arrived in, when it arrived in one.
summaryobjectOn the single-document read, when at least one summary row matches a printed line; not on the list or the untyped reads.The statement’s headline figures, on the single-document read.

periods[]

One figure column.

KeyTypePresent whenDescription
labelstring, nullableAlwaysThe column header as printed.
coveragestring, nullableAlwaysThe span of time the column covers.
startstring (YYYY-MM-DD), nullableWhen the document states itFirst day of the period, when the header states one.
endstring (YYYY-MM-DD), nullableWhen the document states itLast day of the period, when the header states one.
rollupbooleanWhen the document states itTrue when the column totals the other columns.
consolidating_columnsintegerWhen the document states itOn a consolidating statement, the number of entity columns the total spans.

lines[]

One printed line.

KeyTypePresent whenDescription
labelstringAlwaysThe line’s label as printed.
depthintegerAlwaysIndentation level of the line, counting from zero.
valuesarray of string (money) or nullAlwaysThe line’s figure per column; null where the column is blank.
component_valuesarray of string (money) or nullOn a statement that prints component columns beside a total; absent otherwise.The line’s figure in each component column, in the order of component_columns; null where the column is blank.

component_columns[]

One column printed as a part of a total column.

KeyTypePresent whenDescription
labelstring, nullableAlwaysThe column header as printed; null when the column prints none.
total_columnintegerAlwaysPosition among the statement’s period columns of the total the component is a part of, counting from zero.
after_totalbooleanWhen the document states itTrue when the column is printed to the right of its total; absent otherwise.

entity_split

Which part of a page whose columns are separate companies this statement is; absent on every other statement.

KeyTypePresent whenDescription
rolestring, one of total, memberAlwaystotal on the statement of the page’s total column, member on the statement of one company’s column.
membersarray of stringWhen the document states itOn the total’s statement, the names of the companies whose columns the page prints.
totalstring, nullableWhen the document states itOn a member’s statement, the entity the page’s total column is for, or null when the page prints no total.

canonical

The printed lines mapped onto standard line names.

KeyTypePresent whenDescription
schema_versionstring, nullableAlwaysVersion of the standard line vocabulary the names come from.
statementstringAlwaysWhich statement vocabulary applies: balance_sheet, income_statement or cash_flow.
rowsarray of objectsAlwaysOne entry per printed line, in print order.
blocksarray of objectsAlwaysOne entry per printed subtotal and the lines that foot into it.
gatesobjectAlwaysSummary verdicts over the whole statement.
entity_signalstring, nullableAlwaysA note about the entity the statement belongs to, when the line names carry one.

canonical.rows[]

One printed line and the standard line name it corresponds to.

KeyTypePresent whenDescription
keystringAlwaysAddress of the printed line within the statement.
raw_labelstring, nullableAlwaysThe line’s label as printed.
concept_idstring, nullableAlwaysThe standard line name the printed label corresponds to, or null when it corresponds to none.
methodstring, one of exact, fuzzy, keyword, structural, reconciledAlwaysHow closely the printed label matches the standard name: exact, fuzzy, structural, or reconciled when it matches none.
blockstring, nullableAlwaysThe subtotal block the line belongs to, when it belongs to one.
parent_concept_idstring, nullableAlwaysThe standard name of the subtotal the line foots into, when it foots into one.

canonical.blocks[]

A printed subtotal and whether its lines foot into it.

KeyTypePresent whenDescription
idstringAlwaysAddress of the subtotal’s printed line.
parent_concept_idstring, nullableAlwaysThe standard name of the subtotal, when it corresponds to one.
footingstringAlwaysWhether the lines above the subtotal add up to it: pass, fail or not_applicable.

canonical.gates

Summary verdicts over the whole statement.

KeyTypePresent whenDescription
identitystringAlwaysWhether total assets equal total liabilities plus equity on every column: pass, fail or not_applicable.
classified_footingstringAlwaysWhether the current and noncurrent subtotals foot: pass, fail or not_applicable.
blocks_failedintegerAlwaysNumber of printed subtotals whose lines do not add up to them.

per_share

The per-share block printed under the bottom line, when the statement prints one: earnings per share and weighted-average shares, basic and diluted, one row each as printed.

KeyTypePresent whenDescription
rowsarray of objectsAlwaysOne row per printed per-share or share-count line, in print order.
share_unitstringAlwaysThe unit the share counts were printed in (ones, thousands, millions); the values are already whole shares.

per_share.rows[]

One per-share line as printed.

KeyTypePresent whenDescription
kindstring, one of eps, sharesAlwayseps for a per-share figure (dollars per share to the cent, as printed), shares for a share count (whole shares).
basisstring, one of basic, diluted, basic_and_diluted, “Alwaysbasic, diluted, basic_and_diluted, or empty when the line states neither.
labelstringAlwaysThe line’s printed caption.
valuesarray of string or nullAlwaysOne value per figure column, as strings; null where the column prints none.

supplemental

The rows printed under the bottom line besides the per-share block, when the statement prints any: other comprehensive income, a retained earnings roll-forward, supplemental lines.

KeyTypePresent whenDescription
rowsarray of objectsAlwaysOne row per printed line, in print order.

supplemental.rows[]

One line printed under the bottom line.

KeyTypePresent whenDescription
kindstring, one of oci, retained_earnings, supplemental_info, otherAlwaysWhat the line belongs to: oci for other comprehensive income, retained_earnings for a retained earnings or equity roll-forward, supplemental_info for a supplemental disclosure, other for any other line.
labelstringAlwaysThe line’s printed caption.
is_headerbooleanAlwaysTrue when the line heads the lines under it.
valuesarray of string (money) or nullAlwaysThe line’s figure per column; null where the column is blank.

signals[]

A note about the statement’s reporting period.

KeyTypePresent whenDescription
severitystring, one of info, warnAlwaysHow much weight the note carries: info or warn.
codestring, one of coverage_unreadable, interest_netted_with_other, line_enters_against_its_name, no_reporting_period, year_from_file_metadata, year_from_filename, year_from_page_image, year_matches_print_stampAlwaysThe note’s identifier.
detailstringAlwaysThe note in words.

packet

Where the statement sat in the financial statement packet it arrived in, when it arrived in one.

KeyTypePresent whenDescription
section_indexintegerAlwaysPosition of the statement among the packet’s statements, counting from zero.
pagesarray of integerAlwaysFirst and last page of the statement within the packet, counting from one.
letter_datestring (YYYY-MM-DD), nullableAlwaysDate of the accountant’s letter that accompanied the packet, when the letter printed one.
letter_pageinteger, nullableAlwaysPage of the packet the accountant’s letter is on, when the packet carries one.
page_listarray of integerOn a statement whose pages in the packet are not one unbroken run; absent otherwise.Every page of the packet the statement is printed on, counting from one, when they are not one unbroken run; absent otherwise.

summary

The statement’s headline figures, on the single-document read.

KeyTypePresent whenDescription
titlestringAlwaysThe period the rows cover, as a heading.
sectionsarray of objectsAlwaysThe row blocks, in display order.

summary.sections[]

A block of headline rows under one heading.

KeyTypePresent whenDescription
keystringAlwaysThe block’s identifier, for example assets, liabilities or pl.
headingstring, nullableAlwaysThe block’s heading, or null when the block has none.
rowsarray of objectsAlwaysThe rows of the block, in display order.

summary.sections[].rows[]

One headline figure and the printed line it names.

KeyTypePresent whenDescription
keystringAlwaysThe row’s identifier, for example revenue, cogs or net_profit.
labelstringAlwaysThe row’s wording as displayed.
valuestring (money), nullableAlwaysThe figure in dollars, or null when the printed line carries no figure.
aggregatedbooleanWhen the document states itTrue when the figure combines more than one printed line rather than reading a single printed cell.
emphasisbooleanWhen the document states itTrue on a section total or a bottom line.
depthintegerWhen the document states itIndentation of the row beneath the row above it, counting from zero.
pinnedbooleanWhen the document states itTrue on a row that stays in view when its section is collapsed.