Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
ESEF data consumption with Arelle
Herm Fischer
Mark V Systems Limited
5 July 2021
open source xbrl platform
Contents
• Arelle community
• Validation
• ESEF processing
• Integration
• XBRL database
• Taxonomy creation/extension
Community
• Authorities and Filing providers • Embed/Integrate Arelle into own environment (usually for validation)
• Certification with embedded validator component
• Standards developers • Rapid prototype and open source reference
• Track in-development XII features
• Individual users
• Academia
Features
• Certified XBRL Validator • ESEF Reporting Manual and EU RTS
• Includes XBRL Formula, XULE and OIM
• Other authorities (CIPC, EDGAR, GFM, HMRC, ROS, SBRnl)
• Local and server viewing support • SEC EDGAR ix viewer
• Workiva iXBRL Viewer
• Plugin architecture • Receiving authorities, Filing providers, end users
ESEF RTS and Reporting Manual support
• RTS and ESEF Reporting Manual validations • Consolidated reports (inline XBRL)
• Non-consolidated reports (html)
• Conforms to ESEF test suite
ESEF Validation for Desktop use
https://arelle.org/arelle/documentation/esma-esef-installation/
Interactive viewers Workiva iXBRL Viewer
SEC EDGAR ix viewer
Desktop viewing
Command line & web API
python3.9 arelleCmdLine.py --plugins validate/ESEF --disclosureSystem esef -v -f …/tests/G2-1-2/TC2_invalid.zip
API: http://localhost:8080/rest/xbrl/validation?plugins=validate/ESEF&disclosureSystem=esef&file=.../tests/G2-1-2/TC2_invalid.zip
Message:
[ESEF.2.1.2.periodWithTimeContent] The xbrli:startDate, xbrli:endDate and xbrli:instant elements MUST identify periods using whole days (i.e. specified without a time content): E2017, E2017_IssuedCapitalAndSharePremium Member, … - abc-2019-12-31.xhtml 50, …
Programmatic interface
• Java Process p = r.exec(cmdLine); InputStream in = p.getInputStream(); BufferedInputStream buf = new BufferedInputStream(in); InputStreamReader inread = new InputStreamReader(buf); BufferedReader br = new BufferedReader(inread); String line; while ((line = br.readLine()) != null) { System.out.println(line); }
• C# • Process, StartInfo, and Standard Output results in XML or JSON
Interfaces for other tools
• Fact tables, fact lists, taxonomy views
• Extracted xBRL-XML, -JSON, -CSV instance documents
• Usable from desktop (save-as, right-click to clipboard)
• Usable from command line and rest API
Use in commercial environments
• License encourages commercial integration (Apache-2)
• DIY or contracted
• Arelle and viewers integrate as
• Python, Java and C# environments
• Web service REST api
• Built-in lightweight server
• Apache or IIS for serious usage
• Rendered output can be
• Locally viewed in GUI
• Returned as secure zip result
• Integrated in web interface
Workflow integration
• Authorities and preparers have embedded Arelle • Validator
• Rendering (e.g., EDGAR)
• Database access (e.g., interfaces used by authorities)
Receipt: validation, rendering
XBRL Reports
Attachments
Internal Databases
Website: public access
Filer
Public Databases
Arelle
ESEF use
• Load inline XBRL into object model • Map html to XBRL elements within object model
• Submission validation • Single or multiple target validations (e.g. DK)
• Filer Manual validation (primary target)
• Viewer and Rendering Support • SEC EDGAR and Workiva viewers
• Dissemination preparation (zip, save xBRL-XML, -JSON, -CSV)
Arelle processing for EDGAR
Filer Preparation
Previewing
EDGAR Validation
EDGAR Headers DB
EDGAR Dissemination
Web and FTP Sites Public
Website
XBRL, DQC Validation
XBRL, Inline Validation, Rendering
Inline extration, dissemination
Public database, DQC validation
Arelle Database
• History • XII Abstract Model -> XII OIM 2017 -> XII OIM REC (soon we hope)
• Multiple databases (SQL-pg, -ms, -my, -lite; Graph DB, RDF DB)
• Current • Abstract Model of taxonomy, OIM/2017 model of data, SQL-pg
• Extensible architecture • Core model
• Domain/authority extensions (SEC, xdc, china)
Creating/extending taxonomies
• Arelle can use Excel to create core or extension taxonomies