BLOG: Digital Financial Reporting
This is a blog for information relating to digital financial reporting. This blog is basically my "lab notebook" for experimenting and learning about XBRL-based digital financial reporting. This is my brain storming platform. This is where I think out loud (i.e. publicly) about digital financial reporting. This information is for innovators and early adopters who are ushering in a new era of accounting, reporting, auditing, and analysis in a digital environment.
Much of the information contained in this blog is synthasized, summarized, condensed, better organized and articulated in my book XBRL for Dummies and in the chapters of Intelligent XBRL-based Digital Financial Reporting. If you have any questions, feel free to contact me.
Entries from September 22, 2019 - September 28, 2019
U.S. House Resolution: H.R.4476 (Standard Business Reporting)
Carolyn Maloney (NY-D) and Patrick McHenry (NC-R) introduced H.R. 4476 on Tuesday, September 24th in the U.S. House of Representatives:
H.R.4476 - To amend securities, commodities, and banking laws to make the information reported to financial regulatory agencies electronically searchable, to further enable the development of RegTech and Artificial Intelligence applications, to put the United States on a path towards building a comprehensive Standard Business Reporting program to ultimately harmonize and reduce the private sector's regulatory compliance burden, while enhancing transparency and accountability and for other purposes. (Full text of the bill)
The bill calls for the eight financial regulatory member agencies of the Financial Stability Oversight Council (FSOC) to adopt uniform data standards for the information they currently collect from regulated entities. Member agencies are the FSOC include:
- Securities and Exchange Commission (SEC),
- Federal Deposit Insurance Corporation (FDIC),
- Office of the Comptroller of the Currency (OCC),
- Consumer Financial Protection Bureau (CFPB),
- Federal Reserve (FED),
- Federal Housing Finance Agency, the National Credit Union Administration (NCUA),
- Commodity Futures Trading Commission (CFTC).
Per XBRL US: (emphasis is mine)
Language in the bill calls for the use of a common nonproprietary legal entity identifier that is available under an open license, and for the use of data standards that render data fully searchable and machine-readable, enable high quality data through accompanying metadata, are documented in machine-readable taxonomies, are nonproprietary or made available under an open license, incorporate standards maintained by voluntary consensus standards bodies and are consistent with applicable accounting and reporting principles.
I don't understand how this is tied to what the U.S. Treasury Department is doing per the Data Act. As I understand it any entity which receives federal grants over $500,000 is required to be audited per the Office of Management and Budget (OMB) A-133 audit or "single audit". As I understand it there are about 300,000 such grants each year.
Also, I would speculate that the Department of Labor (DOL) per the Employee Retirement Income Security Act of 1974 (ERISA) which requires the audit of certain retirement plans. As I understand it, there are about 800,000 such plans.
Examples of Describing a Financial Report Logical System Using XBRL
This blog post builds on my prior blog post related to understanding and expressing logical systems. What this blog post does is add information about HOW you implement the model of a logical system using the XBRL technical syntax.
First off, note that there is another model, the business report logical model, that is used as a basis for representing a business report. Basically, there are four core models involved that work together. Just keep that in the back of your mind; you don't need to understand those details to understand how to use XBRL.
Below you see the outline of the logic that is used to represent a financial report (business report). To that outline I have hooked an XBRL implementation of the logic artifact: (all of these come from the FRF for SMEs Ontology)
- Model: (XBRL taxonomy + XBRL instance) The model is both the XBRL taxonomy that describes the model pluse the facts in the XBRL instance. (I could be wrong here and only the XBRL taxonomy is the "model", I will figure that out.)
- Structure: (XBRL presentation; XBRL calculation; XBRL definition) Linkbased are used to provide structures. The names of structures, the extended link roles, are used to identify structures. Here is human readable information about XBRL structures.
- Statement: The things within structures are statements. For example, the locators and arcs within an XBRL presentations linkbase articulate statements. XBRL labels linkbases are statements.
- Assertion:
- Axiom: (XBRL formula) An XBRL formula consistency rule such as "Equity = (EquityAttributableToParent + EquityAttributableToNoncontrollingInterest)" is an axiom.
- Theorem: (XBRL formula) An XBRL formula impute rule such as "If NoncurrentAssets = 0 and Assets <> 0 and CurrentAssets <> 0 Then NoncurrentAssets = Assets - CurrentAssets" is a theorem.
- Restriction: (XBRL formula) An XBRL formula rule such as "(SharesIssued < SharesAuthorized) or (SharesIssued = SharesAuthorized)" is a restriction.
- Term: (XBRL taxonomy schema) An XBRL taxonomy scheme contains statements that define terms.
- Simple term: (XBRL taxonomy schems) An XBRL taxonomy schema that defines concepts is an example of a statement defining a simple term. (Note that this XBRL taxonomy schema defines both simple terms and functional terms).
- Functional term: (XBRL taxonomy schems) An XBRL taxonomy schema that defines the name of a disclosure is an example of a functional term.
- Relation: XBRL linkbases, XBRL instances, XBRL taxonomy schemas, XBRL formulas all provide examples of providing statements that express relations.
- Is-a relation: (XBRL definition) Class-subclass relations defined within an XBRL definitions linkbase is an example of a statement that defines an "is-a" type of relation. A "class-subclass" relations is a type of is-a relation. Note that I am using a proprietary arcrole "class-subClass" rather than the standard "general-special" relation defined by XBRL. (This example is for US GAAP, I will update this when the FRF for SMEs class relations are provided.)
- Has-a relation: (XBRL definitions) XBRL definition relations that use the "full-hasPart" relations that defines a functional component is one example of making a "has-a" relation type of statement. Another example of defining a functional component relates to disclosure mechanics rules defined in an XBRL definition linkbase. This is a mixture of "has-a" and "is-a" and "property-of" relations.
- Property-of relation: (XBRL definitions) XBRL definition relations that articulates a property and then indicates what concepts have that property is an example of making a statement which defines a property. (This example is for US GAAP, I will update this when the FRF for SMEs properties are provided.)
- Equivalence: (XBRL definition) XBRL definition relations used to map fundamental accounting concepts to XBRL taxonomy concepts used to represent those fundamental accounting concepts within a report is an example of making an equivalence statement. (Note that in this case I am using the proprietary "class-equivalentClass" arcrole rather than the XBRL provided "essence-alias" arcrole.)
- Other predicates: (XBRL taxonomy schema defining general arcroles; XBRL taxonomy schema defining business rules arcroles) XBRL arcroles defined in an XBRL taxonomy schema are examples of how additional predicates can be defined using the XBRL technical syntax. The general arcroles and business rules arcroles are used in XBRL definition relations linkbases to make statements. Additionally, here is an example of defining a "wider-narrower" arcrole within the XBRL International Link Role Registry (LRR). Essentially, any predicate can be defined by XBRL International.
- Fact: (XBRL instance) An XBRL instance that is used to report facts is an example of statements used to express a fact.
- Assertion:
What are the benefits of going through the trouble of expressing all of those semantics precisely and completely? See these two examples below. In particulary, check out the "Evidence Package" and the "Disclosure Mechanics". What you see is an example of what can be generated from the sort of semantics that you see above. These examples were created by XBRL Cloud. Pesseract also implements the logical system.
- Microsoft 10-K: SEC Filing Page | XBRL instance | Evidence Package | Disclosure Mechanics
- XASB Reference Implementation: XBRL instance | Evidence Package | Disclosure Mechanics
And so that is how you describe a logical system using the XBRL technical syntax! Are there better or different ways to achieve the desired results? Probably. But the primary point here is that you can express models, structures, and statements to provide a theory that describes a logical system or theory.




