open source xbrl platform · 2021. 7. 5. · •ESEF Reporting Manual and EU RTS •Includes XBRL...

Post on 07-Aug-2021

1 views 0 download

transcript

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