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
- render forms
- 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:
- Form 1: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_1.zip
- Form 1F: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_1F.zip
- Form 1 3Q Electric: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_3Q_Electric.zip
- Form 2: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_2.zip
- Form 2A: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_2A.zip
- Form 2 3Q Gas: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_3Q_Gas.zip
- Form 6: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_6.zip
- Form 6Q: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_6Q.zip
- Form 60: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_60.zip
- Form 714: http://github.com/xbrlus/ferc-renderer/raw/2024/RenderingTemplates_Form_714.zip
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