Constructing a Chain of Reasoning
A logical system is driven by, well, logic. That logic is expressed using many different tools. One of the tools for representing things logically is set theory. Everyone tends to learn about set theory in elementary school using Venn diagrams.
A set is a well-defined collection of distinct objects.
What is really interesting is all the stuff you can do using sets. But first, we need one additional tool which is Boolean algebra. Boolean algebra relates to working with TRUE and FALSE values. Boolean algebra has three basic operators: (see this crash course in Boolean algebra)
- AND (conjunction)
- OR (disjunction)
- NOT (negation)
There are secondary operators which are created from the basic operators which make tasks easier:
- NAND (opposite of AND)
- XOR (exclusive OR)
- NOR (opposite of OR)
Using set theory and the Boolean operators you can do work on sets of information. The diagram below shows examples of basic set operations using Boolean algebra (also called Boolean logic):
Using set theory, boolean operators, and logical systems you can do work digitally. Here are two examples related to financial reporting:
- Suppose you have a set of concepts that are all identified as being "current assets". Say that you want to get a current asset from the US GAAP XBRL taxonomy. Because you know the set of current assets because that set has been represented in machine-understandable terms a computer can provide you with that list of current assets.
- Suppose you had a set of diclosures. Suppose each of the disclousres was assoicated with a topic. Suppose you were looking for a specific disclosure and you knew that the disclosure related to the topic "contingencies". The computer could provide you with a list of all disclosures related to the topic contingencies.
Any number of the Boolean logical operators can be combined into complex commands that you want a computer to perform. To do this, all you need is (a) set theory, (b) boolean operators, and (c) information in machine-readable terms that a computer can work with.
In this way you can create a chain of reasoning which a computer software application can use to perform work for you.




