XBRL GL Data Definition File (DDF) Providing “XBRL GL-Colored Glasses” to Common Text Formats Why DDF? • 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 Scenario 1 • 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 Scenario 2 • 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 Scenario 3 • Audit Data Standard – Providing interoperability between • Tab-delimited format, and • XBRL GL Scenario 4 • 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! DDF Uses XBRL GL To Define Data in Other Formats • Information about batch of information • Mappings from text file “fields” to XBRL GL • Mappings from text file content to XBRL GL enumerations, where appropriate Inspired by Excel, Access, MapForce Delimited vs Fixed Length ASCII 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 CSV vs Fixed-Length ASCII 1, 1 “Bob”, “Dec. 1, 2099”, “Burled Walnut”, 2 3 500 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 Sample Process 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-012001||50000|100000|0.02|10|||ABC|EEC|Jan-01-2001|Arnold Aultfatheremail@example.com It is a delimited file, with the pipe (|) delimeter There is a header row The first field is Customer_Account_ID Sample DDF Content <?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> … DDF XML Schema Vendor Support - Iphix Vendor Support - XWand Vendor Support - XWand (Cont.) 1. Setup Vendor Support – XWand (Cont.) 2. Select DDF, source (text) data Vendor Support – XWand (Cont.) 3. Reap XBRL GL Possible Additional Uses • Description and documentation • Conversion • Storing meta-mappings – Use as source to Altova MapForce for creating MapForce Mappings – “command-line” map creation Questions?