2011年8月8日 星期一

[Link] Finding Tools and Services to Make XBRL Work


Finding Tools and Services to Make XBRL Work


In This Chapter

Exploring XBRL processors Evaluating XBRL software Finding products that support XBRL Searching for assistance
M BRL is brought to life within software (see Chapters 1 and 3). In this chapter, we dig deeper into the area of software and services to help you get the most out of what XBRL offers. We cover both locally installed software, which is how most of what we did in the past was accomplished, and software you use as a service (SaaS), which is a newer model that software creators are using to deliver functionality to their customers. We tell you how to find this software, and we provide information to help you select the software that’s right for you.
Having the right tool for the right job can make a complex task simple. Likewise, having the wrong software tool or using a good tool for the wrong purpose can make something that is quite simple much more complex.
To avoid having to type the long links,  This takes you to a landing page where you can click the link you need.

The XBRL Software Landscape

We divide the software and services arena into several categories to make it easier to both communicate what software exists and help you understand what you may be looking for (and why) so that you can pinpoint the right solution, given all the alternatives. And, surprisingly, a lot of XBRL software alternatives are out there, which shows how much interest there is in XBRL.
But while the volume of software is a good indicator of the uptake of XBRL within the market, it points to another situation, which is survival of the fittest. The XBRL software market hasn’t been through the evolutionary process that determines clear winners in the market, nor have the losers been vetted yet. For example, why does the world need ten-plus different XBRL processors? It probably doesn’t, but none have been winnowed out yet.

We break down the XBRL software landscape into the following categories to make explaining it easier:

Existing business systems contrasted with XBRL-specific systems
Commercial XBRL software, free XBRL software, and open-source XBRL software
Locally installed XBRL software versus XBRL software you use as a service
Business-user XBRL software versus technical-user XBRL software Middleware versus end-user software Categories of XBRL software
Keep the preceding list in mind as you try to decide what the best XBRL software is for you. In some situations, certain categories are a better or worse fit for your needs. Be aware of your options so that you can make better decisions.

Existing business systems and XBRL-specific applications

XBRL-related software falls into two broad categories:
XBRL-specific software: These applications enable you to work with XBRL and include XBRL validators, XBRL taxonomy-creation tools, and XBRL instance-creation tools.
Existing software applications that support specific functionality and XBRL features: This category includes all the existing applications in the world that you may need to input or export XBRL to or from. For example, if you have an ERP system, you may want to get information out of or into that system using the XBRL format. As such, your software vendor likely needs to modify the business system to support XBRL.
What doesn’t work is creating islands of XBRL that work with XBRL specialty software but that don’t work with the other business systems you use every day. What’s the point? You want all your different business systems, whether internal or external, to be able to effectively exchange information so that you can automate processes.
Although XBRL has existed for ten years, it wasn’t mainstream for most of that time. When new ideas appear, it takes time for infrastructure to follow because no one is really sure whether the idea will succeed or fail. No one wants to invest in building infrastructure around brand-new ideas that may fail. Although regulators drove the early use of XBRL, broader use of XBRL is really only starting. Things like the U.S. SEC mandate of XBRL has drawn interest and exposure for the technology, and more software vendors are supporting XBRL. Unfortunately, it will take time before the software you need to really take advantage of XBRL exists.
Eventually, more and more of the applications that you use today will support XBRL. For example, your off-the-shelf accounting systems, your internally developed systems, your business-intelligence-reporting system, and all that software that makes your business run will one day support XBRL. The first wave of software will be standalone XBRL software and middleware that will help you implement XBRL functionality within your existing software applications. But eventually, more software applications will, at a minimum, allow you to get XBRL into and out of the application.
Software will be impacted even more profoundly in the future. XBRL will literally impact how software is written. Functionality to work with XBRL will be deeply embedded within software, and XBRL will assist in the initial recording of transactions. How do we know? Well, partly because one South African software application, which helps those accounting for pension fund information submitted to regulators, is already doing this task. XBRL is deeply integrated within the software application, leveraging what XBRL provides, which allows for the software application to work in new ways. (For more information, see www.xbrl.org/Business/Regulators/SA%20XBRL%20 Case%2 0Study%2 0-%2 0Success%2 0Story.pdf.)

Commercial, free, and open-source software