Four Core Models Used to Describe a Financial Report
What I am noticing is that there are four individual models that are used to describe the logic of a financial report:
- Model that describes a logical system: At the highest level you have the model of a logical system that is used to describe how logical descriptions are explained.
- Model that describes a business report: At the next level you have the model that goes into the logical system model which describes the model of a business report. (this stuff)
- Multidimensional model: I don't know if this should be considered separate, but the multidimensional model is used within the business report model to describe a business report.
- Accounting equation: The accounting equation, "Assets = Liabilities + Equity" is the core model of a financial report; that core model is expanded upon by the conceptual framework of an individual financial reporting scheme.
This narrative provides a suscinct overview of all four models in one document.
To implement all this within XBRL, see this document Method for Implementation of a Standard Business Report Using XBRL, page 34, section Physical Implementation Model. Note that this provides references to numerous other documents that are helpful in implementing all this.
Here is an actual implementation which is currently the best example implementation that I have, FRF for SMEs Ontology. (This blog post provides additional information on the FRF for SMEs implementation. This page has detailed information about four other implementations: US GAAP, IFRS, XASB, and IPSAS.)
Note that if you leave out the "Accounting equation" model, then all of this same stuff works for general business reports.
Here is a summary of example implementations of all five of these reporting schemes (US GAAP, IFRS, XASB, IPSAS, FRF for SMEs).
This document, Guide to Building an Expert System for Creating Financial Reports, is helpful in using all the above information for building software applications for creating or otherwise working with financial reports.





