Rule ID: DQC_0043 for US GAAP - approved October 4, 2017.
Latest update: July 6, 2018. - see appendix for details.
View: as part of approved release v6.0.2 || public exposure version & comments.


Rule function

The rule identifies the balance type of the elements in the calculation linkbase that are descendants of the operating cash flow elements in the US GAAP taxonomy, specifically the elements NetCashProvidedByUsedInOperatingActivities or NetCashProvidedByUsedInOperatingActivitiesContinuingOperations and determines whether their effective calculation weights are accurate. The effective calculation weight is the calculation weight of the descendant element relative to operating cash flow element irrespective of the level the descendant element exists at in the calculation hierarchy. The rule flags an error in the following conditions:

  • If the descendant element of an operating cash flow element has a debit balance type and a negative effective calculation weight.
  • If the descendant element of an operating cash flow element has a credit balance type and a positive effective calculation weight. (See exceptions below)

There are a number of exceptions to this rule, specifically net income elements which are the starting point for the calculation of operating cash flow and will be a credit item with a positive balance. Therefore any net income related descendants are excluded from the rule. These are as follows:

  1. ProfitLoss
  2. NetIncomeLoss
  3. IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
  4. IncomeLossFromContinuingOperations
  5. IncomeLossAttributableToParent
  6. IncomeLossIncludingPortionAttributableToNoncontrollingInterest
  7. IncomeLossBeforeExtraordinaryItemsAndCumulativeEffectOfChangeInAccountingPrinciple
  8. NetIncomeLossAvailableToCommonStockholdersBasic
  9. NetIncomeLossAllocatedToGeneralPartners
  10. NetIncomeLossAllocatedToLimitedPartners
  11. DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
  12. ExtraordinaryItemGainOrLossNetOfTaxAttributableToNoncontrollingInterest
  13. ExtraordinaryItemGainOrLossNetOfTaxAttributableToReportingEntity
  14. ExtraordinaryItemNetOfTax
  15. ExtraordinaryItemsGross
  16. GainLossOnSaleOfPropertiesNetOfApplicableIncomeTaxes
  17. IncomeLossAttributableToNoncontrollingInterest
  18. IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
  19. IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
  20. IncomeLossFromDiscontinuedOperationsNetOfTax
  21. IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToNoncontrollingInterest
  22. IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
  23. NetIncomeLossAttributableToNoncontrollingInterest
  24. IncomeLossBeforeGainOrLossOnSaleOfPropertiesExtraordinaryItemsAndCumulativeEffectsOfAccountingChanges
  25. NetIncomeLossAttributableToParentNetOfFederalHomeLoanBankAssessments
  26. ComprehensiveIncomeNetOfTax
  27. IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
  28. IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
  29. IncomeLossFromContinuingOperationsBeforeInterestExpenseInterestIncomeIncomeTaxesExtraordinaryItemsNoncontrollingInterestsNet
  30. IncomeLossFromSubsidiariesNetOfTax

In addition, any calculation descendants of these excluded elements are also excluded from the test.

The rule should report every fact associated with the descendant element in the XBRL instance. This is because once the calculation weight is changed the sign of the reported values will need to be changed.

When the elements NetCashProvidedByUsedInOperatingActivitiesContinuingOperations and NetCashProvidedByUsedInOperatingActivities both appear in the calculation linkbase then the rule should only be run for NetCashProvidedByUsedInOperatingActivities.

If there is no value provided for the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations or NetCashProvidedByUsedInOperatingActivities then no errors will be returned. For example if the calculation network starts with NetCashProvidedByUsedInOperatingActivities and no value is provided for this element than no error will occur even if a value is provided for NetCashProvidedByUsedInOperatingActivitiesContinuingOperations. The same is true if the calculation network starts with the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations and no value is provided for this element in the instance. No error will be reported even if a value is provided for NetCashProvidedByUsedInOperatingActivities.

The calculation weights between elements are evaluated relative to each network in which they appear.

Problem solved by the rule

In the cash flow statement a number of items will roll up into Net Cash Provided by (Used in) Operating Activities.  Because the parent element NetCashProvidedByUsedInOperatingActivities has no balance attribute, the calculation weights are not checked in XBRL specification validation.  This means that filers can use any weight they like on the child elements and an XBRL error will not result. Historically, a large number of companies have used an incorrect weight on the calculation and as a result the element being added into Net Cash Provided by (Used in) Operating Activities has an incorrect sign (i.e. Is negative when it should be positive).  In the example rule message below, the filer has used the element provision for doubtful accounts with a negative value when it should have been positive. This issue cannot be solved using a negative rule, as the element could justifiably be entered with a negative value in some cases.