People are generally confused about the differences between commercial software, free-to-use commercial software, and open-source software. However, the distinctions are important as you determine which software is the best for you.
To compare and contrast the differences, we look at key factors: who provides the software, how much they charge you to use it, the license under which it’s made available, and whether you have access to the source code (the underlying computer program that makes the application do what it does, which lets you therefore change the application):
Commercial software: By commercial software, we mean the likes of Microsoft Office, Adobe Photoshop, or SAP. You typically install this software on your computer or use it as a service. You pay a fee for this
software, and you’re typically not provided access to the source code. Generally, this software comes with a license that indicates that you can use it, under what terms, and that you can’t let anyone else use the software.
Free-to-use software: Free-to-use software is similar to commercial software except that the software creator charges no fee for you its use. The creator sometimes let you distribute his free software with software you may create. Depending on the situation, you may be able to distribute that free software within a product you create for free, or you may need to pay a fee if you redistribute the software. End-users generally don’t care about redistributing software, but software vendors care a lot about it.
Open-source software: Open-source software means that along with the software application, the source code is made available. If you like, you can edit that source code and make the software work differently. Open-source software is available under several different licenses. Generally, open-source software is free to use, but sometimes involves a fee. The license terms determine whether you can freely redistribute that software to others. The ability to make changes to software to get it to work in the way you want it to work is important to some users. Also, when you have access to the source code, you’re less reliant on the software creators for future maintenance.
Open-source software is gaining significant popularity for a many reasons. Realize, though, that the license does matter. Keep in mind the old saying that, “There is no such thing as a free lunch.” For example, many open-source software vendors make their software available for free, but then make their money providing support and other services. A good example of open-source software is Red Hat Linux (www.redhat.com).

Software as a product and SaaS

Another trend in software is to use software as a service (SaaS), which is when you don’t really have software at all, but rather use a service that someone else maintains. That service connects to a software program that the provider maintains. Here is the difference between the two options:
Software as a product: Software as a product is what most everyone is familiar with. You go to a store or Web site, you get a DVD or download a file, and then you install it on your computer. Microsoft Office and Adobe Photoshop are examples of software as a product.
Software as a service: SaaS is an approach where vendors or software creators make software available as a service over a network, such as the Web, rather than installing an application locally on your computer. SaaS is growing in popularity. No real deployment effort is involved; you don’t install anything other than a standard browser on your computer.
Whereas software as a product is the primary means users make use of software, SaaS is gaining popularity. Some estimate that SaaS makes up perhaps 30 percent of the market currently and is growing. The primary benefits of SaaS include things like ease of administration, ease of deployment, and lower total costs of using a software application. Another benefit of SaaS is that application programming interfaces (APIs) tend to be far more open and well-documented.

SaaS falls into a few categories:

‘ End-user applications: A third-party software provider operates these user applications. You generally use the third-party software to arrive at some desired result. An example is an accounting system that you use as a service instead of installing the software application locally on your computer.
‘ Web services: Also operated by a third party, these services are more like API-level interfaces that programmers use to write applications. You use their software to arrive at a result, but the result is something that another computer process or workflow would typically use. For example, within your workflow, you may use an API that performs XBRL validation as a service.
‘ Outsourced service: In this service, a third party performs a role for you using whatever means is necessary. This third-party literally does everything, delivering an agreed-upon end result. This type is the ultimate in SaaS . . . software and everything else as a service!
If you want to find out more about SaaS, check out Cloud Computing For topic, by Judith Hurwitz, Robin Bloor, Marcia Kaufman, and Fern Halper.

Business Versus technical user software

Software users fall into three general categories:
Business users: Business users tend to be far less technical and really don’t care about the technology for technology’s sake; they just want to get their job done, preferably without learning about the underlying technology.
Technical users: A technical user’s role is to deal with the technology level of things commonly in the support of some business user. Not only do technical users need to deal with the technology, but they like to deal with technology. Technology people spend a lot of time trying to figure out ways to make technology easier for business users. However, what a technical user and a business user each defines as easy to use are generally two different things!
‘ Semi-technical business user: These types of users are business people who take the time to understand things like how to write Microsoft Excel macros. They’re not professional programmers, but they’re quite capable of writing code to get their jobs done, and they prefer writing code over doing tasks manually.
We make this distinction for a specific reason. While a lot of XBRL software is out there, most of it is appropriate for the technical user of XBRL, not for general business users. At this point in XBRL’s life cycle, it makes sense because technical tools that the technical users will use to make the life of business users easier have to be built before the business user tools can be built.

Middleware Versus end-user software

