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 1, 2018 - September 30, 2018
Understanding the Moden Finance Platform using Wolfram
Wolfram is one of the most amazing things that I have seen in a long time. Wolfram includes a programming language. This video does an excellent job explaining the Wolfram language.
The Wolfram language is integrated with a curated public data repository. You can contribute to that publicly available repository. You can curate and add your own personal data repositories. You can create community-based data repositories.
Wolfram is a curated knowledge base. Wolfram is an engine. Wolfram is cloud-based, but you can also install it locally on your computer or you can create a private cloud specifically for your organization.
What is particularly interesting is the idea that you can manage metadata on something like GitHub, it can be branched, forked, and then integrated with Wolfram. I am prototypeing some metadata in GitHub. I created topics information that is XBRL-based and formatted in CSV. I will fiddle around with Wolfram and see what I can get it to do with all the metadata that I have created. Another interesting thing about Wolfram is that it converts XML into a format it understands. That makes all the syntax issues irrelevant.
You can try out Wolfram using their cloud interface, Wolfram ONE or the Wolfram Development Platform. There is extensive documentation and code samples.
There are others building out the modern finance platform including BlackLine, Workiva, SAP, Oracle, Intuit, Xero, Microsoft Dynamics, and others. Wolfram is a general tool that can be specialized.
Again, if you have not already done so, I would encourage you to read the document Computer Empathy. It will help you understand what is going on and why Wolfram and other such technologies seem so interesting. Stephen Wolfram is saying the same thing I am saying in Computer Empathy in his blog post, How to Teach Computational Thinking. Computational thinking is about formulating things with enough clarity, and in a systematic enough way, that one can tell a computer how to do them.
What he calls "computational thinking" I simply call "logic" or "business logic".




Data Junction Box
I ran across Virtuoso which has this notion of a "data junction box". That is exactly the sort of thing I am trying to get across with my notion of a fact database and knowledge base which is then used as information which is the basis of a financial report. My diagram is shown on page 4 of this document. See the GREEN box in the diagram.




Testing IFRS Fundamental Accounting Concept Relations on GitHub
I am going to create a version of the IFRS Fundamental Accounting Concept Relations metadata on GitHub to check out how that works. This will include the reporting styles, mapping rules, impute rules, and consistency checks.
If you are not familiar with GitHub, create an account (which is free) and work throught this tutorial. That will get you started.
Here is my initial repository: fac-ifrs (master)
I have someone helping me get started. I am going to keep the same technical syntax in this version. The files will simply be pulled from this GitHub location and people will be able to contribute, branch, etc. using the GitHub functionallity.
There are great videos on how to use GitHub.
Another alternative to GitHub is BitBucket. The good thing is that there are alternatives. Now, I have to figure how which is better, GitHub or BitBucket.




