Free Idea for Software Developer: Semantic Level Diffing Tool for Digital Financial Reports
So here is one of about 50 different software products that I can think of related to digital financial reporting. And you need not understand anything about XBRL. Nothing. What you do need to do is understand financial reporting or know someone else who does. A deep understanding of digital financial reports such as SEC XBRL financial reporting helps. Note the word deep. That will help you understand priorities.
If you are familiar with the 28msec SECXBRL.info API or the XBRL Cloud Edgar Report Information API, you can see that you DON'T have to build everything from scratch and you DON'T need to understand XBRL. Just go look at the model structure and the fact tables on either, that is a great starting point. As I understand it, you can also generate those infosets using the open source Arelle XBRL processor. But frankly, when you can simple grab the XML from a web service, why not just do that?
To be clear I am pushing two things: (1) Don't build everything from scratch, (2) semantics matters, not syntax. Also, I am not pushing any specific web service, I am pushing the notion of using web services as opposted to building everything from scratch. (If you have a web service similar to XBRL Cloud or 28msec please make me aware of it.)
So here is the idea. Imagine a "diffing" tool. Not a syntax level diffing tool (but that could be useful for some things also), but rather a semantic level diffing tool. Did the model structure change and how? Did the fact table change and how? Did a label change, new label added, label deleted, stuff like that.
Business users don't care if the syntax has changed, unless the syntax change impacted the meaning conveyed by the digital business report. Also, many times you don't need to compare the entire document, you want to compare things at the report component level.
Here are some very specific use cases as to how such a semantic diffing tool would be beneficial and how it would be used by business users:
- By an accountant who is involved in the process of creation of a filing, comparing versions of the same filing at say 2 PM with a version that he/she generated at 4 PM to see what exactly changed in the document. They will want to see if what they expected to change DID change and areas of the report which were NOT expected to change to be sure they did not accidentally change something.
- By an internal auditor, third-party auditor, or the manager of an accountant in the creation process to REVIEW the work someone else has done to again understand exactly what changed.
- By an external reporting manager or accountant to compare say a Q1 filing with a Q2 filing to see EXACTLY what changed. This is particularly useful when a filer changes software vendors or filing agents.
- By an external filing manager, third-party auditor, internal auditor to compare a report component of their filing to the report component of one of their peers to see which concepts were used, which axis were used, etc. Generally, one would compare at the report component level, not the entire filing. Comparing at the filing level would induce unnecessary noise which the accountants have to sort through.
- By an external filing manager, third-party auditor, or internal auditor to see what verification or business rules have changed, if some other relation changed.
What would be particularly useful would be to see the semantic changes within the context of a rendering. Seeing what changed in context is significantly better than having to hunt around and find the context.
A digital financial report is made up of many, many discrete identifiable pieces. If you understand those pieces, if you understand the relations between the pieces, if you understand the important properties of those pieces; then writing a diffing tool is not that complicated. Well, if you are a programmer. You can see those pieces in those infosets. Again, go look at the model structure, go look at the fact tables. Neither of those is that complicated.
I would encourage any software developer who wants to create a nice little business for themselves or who wants to create something they might want to sell to XBRL Cloud or 28msec to fiddle around with those web services and see what they think. If you are really serious about creating something, I might be convinced to help you spec out the application.
I even built my own taxonomy comparison tool (prototype) which works with the XBRL Cloud web service. As you can tell from looking at the tool, I am not a programmer. Otherwise, I would build this diffing tool myself.
This is a bit of an experiment to see what happens. Will help me understand what to do with the other 49 ideas! Do you have any product ideas? Either 28msec or XBRL Cloud or both for that matter might be a great platform to distribute your product ideas. Or, find some other web service. Just don't be foolish and build everything from scratch.
There are lots of different digital financial reporting products which are necessary for accountants creating, reviewing, auditing, or otherwise working with digital financal reports.
Reader Comments