Middleware software is something that connects two things or provides a specific piece of functionality. End-users never see middleware; they just experience the results. Middleware provides things like a translation layer between two software applications. Middleware is somewhat like glue or plumbing because it connects things.
XBRL is also about connecting things. And as you may expect, because XBRL is the thing that can be put through a pipe and middleware is like plumbing, the two may be related. You’d be right!
The connection that middleware provides isn’t like the export or import functionality software applications provide. Those functions aren’t really middleware.

XBRL-related software features

The types of XBRL-related features and functionality that software provides (be it XBRL-specific software or your business systems, or local software or SaaS) generally fall into these categories:
‘ XBRL processors: A principle piece of XBRL software is the XBRL processor (or XBRL processing engine, as some people call it). Pretty much every other software tool that uses XBRL likely has an XBRL processor within it, serving that software application. XBRL processors do the heavy lifting related to XBRL, such as reading, writing, controlling, handling, or otherwise processing your XBRL, including validating to make sure that everything turns out okay. You can think of XBRL processors as somewhat similar to an XML parser, but truly they’re much, much
more. Middleware software vendors (or any software vendor choosing to enable its software for XBRL) create XBRL processors. Actually seeing an XBRL processor is hard because they’re an API that understands XBRL, absorbing the complexity of the XBRL specifications, and then delivers results to other software applications.
Viewing: You need a way to look at information expressed within an XBRL instance — for example, to use the information or to see whether that information is correctly created. You’ll also want to look at XBRL taxonomies in order to understand them, even if you never create one. You can use viewer-type software applications to view these items. XBRL instance viewers help you read those XBRL instances. XBRL taxonomy viewers, well, they help you have a look at taxonomies. Keep in mind that if you’re looking at an XBRL instance, you also need to look at the underlying XBRL taxonomy; without a taxonomy, the XBRL instance won’t make much sense.
Creation and editing: Although viewing is helpful, business users also need to be able to create XBRL instances and XBRL taxonomies. That’s where instance- and taxonomy-creation and editing software comes in. Again, if you’re creating or editing an XBRL instance, you need to view the XBRL taxonomy, at a minimum. You also may need to edit the XBRL taxonomy if you’re allowed to add concepts, relations, and so on. Further, you may need additional functionality, such as the ability to create business rules that you want to put into your XBRL taxonomy.
Analysis: Anyone else you give your information to may be doing some analysis and will likely want to view that XBRL instance information. To do so, they need to view the XBRL taxonomy upon which the XBRL instance is based. To do comparisons across different periods or across different providers of information, they need combined XBRL instances. What you may not expect is that they may also want to create XBRL taxonomies. They’d create an XBRL taxonomy to change the view of the information contained in the XBRL instances they receive, or they may want to add information, such as ratios, additional computed values, and so on, to an XBRL instance and the related XBRL taxonomy. As such, those performing analysis would use XBRL instance and XBRL taxonomy-creation functionality.
Other software: Some examples of other functionality you may need include performing different levels and types of XBRL validation, caching XBRL taxonomies for local/offline use with an XBRL instance, storing all that XBRL within some sort of database, versioning XBRL taxonomies and XBRL instances, mapping XBRL to other information formats, mapping other formats to XBRL, or even mapping one XBRL taxonomy to another XBRL taxonomy. Clever XBRL search applications may even be in your future. And then there are all those technical utility applications for doing different one-off tasks.

Why You Want an XBRL Processor

The XBRL processor or XBRL processing engine is a key piece of software, and you need one to do anything serious with XBRL. You don’t have to go buy one because most applications that work with XBRL come with one.
Although you can do some things without an XBRL processor, XBRL was built anticipating that you’d use an XBRL processor, not just an XML parser, to work with XBRL instances and XBRL taxonomies. An XBRL processor understands the semantics of XBRL, not just the syntax of XML. XML parsers don’t understand XBRL semantics.

Here are some functions that an XBRL processor performs:

Discovery: An XBRL processor performs the process of discovery of XBRL taxonomy pieces. The XBRL processor then puts the pieces together into a DTS (see Chapters 3 and 4). XBRL processors excel at this complex task; in fact, they have to — the XBRL Specification requires it.
Validation: The XBRL processor can do many types of validation because of its unique understanding of the XBRL specification. An XML processor alone would have a hard time validating computations and other business rules that an XBRL processor can do easily. XBRL processors have rules engines built into them to process all these computations and other business rules and to help you make sure that everything is error-free and otherwise valid.
Resolving relations: After the pieces are together into the DTS by the process of discovery, the XBRL processor takes all the relations networks and puts them together correctly, considering the rules of discovery, the arcs defining relations, and the arcs prohibiting relations, and generates the appropriate network of relations, which you then use. All XBRL processors perform this resolution process and get the same result because XBRL is a standard, and a lot of work goes into ensuring that they do get the same result.
Deciphering: An XBRL processor knows how to do things like get information relating to a fact within an XBRL instance from the XBRL taxonomy that defines the concept to which that fact relates. Trying to do these types of things with an XML parser is certainly possible. All you’d have to do is implement the functionality that already exists within an XBRL processor.
XBRL processors have XML parsers built into them. Every application that does anything even remotely worthwhile or sophisticated with XBRL is going to need an XBRL processor supporting that functionality. That processor should be fully compliant to the XBRL 2.1 Specification. If it’s not, it really can’t call itself an XBRL processor, and it won’t be able to handle all forms of XBRL thrown at it.

