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 ASCII1, “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 50012345678901234567890123456789012345678901234567890123456789012345678901234 1 2 3 4 5 6 7
The number 500 starts at the 72nd character and is 3 characters long
Sample ProcessCustomer_Account_ID|Customer_Account_Name|Customer_Physical_Street_Address1|Customer_Physical_Street_Address2|Customer_Physical_City|Customer_Physical_State_Province|Customer_Physical_ZipPostalCode|Customer_Physical_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|Transaction_Credit_Limit|Overall_Credit_Limit|Customer_Terms_Percentage|Customer_Terms_Days|Last_Modified_Date|Last_Modified_By|User_ID|Approved_By|Entry_Date|PrimaryContact_Name|PrimaryContact_Phone|PrimaryContactEmailAAA|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|[email protected]
There is a header rowIt is a delimited file, with the pipe (|) delimeter
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
Demonstration
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?