Example rule message

The concept Provision For Doubtful Accounts is included in the calculation of Net Cash Provided By Used In Operating Activities. Provision For Doubtful Accounts is a debit balance type concept representing a natural cash inflow in the reconciliation of net income (loss) to Net Cash Provided By Used In Operating Activities.

A debit balance type concept should always be assigned a positive one (+1) calculation weight, as it is an addition to net income (loss) to reconcile to Net Cash Provided By Used In Operating Activities. Provision For Doubtful Accounts has been incorrectly provided a negative one (-1) calculation weight in the extension taxonomy.

Correct the calculation weight to positive one (+1) and input the value as a positive amount.

The properties of this us-gaap:ProvisionForDoubtfulAccounts fact are:

Period : 2015-11-01 to 2016-10-31
Dimensions : none
Unit : USD
Rule version : 5.0

For Developers

The Global Rule Logic document contains general guidelines for implementation of rules.

The rule message template contains text and parametric reference to arguments of the rule operation, using the syntax ${parameter} to indicate that insertion of a parameter’s value is to occur.

Message template

Template for children of NetCashProvidedByUsedInOperatingActivities

The concept ${fact1.label} is included in the calculation of ${NetCashProvidedByUsedInOperatingActivities.label}. ${fact1.label}  is a ${fact1.balance}  balance type concept representing a natural cash inflow in the reconciliation of net income (loss) to ${NetCashProvidedByUsedInOperatingActivities.label}.

A ${fact1.balance}  balance type concept should always be assigned a ${if fact1.balance = debit THEN “positive one (+1)”  ELSE if fact1.balance = credit THEN “negative one (-1)” }  calculation weight, as it is ${if fact1.balance = debit THEN “an addition”  ELSE if fact1.balance = credit THEN “a subtraction” } to net income (loss) to reconcile to Net Cash Provided By Used In Operating Activities. ${fact1.label}  has been incorrectly provided a  ${if fact1.balance = credit THEN “positive one (+1)”  ELSE if fact1.balance = debit THEN “negative one (-1)” } calculation weight in the extension taxonomy.

Correct the calculation weight to ${if fact1.balance = debit THEN “positive one (+1)”  ELSE if fact1.balance = credit THEN “negative one (-1)” } and input the value as a positive amount.

The properties of this ${fact1.name} fact are:
Period: ${fact1.period}
Dimensions: ${fact1.dimensions}
Unit: ${fact1.unit}
Rule version: ${ruleVersion}

Template for children of NetCashProvidedByUsedInOperatingActivitiesContinuingOperations

The concept ${fact1.label} is included in the calculation of ${NetCashProvidedByUsedInOperatingActivities.label}. ${fact1.label}  is a ${fact1.balance}  balance type concept representing a natural cash inflow in the reconciliation of net income (loss) to ${NetCashProvidedByUsedInOperatingActivitiesContinuingOperations.label}.

A ${fact1.balance}  balance type concept should always be assigned a ${if fact1.balance = debit THEN “positive one (+1)”  ELSE if fact1.balance = credit THEN “negative one (-1)” }  calculation weight, as it is ${if fact1.balance = debit THEN “an addition”  ELSE if fact1.balance = credit THEN “a subtraction” } to net income (loss) to reconcile to Net Cash Provided By Used In Operating Activities. ${fact1.label}  has been incorrectly provided a  ${if fact1.balance = credit THEN “positive one (+1)”  ELSE if fact1.balance = debit THEN “negative one (-1)” } calculation weight in the extension taxonomy.

Correct the calculation weight to ${if fact1.balance = debit THEN “positive one (+1)”  ELSE if fact1.balance = credit THEN “negative one (-1)” } and input the value as a positive amount.

The properties of this ${fact1.name} fact are:
Period: ${fact1.period}
Dimensions: ${fact1.dimensions}
Unit: ${fact1.unit}
Rule version: ${ruleVersion}

Rule element ID index

The rule element id is used to identify unique elements or combinations of elements tested in the rule.

Rule element ID Parent Element
DQC.US.0043.6833 NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
DQC.US.0043.7488 NetCashProvidedByUsedInOperatingActivities

View: as part of approved release v6.0.2 || public exposure version & comments.