XBRL Software Products and Services

In this section, we dig into the software that makes XBRL do useful things for you. We cover both technical-user software and business-user software. We cover software made available as a product and software made available as a service. We cover commercial products, free software, and open-source software. We include end-user software and middleware. We don’t cover all the existing software applications that make up your current business systems, such as your accounting system, and whether they support XBRL here; we cover only XBRL-specific software.
We also provide the following resources where you can get additional information about software and service products:
XBRL software (Bank of Spain XBRL Wiki): This listing of commercial software products applications is available at www.xbrlwiki.info/ index.php?title=XBRL_Industry_Solutions.
XBRL processors (Bank of Spain XBRL Wiki): This listing (www.xbrl wiki.info/index.php?title=Open_Source_and_XBRL) focuses on XBRL processors, providing both commercial and open-source XBRL processors.
XBRL products and services (XBRL International): This list of products and services (http://xbrl.org/frontend.aspx?clk=SLK&val=9 6) is provided by XBRL International members and appears in alphabetic order by vendor. This list does contain a narrative providing a bit of information about each product or service.
XBRL tools (XBRL International): This list (http://xbrl.org/Tools) of vendors who are members of XBRL International has links to the vendor’s Web site and is categorized by type of product.
XBRL products and services (XBRL U.S.): This long list of products and services(www.xbrl.us/vendors/Pages/default-expand.aspx) provides a bit of an explanation about each product or service. Many products and services are specific to XBRL filings with the U.S. SEC.
We could write an entire topic covering all the products out there, but we don’t have room. So, instead, we list products, include a bit of information, and provide you with a link to more information. We also tell you whether the software is commercial, free, or open source; software as a product or SaaS; and for the business user or the technical user. (We don’t cover U.S. SEC specific software here; see Chapter 13, which is dedicated to meeting the SEC mandate.)

Exploring XBRL processors

Ah, the mighty XBRL processor! Tables 14-1 and 14-2 separate these XBRL processors into fully compliant commercial and open-source categories for your convenience. For XBRL processors, we indicate whether they’re available in Java and Microsoft.Net.
Table 14-1Commercial XBRL Processors
ProcessorWeb SiteFree or FeeVersions
Altova MissionKitwww.altova.com/ solutions/xbrl-tools.htmlFreeMicrosoft.
Net
Batavia XBRL Java Librarywww.batavia-xbrl.comFeeJava
CoreFiling True Northwww.corefiling.com/ products/truenorth. htmlFeeJava, Microsoft. Net, Web service
CoyoteReporting XBRL Runtime Engine and XBRL Cloudwww.xbrlcloud.comFeeJava, Web service
Fujitsu Interstage XWandwww.fujitsu.com/ global/services/ software/interstage/ xwandFeeJava
Hitachi XiRUTE Librarywww.hitachiconsulting. com/xbrl/products.cfmFeeMicrosoft.
Net
Reporting Standard XBRL APIwww.reporting
standard.com/XBRL_
API.xhtml
FeeJava
UBmatrix Processing Enginewww.ubmatrix.com/
products/processing_
engine.htm
FeeJava,
Microsoft.
Net
Table 14-2 provides a list of the open-source XBRL processors. Some of these processors are free; some require you to pay a fee if for commercial use. All make the source code available. License models vary.
Table 14-2Open-Source XBRL Processors
ProcessorWeb SiteDescription
ABRAwww.xbrlopen.orgThe Adaptive Business Reporting Automat (ABRA) publishes an open-source Java XBRL processor under the Apache license model.
Bataviahttp://sourceforge.
net/projects/
batavia-xbrl
The Batavia XBRL Java library exposes an API for XBRL under a AGPL license.
Gepsiohttp://gepsio. codeplex.comThe Gepsio API is a .NET-based document object model for XBRL taxonomies and instances.
Reporting Standardwww.reporting
standard.com/XBRL_
API.xhtml
Under certain conditions, the source code of the XBRL API will be made available.
XBRLAPIwww.xbrlapi.orgXBRLAPI provides an open-source Java implementation of an XBRL processor under the GPL license. Offers only read-only functionality at this point.
XBRL Corehttp://source
forge.net/projects/
xbrlcore
XBRL Core is a set of Java classes for creating, accessing, editing, and validating XBRL instances and taxonomies.
SourceForge has most of these processors. One way to evaluate these XBRL processors is look at the number of downloads from SourceForge to determine which ones are most frequently downloaded and therefore most popular. You can go to http://sourceforge.net/search/?type_of_ search=soft&words=XBRL to run a search on XBRL and to turn up all the XBRL processors available.

Viewing XBRL information

Viewer software allows you to view XBRL taxonomies or XBRL instances. Figure 14-1 shows an XBRL instance viewer you can use to check out XBRL instances filed with the U.S. SEC (see http://viewerprototype1.com/ viewer).
AnXBRL instance viewer application.
Figure 14-1:
AnXBRL instance viewer application.
Neither of these viewers let you edit anything: They’re just for viewing. Taxonomy viewers
XBRL taxonomy viewers are used for, well, viewing the contents of an XBRL taxonomy. Here is a list of XBRL taxonomy viewers:
‘ ABRA XBRL Search: www.abra-search.com/ABRASearch.html
‘ CoreFiling Yeti Explore: www.corefiling.com/products/yeti/ index.html
‘ Fujitsu Taxonomy Viewer: www.fujitsu.com/global/services/ software/interstage/xbrltools/
‘ Semansys Taxonomy Viewer: www.semansys.com/TaxonomyViewer/ index.html
‘ UBmatrix Taxonomy Designer: www.ubmatrix.com/products/ taxonomy_designer.htm
Snappy Reports XBRL Taxonomy Designer: www.snappyreports. com/xbrl_taxonomy_designer.shtml
‘ MetaSphere Taxonomy Guides: www.taxonomyguides.com/

XBRL instance viewers

You can use XBRL instance viewers to look at the contents of an XBRL instance. Here’s a list of XBRL instance viewers:
CoreFiling Touchstone: www.corefiling.com/products/touch stone.html
Fujitsu Instance Dashboard: www.fujitsu.com/global/services/ software/interstage/xbrltools/xbrldashboard.html
Fujitsu Instance Viewer Plugin for Microsoft Internet Explorer: www.
fujitsu.com/global/services/software/interstage/xbrl
tools/xbrlviewerplugin.html
Hitachi Business Reporting Suite: www.hitachiconsulting.com/ xbrl/products.cfm
ReportingStandards XBRL Report Viewer: www.reportingstandard. com/XBRL_Instance_Viewer.xhtml
Rivet Dragon View: www.rivetsoftware.com/Products/Dragon_ View/Default.aspx
Semansys XBRL Reporter: www.semansys.com/xbrl_reporter.html
UBmatrix Taxonomy Designer: www.ubmatrix.com/products/ taxonomy_designer.htm
Xtensible Data iA Viewer: www.xtensibledata.com/portal/ products/ia0

Creating and editing XBRL

Creation tools let you not only view XBRL taxonomies and XBRL instances, but create or edit them as well. Editing includes extending someone else’s XBRL taxonomy. Figure 14-2 shows the UBmatrix tool for creating XBRL taxonomies as an example of what a creation tool might look like.

XBRL taxonomy creators

You can use XBRL taxonomy creators to create a taxonomy from scratch or to extend an existing taxonomy with new concepts, resources, or relations. Here’s a list of XBRL taxonomy creators:
Altova XML Spy:www.altova.com/products/xmlspy/xmlspy.html
CoreFiling SpiderMonkey: www.corefiling.com/products/ spidermonkey.html
Fujitsu Taxonomy Editor: www.fujitsu.com/global/services/ software/interstage/xbrltools/xbrltaxedit.html
Reporting Standard XBRL Taxonomy Builder: www.reporting standard.com/XBRL_Taxonomy_Builder.xhtml
‘ Semansys XBRL Composer: www.semansys.com/composer_wins_ global_contest.html
‘ UBmatrix Taxonomy Designer: www.ubmatrix.com/products/ taxonomy_designer.htm
Snappy Reports XBRL Taxonomy Designer: www.snappyreports. com/xbrl_taxonomy_designer.shtml

XBRL instance creators

You can use XBRL instance creators to create XBRL instances, as you might expect. XBRL instance creators sometimes provide you with the ability to edit XBRL taxonomies. Here’s a list of XBRL instance creators:
Altova XML Spy:www.altova.com/products/xmlspy/xmlspy.html
Allocation Solutions DataXchanger: www.allocationsolutions. com/products.html
CoreFiling ReportDirect: www.corefiling.com/products/report directdatasheet.pdf
CoyoteReporting XBRL Report Runner: www.coyotereporting.com/ products.html
Fujitsu Instance Creator: www.fujitsu.com/global/services/ software/interstage/xbrltools/xbrlinscreate.html
Hitachi XBRL Business Reporting Suite: www.hitachiconsulting. com/xbrl/products.cfm
Just Systems xfy: http: //na.justsystems.com/content-xfy-and-xbrl
NeoClarus iFile: www.neoclarus.com
Reporting Standard XBRL Report Editor: www.reportingstandard. com/XBRL_Report_Editor.xhtml
Rivet Dragon Tag: www.rivetsoftware.com/Products/Dragon_ Tag/Default.aspx
Semansys XBRL Reporter: www.semansys.com/xbrl_reporter.html
Snappy Reports Heartbeat Reports: www.snappyreports.com/xbrl_ products_regulatory.shtml
UBmatrix Report Builder RBME: www.ubmatrix.com/products/ report_builder.htm
XBRLit: www.xbrlit.com
Xtensible Data iF: www.xtensibledata.com/portal/products/if
AnXBRL taxonomy creation application.
Figure 14-2:
AnXBRL taxonomy creation application.

Analyzing XBRL information

XBRL analysis software generally enables you to view one or more XBRL instances for the purposes of analyzing the data contained within those XBRL instances. You’ll most likely want to look at the related XBRL taxonomy information when you perform this analysis. Here are examples of analysis software:
‘ Altova MapForce: www.altova.com/products/mapforce/xbrl_ mapping.html
‘ Edgar-Online I-Metrix Professional: www.edgar-online.com/ OnlineProducts/IMetrixProfessional.aspx
‘ Fujitsu Instance Dashboard: www.fujitsu.com/global/services/ software/interstage/xbrltools/xbrldashboard.html
‘ Microsoft FRx: www.microsoft.com/frx/using/XBRL.mspx
‘ Quantrix Modeler: www.quantrix.com/QuantrixandXBRL.pdf
‘ Rivet Crossfire Analyst: www.rivetsoftware.com/Products/ Crossfire/Default.aspx
‘ SavaNet Analyst: www.savanet.com/AboutAnalyst.aspx

Other XBRL-related tools and services

A plethora of other products will likely emerge as a consequence of XBRL’s broad use. For example, clearly seeing changes that occurred between two versions of a taxonomy is beneficial to those creating XBRL instances, analysts, and taxonomy users as well. We mention the different tasks you’ll likely need software to help you with when working with XBRL. That said, it’s worth mentioning a few other software product categories:
Versioning: As XBRL taxonomies change, you need to be able to see changes to the taxonomies. These taxonomy changes will impact XBRL instances where one instance is created using one taxonomy and another instance is created using a newer version of the same taxonomy.
Data storage: All this XBRL data needs to be stored somewhere. Up to a point, storing XBRL instances as files on a hard drive works fine. For example, consider the U.S. SEC’s use case. About 15,000 companies, and they’re doing how many filings per year? Say that the SEC receives about 7 million documents a year. How well will a query of information in individual files perform when you want to do a comparison?
Business rules editor: Business rules are great, but someone needs to create those rules. Taxonomy creators may include that functionality, but you may not need a full-fledged taxonomy editor to create business rules using XBRL Formula.
Standalone validators: Many software applications have validators built in, but on some occasions, you may need only a standalone validator.
Rendering tools: Humans need to read XBRL instance information, no doubt about that. You can take many approaches to rendering information, and many tools will do everything from basic renderings of information all the way to glossy reports of the information contained within an XBRL instance.
Mapping tools: Users will undoubtedly need to map metadata of one source to another source, and XBRL may be on one side or both sides of the operation.
Search tools: Perhaps a special category of tool, but XBRL search will be quite useful, especially if you have to scan 7 million documents or search the entire Internet for XBRL information. (We’re sorry to say that we don’t know of any XBRL search tools at the current time, but we feel that they’re likely to be developed in the future.)
Enterprise XBRL Server Systems: These systems are complete XBRL solutions.

Mapping software

Mapping software allows you to map XBRL information to some other source or destination or to map some other source or destination to XBRL. For example, a Microsoft Excel spreadsheet may be either a source for XBRL instance information or a destination for XBRL instance information that you’re using for analysis. Anything can be a source or a destination really. Mapping is how you get the XBRL into or out of the source/destination.
Here are some of the mapping software products available:
Altova MapForce: www.altova.com/products/mapforce/data_ mapping.html
Fujitsu Mapping Tool: www.fujitsu.com/global/services/ software/interstage/xbrltools/xbrlmapping.html
Reporting Standard XBRL Mapper: www.reportingstandard.com/ XBRL_Mapper.xhtml
Allocation Solutions DataXchanger: www.allocationsolutions.com/
Snappy Reports Tagging and Mapping: www.snappyreports.com/ xbrl_tagging_mapping.shtml

Standalone validation tools

Taxonomy and instance creators and viewers often have built-in validation capabilities. But sometimes you may need XBRL validation tools separate from creation or viewer tools (see Chapter 15). Many people can and will write macros to generate XBRL in this manner. But recreating an XBRL validation with a macro is way beyond most people’s skill levels and an unnecessary duplication of functionality. Simply use a standalone validator.
Here’s a list of standalone XBRL taxonomy and XBRL instance validation tools:
‘ Altova XML Spy: www.altova.com/xbrl.html
‘ CoyoteReporting XBRL Cloud: www.xbrlcloud.com
‘ DecisionSoft TrueNorth: www.corefiling.com/products/true north.html
‘ Fujitsu Validator: www.fujitsu.com/global/services/software/ interstage/xbrltools/xbrlval21.html
‘ UBmatrix Taxonomy Designer: www.ubmatrix.com/products/ taxonomy_designer.htm

XBRL databases

These tools manage, store, and query XBRL taxonomy and XBRL instance information:
‘ Reporting Standard XBRL Database: www.reportingstandard.com/ XBRL_Database.xhtml
‘ UBmatrix Database Adaptor: www.ubmatrix.com/products/data base_adaptor.htm

Enterprise solutions

Several solutions for building enterprise scale applications make use of XBRL, and you can use this software in conjunction with your existing business systems, adding XBRL functionality to those existing systems. Here’s a list of enterprise solutions:
CoyoteReporting XBRL Cloud: www.xbrlcloud.com
CoreFiling True North Enterprise: www.corefiling.com/products/ truenorth.html
Fujitsu Interstage XWand: www.fujitsu.com/global/services/ software/interstage/xwand
Hitachi Business Reporting Processor: www.hitachiconsulting. com/xbrl/products.cfm
Snappy Reports Enterprise Network: www.snappyreports.com/ xbrl_enterprise_network.shtml
Reporting Standard XBRL Enabled Portal: www.xbrl4.org/ regulators
UBmatrix Enterprise Application Suite: www.ubmatrix.com/ products/enterprise_application_suite.htm

Discovering Software Applications

That Support XBRL

These software applications include XBRL support. We can’t list all of them, but these applications are worth mentioning so that you can get an idea of the types of business solutions that will eventually support XBRL:
Clarity Systems Clarity FSR: www.claritysystems.com/Product/ FSR.aspx
Microsoft FRx: www.microsoft.com/frx/using/XBRL.mspx
Oracle-Hyperion Financial Reporting Manager: www.oracle.com
SAP Enterprise Performance Management: www.sap.com/solutions/
sapbusinessobjects/large/enterprise-performance-
management/index.epx
Wolters Kluwer Accounting Software: www.ubmatrix.com/ downloadsZWolters_Kluwer_Business_Brief.pdf

Finding XBRL Professional Services

Need a hired gun? Various organizations these days provide XBRL consulting services. Many of these professional services are provided by software vendors who have built XBRL software infrastructure. These software vendors leverage their products, provide consulting services, find out more about what people are doing with XBRL, and improve their products. Here are some of the major XBRL hired guns:
‘ Business Reporting Advisory Group: www.br-ag.eu
‘ CoreFiling: www.corefiling.com/services/index.html
‘ Deloitte: www.deloitte.org/dtt/section_node/0,1042, sid%253D195357,00.html
‘ Ernst & Young: www.ey.com/xbrl
‘ Fujitsu: www.fujitsu.com/global/services/software/ interstage
‘ Hitachi:www.hitachiconsulting.com/xbrl/products.cfm
‘ IRIS: www.irisindia.net/xbrl/index.php
KPMG: www.kpmg.com/Global/WhatWeDo/Audit/Pages/ services.aspx
‘ NTT Data: www.nttdata.co.jp/en/media/2009/012200.html
‘ PricewaterhouseCoopers: www.pwc.com/extweb/service.nsf/doc id/8e1b9 0 90174497ba85256bf10 03 8d5d7
‘ UBmatrix: www.ubmatrix.com/products/targeted_solutions.htm
‘ XBRLit: www.XBRLit.com
Many of these professional services providers partner with other professional services firms to provide specific types of targeted solutions.

Discriminating Between XBRL Tools

When looking for XBRL software, keep the following points in mind as you try to determine the differences between the software applications:
Build or buy — know where to draw the line. It’s perfectly appropriate at times to generate XBRL from whatever means and then validate the XBRL you created with a standalone validator. For example, Microsoft Excel macros are a great tool for generating XBRL. A typical software program to generate XBRL is generally less than 500 lines of code (see Chapter 15). However, that number doesn’t include code to validate the XBRL. No problem: Just use a standalone validator or use a validation Web service within your spreadsheet application. You can easily make many applications generate XBRL one way or another. Build the easy-to-create components; buy the more complex and specialized pieces. Evaluate tools based on the value they add to your complete solution.
Look for fully conformant XBRL processors. The XBRL Specification has a definition of a fully conformant XBRL processor. This is what you want: Be sure to ask your software vendor whether it provides a fully conformant processor. Not all software supports all aspects of XBRL.
Look for support for XBRL modules. Be sure the software you’re considering supports the XBRL modules you need. (See Chapter 16 for an explanation of the different XBRL modules.) In particular, you’ll most likely want support for XBRL Dimensions and XBRL Formula in most software. But you may need even more.
Ask specifically which XBRL conformance suites the software passes.
XBRL International provides several conformance suites that help ensure software interoperability. Ask your software vendor which of the XBRL International conformance suites they pass. XBRL 2.1 Specification, XBRL Dimensions, XBRL Formula, FRTA, and FRIS each have a conformance suite. (See Chapter 3 for more information.)
Make the software vendor prove that it can meet your needs. Use sample XBRL taxonomies and XBRL instances (see Chapters 2 and 17) as use cases to see whether the software applications will actually do what you need them to do. See with your own eyes whether software really works. This up-front investment can save you a lot of frustration down the road.
Keep looking around. Remember that XBRL is still maturing. As time goes on, more software becomes available. The more the business community experiments with XBRL, the better the software will get. Keep checking those lists we provide in the section “Exploring the Different Categories of XBRL Software Products and Services,” earlier in this chapter.
Seek integrated software. Keep the notion of integrated software in your mind as you look at XBRL software. By integrated software, we mean that all the functionality you need for performing a specific task is within one software application so that you don’t have to switch between multiple applications. For example, when you create an XBRL instance and you can’t extend your XBRL taxonomy within the XBRL instance-creation tool, you’ll understand what we mean. Also, how integrated is the software, or how well can the software be integrated into your existing systems? How well does the software provide all the workflow components you need within that software product? Having islands of XBRL information in different applications that you have to flip between to do your work is something you want to avoid.
Build a prototype. Probably the best advice we can provide is to start a prototype or proof of concept project, which will help you actually use software. Most software these days is available for a trial period. Get several different software products and try them out if you have the time. Start small and then get larger.
Compare notes with others. Talk to others who are using the software you’re considering. This step may take time, but it will save pain and suffering later. A great place to talk to people is at an XBRL conference. More and more people are using XBRL these days; seek them out and pick their brains.
Look for support. When you evaluate software, you definitely want to evaluate the support you’ll be receiving as part of the software license agreement. Support for XBRL software is no different than support for the other software products that you have; the same support evaluation criteria applies here to XBRL software.

Finding the Right Products and Services

Caution is in order when looking for XBRL software these days. Like a cowboy in the American wild, wild, west, you need to be a careful. The explosive growth of XBRL means an explosive growth of those trying to capitalize on the XBRL opportunity. Not all XBRL software is equal.
The lists of software vendors in this chapter contain a lot of good software. Those vendors are good places to start your efforts to find the software that will potentially meet your needs. This chapter also has great ideas that help you figure out whether software is right for you. With those two pieces of information, all you need to do is the legwork that’s necessary to reach the right conclusions.
If you don’t want to go through this effort, find a consultant who will do the legwork for you. Or, because more and more people want XBRL software, you’ll likely soon be able to find some articles doing comparisons to help you figure this out. We’re not aware of any such comparisons that exist as of this writing, but it’s a good bet that they’ll begin to appear.