Rule function
The purpose of this rule is to identify incorrect calculation relationships defined in the filer taxonomy. These relationships are an indicator that the filer has selected an incorrect element.
The rule works by looking at the calculation relationships defined in the filers extension taxonomy and compares that to the U.S. GAAP taxonomies to identify contradictions. These contradictions can be of two separate types.
- Elements in the filer extension taxonomy that have been redefined as a child element to a parent but was defined as a sibling in the US GAAP taxonomy. An example of this would be Noncurrent Assets being redefined as a child of Current Assets.
- Elements in the filer extension taxonomy that have been redefined as a sibling element to a parent but was defined as a child in the US GAAP taxonomy. An example of this would be Property Plant and Equipment being moved from a child of Noncurrent Assets to being a sibling of Noncurrent Assets.
Scope of the Rule
- The rule only applies to calculations defined in the financial statements of the filing.
- The rule only checks calculations that have values
- The rule only applies to values with no dimensions
- The rule does not apply to identified exceptions
Exceptions to the Rule
In many cases these changes can be appropriate because of the nature of the parent and child elements and the flexible nature of certain captions as catch all concepts. Examples of this include elements like Other Assets. In addition, the materiality of an element can dictate that a separate line item is created for it. In a number of cases the taxonomy is also ambiguous. In one location an element is a sibling to an element, but in another location in the taxonomy it is a child of that sibling. All of these conditions potentially can produce a false positive. To eliminate this, the rule identifies exceptions to avoid reporting a false positive. These exceptions are broken into the following categories:
Elements excluded from the rule
Referred to as “elements_excluded_from_rule”. This is a list of elements (focus element) that can have their siblings appear as children or their children appear as siblings. This does not mean the inconsistency is appropriate, but just that it will not be reported as an error. This includes elements like OperatingCostsAndExpenses which do not have a distinct categorization defined in GAAP or elements like GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee which could appear in a number of places in the financial statements. This list excludes the focus element.
Child elements promotable to sibling of parent element and vice versa
Referred to as “child_elements_promotable_to_sibling_of_parent_element”. This identifies a list of child elements that can be promoted in the company’s filing to be a sibling of their parent. In addition these same elements can be moved to children of their siblings as defined in the US GAAP taxonomy. This list excludes the child element of a calculation relationship.
Parent elements with children promotable to sibling
Referred to as “parent_elements_with_children_promotable_to_sibling”. This is a list with two components. The first component is the focus element. Any of the focus elements children in the US GAAP taxonomy can be promoted to be a sibling of the focus element in the company’s extension taxonomy. The second component is a list of elements that are children of the focus element in the US GAAP taxonomy that can never be promoted to a sibling of the focus element.
Sibling elements with siblings demotable to descendant
Referred to as “sibling_elements_with_siblings_demotable_to_descendant”: This is a list with two components. The first component is the focus element. Any of the focus elements siblings in the US GAAP taxonomy can be demoted to a child or descendant of the focus element in the company’s extension taxonomy. The second component is a list of elements that are siblings of the focus element that can never be demoted.
Siblings demotable to child
Referred to as “siblings_demotable_to_child”: This is a list with two components. The first component is the focus element. The second element is defined as a sibling of the focus element in the US GAAP taxonomy. This list indicates that the second element can be represented as a child of the focus element in the company’s filing. In addition, any descendents of the second element can also be defined as a child of the focus element in the company’s filing. In the US GAAP taxonomy DerivativeAssets is a sibling of Investments. This list represents that DerivativeAssets can also be represented as a child of Investments. It also means that any descendants of DerivativeAssets can also legitimately appear as a descendant of Investments in the companies filing.
Child elements promotable to sibling
Referred to as “child_elements_promotable_to_sibling”: This is a list with two components. The first component is the parent element and the second element is the child element in the US GAAP taxonomy that can be promoted to a sibling of the parent. i.e. GainLossOnDispositionOfAssets can be promoted to a sibling of OperatingExpenses. In addition, any descendents of the second element can also be defined as a sibling of the parent element in the company’s filing.
Rule Process
Inappropriate Children Rule
The first rule identifies those elements with inappropriate children. The rule performs the following steps to achieve this:
- Get all the calculations defined in the extension taxonomy.
- Loop through every calculation network in the extension taxonomy and identify only those networks that are statement networks. I.e. Balance Sheet, Income Statement Cash flows etc.
- Remove those calculation relationships that are excluded:
- elements_excluded_from_rule
- Siblings_demotable_to_child
- Child_elements_promotable_to_sibling_of_parent_element
- Cash_flow_exceptions
- Exclude calculation relationships that have the element AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities as a parent.
- Identify the parent element and child element from the remaining calculation relationships.
- Identify the siblings of that parent element defined in the US GAAP taxonomy.
- Generate a list of sibling items that includes descendants of the siblings in the US GAAP taxonomy, but excludes the cash flow adjustment items as they are add backs and can be legitimate children.
- Compare the child element in the company filing to the list of possible siblings and identify any overlap. This is an inconsistency.
- Get fact values of the parent and child elements that have no dimensions for the inconsistency. (Except zero or nil values for the child and nil values for the parent). If there are no fact values for both parent and child elements then the rule stops processing.
- Read the list of elements that can have any siblings demoted to a child sibling_elements_with_siblings_demotable_to_descendant. Exclude the calculation relationship from the rule if:
- The parent in the calculation matches a parent in the exclusion list, and
- The child in the calculation matches the child in the exception list or the descendants of the child (From the US GAAP taxonomy) in the exception list.
Inappropriate Sibling Rule
The second rule identifies those elements with inappropriate siblings. The rule performs the following steps to achieve this:
- Get a list of all the concepts that have fact values in the instance with no dimensions (Excludes nil values), these are called focus elements
- Exclude NetIncomeLoss, ProfitLoss, etc. elements from the list as these are used in the cash flow add-backs. Use net income items defined in rule xxx.
- Get all the calculation relationships defined in the extension taxonomy that are siblings of the focus element
- Loop through every calculation network in the extension taxonomy and identify only those networks that are statement networks. I.e. Balance Sheet, Income Statement Cash flows etc.
- Remove those calculation relationships that are excluded:
- elements_excluded_from_rule
- Child_elements_promotable_to_sibling
- Child_elements_promotable_to_sibling_of_parent_element
- Identify the parent element and child element from the remaining calculation relationships.
- Identify all the descendants elements of the focus element defined in the US GAAP taxonomy.
- Compare the sibling element of the focus element in the company filing to the list of possible descendants of the focus element in the US GAAP taxonomy and identify any overlap. This is an inconsistency.
- For each inconsistency get the fact values of the focus element and the sibling elements that have no dimensions (Except zero or nil values for the sibling and nil values for the parent). If there is no fact values for both parent and child then the rule stops processing.
- Read the list of elements that can have any children promotable to a sibling parent_elements_with_children_promotable_to_sibling. Exclude the calculation relationship from the rule if:
- The focus element in the calculation matches the first component of the exclusion list, and
- The sibling in the calculation matches the second component in the exception list or the descendants of the second component (From the US GAAP taxonomy) in the exception list. (This is a list descendants of the promoted child that needs to be created by the rule)
Problem solved by the rule
The rule identifies where filers have used inappropriate elements to define line item classifications on the face of the financial statements. In many cases companies will use elements that represent the aggregate amount of a financial line item, but the filing represents a portion of that total. This rule detects these cases. In addition filers include values as a subtotal but do not change the parent element to represent the more inclusive aggregation.
Example rule message
Presentation style of rule messages may differ among software implementations of the rules.
An example of the rule messages are shown below.
Inappropriate Children
The line item concept us-gaap:CostOfRevenue with a value of 2,765,746 is represented as a child of us-gaap:OperatingExpenses with a value of 35,240,113 in the companies extension taxonomy role 00200 – Statement – CONSOLIDATED STATEMENTS OF OPERATIONS. The element us-gaap:CostOfRevenue however, is not represented as a component of us-gaap:OperatingExpenses in the US-GAAP taxonomies. The US-GAAP taxonomies include us-gaap:CostOfRevenue as a sibling element (or child of that sibling) relative to us-gaap:OperatingExpenses. Please review the element selection to determine that an appropriate element has been used for the parent element us-gaap:OperatingExpenses and the child element us-gaap:CostOfRevenue.
The properties of this us-gaap:CostOfRevenue fact are:
Period: 2018-01-01 to 2018-12-31
Dimensions:
Unit: USD
Rule Element Id: 9277
Rule version: 9.0.0
Inappropriate Sibling
The line item concept us-gaap:OtherLiabilitiesCurrent with a value of 2,200,000 and a calculation parent of us-gaap:Liabilities is represented as a sibling of us-gaap:LiabilitiesCurrent with a value of 314,519,000 in the extension taxonomy role 00100 – Statement – CONSOLIDATED BALANCE SHEETS, but us-gaap:OtherLiabilitiesCurrent is represented as a descendent of us-gaap:LiabilitiesCurrent in the us-gaap taxonomies. Please review the element selection to determine that an appropriate element has been used for these two line item concepts.
The properties of this us-gaap:OtherLiabilitiesCurrent fact are:
Period: 2018-12-31
Dimensions:
Unit: CNY
Rule Element Id: 9278
Rule version: 9.0.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
Message template Inappropriate Child
The line item concept {$inappropriate_child.concept.name} with a value of {$inappropriate_child} is represented as a child of {$extCalcSourceName} with a value of {$source_value} in the companies extension taxonomy role {$extCalcNetwork}. The element {$inappropriate_child.concept.name} however, is not represented as a component of {$extCalcSourceName} in the US-GAAP taxonomies. The US-GAAP taxonomies include {$inappropriate_child.concept.name} as a sibling element (or child of that sibling) relative to {$extCalcSourceName}. Please review the element selection to determine that an appropriate element has been used for the parent element {$extCalcSourceName} and the child element {$inappropriate_child.concept.name}.
The properties of this {$inappropriate_child.concept.name} fact are:
Period: {$inappropriate_child.period}
Dimensions: {$inappropriate_child.dimensions.join(’, ‘,’=’)}
Unit: {$inappropriate_child.unit}\n
Rule Element Id: {$rule_id}
Rule version: {$ruleVersion}
Message template Inappropriate Sibling
The line item concept {$inappropriate_sibling.concept.name} with a value of {$inappropriate_sibling} and a calculation parent of {$extCalcSourceName} is represented as a sibling of {$value-con} with a value of {$source_value} in the extension taxonomy role {$extCalcNetwork}, but {$inappropriate_sibling.concept.name} is represented as a descendent of {$value-con} in the us-gaap taxonomies. Please review the element selection to determine that an appropriate element has been used for these two line item concepts.
The properties of this {$inappropriate_sibling.concept.name} fact are:
Period: {$inappropriate_sibling.period}
Dimensions: {$inappropriate_sibling.dimensions.join(’, ‘,’=’)}
Unit: {$inappropriate_sibling.unit}\n
Rule Element Id: {$rule_id}
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 | Element |
---|---|
DQC.US.0081.9277 | All sibling elements in the US GAAP calculation linkbase |
DQC.US.0081.9278 | All child elements in the US GAAP calculation linkbase |
View: as part of approved release v9.0.0 || public exposure version & comments.