diff --git a/.travis.yml b/.travis.yml index fb8c3b2e24..701518f320 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,7 @@ env: - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/854560/000092708920000286/gsbc-20200331_htm.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1021635/000102163519000015/oge-20181231.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/104169/000010416920000011/wmtform10-kx1312020_htm.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1237831/000123783120000010/gmed-20191231x10k.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1018840/000101884020000021/a201910-k.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/38723/000137647420000072/ffc-20191231.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/807882/000080788220000004/jack-20200119.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/18255/000001825520000005/cato-20200201.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/850429/000085042920000036/tg-20200331.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/4457/000000445720000053/uhal-20200331.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1090396/000121390020007284/tbtc-20191231.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1705873/000170587320000014/bry-20191231.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/43920/000004392019000063/gef2019q410-k.htm", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1239819/000123981919000029/luna-20181231.xml", "xule_run_only":"DQC.US.0013"},{"file":"https://www.sec.gov/Archives/edgar/data/1028954/000102895419000010/sbbx-20190930.xml", "xule_run_only":"DQC.US.0014"},{"file":"https://www.sec.gov/Archives/edgar/data/1218683/000121390020008074/wizp-20191231.xml", "xule_run_only":"DQC.US.0014"},{"file":"https://www.sec.gov/Archives/edgar/data/1385799/000149315220011580/abmt-20200430.xml", "xule_run_only":"DQC.US.0014"},{"file":"https://www.sec.gov/Archives/edgar/data/1691299/000119312519298801/d616450ds4_htm.xml", "xule_run_only":"DQC.US.0014"}]' EXFILES=$EXPECTED/DQC.US.0013_gsbc-us-2020.xml,$EXPECTED/DQC.US.0013_oge-us-2018.xml,$EXPECTED/DQC.US.0013_wmt-us-2019.xml,$EXPECTED/DQC.US.0013_gmed-us-2019.xml,$EXPECTED/DQC.US.0013_a-us-2019.xml,$EXPECTED/DQC.US.0013_ffc-us-2020.xml,$EXPECTED/DQC.US.0013_jack-us-2019.xml,$EXPECTED/DQC.US.0013_cato-us-2019.xml,$EXPECTED/DQC.US.0013_tg-us-2019.xml,$EXPECTED/DQC.US.0013_uhal-us-2019.xml,$EXPECTED/DQC.US.0013_tbtc-us-2019.xml,$EXPECTED/DQC.US.0013_bry-us-2019.xml,$EXPECTED/DQC.US.0013_gef-us-2019.xml,$EXPECTED/DQC.US.0013_luna-us-2018.xml,$EXPECTED/DQC.US.0014_sbbx-us-2019.xml,$EXPECTED/DQC.US.0014_wizp-us-2019.xml,$EXPECTED/DQC.US.0014_abmt-us-2020.xml,$EXPECTED/DQC.US.0014_d616450-us-2019.xml - INFILES='[{"file":"./tests/input/data-resiliency-2020.xbrl", "xule_run_only":"DQC.US.0015"},{"file":"./tests/input/Testco-2018-NonNeg.xbrl", "xule_run_only":"DQC.US.0015"}]' EXFILES=$EXPECTED/DQC.US.0015_data-resiliency-2020.xml,$EXPECTED/DQC.US.0015_testco-2018.xml - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/715812/000071581219000024/bsyn-20190701.xml", "xule_run_only":"DQC.US.0018.34"},{"file":"https://www.sec.gov/Archives/edgar/data/1092570/000137647420000123/fulo-20200331.htm", "xule_run_only":"DQC.US.0033.2"},{"file":"https://www.sec.gov/Archives/edgar/data/752294/000105291820000090/elst-20190331.xml", "xule_run_only":"DQC.US.0036.1"},{"file":"https://www.sec.gov/Archives/edgar/data/1518720/000164033420001843/fpvd-20190430.xml", "xule_run_only":"DQC.US.0041.73"}]' EXFILES=$EXPECTED/DQC.US.0018.34_bsyn-us-2019.xml,$EXPECTED/DQC.US.0033.2_fulo-us-2020.xml,$EXPECTED/DQC.US.0036.1_elst-us-2020.xml,$EXPECTED/DQC.US.0041.73_fpvd-us-2019.xml - - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/1518720/000164033420001843/fpvd-20190430.xml", "xule_run_only":"DQC.US.0043.7488"},{"file":"https://www.sec.gov/Archives/edgar/data/867038/000101738619000325/spnd-20190930.xml", "xule_run_only":"DQC.US.0043.7488"},{"file":"https://www.sec.gov/Archives/edgar/data/1295961/000143774922001542/qegy20210831b_10qa.htm", "xule_run_only":"DQC.US.0043.7488"},{"file":"https://www.sec.gov/Archives/edgar/data/1629205/000147793220004090/gmvp-20200531.xml", "xule_run_only":"DQC.US.0044.7503"}]' EXFILES=$EXPECTED/DQC.US.0043.7488_fpvd-us-2019.xml,$EXPECTED/DQC.US.0043.7488_spnd-us-2019.xml,$EXPECTED/DQC.US.0043.7488_qegy-us-2021.xml,$EXPECTED/DQC.US.0044.7503_gmvp-us-2019.xml + - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/1518720/000164033420001843/fpvd-20190430.xml", "xule_run_only":"DQC.US.0043.7488"},{"file":"https://www.sec.gov/Archives/edgar/data/867038/000101738619000325/spnd-20190930.xml", "xule_run_only":"DQC.US.0043.7488"},{"file":"https://www.sec.gov/Archives/edgar/data/1295961/000143774922001542/qegy20210831b_10qa.htm", "xule_run_only":"DQC.US.0043.7488"},{"file":"http://www.sec.gov/Archives/edgar/data/701719/000165495423005744/ela_10q.htm", "xule_run_only":"DQC.US.0043.9873"},{"file":"http://www.sec.gov/Archives/edgar/data/1670196/000147793223002932/dswr_10k.htm", "xule_run_only":"DQC.US.0043.9873"},{"file":"https://www.sec.gov/Archives/edgar/data/1629205/000147793220004090/gmvp-20200531.xml", "xule_run_only":"DQC.US.0044.7503"}]' EXFILES=$EXPECTED/DQC.US.0043.7488_fpvd-us-2019.xml,$EXPECTED/DQC.US.0043.7488_spnd-us-2019.xml,$EXPECTED/DQC.US.0043.7488_qegy-us-2021.xml,$EXPECTED/DQC.US.0043.9873_ela-us-2022.xml,$EXPECTED/DQC.US.0043.9873_dswr-us-2022.xml,$EXPECTED/DQC.US.0044.7503_gmvp-us-2019.xml - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/1304161/000165495420006640/pbsv-20200131.xml", "xule_run_only":"DQC.US.0045.6838"},{"file":"https://www.sec.gov/Archives/edgar/data/1487843/000121390019014723/f10q0619ix_yangtze_htm.xml", "xule_run_only":"DQC.US.0046.6842"},{"file":"https://www.sec.gov/Archives/edgar/data/1288770/000106299321003175/xtgr-20201231.xml", "xule_run_only":"DQC.US.0047.7481"},{"file":"https://www.sec.gov/Archives/edgar/data/1376986/000137698620000006/tve-20191231.xml", "xule_run_only":"DQC.US.0048.7482"},{"file":"https://www.sec.gov/Archives/edgar/data/1415744/000165495420007493/nmex-20200430.xml", "xule_run_only":"DQC.US.0048.7482"},{"file":"https://www.sec.gov/Archives/edgar/data/1713909/000101054920000145/wtnw-20200331.xml", "xule_run_only":"DQC.US.0049.7483"}]' EXFILES=$EXPECTED/DQC.US.0045.6838_pbsv-us-2020.xml,$EXPECTED/DQC.US.0046.6842_yangtze-us-2019.xml,$EXPECTED/DQC.US.0047.7481_xtgr-us-2020.xml,$EXPECTED/DQC.US.0048.7482_tve-us-2019.xml,$EXPECTED/DQC.US.0048.7482_nmex-us-2020.xml,$EXPECTED/DQC.US.0049.7483_wtnw-us-2020.xml - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/1360442/000144586620000913/cbds-20200331.xml", "xule_run_only":"DQC.US.0051.7484"},{"file":"https://www.sec.gov/Archives/edgar/data/738214/000165495420005416/amtx-20200331.xml", "xule_run_only":"DQC.US.0051.7485"},{"file":"https://www.sec.gov/Archives/edgar/data/1008586/000149315220011010/strea-20200430.xml", "xule_run_only":"DQC.US.0051.7486"},{"file":"https://www.sec.gov/Archives/edgar/data/9389/000155837020001005/bll-20191231x10k1a847a.htm", "xule_run_only":"DQC.US.0052.7487"},{"file":"https://www.sec.gov/Archives/edgar/data/13239/000001323920000006/hsc-20191231.xml", "xule_run_only":"DQC.US.0053.7489"},{"file":"https://www.sec.gov/Archives/edgar/data/21344/000002134420000006/a2019123110-k.htm", "xule_run_only":"DQC.US.0054.7490"},{"file":"https://www.sec.gov/Archives/edgar/data/1364885/000162828020002543/spr-20191231x10k.htm", "xule_run_only":"DQC.US.0054.7491"},{"file":"https://www.sec.gov/Archives/edgar/data/1320461/000132046120000025/cps-q12020x10q.htm", "xule_run_only":"DQC.US.0055.7493"},{"file":"https://www.sec.gov/Archives/edgar/data/101829/000010182920000034/utx-20200331.htm", "xule_run_only":"DQC.US.0055.7493"},{"file":"https://www.sec.gov/Archives/edgar/data/889609/000168316820001394/cpss-20200331.xml", "xule_run_only":"DQC.US.0057.7494"},{"file":"https://www.sec.gov/Archives/edgar/data/99302/000120677421001956/transcat3937691-10q_htm.xml", "xule_run_only":"DQC.US.0057.9728"}]' EXFILES=$EXPECTED/DQC.US.0051.7484_cbds-us-2020.xml,$EXPECTED/DQC.US.0051.7485_amtx-us-2020.xml,$EXPECTED/DQC.US.0051.7486_strea-us-2020.xml,$EXPECTED/DQC.US.0052.7487_bll-us-2019.xml,$EXPECTED/DQC.US.0053.7489_hsc-us-2019.xml,$EXPECTED/DQC.US.0054.7490_coke-us-2019.xml,$EXPECTED/DQC.US.0054.7491_spr-us-2019.xml,$EXPECTED/DQC.US.0055.7493_cps-us-2019.xml,$EXPECTED/DQC.US.0055.7493_utx-us-2019.xml,$EXPECTED/DQC.US.0057.7494_cpss-us-2020.xml,$EXPECTED/DQC.US.0057.9728_trans-us-2021.xml - INFILES='[{"file":"https://www.sec.gov/Archives/edgar/data/1474835/000165495420007737/ipci-20200531.xml", "xule_run_only":"DQC.US.0060.7497"},{"file":"https://www.sec.gov/Archives/edgar/data/1092570/000137647420000081/fulo-20191231_htm.xml", "xule_run_only":"DQC.US.0061.7498"},{"file":"https://www.sec.gov/Archives/edgar/data/318299/000149315220012942/srco-20190131.xml", "xule_run_only":"DQC.US.0061.7499"},{"file":"https://www.sec.gov/Archives/edgar/data/811222/000168316820001209/cdif-20191231.xml", "xule_run_only":"DQC.US.0061.7500"},{"file":"https://www.sec.gov/Archives/edgar/data/1804585/000160706220000180/ngio-20200430.xml", "xule_run_only":"DQC.US.0062.7501"},{"file":"https://www.sec.gov/Archives/edgar/data/894560/000155116320000061/both-20200630.xml", "xule_run_only":"DQC.US.0065.7502"},{"file":"https://www.sec.gov/Archives/edgar/data/1367083/000168316820002234/snoa-20200331.xml", "xule_run_only":"DQC.US.0067.7644"},{"file":"https://www.sec.gov/Archives/edgar/data/1467373/000146737320000251/acn531202010-q.htm", "xule_run_only":"DQC.US.0067.7644"},{"file":"https://www.sec.gov/Archives/edgar/data/1738699/000119380520000462/wkey-20191231.xml", "xule_run_only":"DQC.US.0068.7641"},{"file":"https://www.sec.gov/Archives/edgar/data/899751/000089975120000005/twi1231201910-k.htm", "xule_run_only":"DQC.US.0069.7643"}]' EXFILES=$EXPECTED/DQC.US.0060.7497_ipci-us-2020.xml,$EXPECTED/DQC.US.0061.7498_fulo-us-2020.xml,$EXPECTED/DQC.US.0061.7499_srco-us-2020.xml,$EXPECTED/DQC.US.0061.7500_cdif-us-2019.xml,$EXPECTED/DQC.US.0062.7501_ngio-us-2020.xml,$EXPECTED/DQC.US.0065.7502_both-us-2020.xml,$EXPECTED/DQC.US.0067.7644_snoa-us-2020.xml,$EXPECTED/DQC.US.0067.7644_acn-us-2019.xml,$EXPECTED/DQC.US.0068.7641_wkey-us-2019.xml,$EXPECTED/DQC.US.0069.7643_twi-us-2019.xml diff --git a/dqc_us_rules/dqc-ifrs-2018-V20-ruleset.zip b/dqc_us_rules/dqc-ifrs-2018-V20-ruleset.zip index 8279628bdd..5439f765b4 100644 Binary files a/dqc_us_rules/dqc-ifrs-2018-V20-ruleset.zip and b/dqc_us_rules/dqc-ifrs-2018-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-ifrs-2019-V20-ruleset.zip b/dqc_us_rules/dqc-ifrs-2019-V20-ruleset.zip index 04759ea9e7..c13bf2167a 100644 Binary files a/dqc_us_rules/dqc-ifrs-2019-V20-ruleset.zip and b/dqc_us_rules/dqc-ifrs-2019-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-ifrs-2020-V20-ruleset.zip b/dqc_us_rules/dqc-ifrs-2020-V20-ruleset.zip index 9737328e42..04acd494bf 100644 Binary files a/dqc_us_rules/dqc-ifrs-2020-V20-ruleset.zip and b/dqc_us_rules/dqc-ifrs-2020-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-ifrs-2021-V20-ruleset.zip b/dqc_us_rules/dqc-ifrs-2021-V20-ruleset.zip index 86755f0b27..9cec63096b 100644 Binary files a/dqc_us_rules/dqc-ifrs-2021-V20-ruleset.zip and b/dqc_us_rules/dqc-ifrs-2021-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-ifrs-2022-V20-ruleset.zip b/dqc_us_rules/dqc-ifrs-2022-V20-ruleset.zip index c9ac8f47a4..2670816921 100644 Binary files a/dqc_us_rules/dqc-ifrs-2022-V20-ruleset.zip and b/dqc_us_rules/dqc-ifrs-2022-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-ifrs-2023-V20-ruleset.zip b/dqc_us_rules/dqc-ifrs-2023-V20-ruleset.zip index 63d958f0bb..758cf43594 100644 Binary files a/dqc_us_rules/dqc-ifrs-2023-V20-ruleset.zip and b/dqc_us_rules/dqc-ifrs-2023-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-us-2018-V20-ruleset.zip b/dqc_us_rules/dqc-us-2018-V20-ruleset.zip index 6e32b68331..e6adb7d133 100644 Binary files a/dqc_us_rules/dqc-us-2018-V20-ruleset.zip and b/dqc_us_rules/dqc-us-2018-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-us-2019-V20-ruleset.zip b/dqc_us_rules/dqc-us-2019-V20-ruleset.zip index cf60ca6c7f..b0d2eba97f 100644 Binary files a/dqc_us_rules/dqc-us-2019-V20-ruleset.zip and b/dqc_us_rules/dqc-us-2019-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-us-2020-V20-ruleset.zip b/dqc_us_rules/dqc-us-2020-V20-ruleset.zip index dd44f95759..6873167175 100644 Binary files a/dqc_us_rules/dqc-us-2020-V20-ruleset.zip and b/dqc_us_rules/dqc-us-2020-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-us-2021-V20-ruleset.zip b/dqc_us_rules/dqc-us-2021-V20-ruleset.zip index d491eb0777..08e8ab9af0 100644 Binary files a/dqc_us_rules/dqc-us-2021-V20-ruleset.zip and b/dqc_us_rules/dqc-us-2021-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-us-2022-V20-ruleset.zip b/dqc_us_rules/dqc-us-2022-V20-ruleset.zip index 9f95380426..ebf4dc9a8c 100644 Binary files a/dqc_us_rules/dqc-us-2022-V20-ruleset.zip and b/dqc_us_rules/dqc-us-2022-V20-ruleset.zip differ diff --git a/dqc_us_rules/dqc-us-2023-V20-ruleset.zip b/dqc_us_rules/dqc-us-2023-V20-ruleset.zip index 13e0fd9e9d..a1ac63bf98 100644 Binary files a/dqc_us_rules/dqc-us-2023-V20-ruleset.zip and b/dqc_us_rules/dqc-us-2023-V20-ruleset.zip differ diff --git a/dqc_us_rules/resources.zip b/dqc_us_rules/resources.zip index 162e35ff52..bb6a8a4d96 100644 Binary files a/dqc_us_rules/resources.zip and b/dqc_us_rules/resources.zip differ diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2015_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2015_concepts.csv index 997b75ed76..4814c6868d 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2015_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2015_concepts.csv @@ -4814,7 +4814,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2016_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2016_concepts.csv index 0937723b4e..ecd2e04753 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2016_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2016_concepts.csv @@ -4801,7 +4801,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2017_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2017_concepts.csv index 847d4e7e5c..e030921be3 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2017_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2017_concepts.csv @@ -4729,7 +4729,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2018_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2018_concepts.csv index e581d6dd1f..11f032b9d0 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2018_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2018_concepts.csv @@ -4452,7 +4452,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2019_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2019_concepts.csv index 0325c21091..57999278a2 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2019_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2019_concepts.csv @@ -4331,7 +4331,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2020_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2020_concepts.csv index c8445bbd06..b3abee21af 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2020_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2020_concepts.csv @@ -4331,7 +4331,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2021_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2021_concepts.csv index a25f15a35c..cbc0184014 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2021_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2021_concepts.csv @@ -4331,7 +4331,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2022_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2022_concepts.csv index 8370c86f0e..ba4aea3d3f 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2022_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2022_concepts.csv @@ -4331,7 +4331,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2023_concepts.csv b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2023_concepts.csv index 299639a75b..f1fb2d448d 100644 --- a/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2023_concepts.csv +++ b/dqc_us_rules/resources/DQC_US_0015/dqc_15_usgaap_2023_concepts.csv @@ -4331,7 +4331,6 @@ 5564,DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsPolicyholderLiabilities 5565,TemporaryEquityEliminationAsPartofReorganization 5566,DepositsWithClearingOrganizationsAndOthersSecurities -5567,DerivativeCostOfHedgeNetOfCashReceived 5568,TemporaryEquitySharesSubscribedButUnissuedSubscriptionsReceivable 5569,IncomeTaxReconciliationNondeductibleExpenseCharitableContributions 5570,CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldTransfersToLoansHeldForSale diff --git a/dqc_us_rules/source/ifrs/2018/DQC_IFRS_0118.xule b/dqc_us_rules/source/ifrs/2018/DQC_IFRS_0118.xule index 0a347468a3..a1a6cd9957 100644 --- a/dqc_us_rules/source/ifrs/2018/DQC_IFRS_0118.xule +++ b/dqc_us_rules/source/ifrs/2018/DQC_IFRS_0118.xule @@ -137,11 +137,12 @@ for $cube in $statementCubes.sort $LegalEntityAxisInCube = filter $dimObjects where $item.local-name == 'LegalEntityAxis'returns $item $ContinuingAndDiscontinuedOperationsInCube = filter $dimObjects where $item == ContinuingAndDiscontinuedOperationsAxis returns $item + $InvestmentAxisUsed = filter $dimObjects where $item == SignificantInvestmentsInAssociatesAxis returns $item /** Dimension to check **/ /** Identify the axis that indicate their default values should not have a calculation check Add $ContinuingAndDiscontinuedOperationsInCube for those calc on the income statement that are always continuing ops.**/ - $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $InvestmentAxisUsed /** Identify if the current iteration is a default by taking the table dimensions deducting the dimensions of the fact and seeing if the resulting set intersects with the axis that are not checked. If this is greater than zero diff --git a/dqc_us_rules/source/ifrs/2019/DQC_IFRS_0118.xule b/dqc_us_rules/source/ifrs/2019/DQC_IFRS_0118.xule index 552cf833c5..418d181e20 100644 --- a/dqc_us_rules/source/ifrs/2019/DQC_IFRS_0118.xule +++ b/dqc_us_rules/source/ifrs/2019/DQC_IFRS_0118.xule @@ -139,11 +139,12 @@ for $cube in $statementCubes.sort $LegalEntityAxisInCube = filter $dimObjects where $item.local-name == 'LegalEntityAxis'returns $item $ConsolidatedEntityAxisInCube = filter $dimObjects where $item == srt:ConsolidatedEntitiesAxis returns $item $ContinuingAndDiscontinuedOperationsInCube = filter $dimObjects where $item == ContinuingAndDiscontinuedOperationsAxis returns $item + $InvestmentAxisUsed = filter $dimObjects where $item == SignificantInvestmentsInAssociatesAxis returns $item /** Dimension to check **/ /** Identify the axis that indicate their default values should not have a calculation check Add $ContinuingAndDiscontinuedOperationsInCube for those calc on the income statement that are always continuing ops.**/ - $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $InvestmentAxisUsed /** Identify if the current iteration is a default by taking the table dimensions deducting the dimensions of the fact and seeing if the resulting set intersects with the axis that are not checked. If this is greater than zero diff --git a/dqc_us_rules/source/ifrs/2020/DQC_IFRS_0118.xule b/dqc_us_rules/source/ifrs/2020/DQC_IFRS_0118.xule index 411cdef6bb..cdaf77ef94 100644 --- a/dqc_us_rules/source/ifrs/2020/DQC_IFRS_0118.xule +++ b/dqc_us_rules/source/ifrs/2020/DQC_IFRS_0118.xule @@ -139,11 +139,12 @@ for $cube in $statementCubes.sort $LegalEntityAxisInCube = filter $dimObjects where $item.local-name == 'LegalEntityAxis'returns $item $ConsolidatedEntityAxisInCube = filter $dimObjects where $item == srt:ConsolidatedEntitiesAxis returns $item $ContinuingAndDiscontinuedOperationsInCube = filter $dimObjects where $item == ContinuingAndDiscontinuedOperationsAxis returns $item + $InvestmentAxisUsed = filter $dimObjects where $item == SignificantInvestmentsInAssociatesAxis returns $item /** Dimension to check **/ /** Identify the axis that indicate their default values should not have a calculation check Add $ContinuingAndDiscontinuedOperationsInCube for those calc on the income statement that are always continuing ops.**/ - $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $InvestmentAxisUsed /** Identify if the current iteration is a default by taking the table dimensions deducting the dimensions of the fact and seeing if the resulting set intersects with the axis that are not checked. If this is greater than zero diff --git a/dqc_us_rules/source/ifrs/2021/DQC_IFRS_0118.xule b/dqc_us_rules/source/ifrs/2021/DQC_IFRS_0118.xule index 798f4a79be..968bd40636 100644 --- a/dqc_us_rules/source/ifrs/2021/DQC_IFRS_0118.xule +++ b/dqc_us_rules/source/ifrs/2021/DQC_IFRS_0118.xule @@ -139,11 +139,12 @@ for $cube in $statementCubes.sort $LegalEntityAxisInCube = filter $dimObjects where $item.local-name == 'LegalEntityAxis'returns $item $ConsolidatedEntityAxisInCube = filter $dimObjects where $item == srt:ConsolidatedEntitiesAxis returns $item $ContinuingAndDiscontinuedOperationsInCube = filter $dimObjects where $item == ContinuingAndDiscontinuedOperationsAxis returns $item + $InvestmentAxisUsed = filter $dimObjects where $item == SignificantInvestmentsInAssociatesAxis returns $item /** Dimension to check **/ /** Identify the axis that indicate their default values should not have a calculation check Add $ContinuingAndDiscontinuedOperationsInCube for those calc on the income statement that are always continuing ops.**/ - $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $InvestmentAxisUsed /** Identify if the current iteration is a default by taking the table dimensions deducting the dimensions of the fact and seeing if the resulting set intersects with the axis that are not checked. If this is greater than zero diff --git a/dqc_us_rules/source/ifrs/2022/DQC_IFRS_0118.xule b/dqc_us_rules/source/ifrs/2022/DQC_IFRS_0118.xule index 47b5fd4e99..5d2b375af2 100644 --- a/dqc_us_rules/source/ifrs/2022/DQC_IFRS_0118.xule +++ b/dqc_us_rules/source/ifrs/2022/DQC_IFRS_0118.xule @@ -139,11 +139,12 @@ for $cube in $statementCubes.sort $LegalEntityAxisInCube = filter $dimObjects where $item.local-name == 'LegalEntityAxis'returns $item $ConsolidatedEntityAxisInCube = filter $dimObjects where $item == srt:ConsolidatedEntitiesAxis returns $item $ContinuingAndDiscontinuedOperationsInCube = filter $dimObjects where $item == ContinuingAndDiscontinuedOperationsAxis returns $item + $InvestmentAxisUsed = filter $dimObjects where $item == SignificantInvestmentsInAssociatesAxis returns $item; /** Dimension to check **/ /** Identify the axis that indicate their default values should not have a calculation check Add $ContinuingAndDiscontinuedOperationsInCube for those calc on the income statement that are always continuing ops.**/ - $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $InvestmentAxisUsed /** Identify if the current iteration is a default by taking the table dimensions deducting the dimensions of the fact and seeing if the resulting set intersects with the axis that are not checked. If this is greater than zero diff --git a/dqc_us_rules/source/ifrs/2023/DQC_IFRS_0118.xule b/dqc_us_rules/source/ifrs/2023/DQC_IFRS_0118.xule index 47b5fd4e99..93491c988a 100644 --- a/dqc_us_rules/source/ifrs/2023/DQC_IFRS_0118.xule +++ b/dqc_us_rules/source/ifrs/2023/DQC_IFRS_0118.xule @@ -139,11 +139,12 @@ for $cube in $statementCubes.sort $LegalEntityAxisInCube = filter $dimObjects where $item.local-name == 'LegalEntityAxis'returns $item $ConsolidatedEntityAxisInCube = filter $dimObjects where $item == srt:ConsolidatedEntitiesAxis returns $item $ContinuingAndDiscontinuedOperationsInCube = filter $dimObjects where $item == ContinuingAndDiscontinuedOperationsAxis returns $item + $InvestmentAxisUsed = filter $dimObjects where $item == SignificantInvestmentsInAssociatesAxis returns $item /** Dimension to check **/ /** Identify the axis that indicate their default values should not have a calculation check Add $ContinuingAndDiscontinuedOperationsInCube for those calc on the income statement that are always continuing ops.**/ - $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $AxisDefaultsNotToCheck = $MissingDefaultLabel + $MissingDefaults + $LegalEntityAxisInCube + $ConsolidatedEntityAxisInCube + $ContinuingAndDiscontinuedOperationsInCube + $InvestmentAxisUsed /** Identify if the current iteration is a default by taking the table dimensions deducting the dimensions of the fact and seeing if the resulting set intersects with the axis that are not checked. If this is greater than zero diff --git a/dqc_us_rules/source/lib/version.xule b/dqc_us_rules/source/lib/version.xule index fb964cdbf8..8e84ce31fb 100644 --- a/dqc_us_rules/source/lib/version.xule +++ b/dqc_us_rules/source/lib/version.xule @@ -9,7 +9,7 @@ DQC Rules /** Define the rule version **/ -constant $ruleVersion = '20.0.5' +constant $ruleVersion = '20.0.6' /** Define Additional Attribute types that can be associated with a rule **/ diff --git a/dqc_us_rules/source/us/2018/DQC_0043.xule b/dqc_us_rules/source/us/2018/DQC_0043.xule index 02792e59df..09b1a5f031 100644 --- a/dqc_us_rules/source/us/2018/DQC_0043.xule +++ b/dqc_us_rules/source/us/2018/DQC_0043.xule @@ -141,6 +141,7 @@ for $IncomeItem in (($income_items) - set(DiscontinuedOperationGainLossOnDisposa false else $signFlag = "negative" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element." effective_weight_is_negative($Operating, $IncomeItem) else $discOPs = set(DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax, IncomeLossFromDiscontinuedOperationsNetOfTax, @@ -148,12 +149,13 @@ for $IncomeItem in (($income_items) - set(DiscontinuedOperationGainLossOnDisposa IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) if $IncomeItem in $discOPs $signFlag = "positive" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being added to the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation includes this income item in cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivities should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations." effective_weight_is_positive($Operating, $IncomeItem) else false message -"The company has reported the concept {$IncomeItem} as a {$signFlag} weight descendant of Operating cash flows in the calculation linkbase of the filing. This element must make a {$signFlag} cash contribution to operating cash flows when the element {$Operating} is used. +"{$messageText} Rule Element Id:{$ruleId} Rule version: {$ruleVersion}" diff --git a/dqc_us_rules/source/us/2018/DQC_0060.xule b/dqc_us_rules/source/us/2018/DQC_0060.xule index 7825bbd859..c403e32442 100644 --- a/dqc_us_rules/source/us/2018/DQC_0060.xule +++ b/dqc_us_rules/source/us/2018/DQC_0060.xule @@ -66,9 +66,30 @@ assert US.0060.7497 satisfied $rule_id = (rule-name().split('.'))[rule-name().split('.').length]; +/** The discOpsMaterialityFlag is added to address those cases where the value has used cashflow from continuing ops, but the filer has no disc ops from cash flow + because it is immaterial. We asses this situation if the filer reported discontinued operations from income and the value of this is less than 5% of + cash flow from continuing ops. If the filer has used continuing ops by mistake this will get picked up if they have no Disc ops income and if disc ops + income is more than 5% of cash flow from continuing ops. **/ + +$discOpsValue = (list([nonils @concept in $DISCONTINUED_INCOME_ITEMS])) +$continuingOpsValue = list([@concept = NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]) +$MaxValueOfDiscOps = if $discOpsValue.length > 0 + max($discOpsValue) + else + if $continuingOpsValue.length > 0 + max($continuingOpsValue) + else + skip + +$discOpsMaterialityFlag = if (abs($MaxValueOfDiscOps) > abs(max($continuingOpsValue)) * 0.05) + true + else + false + count(list([@NetCashProvidedByUsedInOperatingActivities])) == 0 and count(list([@NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]#fact1))!= 0 and -count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 +count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 and +$discOpsMaterialityFlag message "This rule reflects updated guidance from the Data Quality Committee which contradicts with historical rules. This is a change based on the changes in the cashflow ASU published by FASB. diff --git a/dqc_us_rules/source/us/2018/constant.xule b/dqc_us_rules/source/us/2018/constant.xule index fce1ec94ac..cdcc6309e9 100644 --- a/dqc_us_rules/source/us/2018/constant.xule +++ b/dqc_us_rules/source/us/2018/constant.xule @@ -164,6 +164,10 @@ constant $income_items = set(ProfitLoss, DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax ) +constant $DISCONTINUED_INCOME_ITEMS = set(IncomeLossFromDiscontinuedOperationsNetOfTax, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) + constant $MONETARY_NON_NEGS = filter $non_neg_items.keys where taxonomy().concept($item).is-monetary returns taxonomy().concept($item) constant $BANKING_MEASURES_BETWEEN_ZERO_AND_ONE = navigate parent-child descendants from list(RiskBasedRatiosAbstract, LeverageRatiosAbstract) taxonomy $us-gaap where $relationship.target.data-type.name == xbrli:pureItemType returns set (target-name) diff --git a/dqc_us_rules/source/us/2019/DQC_0043.xule b/dqc_us_rules/source/us/2019/DQC_0043.xule index 0fbcd64424..6a97639edc 100644 --- a/dqc_us_rules/source/us/2019/DQC_0043.xule +++ b/dqc_us_rules/source/us/2019/DQC_0043.xule @@ -142,6 +142,7 @@ for $IncomeItem in (($income_items) - set(DiscontinuedOperationGainLossOnDisposa false else $signFlag = "negative" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element." effective_weight_is_negative($Operating, $IncomeItem) else $discOPs = set(DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax, IncomeLossFromDiscontinuedOperationsNetOfTax, @@ -149,12 +150,13 @@ for $IncomeItem in (($income_items) - set(DiscontinuedOperationGainLossOnDisposa IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) if $IncomeItem in $discOPs $signFlag = "positive" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being added to the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation includes this income item in cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivities should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations." effective_weight_is_positive($Operating, $IncomeItem) else false message -"The company has reported the concept {$IncomeItem} as a {$signFlag} weight descendant of Operating cash flows in the calculation linkbase of the filing. This element must make a {$signFlag} cash contribution to operating cash flows when the element {$Operating} is used. +"{$messageText} Rule Element Id:{$ruleId} Rule version: {$ruleVersion}" diff --git a/dqc_us_rules/source/us/2019/DQC_0060.xule b/dqc_us_rules/source/us/2019/DQC_0060.xule index 09a67044f8..73c8d52b13 100644 --- a/dqc_us_rules/source/us/2019/DQC_0060.xule +++ b/dqc_us_rules/source/us/2019/DQC_0060.xule @@ -68,9 +68,30 @@ assert US.0060.7497 satisfied $rule_id = (rule-name().split('.'))[rule-name().split('.').length]; +/** The discOpsMaterialityFlag is added to address those cases where the value has used cashflow from continuing ops, but the filer has no disc ops from cash flow + because it is immaterial. We asses this situation if the filer reported discontinued operations from income and the value of this is less than 5% of + cash flow from continuing ops. If the filer has used continuing ops by mistake this will get picked up if they have no Disc ops income and if disc ops + income is more than 5% of cash flow from continuing ops. **/ + +$discOpsValue = (list([nonils @concept in $DISCONTINUED_INCOME_ITEMS])) +$continuingOpsValue = list([@concept = NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]) +$MaxValueOfDiscOps = if $discOpsValue.length > 0 + max($discOpsValue) + else + if $continuingOpsValue.length > 0 + max($continuingOpsValue) + else + skip + +$discOpsMaterialityFlag = if (abs($MaxValueOfDiscOps) > abs(max($continuingOpsValue)) * 0.05) + true + else + false + count(list([@NetCashProvidedByUsedInOperatingActivities])) == 0 and count(list([@NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]#fact1))!= 0 and -count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 +count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 and +$discOpsMaterialityFlag message "This rule reflects updated guidance from the Data Quality Committee which contradicts with historical rules. This is a change based on the changes in the cashflow ASU published by FASB. diff --git a/dqc_us_rules/source/us/2019/constant.xule b/dqc_us_rules/source/us/2019/constant.xule index a3b64abcdc..773fc7fce8 100644 --- a/dqc_us_rules/source/us/2019/constant.xule +++ b/dqc_us_rules/source/us/2019/constant.xule @@ -164,6 +164,10 @@ constant $income_items = set(ProfitLoss, InvestmentCompanyNetAssetsFromOperationsIncreaseDecrease ) +constant $DISCONTINUED_INCOME_ITEMS = set(IncomeLossFromDiscontinuedOperationsNetOfTax, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) + constant $MONETARY_NON_NEGS = filter $non_neg_items.keys where taxonomy().concept($item).is-monetary returns taxonomy().concept($item) constant $BANKING_MEASURES_BETWEEN_ZERO_AND_ONE = navigate parent-child descendants from list(RiskBasedRatiosAbstract, LeverageRatiosAbstract) taxonomy $us-gaap where $relationship.target.data-type.name == xbrli:pureItemType returns set (target-name) diff --git a/dqc_us_rules/source/us/2020/DQC_0043.xule b/dqc_us_rules/source/us/2020/DQC_0043.xule index 8e9bf6d15b..f13af14c1e 100644 --- a/dqc_us_rules/source/us/2020/DQC_0043.xule +++ b/dqc_us_rules/source/us/2020/DQC_0043.xule @@ -142,6 +142,7 @@ for $IncomeItem in (($income_items) - set(DiscontinuedOperationGainLossOnDisposa false else $signFlag = "negative" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element." effective_weight_is_negative($Operating, $IncomeItem) else $discOPs = set(DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax, IncomeLossFromDiscontinuedOperationsNetOfTax, @@ -149,12 +150,13 @@ for $IncomeItem in (($income_items) - set(DiscontinuedOperationGainLossOnDisposa IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) if $IncomeItem in $discOPs $signFlag = "positive" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being added to the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation includes this income item in cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivities should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations." effective_weight_is_positive($Operating, $IncomeItem) else false message -"The company has reported the concept {$IncomeItem} as a {$signFlag} weight descendant of Operating cash flows in the calculation linkbase of the filing. This element must make a {$signFlag} cash contribution to operating cash flows when the element {$Operating} is used. +"{$messageText} Rule Element Id:{$ruleId} Rule version: {$ruleVersion}" diff --git a/dqc_us_rules/source/us/2020/DQC_0060.xule b/dqc_us_rules/source/us/2020/DQC_0060.xule index 37b48f9883..7e8e905aaf 100644 --- a/dqc_us_rules/source/us/2020/DQC_0060.xule +++ b/dqc_us_rules/source/us/2020/DQC_0060.xule @@ -68,9 +68,30 @@ assert US.0060.7497 satisfied $rule_id = (rule-name().split('.'))[rule-name().split('.').length]; +/** The discOpsMaterialityFlag is added to address those cases where the value has used cashflow from continuing ops, but the filer has no disc ops from cash flow + because it is immaterial. We asses this situation if the filer reported discontinued operations from income and the value of this is less than 5% of + cash flow from continuing ops. If the filer has used continuing ops by mistake this will get picked up if they have no Disc ops income and if disc ops + income is more than 5% of cash flow from continuing ops. **/ + +$discOpsValue = (list([nonils @concept in $DISCONTINUED_INCOME_ITEMS])) +$continuingOpsValue = list([@concept = NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]) +$MaxValueOfDiscOps = if $discOpsValue.length > 0 + max($discOpsValue) + else + if $continuingOpsValue.length > 0 + max($continuingOpsValue) + else + skip + +$discOpsMaterialityFlag = if (abs($MaxValueOfDiscOps) > abs(max($continuingOpsValue)) * 0.05) + true + else + false + count(list([@NetCashProvidedByUsedInOperatingActivities])) == 0 and count(list([@NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]#fact1))!= 0 and -count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 +count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 and +$discOpsMaterialityFlag message "This rule reflects updated guidance from the Data Quality Committee which contradicts with historical rules. This is a change based on the changes in the cashflow ASU published by FASB. diff --git a/dqc_us_rules/source/us/2020/constant.xule b/dqc_us_rules/source/us/2020/constant.xule index cdbf145b97..3508cdba72 100644 --- a/dqc_us_rules/source/us/2020/constant.xule +++ b/dqc_us_rules/source/us/2020/constant.xule @@ -189,6 +189,10 @@ constant $income_items = set(ProfitLoss, InvestmentCompanyNetAssetsFromOperationsIncreaseDecrease ) +constant $DISCONTINUED_INCOME_ITEMS = set(IncomeLossFromDiscontinuedOperationsNetOfTax, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) + constant $PRES_NETWORKS = taxonomy().networks(parent-child) constant $CALC_NETWORKS = $us-gaap.networks(summation-item) diff --git a/dqc_us_rules/source/us/2021/DQC_0043.xule b/dqc_us_rules/source/us/2021/DQC_0043.xule index fa29e11ab7..e3d86d3625 100644 --- a/dqc_us_rules/source/us/2021/DQC_0043.xule +++ b/dqc_us_rules/source/us/2021/DQC_0043.xule @@ -142,6 +142,7 @@ for $IncomeItem in (($INCOME_ITEMS) - set(DiscontinuedOperationGainLossOnDisposa false else $signFlag = "negative" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element." effective_weight_is_negative($Operating, $IncomeItem) else $discOPs = set(DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax, IncomeLossFromDiscontinuedOperationsNetOfTax, @@ -149,12 +150,13 @@ for $IncomeItem in (($INCOME_ITEMS) - set(DiscontinuedOperationGainLossOnDisposa IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) if $IncomeItem in $discOPs $signFlag = "positive" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being added to the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation includes this income item in cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivities should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations." effective_weight_is_positive($Operating, $IncomeItem) else false message -"The company has reported the concept {$IncomeItem} as a {$signFlag} weight descendant of Operating cash flows in the calculation linkbase of the filing. This element must make a {$signFlag} cash contribution to operating cash flows when the element {$Operating} is used. +"{$messageText} Rule Element Id:{$ruleId} Rule version: {$ruleVersion}" diff --git a/dqc_us_rules/source/us/2021/DQC_0060.xule b/dqc_us_rules/source/us/2021/DQC_0060.xule index 37b48f9883..9f85e1c9ab 100644 --- a/dqc_us_rules/source/us/2021/DQC_0060.xule +++ b/dqc_us_rules/source/us/2021/DQC_0060.xule @@ -41,9 +41,30 @@ assert US.0060.7496 satisfied $rule_id = (rule-name().split('.'))[rule-name().split('.').length]; -count(list([@NetCashProvidedByUsedInInvestingActivities])) == 0 and -count(list([@NetCashProvidedByUsedInInvestingActivitiesContinuingOperations]#fact1))!= 0 and -count(list([@CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations]))== 0 +/** The discOpsMaterialityFlag is added to address those cases where the value has used cashflow from continuing ops, but the filer has no disc ops from cash flow + because it is immaterial. We asses this situation if the filer reported discontinued operations from income and the value of this is less than 5% of + cash flow from continuing ops. If the filer has used continuing ops by mistake this will get picked up if they have no Disc ops income and if disc ops + income is more than 5% of cash flow from continuing ops. **/ + +$discOpsValue = (list([nonils @concept in $DISCONTINUED_INCOME_ITEMS])) +$continuingOpsValue = list([@concept = NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]) +$MaxValueOfDiscOps = if $discOpsValue.length > 0 + max($discOpsValue) + else + if $continuingOpsValue.length > 0 + max($continuingOpsValue) + else + skip + +$discOpsMaterialityFlag = if (abs($MaxValueOfDiscOps) > abs(max($continuingOpsValue)) * 0.05) + true + else + false + +count(list([@NetCashProvidedByUsedInOperatingActivities])) == 0 and +count(list([@NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]#fact1))!= 0 and +count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 and +$discOpsMaterialityFlag message diff --git a/dqc_us_rules/source/us/2021/constant.xule b/dqc_us_rules/source/us/2021/constant.xule index 3a67e0b064..8f27b69da0 100644 --- a/dqc_us_rules/source/us/2021/constant.xule +++ b/dqc_us_rules/source/us/2021/constant.xule @@ -183,6 +183,10 @@ constant $INCOME_ITEMS = set( InvestmentCompanyNetAssetsFromOperationsIncreaseDecrease ) +constant $DISCONTINUED_INCOME_ITEMS = set(IncomeLossFromDiscontinuedOperationsNetOfTax, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) + constant $PRES_NETWORKS = taxonomy().networks(parent-child) constant $CALC_NETWORKS = $US-GAAP.networks(summation-item) diff --git a/dqc_us_rules/source/us/2022/DQC_0043.xule b/dqc_us_rules/source/us/2022/DQC_0043.xule index de8c2a78b3..44093a5ec6 100644 --- a/dqc_us_rules/source/us/2022/DQC_0043.xule +++ b/dqc_us_rules/source/us/2022/DQC_0043.xule @@ -144,6 +144,7 @@ for $IncomeItem in (($INCOME_ITEMS) - set(DiscontinuedOperationGainLossOnDisposa false else $signFlag = "negative" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element." effective_weight_is_negative($Operating, $IncomeItem) else $discOPs = set(DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax, IncomeLossFromDiscontinuedOperationsNetOfTax, @@ -151,12 +152,13 @@ for $IncomeItem in (($INCOME_ITEMS) - set(DiscontinuedOperationGainLossOnDisposa IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) if $IncomeItem in $discOPs $signFlag = "positive" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being added to the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation includes this income item in cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivities should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations." effective_weight_is_positive($Operating, $IncomeItem) else false message -"The company has reported the concept {$IncomeItem} as a {$signFlag} weight descendant of Operating cash flows in the calculation linkbase of the filing. This element must make a {$signFlag} cash contribution to operating cash flows when the element {$Operating} is used. +"{$messageText} Rule Element Id:{$ruleId} Rule version: {$ruleVersion}" diff --git a/dqc_us_rules/source/us/2022/DQC_0060.xule b/dqc_us_rules/source/us/2022/DQC_0060.xule index 9fd5a45e52..f64f40eb90 100644 --- a/dqc_us_rules/source/us/2022/DQC_0060.xule +++ b/dqc_us_rules/source/us/2022/DQC_0060.xule @@ -68,9 +68,30 @@ assert US.0060.7497 satisfied $rule_id = (rule-name().split('.'))[rule-name().split('.').length]; +/** The discOpsMaterialityFlag is added to address those cases where the value has used cashflow from continuing ops, but the filer has no disc ops from cash flow + because it is immaterial. We asses this situation if the filer reported discontinued operations from income and the value of this is less than 5% of + cash flow from continuing ops. If the filer has used continuing ops by mistake this will get picked up if they have no Disc ops income and if disc ops + income is more than 5% of cash flow from continuing ops. **/ + +$discOpsValue = (list([nonils @concept in $DISCONTINUED_INCOME_ITEMS])) +$continuingOpsValue = list([@concept = NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]) +$MaxValueOfDiscOps = if $discOpsValue.length > 0 + max($discOpsValue) + else + if $continuingOpsValue.length > 0 + max($continuingOpsValue) + else + skip + +$discOpsMaterialityFlag = if (abs($MaxValueOfDiscOps) > abs(max($continuingOpsValue)) * 0.05) + true + else + false + count(list([@NetCashProvidedByUsedInOperatingActivities])) == 0 and count(list([@NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]#fact1))!= 0 and -count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 +count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 and +$discOpsMaterialityFlag message "This rule reflects updated guidance from the Data Quality Committee which contradicts with historical rules. This is a change based on the changes in the cashflow ASU published by FASB. diff --git a/dqc_us_rules/source/us/2022/DQC_0142.xule b/dqc_us_rules/source/us/2022/DQC_0142.xule index 8d9daa6fb0..9cbb3593ea 100644 --- a/dqc_us_rules/source/us/2022/DQC_0142.xule +++ b/dqc_us_rules/source/us/2022/DQC_0142.xule @@ -36,7 +36,7 @@ if $srttaxonomy $BDCInvestmentFact = {@$typedDimension = *} - $Legitimateimensions = $BDCInvestmentFact.dimensions.keys.name - set(us-gaap-supplement:InvestmentCompanyNonconsolidatedSubsidiaryAxis); + $Legitimateimensions = $BDCInvestmentFact.dimensions.keys.name - set(us-gaap-supplement:InvestmentCompanyNonconsolidatedSubsidiaryAxis, srt:RangeAxis); $Legitimateimensions.length > 1 else false diff --git a/dqc_us_rules/source/us/2022/constant.xule b/dqc_us_rules/source/us/2022/constant.xule index e32e6afadd..3bb599a891 100644 --- a/dqc_us_rules/source/us/2022/constant.xule +++ b/dqc_us_rules/source/us/2022/constant.xule @@ -177,6 +177,10 @@ constant $INCOME_ITEMS = set( InvestmentCompanyNetAssetsFromOperationsIncreaseDecrease ) +constant $DISCONTINUED_INCOME_ITEMS = set(IncomeLossFromDiscontinuedOperationsNetOfTax, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) + constant $PRES_NETWORKS = taxonomy().networks(parent-child) constant $CALC_NETWORKS = $US-GAAP.networks(summation-item) diff --git a/dqc_us_rules/source/us/2023/DQC_0043.xule b/dqc_us_rules/source/us/2023/DQC_0043.xule index 9faa7f633b..28953122b9 100644 --- a/dqc_us_rules/source/us/2023/DQC_0043.xule +++ b/dqc_us_rules/source/us/2023/DQC_0043.xule @@ -142,6 +142,7 @@ for $IncomeItem in (($INCOME_ITEMS) - set(DiscontinuedOperationGainLossOnDisposa false else $signFlag = "negative" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element." effective_weight_is_negative($Operating, $IncomeItem) else $discOPs = set(DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax, IncomeLossFromDiscontinuedOperationsNetOfTax, @@ -149,12 +150,13 @@ for $IncomeItem in (($INCOME_ITEMS) - set(DiscontinuedOperationGainLossOnDisposa IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) if $IncomeItem in $discOPs $signFlag = "positive" + $messageText = "The company has reported the concept " + $IncomeItem.local-name + " as part of the cash flow statement. This income item is being added to the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation includes this income item in cash flow from operations. If " + $IncomeItem.local-name + " represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivities should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations." effective_weight_is_positive($Operating, $IncomeItem) else false message -"The company has reported the concept {$IncomeItem} as a {$signFlag} weight descendant of Operating cash flows in the calculation linkbase of the filing. This element must make a {$signFlag} cash contribution to operating cash flows when the element {$Operating} is used. +"{$messageText} Rule Element Id:{$ruleId} Rule version: {$ruleVersion}" diff --git a/dqc_us_rules/source/us/2023/DQC_0060.xule b/dqc_us_rules/source/us/2023/DQC_0060.xule index 9fd5a45e52..f64f40eb90 100644 --- a/dqc_us_rules/source/us/2023/DQC_0060.xule +++ b/dqc_us_rules/source/us/2023/DQC_0060.xule @@ -68,9 +68,30 @@ assert US.0060.7497 satisfied $rule_id = (rule-name().split('.'))[rule-name().split('.').length]; +/** The discOpsMaterialityFlag is added to address those cases where the value has used cashflow from continuing ops, but the filer has no disc ops from cash flow + because it is immaterial. We asses this situation if the filer reported discontinued operations from income and the value of this is less than 5% of + cash flow from continuing ops. If the filer has used continuing ops by mistake this will get picked up if they have no Disc ops income and if disc ops + income is more than 5% of cash flow from continuing ops. **/ + +$discOpsValue = (list([nonils @concept in $DISCONTINUED_INCOME_ITEMS])) +$continuingOpsValue = list([@concept = NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]) +$MaxValueOfDiscOps = if $discOpsValue.length > 0 + max($discOpsValue) + else + if $continuingOpsValue.length > 0 + max($continuingOpsValue) + else + skip + +$discOpsMaterialityFlag = if (abs($MaxValueOfDiscOps) > abs(max($continuingOpsValue)) * 0.05) + true + else + false + count(list([@NetCashProvidedByUsedInOperatingActivities])) == 0 and count(list([@NetCashProvidedByUsedInOperatingActivitiesContinuingOperations]#fact1))!= 0 and -count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 +count(list([@CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations]))== 0 and +$discOpsMaterialityFlag message "This rule reflects updated guidance from the Data Quality Committee which contradicts with historical rules. This is a change based on the changes in the cashflow ASU published by FASB. diff --git a/dqc_us_rules/source/us/2023/DQC_0142.xule b/dqc_us_rules/source/us/2023/DQC_0142.xule index 0ba53725dc..cc2f995ac0 100644 --- a/dqc_us_rules/source/us/2023/DQC_0142.xule +++ b/dqc_us_rules/source/us/2023/DQC_0142.xule @@ -28,7 +28,7 @@ $ruleId = (rule-name().split('.'))[rule-name().split('.').length]; $BDCInvestmentFact = {@$typedDimension = *} - $Legitimateimensions = $BDCInvestmentFact.dimensions.keys.name - set(InvestmentCompanyNonconsolidatedSubsidiaryAxis); + $Legitimateimensions = $BDCInvestmentFact.dimensions.keys.name - set(InvestmentCompanyNonconsolidatedSubsidiaryAxis, srt:RangeAxis); $Legitimateimensions.length > 1 diff --git a/dqc_us_rules/source/us/2023/constant.xule b/dqc_us_rules/source/us/2023/constant.xule index d298e712cc..a8788f4454 100644 --- a/dqc_us_rules/source/us/2023/constant.xule +++ b/dqc_us_rules/source/us/2023/constant.xule @@ -175,6 +175,10 @@ constant $INCOME_ITEMS = set( InvestmentCompanyNetAssetsFromOperationsIncreaseDecrease ) +constant $DISCONTINUED_INCOME_ITEMS = set(IncomeLossFromDiscontinuedOperationsNetOfTax, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest, + IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity) + constant $PRES_NETWORKS = taxonomy().networks(parent-child) constant $CALC_NETWORKS = $US-GAAP.networks(summation-item) diff --git a/rulesetMap.json b/rulesetMap.json index 68acee8f50..bb463fc8be 100644 --- a/rulesetMap.json +++ b/rulesetMap.json @@ -1,14 +1,14 @@ { - "https://xbrl.ifrs.org/taxonomy/2023-03-23/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-ifrs-2023-V20-ruleset.zip", - "https://xbrl.ifrs.org/taxonomy/2022-03-24/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-ifrs-2022-V20-ruleset.zip", - "http://xbrl.ifrs.org/taxonomy/2021-03-24/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-ifrs-2021-V20-ruleset.zip", - "http://xbrl.ifrs.org/taxonomy/2020-03-16/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-ifrs-2020-V20-ruleset.zip", - "http://xbrl.ifrs.org/taxonomy/2019-03-27/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-ifrs-2019-V20-ruleset.zip", - "http://xbrl.ifrs.org/taxonomy/2018-03-16/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-ifrs-2018-V20-ruleset.zip", - "http://fasb.org/us-gaap/2023": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-us-2023-V20-ruleset.zip", - "http://fasb.org/us-gaap/2022": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-us-2022-V20-ruleset.zip", - "http://fasb.org/us-gaap/2021-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-us-2021-V20-ruleset.zip", - "http://fasb.org/us-gaap/2020-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-us-2020-V20-ruleset.zip", - "http://fasb.org/us-gaap/2019-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-us-2019-V20-ruleset.zip", - "http://fasb.org/us-gaap/2018-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20/dqc_us_rules/dqc-us-2018-V20-ruleset.zip" + "https://xbrl.ifrs.org/taxonomy/2023-03-23/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-ifrs-2023-V20-ruleset.zip", + "https://xbrl.ifrs.org/taxonomy/2022-03-24/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-ifrs-2022-V20-ruleset.zip", + "http://xbrl.ifrs.org/taxonomy/2021-03-24/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-ifrs-2021-V20-ruleset.zip", + "http://xbrl.ifrs.org/taxonomy/2020-03-16/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-ifrs-2020-V20-ruleset.zip", + "http://xbrl.ifrs.org/taxonomy/2019-03-27/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-ifrs-2019-V20-ruleset.zip", + "http://xbrl.ifrs.org/taxonomy/2018-03-16/ifrs-full": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-ifrs-2018-V20-ruleset.zip", + "http://fasb.org/us-gaap/2023": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-us-2023-V20-ruleset.zip", + "http://fasb.org/us-gaap/2022": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-us-2022-V20-ruleset.zip", + "http://fasb.org/us-gaap/2021-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-us-2021-V20-ruleset.zip", + "http://fasb.org/us-gaap/2020-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-us-2020-V20-ruleset.zip", + "http://fasb.org/us-gaap/2019-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-us-2019-V20-ruleset.zip", + "http://fasb.org/us-gaap/2018-01-31": "https://github.com/DataQualityCommittee/dqc_us_rules/raw/v20-x/dqc_us_rules/dqc-us-2018-V20-ruleset.zip" } diff --git a/tests/output/DQC.US.0043.9873_dswr-us-2022.xml b/tests/output/DQC.US.0043.9873_dswr-us-2022.xml new file mode 100644 index 0000000000..9ae4fc3c2e --- /dev/null +++ b/tests/output/DQC.US.0043.9873_dswr-us-2022.xml @@ -0,0 +1,61 @@ + + + + [info] Activation of plug-in DQC Rules Validator successful, version Check version using Tools->DQC->Version on the GUI or --dqc-version on the command line. - validate/DQC + + + [info] Activation of plug-in SEC Inline Transforms successful, version 19.2. - transforms/SEC + + + [info] Xule version: 3.0.23524 - + + + [xmlSchema:syntax] Specification mandates value for attribute defer, dswr_10k.htm, line 1, column 1418 - ../../../../../../../dswr_10k.htm , http://www.sec.gov/Archives/edgar/data/1670196/000147793223002932/dswr_10k.htm + + + + + [html:syntaxError] Html error Element script does not carry attribute type line 1, at path /html/head/script[1], Element noscript content does not follow the DTD, expecting (p | h1 | h2 | h3 | h4 | h5 | h6 | div | ul | ol | dl | pre | hr | blockquote | address | fieldset | table | form | noscript | ins | del | script | ix:footnote | ix:nonNumeric | ix:fraction | ix:numerator | ix:denominator | ix:nonFraction | ix:continuation | ix:exclude)*, got (img) line 1, at path /html/body/noscript, Element img does not carry attribute alt line 1, at path /html/body/noscript/img - http://www.sec.gov/Archives/edgar/data/1670196/000147793223002932/dswr_10k.htm 1 + + + + + + + + + + + + + + + [info] loaded in 1.23 secs at 2023-05-04T10:01:53 - http://www.sec.gov/Archives/edgar/data/1670196/000147793223002932/dswr_10k.htm + + + [info] Activation of package dqc_15_concepts.csv, dqc_0011.csv, dqc_0079.csv, dqc_0080.csv, dqc_0081.csv, dqc_0091_ifrs_2018_concepts.csv, dqc_0091_ifrs_2019_concepts.csv, dqc_0094.csv, dqc_0129.csv and effective_dates.csv successful. - D:\Temp\tmpey9rixy6\packages\resources.zip + + + [DQC.US.0043.9873] The company has reported the concept NetIncomeLoss as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If NetIncomeLoss represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element. + +Rule Element Id:9873 +Rule version: 20.0.6 - https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 11579 + + + + + + + + + + + + + + + + + [info] validated in 4.41 secs - http://www.sec.gov/Archives/edgar/data/1670196/000147793223002932/dswr_10k.htm + + diff --git a/tests/output/DQC.US.0043.9873_ela-us-2022.xml b/tests/output/DQC.US.0043.9873_ela-us-2022.xml new file mode 100644 index 0000000000..7c5fb7aac4 --- /dev/null +++ b/tests/output/DQC.US.0043.9873_ela-us-2022.xml @@ -0,0 +1,61 @@ + + + + [info] Activation of plug-in DQC Rules Validator successful, version Check version using Tools->DQC->Version on the GUI or --dqc-version on the command line. - validate/DQC + + + [info] Activation of plug-in SEC Inline Transforms successful, version 19.2. - transforms/SEC + + + [info] Xule version: 3.0.23524 - + + + [xmlSchema:syntax] Specification mandates value for attribute defer, ela_10q.htm, line 1, column 1413 - ../../../../../../../ela_10q.htm , http://www.sec.gov/Archives/edgar/data/701719/000165495423005744/ela_10q.htm + + + + + [html:syntaxError] Html error Element script does not carry attribute type line 1, at path /html/head/script[1], Element noscript content does not follow the DTD, expecting (p | h1 | h2 | h3 | h4 | h5 | h6 | div | ul | ol | dl | pre | hr | blockquote | address | fieldset | table | form | noscript | ins | del | script | ix:footnote | ix:nonNumeric | ix:fraction | ix:numerator | ix:denominator | ix:nonFraction | ix:continuation | ix:exclude)*, got (img) line 1, at path /html/body/noscript, Element img does not carry attribute alt line 1, at path /html/body/noscript/img - http://www.sec.gov/Archives/edgar/data/701719/000165495423005744/ela_10q.htm 1 + + + + + + + + + + + + + + + [info] loaded in 2.09 secs at 2023-05-04T10:01:44 - http://www.sec.gov/Archives/edgar/data/701719/000165495423005744/ela_10q.htm + + + [info] Activation of package dqc_15_concepts.csv, dqc_0011.csv, dqc_0079.csv, dqc_0080.csv, dqc_0081.csv, dqc_0091_ifrs_2018_concepts.csv, dqc_0091_ifrs_2019_concepts.csv, dqc_0094.csv, dqc_0129.csv and effective_dates.csv successful. - D:\Temp\tmptdor281c\packages\resources.zip + + + [DQC.US.0043.9873] The company has reported the concept ProfitLoss as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If ProfitLoss represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element. + +Rule Element Id:9873 +Rule version: 20.0.6 - https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd 14149 + + + + + + + + + + + + + + + + + [info] validated in 5.14 secs - http://www.sec.gov/Archives/edgar/data/701719/000165495423005744/ela_10q.htm + +