Financial Report Ontology
This is a work in progress. Things might seem disorganized right now. That is because I am trying to figure out the best way to organize them. Documentation for the Financial Report Ontology (FRO) can be found here. Additional machine-readable and human-readable versions can be found here: http://www.xbrlsite.com/2015/fro/ | (New human readable overview)
An ontology is a representation of something that exists in reality. The financial report ontology (FRO) is a formal ontology of a financial report. The ontology is based on the Financial Report Semantics and Dynamics Theory. An ontology is a "window on reality" that is readable by both humans and by machines such as a computer.
Machines such as computers need to be lead by the hand, they are like babies. The financial report ontology is intended to be able to guide computers, or more accurately computer software. The financial report ontology will help enable computers to guide accountants creating a financial report or financial analysts working with one financial report or many financial reports.
Understanding the Entities and Relations of a Financial Report
A problem domain, such as a financial report, can be broken down into distinct, identifiable pieces. Historically, information technology professionals have used different terminology and schemes for doing this. The most current terminology is offered by what is commonly referred to as "The Sematic Web". These are the three fundamental basic ideas:
- Thing: A thing is some category or class of object that exists in the real world.
- Individuals: An individual is the actual object that exists, every object falls into some class of thing.
- Relation between classes of things: One class of thing can be related to another class of thing in specific known ways.
For example, the notion of an economic entity is a class of thing that exists in financial reporting. Microsoft is an individual which is in the set of things known as an economic entity. A financial report is also a class of thing that exists in financial reporting. The financial report for fiscal year 2014 financial statement of Microsoft is an individual. The idea that an economic entity creates a financial report is a relation between two classes of things.
An ontology is simply a formal human-readable and machine-readable summary of universal truths about classes of things and and relations between the classed of things of a some problem domain. The ontology is used to both describe the problem domain and make sure individuals which are created are consistent with that description.
This is the Financial Report Ontology (FRO) at a glance.
The semantics and dynamics of a financial report are explained by the Financial Report Semantics and Dynamics Theory. An additional helpful layer of understanding is provided by Digital Financial Reporting Principles. This section walks professional accountants and software vendors through these semantics of a financial report so that financial reports can be effectively implemented in software. Links are provided to human and machine readable artifacts which help you understand the term.
This information about the classes of things and relations between the classes of things makes up the basic mechanics of what makes up a financial report. These mechanics were gleaned from XBRL-based financial filings submitted to the Securities and Exchange Commission. The document Understanding the Basic Mechanics of a Financial Report explains this information in more detail.
The following is a high-level walk through of the basic classes of things and relations between things which make up a financial report:
- Economic entities provide financial reports: An economic entity such as a public company provides a financial report. (This is another list of economic entities in RDF, the DOW 30)
- Financial report has components: A public company filing to the SEC is a financial report. Components or "report fragments" of the financial report include the balance sheet, income statement, cash flow statement, nature of operations disclosure, significant accounting policies disclosure, long-term debt maturities disclosure, etc.
- Components has flow: The components of a financial report appear in a sequence or ordering which is different for different reporting entities. For example, the balance sheet may be first for some filers, others provide their income statement first.
- Components have intersections: A component can be intersected with another component in specific ways. For example, the line item "Property, plant, and equipment, net" on the balance sheet is also the total of the "Components of property, plant, and equipment" total in the disclosures.
- A disclosure is a component of a financial report: A disclosure is a component of a financial report
- An exemplar is an example of a disclosure: An exemplar is a disclosure which exists in some public company financial report.
- A disclosure has a prototype: A disclosure has a prototype. A prototype is an example of a financial report that is NOT part of a public company financial report.
- An information model is the combination two things:
- how the members of an axis are organized which is called the member arrangment pattern
- how the concepts of a [Line Items] is organized which is called the concept arrangement pattern.
- Concept arrangement patterns are the relations between concepts: The concepts which make up a set of Line Items are related to other concepts in specific ways. These ways are called concept arrangement patterns. There are a finite number of concept arrangment patterns: Roll Up, Roll Forward, Adjustment, Hierarchy, Text Block (Note Level).
- A roll up is a class of concept arrangement pattern: A roll up has the pattern: A + B + C = D.
- A roll forward is a class of concept arrangement pattern: A roll forward has the pattern: Beginning Balance + Changes = Ending Balance
- An adjustment is a class of concept arrangement pattern: An adjustment has the pattern: Originally Stated Balance + Adjustments = Restated Balance
- A hierarchy is a class of concept arrangement pattern: A hierarchy is a set of concepts that are related but not mathematically.
- A text block is a class of concept arrangement pattern: A text block is a hierarchy which has exactly one concept and that concept is a [Text Block].
- Member arrangement patterns are the relations between the [Member]s of an [Axis]: The [Member]s of an [Axis] are related in specific ways, those ways are called member arrangement patterns. There are two broad groups of member arrangment patterns: Whole-Part and Is-A.
- Type-of is a class of member arrangement pattern: A complete flat set is a class of member arrangement pattern where members are related but not mathematical; they are simply members of the same set. (i.e. describes some list but the list does not add up mathmatically)
- Whole-part is a class of member arrangement pattern: A simple flat set are members that are related mathematically similar to a roll up. (i.e. something composed exactly of their parts and nothing else or more where the parts add up to the whole)
- A topic can be used to organize disclosures (disclosures can be organized by topic): Because there are so many different disclosures; the notion of a topic was created as a way to organize or categorize disclosures into sensible groups.
- Disclosures are part of a topic.
- A relation between concepts is a type of business rule: Business rules can exist for pretty much any type of relation. One type of relation is the relation between two concepts.
- A report frame is a subclass of a disclosure (reporting style, a way of providing a disclosure): A report frame is a subclass of or a way of providing a disclosure. For example, a Balance Sheet is a disclosure. A Classified Balance Sheet and an Unclassified Balance Sheet are reporting style or subclasses of balance sheets.
- Report frames organize fundamental accounting relationships: A report frame is a way of separating different organizations of fundamental accounting concept relations. For example, a reporting entity can report either a classified balance sheet or an unclassified balance sheet, a single-step or multi-step income statement, report or not report operating income (loss). Report frames organize these different possible permutations.
- Economic entities have reporting styles: Economic entities which create financial reports have reporting style.
- A key financial ratio is a class of business rule: A key financial ratio is a class of business rule. For example, Current Ratio (CurrentAssets / CurrentLiabilities) is a key financial ratio.
- A class is a group or set: A classification scheme is an arrangement of types or sets of things into useful groups. SFAC 6 elements are an example of such groups. 'Assets' is one group. 'Revenues' is another group. Something cannot be both an asset and revenue. A class is one of the groups/sets of things within a classification scheme.
- A financial report has other pieces: A financial report is made up of identifiable pieces. These pieces are sometimes referred to as "things" or "entities".
- Things or entities of a financial report are related to other things/entities: Things are related to other things in specific ways, called relations.
- There are specific types of relations: There are specific types of relations such as "is-a", "has-a", "part-of", "has-part", "equivalent-to", "same-as", "whole-part", and so on.
This representation assumes the closed-world assumption and is decidable.
The following are implementation details which software developers are interested in (i.e. these details should be hidden from business professionals using software by the software application)
- Implementation detail: A component is identified by the combination of three things: network, table, concept arrangement pattern: A component is physically identified by three pieces of report semantics: the network, the table, and the concept arrangement pattern of the component concepts. (NOTE: It does not have to be this way, but the way that the US GAAP XBRL Taxonomy and SEC implement XBRL requires this to be the case.) (NOTE: It could be the case that the member arrangement patterns and/or axis also is used to describe the component.)
- Implementation detail: A component is physically represented by report elements which structure the component: A component is represented by report elements.
- Implementation detail: A report element can be categorized into one of the following groups: Network, Table, Axis, Member, LineItems, Concept, Abstract: Every report element can be mapped to an XBRL technical syntax component. (NOTE: A document exists which shows the precise semantics to XBRL technical syntax mapping.)
- Implementation detail: The semantics of the XBRL entity identifier is equivalent to that of Axis/Member: The context <entity><identifier> XBRL technical syntax is an Axis/Member type semantics which expresses the CIK of the Reporting Entity
- Implementation detail: The semantics of the XBRL period is equivalent to that of Axis/Member: The context <period> XBRL technical syntax is an Axis/Member type of semantics which expresses the calendar DATE or PERIOD
- Implementation detail: The model structure or representation structure of a report describes the organization of the financial report. The fact table represents all the facts reported within a financial report. The model structure, fact table, common practices in rendering information, patterns of information, are used to create renderings of a financial report.
Financial reporting ontology expressed using XBRL: Here are the most current machine readable version of the ontologies which make up the financial report ontology expressed using XBRL (prototype): (If you are not technical but interested in this, you want this HTML.)
NOTE: This is a prior version which is being replaced by the version referenced above.
- Index of files: HTML
- All taxonomy schemas combined: XSD | HTML | XML
- Financial Report Ontology (fro): XSD | HTML | XML | Wiki | VUE | VUE PDF
- Topics: XSD | HTML | Wiki
- Disclosures: XSD | HTML | Examples | Wiki
- Policies: Examples
- Key ratios: XSD | HTML | Wiki
- Fundamental accounting concepts (fac): XSD | HTML | XML | Wiki
- Fundamental accounting concept rules (XBRL Calculations): XSD
- Fundamental accounting concept rules (XBRL Formula): XBRL Formula
- Fundamental accounting concepts impute rules (Pseudo code): TXT
- Fundamental accounting concepts Map to 2013 US GAAP XBRL Taxonomy (obsolete, please use 2014 version of this file below): XBRL Definitions | PDF
- Fundamental accounting concepts Map to 2014 US GAAP XBRL Taxonomy: XBRL Definitions | PDF
- Fundamental accounting concepts extensibility rules: Human readable JPEG| XBRL Definitions
- Relations (general) arcroles (which provide semantics for relations): XSD | Wiki
- Relations (business rules) arcroles (provides semanrics for disclosure checklist semantics): XSD | Wiki
- US GAAP Disclosure Prototypes: RSS | RDF
- US GAAP Disclosure Exemplars: RSS | RDF
- US GAAP Disclosure Business Rules: RSS| RDF
Note to software vendors testing with this ontology: The first item in the bullet list "Index of files" has a section "Software Testing" which has a set of disclosures which are the current stable set which can be used for testing software. Contact me for more information.
Understanding the need for a Financial Report Ontology
A reasonable question is, "Why do you need a financial report ontology?" Think "smart data/applications". What does that mean? A new way to build and work with financial reports. Digital financial reports will be just as different digital photos and the process of working with those photos as the legacy artifacts and processes which they replaced. Think "guidance-based, model-driven, semantic structured authoring" of financial reports. Think:
- Knowledge baked into software
- New knowledge can be inferred/added
- Agility to adapt to ever-changing conditions
- Semi-automated data integration
- Machine intelligence
Digital financial reporting is not only inevitable, it is imminent. These four overviews help professional accountants understand where financial reporting is headed:
- Attaining High Semantic Clarity and Smart Digital Financial Reporting Tools
- Semantics overview
- Project10X Executive Summary
- Disclosure management whitepaper by PWC
Knowlege Representation Expressiveness and Relative Machine Automation/Reasoning Capacity Achievable
Digital financial reporting needs a financial report ontology to work how it needs to work. The following graphic helps one understand why high semantic clarity is desired and how it is achieved: