Command Line Operation

Running Arelle on the Command Line:

Method or System

Command

Python source code

python arelleCmdLine.py [arguments]

Windows x64 or 32 bit

"c:\Program Files\arelleCmdLine.exe" [arguments]

MacOS App

/Applications/Arelle.app/contents/MacOS/arelleCmdLine [arguments]

Linux/Unix

./arelleCmdLine [arguments]

Arguments

General Arguments

Flag

Description

-a or --about

Prints build, copyright, and license information then exits

-h or --help

Prints help message and exits

--diagnostics

Prints diagnostic information

--version

Prints Arelle’s version number and exits

Input File Arguments

Flag

Description

-f FILE or
--file FILE

The FILE for Arelle to process.
The FILE may be an entry point to be loaded, instance, schema, linkbase, inline XBRL instance, testcase file, or testcase index file.
The FILE may be local or a URL to a web-located file.

--username USERNAME

The USERNAME if needed (with the password flag) for web file retrieval .

--password PASSWORD

The PASSWORD if needed (with username flag) for web file retrieval.

-i FILE or
--import FILE

Imports a v to the DTS, such as additional formula or label linkbases.
FILE may contain multiple files separated by the | character.

-d DTS or
--diff DTS

Compares a second DTS for versioning report generation.
The -f file is the fromDTS and the -d DTS is the toDTS.

-r FILE or
--report FILE

Saves the versioning report (with the diff flag) to the specified FILE.

Validation Arguments

Flag

Description

-v or --validate

Validate the file according to the entry file type.
For an XBRL file, it is validated according to XBRL validation 2.1
Performs calculation linkbase validation if either --calcDecimals or --calcPrecision are specified
Performs SEC EDGAR Filing Manual validations (if --efm selected)
Performs Global Filer Manual disclosure system validation (if --gfm=XXX selected).
If a test suite or testcase, the test case variations are individually so validated.
If formulae are present they will be validated and run unless --formula=none is specified.

--noValidateTestcaseSchema or
--novalidatetestcaseschema

Validate testcases against their schemas.

--calc=CALCS

Specify calculations validations:
CALCS can be one of:
none – no calculations validation.
c10 or xbrl21 – Calc 1.0 (XBRL 2.1) calculations.
c10d or xbrl21-dedup – Calc 1.0 (XBRL 2.1) calculations with de-duplication
c11r or round-to-nearest – Calc 1.1 round-to-nearest mode
c11t or truncation - Calc 1.1 truncation mode

--calcDecimals or
--calcdecimals

DEPRECATED - XBRL v2.1 calculation linkbase validation inferring decimals.

--calcPrecision or
--calcprecision

DEPRECATED - pre-2010 XBRL v2.1 calculation linkbase validation inferring precision.

--calcDeduplicate or
--calcdeduplicate

DEPRECATED - de-duplication of consistent facts when performing calculation validation, chooses most accurate fact.

--efm

Select Edgar Filer Manual (U.S. SEC) disclosure system validation (strict).

--efm-skip-calc-tree

Skip walking of calculation tree during EFM validation.

--disclosureSystem=NAME or
--disclosuresystem=NAME

Specify a disclosure system, and enable disclosure system-specific validation.
Enter --disclosureSystem=help for list of names or help-verbose for list of names and descriptions.

--hmrc

Select U.K. HMRC disclosure system validation.

--utr

Select validation with respect to Unit Type Registry.

--utrUrl=UTRURL or
--utrurl=UTRURL

Used with --utr flag. Override disclosure systems Unit Type Registry.
UTRURL is the location (URL or file path).

--infoset

Select validation with respect testcase infosets.

Output Arguments

These arguments can override the system language settings for the output options below.

Flag

Description

--labelLang=LABELLANG or
--labellang=LABELLANG

provides an xml:lang language code to override the system language settings for labels output by the following file options, e.g. --labelLang=en-US

--disableRtl

Disable reversing string read order for right to left languages, useful for some locale settings

--labelRole=LABELROLE or
--labelrole=LABELROLE

overrides the standard XBRL 2.1 label role for the labels output by the following file options.
e.g. --labelRole=http://www.xbrl.org/2003/role/terseLabel

The following file options determine the type of file saved by the extension of the file name, the extension may be any of: .html, .htm, .xhtml, .json or .csv

Flag

Description

--DTS=DTSFILE or
DEPRECATED --csvDTS=DTSFILE

Write DTS tree into DTSFILE. May be .csv or .html.

--facts=FACTSFILE or
DEPRECATED --csvFacts=FACTSFILE

Write fact list into FACTSFILE.

--factListCols=FACTLISTCOLS

Columns for fact list file.
The FACTLISTCOLS are comma separated and can be any of these: Label, Name, contextRef, unitRef, Dec, Prec, Lang, Value, EntityScheme, EntityIdentifier, Period, or Dimensions.
The default columns list is Label,contextRef,unitRef,Dec,Prec,Lang,Value.

--factTable=FACTTABLEFILE or
DEPRECATED --csvFactTable=FACTTABLEFILE

Write fact table into FACTTABLEFILE

--factListCols=FACTLISTCOLS

Columns for fact list file

--factTable=FACTTABLEFILE or
DEPRECATED --csvFactTable=FACTTABLEFILE

Write fact table into FILE FACTTABLEFILE

--factTableCols=FACTTABLECOLS

Columns for fact table file

--concepts=CONCEPTSFILE or
DEPRECATED --csvConcepts=CONCEPTSFILE

Write concepts into CONCEPTSFILE

--pre=PREFILE or
--csvPre=PREFILE

Write presentation linkbase into PREFILE

--table=TABLEFILE or
--csvTable=TABLEFILE

Write table linkbase into TABLEFILE

--cal=CALFILE or
--csvCal=CALFILE

Write calculation linkbase into CALFILE

--dim=DIMFILE or
--csvDim=DIMFILE

Write dimensions (of definitions) into DIMFILE

--anch=ANCHFILE

Write anchoring relationships (of definition) linkbase into ANCHFILE
The wider-narrower hierarchy is shown in a tree view.
For each anchored concept, if there are multiple parent (wider) concepts, the others are shown in a second column, “wider”.
To additionally show name, documentation, and references on this view, specify one or all of --relationshipCols “Name,Documentation,References”

--formulae=FORMULAEFILE or
--htmlFormulae=FORMULAEFILE

Write formulae linkbase into FORMULAEFILE

--viewArcrole=ARCROLE or
--viewarcrole=ARCROLE

Store relationships for the ARCROLE in the file specified by --viewFile argument.

--viewFile=FILE

Specifies the file to store the --viewArcrole relationships.

--roleTypes=FILE

Store defined role types in specified FILE

--arcroleTypes=FILE`

Store defined arcrole types in specified FILE

--testReport=FILE

Write a test report of validation (of test cases) in specified FILE

--testReportCols=REPORTCOLS

Used with --testReport argument. Specifies columns for test report.
REPORTCOLS are comma separated and can be any of these: Index, Testcase, ID, Name, Reference, ReadMeFirst, Status, Expected, Actual“.

--rssReport=FILE

Write a test report of RSS feed processing in specified FILE

--rssReportCols=RSSCOLS

Used with --rssReport argument. Specifies columns for RSS processing.
RSSCOLS are comma separated and can be any of these: Company Name, Accession Number, Form, Filing Date, CIK, Status, Period, Yr End, Results”.

Logging Arguments

Flag

Description

--logFile=FILE

Write log messages into FILE, otherwise they go to standard output. If FILE ends in .xml it is xml-formatted, otherwise it is text.
XML log files contain significant additional details not provided in the text files.
Default files named logToPrint, logToStdOut.xml and logToStdError provide output on standard output and standard error streams.

--logFormat=FORMAT

Specify the Python logger FORMAT for the text description of messages, if absent the default is [%(messageCode)s] %(message)s - %(file)s.

--logLevel=LEVEL

Minimum LEVEL for messages capture, otherwise the message is ignored.
Current order of levels are: debug, info, info-semantic, warning, warning-semantic, warning, assertion-satisfied, inconsistency, error-semantic, assertion-not-satisfied, and error.

--logLevelFilter=LOGREGX

Regular expression filter for logLevel. (E.g., to not match \*-semantic levels, --logLevelFilter=(?!^.*-semantic$)(.+).

--collectProfileStats

Collect profile statistics, such as timing of validation activities and formulae.

Validation and Formula Options

Flag

Description

--parameters

Specifies parameters for formula and validation (name=value[,name=value]).

--parameterSeparator

Used with --parameters argument. Specify parameters separator string (if other than comma, may be a multi-character separator).

--formula

Specify formula action, If this option is not specified, -v or --validate will validate and run formulas if present:
validate - validate only, without running
run - validate and run
none - prevent formula validation or running when also specifying -v or --validate.

--formulaParamExprResult

Enable ParamExprResult formula tracing.

--formulaParamInputValue

Enable ParamInputValue formula tracing.

--formulaCallExprSource

Enable CallExprSource formula tracing.

--formulaCallExprCode

Enable CallExprCode formula tracing.

--formulaCallExprEval

Enable CallExprEval formula tracing.

--formulaCallExprResult

Enable CallExprResult formula tracing.

--formulaVarSetExprEval

Enable VarSetExprEval formula tracing.

--formulaVarSetExprResult

Enable VarSetExprResult formula tracing.

--formulaVarSetTiming

Show times of variable set evaluation

--formulaAsserResultCounts

Enable AsserResultCounts formula tracing.

--formulaFormulaRules

Enable FormulaRules formula tracing.

--formulaVarsOrder

Enable VarsOrder formula tracing.

--formulaVarExpressionSource

Enable VarExpressionSource formula tracing.

--formulaVarExpressionCode

Enable VarExpressionCode formula tracing.

--formulaVarExpressionEvaluation

Enable VarExpressionEvaluation formula tracing.

--formulaVarExpressionResult

Enable VarExpressionResult formula tracing.

--formulaVarFiltersResult

Enable VarFiltersResult formula tracing.

--formulaVarFiltersWinnowing

Show winnowing process of successive application of formulas, helpful in debugging to find out which filter affects the facts that pass a filtering step

--formulaVarFiltersResult

Show result of filters.

Configuration options

It is possible to specify options to be defaults for the web server, such as disclosureSystem and validations, but not including file names.

Flag

Description

--uiLang

Language for user interface (override system settings, such as program messages).
Does not save setting. Does not affect labels language of above reports (see --labelLang)

--proxy

Modify and re-save proxy settings configuration. Enter system to use system proxy setting, none to use no proxy, a specific proxy in the format http://[user[:password]@]host[:port]
(e.g., http://192.168.1.253, http://example.com:8080, http://joe:secret@example.com:8080), or show to show current (saved)setting.

--internetConnectivity

Specify internet connectivity: online or offline.

--internetTimeout

Specify internet connection timeout in seconds (0 means unlimited).

--internetRecheck

Specify frequency of rechecking web file’s time stamps to cached file copy and determine if newer file to be reloaded: weekly (default), daily or never.

--noCertificateCheck

Skip https SSL certificate checking.

--internetLogDownloads

Log an info message for downloads to the web cache.

--xdgConfigHome

Specify non-standard location for configuration and cache files (overrides environment parameter XDG_CONFIG_HOME, if also provided).

--plugin or --plugins

Specify plugins to load (no longer saved or shared with GUI)
Module urls are | separated.
Standard plugin modules do not need “.py” specified.
Relative URLs are relative to installation plug-in directory.
Packaged plug-in urls are their directory’s url.

--packages=FILE or
--packages=URL

Load XBRL taxonomy packages. Option can be repeated to specify multiple packages. Specifying a directory will attempt to load all .zip files in the directory.
Command line taxonomy package configuration is not persisted or shared with the GUI.
URLs must be full absolute paths. Multiple packages may also be specified as |-separated list.

--abortOnMajorError

Abort process on major error, such as when load is unable to find an entry or discovered file.

--webserver

Start web server on host:port[:server] for REST and web access.
(e.g., --webserver locahost:8080, or specify nondefault a server name, such as cherrypy, --webserver locahost:8080:cherrypy.)

Standard Plugins and Options

Many of the plug-ins add command line (in addition to GUI menu) options.
For additional detail see the plug-in documentation. A summary of standard plugin options is provided here.

inlineDocumentSet

Specify an inline XBRL document set by JSON parameter: --file ‘[{“ixDocumentSet”:[{“file”:file1},{“file”:file2}…]}]’

--saveInstance

Provides a file name into which to save an XBRL instance document derived from a loaded manifest (Japan FSA) of a document set of inline documents, or loaded single inline document.
(Currently supports one target instance document only.)

loadFromExcel

Load from Excel file

No command line options, but the -f and --file options can specify an Excel document which represents a DTS.

profileCmdLine

Profiles command line operation

--save-profiler-report

Specifies file into which to save a Python profiler report of the timings of Arelle Python methods and routines for the operations performed by the other command line functions.
Useful to determine if a long running function is spending excessive time in a function that needs implementation attention.

saveDTS

Produces a Taxonomy Package.

--package-DTS

Specifies a file into which to save a Taxonomy Package representing the loaded DTS.

saveHtmlEBAtables

EBA Table Sets.

--save-EBA-tablesets

Specifies an index file (usually index.html) to represent an html page that holds a table of contents to the EBA tables generated for all loaded EBA Table Linkbase tables in the DTS.

saveLoadableExcel

Saves an Excel workbook

--save-loadable-excel

Saves an Excel workbook representing the DTS (which can be subsequently loaded by loadFromExcel.py plugin.

saveSKOS

Saves a SKOS (OMG standard OWL file).

--save-skos

Saves a SKOS (OMG standard OWL file) representing a semantic view of a DTS based on presentation linkbase entries (for US-GAAP, IFRS, and EDInet style taxonomies).

xbrlDB

Saves XBRL data to a database.

--store-to-XBRL-DB=DBSTR

Store into XBRL DB. Provides connection string: host,[port], user, password, database, [timeout], technology.

technology can be:
postgres - XBRL-US Postgres SQL
mssqlSemantic - Semantic MSSQL SQL
mysqlSemantic - Semantic MySQL SQL
orclSemantic - Semantic Oracle SQL
pgSemantic - Semantic Postgres SQL
rexster - Rexter (Titan Cassandra)
rdfDB - RDF (Turtle, NanoSparqlServer)
json - JSON (JSON, MongoDB)

For rdfDB if hostname is rdfTurtleFile or rdfXmlFile, then database specifies a local file system pathname to store a file.
For json, if hostname is jsonFile then database specifies a local file system path name to store into a file.

Example storing into postgres database using XBRL-US schema:

arelleCmdLine -f c:\temp\test.rss -v --disclosureSystem efm-pragmatic-all-years --store-to-XBRL-DB "myhost.com,8084,pgUserId,pgPassword,test_db,90,postgres"

Example storing into local MSSQL database using SQLEXPRESS instance:

arelleCmdLine -f c:\temp\test.rss -v --disclosureSystem efm-pragmatic-all-years --store-to-XBRL-DB "localhost\SQLEXPRESS,,sqlLogin,sqlPassword,,90,mssqlSemantic"

Disclosure System Selections

Run with --disclosureSystem=help to list the disclosure systems that are available for the currently loaded plugins.