Skip to content

FERC Renderer and Validation - XULE reference implementation (2024 taxonomies)

Latest
Compare
Choose a tag to compare
@davidtauriello davidtauriello released this 30 Apr 16:28
· 2 commits to master since this release

This release is for filings using the 2024 FERC Taxonomies only.

These resources work with the FERC Render and Validate plugins in XULE up to 23722 and the open source Arelle processor up to 2.23.1 to

  1. render forms
  2. validate instances

Reference code for rendering instances with later versions of XULE is available at https://github.com/xbrlus/ferc-xendr-rulesets

Reference code for compiling validations with later versions of XULE is available at https://github.com/xbrlus/ferc-validation-rulesets

The Xule engine and FERC plugins are no longer maintained in this repository - these materials can be downloaded from the XBRL US XULE repository. The FERC plugins require Python 3.10 or later and is not compatible with earlier versions of Python.

This release includes sample instances to test the renderer.

Rendering a Filing

A file is rendered as a FERC form by providing the FERC renderer with the XBRL Instance document and a template set. The renderer takes the instance and the template set and generates an inline XBRL file formatted as a traditional FERC form. This document is not filed with the FERC but is used as a tool by filers and users to make the filing human readable. This file can be used for reviewing the actual filing in a familiar format.

The FERC publishes different template sets for each form, including different template sets for annual and quarterly filings. Depending on the form and form period being reported a different template set should be used.

In addition the FERC publishes separate template sets for individual schedules. This means a single schedule can be rendered for review rather than rendering the entire form.

The latest templates for rendering are posted in this repository and linked under 'Assets' below for this release. The templates can also be used from this repository with the Arelle command below as the ferc-render-template-set parameter:

Command line instructions to render the filing

The command to generate a rendered filing is as follows (exclude the {location} text - this is illustrative of which file is referenced):
python3 Arelle-master/arellecmdline.py --plugin FERC/render --ferc-render-render --ferc-render-template-set {location of template}http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_1.zip --packages {location of taxonomy as .zip}/TaxonomyFile_Form1_v2022-01-01.zip -f {location of instance}http://github.com/xbrlus/ferc-renderer/raw/2024/Sample_Form_1.xbrl' --ferc-render-inline {location of output}/Form_1_Rendered.html --noCertificateCheck --ferc-render-debug

NOTE: use the --packages switch in the command to load the taxonomy from a location on the computer's hard drive. The latest taxonomy .zip files can be downloaded from https://ecollection.ferc.gov/taxonomyHistory and are also available in the FERC-zips subfolder of this release/repository.

The command above will refer to an external CSS file in the template. To include the css file in the rendered file the following options are used:

--ferc-render-css-file = FERC_RENDER_CSS_FILE

                Identify the CSS file that sould be used. This will
                overwrite the name of the CSS file that is included in
                the template set.

--ferc-render-inline-css

                Indicates that the CSS should be inlined in the
                generated HTML file. This option must be used with
                --ferc-render-css-file.

These two options should be used by default. To include FERC rendering CSS styles from the template in the head your rendered HTML, use --ferc-render-css-file = form-template.css along with the --ferc-render-inline-css command. Excluding the --ferc-render-inline-css will generate a separate CSS file linked within the HTML. All FERC rendering templates use form-template.css as the default name for CSS files.

Command line instructions to render the HTML without an instance and with the default CSS file included in the HTML file

.\arellecmdline.exe --plugin FERC/render --ferc-render-render --ferc-render-template-set https://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_1.zip -f https://ecollection.ferc.gov/taxonomy/form1/2024-04-01/form/form1/form-1_2024-04-01.xsd --ferc-render-css-file {Location of CSS - this is in Arelle's FERC plugin folder}plugin/FERC/form-template.css --ferc-render-inline-css --ferc-render-inline {Location of output}`/inline.html --noCertificateCheck --ferc-render-debug

Command line instructions to validate a Filing

FERC forms are validated during the submission process with a series of checks. The latest validations can also be downloaded from the repository's 'source/ValidationRulesets_source' subdirectory or as a .zip linked under 'Assets' below for this release and invoked as .zip files using Arelle and the xule processor version 3.0.23604. The command to validate a filing is as follows (exclude the {location} text - this is illustrative of which file is referenced):

.\arellecmdline.exe --plugins xule --xule-rule-set {location of form ruleset}/Form1.zip -f {location of instance}/sampleF1.xbrl -v --xule-time .005 --xule-debug --noCertificateCheck --logFile {location of output}/log.xml

Like the rendering templates, the validation ruleset.zip files can be invoked from the repository by using the raw location in GitHub in the URL:

.\arellecmdline.exe --plugins xule --xule-rule-set {location of validation .zip}http://github.com/xbrlus/ferc-renderer/raw/2024/ValidationRuleset_Form1.zip -f {location of instance}/sampleF1.xbrl -v --xule-time .005 --xule-debug --noCertificateCheck --logFile {location of output}/log.xml