Providing “XBRL GL-Colored Glasses” to Common Text Formats
• Helping more people benefit from XBRL GL
– XBRL GL is more than an export format
– It is a model and framework for describing data
– DDF lets us extend the model to non-XBRL information
• Formalizing the description of text files
– There are times when describing a text file will help
• Understand the text file
• Facilitate the conversion of the text file to XBRL GL
• Permit the more standardized transfer of simple text files
• Facilitate validation of text files
• V1 Focus: “CSV” (delimited) and Fixed-Length ASCII
• V2 - : Binary formats (Excel, Oracle …), XML formats
• XYZ Company’s ERP system can create delimited files
• XYZ Company wishes to provide the exported file to a third party who can receive XBRL GL
• XYZ Company provides their delimited file plus a DDF file to an intermediary, who can now convert the file to XBRL GL
• Auditor wishes smallest possible extract from
1 TB company database
– CSV = 100 MB
– XBRL GL = 400 MB
• Auditor also wants to know what the file represents
• DDF file accompanies CSV, adds negligible size, defines content for automated testing
• Audit Data Standard
– Providing interoperability between
• Tab-delimited format, and
• XBRL GL
• A wide variety of software products can turn formatted (“printed to disk”) reports into data
– Statistical
• SAS
– Audit
• ACL
• Caseware
• Generic
– Monarch
– Altova FlexText
• Why not make it simple to convert information from non-accounting applications?
• Turns non-accounting software into accounting software!
• Information about batch of information
• Mappings from text file “fields” to XBRL GL
• Mappings from text file content to XBRL GL enumerations, where appropriate
Common:
Is there a header row?
What format is used for dates?
Delmited (a.k.a CSV):
What delimiter is used between facts?
What enclosure is used for text, if any?
Selection by order
Fixed length ASCII:
Is there a fixed record length worth checking?
Selection by starting position and length
1, “Bob”, “Dec. 1, 2099”, “Burled Walnut”, 500
1 2 3 4 5
The number 500 is the fifth item in this record.
1 BOB DEC 1, 2099 BURLED WALNUT 500
12345678901234567890123456789012345678901234567890123456789012345678901234
1 2 3 4 5 6 7
The number 500 starts at the 72nd character and is 3 characters long
Customer_Account_ID|Customer_Account_Name|Customer_Physical_Street_
Address1|Customer_Physical_Street_Address2|Customer_Physical_City|Custo mer_Physical_State_Province|Customer_Physical_ZipPostalCode|Customer_P hysical_Country|Customer_TIN|Customer_Billing_Address1|Customer_Billing_
Address2|Customer_Billing_City|Customer_Billing_State_Province|Customer_
Billing_ZipPostalCode|Customer_Billing_Country|Active_Date|Inactive_Date|T ransaction_Credit_Limit|Overall_Credit_Limit|Customer_Terms_Percentage|C ustomer_Terms_Days|Last_Modified_Date|Last_Modified_By|User_ID|Appro ved_By|Entry_Date|PrimaryContact_Name|PrimaryContact_Phone|PrimaryC ontactEmail
AAA|Arnold's Amazing Anteaters|100 Pastoral
Lane||Akron|OH|12345|USA|16-4876544|100 Pastoral
Lane||Akron|OH|12345|USA|Jan-01-
2001||50000|100000|0.02|10|||ABC|EEC|Jan-01-2001|Arnold
Aultfather|+1-616-234-9090|aa@arnoldsamazing.com
It is a delimited file, with the pipe (|) delimeter There is a header row
The first field is Customer_Account_ID
<?xml version="1.0" encoding="UTF-8"?>
<ddf:xbrl-gl …>
<ddf:documentInfo>
<ddf:fileType>delimited</ddf:fileType>
<ddf:delimeter>|</ddf:delimeter>
<ddf:firstLineHeader>true</ddf:firstLineHeader>
</ddf:documentInfo>
<ddf:entryMaps>
<ddf:entryMap>
<ddf:xbrlElement>gl-cor:identifierCode</ddf:xbrlElement>
<ddf:fieldName>Customer_Account_ID</ddf:fieldName>
<ddf:additionalConstraint>…</ddf:additionalConstraint>
<ddf:csvInfo>
<ddf:order>1</ddf:order>
</ddf:csvInfo>
</ddf:entryMap> …
1. Setup
2. Select DDF, source (text) data
3. Reap XBRL GL
• Description and documentation
• Conversion
• Storing meta-mappings
– Use as source to Altova MapForce for creating
MapForce Mappings – “command-line” map creation