To render forms using the Arelle processor, the XULE plugin and FERC render plugin are used.
plugin/xule
folder and files and plugin/FERC
folder and files to the plugin directory of Arelle in your environment (if prompted, overwrite files in the existing xule subfolder). In a Windows environment, this would be located on a path similar to C:\Program Files\Arelle\plugin; on a Mac, the location would be at /Applications/Arelle.app/Contents/MacOS/plugin. arelle/plugin
in the source distribution. For step 2, add the xule and FERC folders and files to the arelle/plugin
folder.The FERC plugin requires Python 3.10 or later and is not compatible with earlier versions of Python.
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 familar format.
The FERC publihes 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 seperate template sets for individual schedules. This means a single schedule can be rendered for review rather than rendering the entire form.
The templates can also be used from this repository with the Arelle command below as the ferc-render-template-set parameter:
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}https://github.com/xbrlus/ferc-renderer/raw/master/RenderingTemplates/Form_1.zip -f {location of instance}/sample.xbrl' --ferc-render-inline {location of output}/sample-combined.html --noCertificateCheck --ferc-render-debug
This 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.
.\arellecmdline.exe --plugin FERC/render --ferc-render-render --ferc-render-template-set https://github.com/xbrlus/ferc-renderer/raw/master/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}form-template.css --ferc-render-inline-css --ferc-render-inline {Location of output}/inline.html --noCertificateCheck --ferc-render-debug
FERC forms are validated during the submission process with a series of checks. These validations can also be downloaded from the repository's `ValidationRulesets' directory and invoked as .zip files using Arelle and the xule processor version 3.0.23570 or later. 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/
attribute in the URL:
.\arellecmdline.exe --plugins xule --xule-rule-set https://github.com/xbrlus/ferc-renderer/**raw/** master/ValidationRuleset_Form1.zip -f {location of instance}/sampleF1.xbrl -v --xule-time .005 --xule-debug --noCertificateCheck --logFile {location of output}/log.xml