Accounting Model, Report Model, Financial Analysis Model
The accounting model explains how double-entry bookkeeping works. The double-entry accounting model is a mathematical model explained in Luca Pacioli's book about mathematics, Summa de arithmetica. The mathematical model was consciously created to be redundant (i.e. double-entry) in order to better detect mistakes and to distinguish a mistake from fraud.
I am not going to go into details, if you want to know that read about the accounting equation, you can watch this video that explains the accounting model, and you can watch this video which expands on that model and explains the logic of debit and credits. The primary point I want to make is that accounting is a model.
A financial analysis model is likewise a model. There are many different types of financial analysis models. Again, I am not going to go into details, if you want to learn about creating a financial model, there are plenty of resources like this video. The primary point here is that financial information is analyzed using financial models.
And so why do many accountants believe that a financial report is a document? A document is a type of knowledge media. There are other types of knowledge media: word of mouth, book, video, etc. What makes something a knowledge media?
- Easy for knowledge bearer to represent information: The effort and difficulty required for the knowledge bearer to successfully formulate the knowledge in the medium must be as low as possible.
- Clear, consistent meaning: The meaning conveyed by the knowledge bearer to the knowledge receiver must be clear and easily followed.
- High-quality information representation: The form in which the knowledge is represented via the media to the receiver must be as good as possible.
The purpose of a general purpose financial report is to convey information about the financial position and financial condition of an economic entity. Two types of information are conveyed: quantitative and qualitative. Again, not going into details here. Both quantitative and qualitative information are important.
It is not much of a stretch to make the claim that the information that comes out of the accounting model (i.e. the general ledger transactions) and might go into a financial model should likely best be a model and not a document. And so certainly aspects of a financial report is a model such as the balance sheet, income statement, cash flow statement, and all the disclosures that tie to the line items of those statements.
But the qualitative information can also be represented in the form of a model. For example, inventory is an important number; but it is likewise important to understand if that inventory is valued using LIFO or FIFO and to what extent a reserve exists to capture the difference between inventory cost and the current market value of the inventory. The qualitative information of a financial report helps to further explain the quantitative information.
At the top level, all financial reporting schemes are the same: assets = liabilities and equity (or some modified version of that equation). At the next "layer" both US GAAP and IFRS tend to be relatively the same in terms of high-level concepts such as "current assets" and "current liabilities", etc. Companies can report using different patterns, which I call reporting styles. No problem. Ambiguities in reporting standards, misunderstandings of reporting rules, and other such things impact what goes into the model and how those things might be orgnaized; but a financial report has a model.
Accounting was first formally described in about 1494, long before databases and computers existed. As such, accountants use whatever tools they had available to represent financial reports. That ended up being paper-based documents. When computers came along, accountants seemed to have forgotten about the accounting model and started representing documents in tools such as spreadsheets, not the accounting model. Today we have different tools. Some of those tools quite possibly could be better than paper for representing financial reports.
Experiment
I am going to do an experiment with a number of other accountants that want to learn about XBRL (contact me if you want to be considered for inclusion).
I have represented general ledger trial balance information using XBRL. I have represented financial statements using XBRL. And I have represented financial models using XBRL. What is interesting is that I can get the GL transactions, the financial report, and the financial models into one XBRL document. That is actually really easy as they all share the XBRL global standard technical syntax. Further, they all share the same business report multidimensional model and conceptual model.
But what ends up happening is because of the "taxonomy spaghetti" that tends to exist; the general ledger representations, the financial report representations, and the financial model representations are not well syncronized semantically. I am going to fix that.
What I am going to do is create a syncrnozied version of the general ledger transactions, the reported financial information, and the financial model; all using the same XBRL taxonomy where they should. I will make this robust enough so that it is a good exercise but simple enough to be understood by the average accountant and hopefully even non-accountants. I am going to follow best practices. I am going to use what I call my "XASB" taxonomy for this first iteration so that I am not constrained by the idosyncricies of the US GAAP or IFRS taxonomies or public company reports.
As a second step, I will repeat this exercise for a US GAAP report and an IFRS report.
This will likewise be an excellent test of software that I am using.
Stay tuned if this sounds interesting to you! Again, if you want to participate please contact me directly.
This is a summary of what I have created in the prior versions of GL transactions, financial report, and financial model:
- General ledger transactions (summary information)
- XBRL instance (note that XBRL formulas are connected here)
- XBRL instance using Inline XBRL
- XBRL instance using Inline XBRL, auto-generated
- XBRL taxonomy
- Rules (machine readable)
- Human readable rendering (human readable)
- Additional validation (human readable)
- Financial report (summary information)
- XBRL instance (note that XBRL formulas are connected here)
- XBRL instance Inline XBRL, auto-generated (this has an error that needs to be fixed)
- XBRL taxonomy
- Rules (Reporting checklist, disclosure mechanics; required because taxonomy is OPEN)
- Human readable rendering
- Additional validation (reporting checklist, disclosure mechanics)
- Financial model (DCFM) (summary information)
- XBRL instance
- XBRL instance, Inline XBRL format
- XBRL taxonomy
- XBRL formulas
- Human readable rendering
- Additional validation (none necessary, taxonomy is closed)
- Other helpful information (summary of about 700 pages collected and organized over past 20 years)
- Computer Empathy
- Blueprint for Creating Zero-defect XBRL-based Financial Reports
- Digital Financial Report Creation Best Practices
- Pesseract(tool for viewing XBRL-based reports)
There you have it. If you feel you might need more information, please let me know what it is that you think you need.




Representing Unlevered Discounted Cash Flow Model Using XBRL
One approach to determining the value of an economic entity is to use discounted future cash flows. You can determine discounted future cash flows by creating a discounted cash flows model (DCFM). Finance majors, accounting majors, and MBAs learn how to create these models in college.
If you are not familiar with the DCFM, here is some information that will help you understand it:
- Six steps to building a DCFM
- Quick DCFM lesson with Excel including videos:
Now to be clear, the example above shows an unlevered discounted cash flow model. There is also a levered discounted cash flow model. In fact, there are lots of different types of models. Here is a list of some of the different types of models.
Microsoft DCFM represented in XBRL
I wanted to see if I could create a DCFM for Microsoft in XBRL. I selected Microsoft pretty much at random although I did give them high consideration because their fundamental accounting concept relations are extremely good (i.e. they have no errors) for the 9 10-Ks they have submitted to the SEC.
In building the Microsoft DCFM model, I considered information in all of these models. I decided to use the Excel template from the lesson above. Here are the steps:
- I got a list of all the Microsoft filings so that I could extract all the information using XBRL, this is the Excel spreadsheet that I used.
- I used that information to populate the Excel spreadsheet DCFM template used in the lesson above, here is that. (completed)
- I then constructed an XBRL taxonomy that would be used to represent that model; here is the XBRL taxonomy.
- I created all of the business rules so that I could make sure the information I was entereing in the XBRL instance was correct; here is the XBRL Formulas.
- Then I created the XBRL instance; here is that XBRL instance.
- I tested (and tested, and tested, and tested) the XBRL instance to make sure everything was working correctly. For example, the roll up computations, the XBRL Formula based assertions, the XBRL technical syntax, the XBRL Cloud Evidence package was used to manually verify certain items, I tested the DCFM model using Pesseract, and finally I had someone that was helping me create some of the XBRL Formulas validate the model using the Fujitsu Formula Editor.
- Then, I auto-generated Inline XBRL for the model.
- Finnaly, just for the heck of it I added pseudo-Korean labels for the model to show how easy it is to make the model multi-language; here are the English and Korean labels.
Now, I am not holding myself out as a financial analyst. I am simply testing the mechanics of creating a DCFM using XBRL. My next step is to auto-generate the XBRL instance from the XBRL-based reports that have been submitted to the SEC for some other company, maybe Apple or Google.
So now I am thinking "self-driving" financial analysis! If these guys can do this, so can I. Something else I am noticing is that I have general ledger trial balance information in XBRL, financial reports in XBRL, and higher-level financial models in XBRL like this DCFM. In one straight-shot you can go from trial balance to report to model. The modern finance platform might not be as far away as it might seem.
I am happy to answer any questions about this that anyone might have; just send me an email.
##########################