Understanding and Expressing Logical Systems
A general purpose financial report (or business report) is a type of man-made logical system (a.k.a. logical theory). There is nothing natural about a general purpose financial report (or business report), it is an invention of man. A general purpose financial report is a high-fidelity, high-resolution, high-quality information exchange mechanism.
Logic is a set of principles that forms a framework for correct reasoning. Logic is a process of deducing new information correctly so that a chain of reasoning can be created. Logic is a systematic way of thinking. Logic is about the correct methods that can be used to prove a statement is true or false. Logic tells us exactly what is meant. Logic allows systems to be proven. Logic is a tool. Logic is a common language that can be agreed upon, understood by all parties, and which therefore enables precise communication.
Something is logical if it works according to or agreeing with the principles of logic.
A system is a cohesive set of interrelated and interdependent parts that form a whole. A system can be either natural or man-made. Changing one part of a system usually affects other parts and the whole system with predictable patterns of behavior.
A logical system is a type of formal system. To be crystal clear I mean a finite deductive first-order logic system. The point is to create a logical system that has high expressive capabilities but is also a provably safe and reliable system that is free from catastrophic failures and logical paradoxes (world view): axiomatic (Zermelo–Fraenkel) set theory; directed acyclic graphs; model theory; closed world assumption; negation as failure; unique name assumption; Horn logic. (a.k.a. logical theory, strong ontology; see the ontology spectrum)
There are many different ways to describe formal systems in human-understandable and machine-understandable terms. ISO/IEC 11179-3:2013 describes this sort of information in global standard but technical terms. It is my observation that each different approach to describing a formal system tends to have its own terminology for explaining what seems to be exactly the same thing, the explanations tend to not always be complete, and the explanations tend to be harder than necessary for a business professional to understand.
OMG's Ontology Definition Metamodel (ODM) tries to reconcile many different ways to represent logical systems.
This is my current best shot at explaining how to express the semantics of a logical system and map those semantics to the XBRL technical syntax in terms understandable to a business professional.
A logical system enables a community of stakeholders to agree on important common models, structures, and statements for capturing meaning or representing a shared understanding of and knowledge in some universe of discourse where specific flexibility/variability is necessary. Because flexibility/variability is allowed in this sort of logical system, that flexibility/variability must be managed so that it can be controlled. Models, structures, and statements allow for this necessary management and control.
- Theory: A theory is a set of models for a universe of discourse (a.k.a. domain of discourse, domain)
- Model: A model is a set of structures. A model is an interpretation of a theory. (model theory)
- Structure: A structure is a set of statements. A structure provides context. (a.k.a. container, group)
- Statement: A statement is a proposition, claim, assertion, belief, idea, or fact about or related to the universe of discourse. (a.k.a. expression)
- Assertion: An assertion (a.k.a. rule) is a type of statement which specifies a permissible manipulation within a structure within a model for a theory. (Abox)
- Axiom: An axiom is a statement which describes a self-evident logical principle related to a universe of discourse that no one would argue with or otherwise dispute.
- Theorem: A theorem is a statement which makes a logical deduction which can be proven by constructing a chain of reasoning by applying axioms or other theorems in the form of IF…THEN statements.
- Restriction: A restriction is a statement that is a special type of axiom or theorem imposed by some authority which restricts, constrains, limits, or imposes some range.
- Term: A term is a type of statement that specifies the existence of a primitive (a.k.a. simple, atomic) or functional (a.k.a. complex, composite) idea that is used within a universe of discourse. Terms are generally nouns. (Tbox)
- Association: An association (a.k.a. relation, predicate) is a type of statement that specifies a permissible structure or specifies a property of a term. A assiciations are generally a verb. (a.k.a. association)
- Is-a: An is-a association specifies a general-special or wider-narrower or class-subclass or type-of type relation between terms. (class)(generalization)
- Has-a: A has-a association specifies a has-part or part-of type relation between terms. (meronymy)(composition)
- Property-of: A property-of association specifies that a term has a specific quality, trait, or attribute. (property)
- Fact: A fact (a.k.a. instance, individual) is a type of statement that specifies a piece of information about circumstances that exist or events that have occurred that is reported by an entity "as of" or "for a period" of time and otherwise distinguishable from one another by one or more distinguishing aspects.
- Assertion: An assertion (a.k.a. rule) is a type of statement which specifies a permissible manipulation within a structure within a model for a theory. (Abox)
The models, structures, and statements of a theory relevant to a particular universe of discourse generally allows for some certain specific system flexibility/variability and as such must be consciously unambiguously and completely as is necessary and practical in order to achieve a specific goal or objective or a range of goals/objectives.
A logical system can have high to low precision and high to low coverage. Precision is a measure of how precisely the information within a logical system has been represented as contrast to reality for the universe of discourse. Coverage is a measure of how completely information in a logical system has been represented relative to the reality for a universe of discourse.
The level of precision and coverage expressively encoded within some logical system depends on the application or applications being created that leverage that logical system.
Further, a properly functioning logical system will have the following characteristics all of which should be demonstratable:
- Consistent: No statement (assertion) of the logical system contradict another statement (assertion) within that logical system.
- Valid: No false inference (logical deduction) from a true premise is possible.
- Complete: If an assertion is true, then that assertion can be proven; i.e. all assertions exists in the system.
- Sound: If any assertion is a theorem of the logical system; then the theorem is true.
- Fully expressed: If an important term exists in the real world; then the term can be represented within the logical system.
Saying this in another way specifically for a financial report: (note that the term "statement" as is being used as defined by the components of a logical system, this is not the same as statement defined in terms of financial reporting)
- Completeness: All relevant models, structures, and statements have been included within the financial report representation.
- Existence: No model, structure, or statement exists which should not be included in the financial report has been included.
- Accuracy: The models, structures, and statements which are included in the financial report are accurate, correct, and precise.
- Fidelity: Considered as a whole; the models, structures, and statements provide a true and fair representation of reported financial information.
- Integrity: The model, structure, and statements that describe each part of a financial report provide a true and fair representation of such part and no parts are inconsistent with or contradict any other financial report part.
- Consistency: The models, structures, and statements are consistent with prior periods and with the reporting entity’s peers as is deemed appropriate.
- True and fair representation: The structures, models, and statements of a financial report are a true and fair representation of the information of the reporting economic entity.
All that is above relates to specifying the permissible semantics of a logical system. The terms below tend to be related to the expression of those semantics in the form of some technical syntax:
- Constant: A constant is the physical representation of a static term.
- Variable: A variable is the physical representation of a dynamic term.
- Vocabulary: A vocabulary is a system of physically representing formulas, terms, structures, and models using a specified syntax.
- Tree: A tree is a physical representation of a statement to define a structure or specify a property.
- Sentence: A sentence is a grammatical unit of a statement.
- Formula: A formula (a.k.a function) is a well formed physical representation of a statement.
- Predicate: A predicate asserts something about a subject. A predicate is a verb.
- Connectors: A connector is used to join one or more sentences into a complete and well-formed statement.
- Implication
- Disjunction (or)
- Conjunction (and)
- Negation (not)
- Logical equivalence (if and only if)
- Qualifiers: A qualifier is used to extend propositional logic into predicate logic.
- There exists (existential qualifier)
- For all (universal qualifier)
Again, this is my current best attempt to represent this information. Any feedback that improves this representation will gladly be considered.
Here is a comprehensive example of expressing the above semantics using the XBRL technical syntax.
Also, consider this. If accountants do not bother to gain basic literacy in this information which inevitably will affect their lives; then they abdicate control over their future whether they like it or not. Check out this Ted Talk by Eli Pariser, Beware Online "Filter Bubbles". Accountants need to pay attention. If you are stuggling to understand this information, I suggest reading this document.



