Generated by Pacioli version 54f833c (updated 2 hours ago). Analysis at 2021-06-16T22:09:05+0000 for charles.hoffman@me.com. This page will remain online at https://pacioli.logicalcontracts.com/reportAnalysis/c52dcf4088acbd1f7fe9451f4239108c2e441fa9.report/index.html for about 28 days.

TypeDefinedBoundDerivedOKFail
valueAssertion24370370

Rule Details

TypeName Rule ExpressionProlog form (technical)
valueAssertionFAC_CONSISTENCY_17
  • derived:0
  • ok:3
  • failed:0
 

NetIncomeLoss=Revenue-Expenses+Gains-Losses

3 instances:

fac:NetIncomeLoss[-750] = fac:Revenue[1000] - fac:Expenses[1000] + fac:Gains[250] - fac:Losses[1000]

fac:NetIncomeLoss[3750] = fac:Revenue[6000] - fac:Expenses[2000] + fac:Gains[750] - fac:Losses[1000]

fac:NetIncomeLoss[3000] = fac:Revenue[7000] - fac:Expenses[3000] + fac:Gains[1000] - fac:Losses[2000]


'FAC_CONSISTENCY_17' valueAssertion
  NetIncomeLoss=Revenue-Expenses+Gains-Losses
  variables
  Losses: [concept(fac:'Losses')],
  Gains: [concept(fac:'Gains')],
  Expenses: [concept(fac:'Expenses')],
  Revenue: [concept(fac:'Revenue')],
  NetIncomeLoss: [concept(fac:'NetIncomeLoss')].
valueAssertionFAC_CONSISTENCY_59
  • derived:0
  • ok:1
  • failed:0
 

ComprehensiveIncomeLoss=NetIncomeLoss+OtherComprehensiveIncome

1 instance:

fac:ComprehensiveIncomeLoss[3000] = fac:NetIncomeLoss[3000] + fac:OtherComprehensiveIncome[0]


'FAC_CONSISTENCY_59' valueAssertion
  ComprehensiveIncomeLoss=NetIncomeLoss+OtherComprehensiveIncome
  variables
  OtherComprehensiveIncome: [concept(fac:'OtherComprehensiveIncome')],
  NetIncomeLoss: [concept(fac:'NetIncomeLoss')],
  ComprehensiveIncomeLoss: [concept(fac:'ComprehensiveIncomeLoss')].
valueAssertionFAC_CONSISTENCY_2
  • derived:0
  • ok:2
  • failed:0
 

Assets=LiabilitiesAndEquity

2 instances:

fac:Assets[0] = fac:LiabilitiesAndEquity[0]

fac:Assets[3500] = fac:LiabilitiesAndEquity[3500]


'FAC_CONSISTENCY_2' valueAssertion
  Assets=LiabilitiesAndEquity
  variables
  LiabilitiesAndEquity: [concept(fac:'LiabilitiesAndEquity')],
  Assets: [concept(fac:'Assets')].
valueAssertionFAC_CONSISTENCY_3
  • derived:0
  • ok:2
  • failed:0
 

Assets=CurrentAssets+NoncurrentAssets

2 instances:

fac:Assets[0] = fac:CurrentAssets[0] + fac:NoncurrentAssets[0]

fac:Assets[3500] = fac:CurrentAssets[500] + fac:NoncurrentAssets[3000]


'FAC_CONSISTENCY_3' valueAssertion
  Assets=CurrentAssets+NoncurrentAssets
  variables
  NoncurrentAssets: [concept(fac:'NoncurrentAssets')],
  CurrentAssets: [concept(fac:'CurrentAssets')],
  Assets: [concept(fac:'Assets')].
valueAssertionFAC_CONSISTENCY_4
  • derived:0
  • ok:2
  • failed:0
 

Liabilities=CurrentLiabilities+NoncurrentLiabilities

2 instances:

fac:Liabilities[0] = fac:CurrentLiabilities[0] + fac:NoncurrentLiabilities[0]

fac:Liabilities[0] = fac:CurrentLiabilities[0] + fac:NoncurrentLiabilities[0]


'FAC_CONSISTENCY_4' valueAssertion
  Liabilities=CurrentLiabilities+NoncurrentLiabilities
  variables
  NoncurrentLiabilities: [concept(fac:'NoncurrentLiabilities')],
  CurrentLiabilities: [concept(fac:'CurrentLiabilities')],
  Liabilities: [concept(fac:'Liabilities')].
valueAssertionFAC_CONSISTENCY_5
  • derived:0
  • ok:2
  • failed:0
 

LiabilitiesAndEquity=Liabilities+Equity

2 instances:

fac:LiabilitiesAndEquity[0] = fac:Liabilities[0] + fac:Equity[0]

fac:LiabilitiesAndEquity[3500] = fac:Liabilities[0] + fac:Equity[3500]


'FAC_CONSISTENCY_5' valueAssertion
  LiabilitiesAndEquity=Liabilities+Equity
  variables
  Equity: [concept(fac:'Equity')],
  Liabilities: [concept(fac:'Liabilities')],
  LiabilitiesAndEquity: [concept(fac:'LiabilitiesAndEquity')].
valueAssertionAdjustment_ADJ01
  • derived:0
  • ok:1
  • failed:0
 

Restated=OrigionallyStated+CorrectionOfAnError+ChangesInAccountingPolicy

1 instance:

proof:Equity[0] = proof:Equity[2000] + proof:CorrectionOfAnError[-500] + proof:ChangesInAccountingPolicy[-1500]


'Adjustment_ADJ01' valueAssertion
  Restated=OrigionallyStated+CorrectionOfAnError+ChangesInAccountingPolicy
  variables
  ChangesInAccountingPolicy: [explicitDimension(proof:'ReportDateAxis',[proof:'CurrentReportMember']),concept(proof:'ChangesInAccountingPolicy')],
  CorrectionOfAnError: [explicitDimension(proof:'ReportDateAxis',[proof:'CurrentReportMember']),concept(proof:'CorrectionOfAnError')],
  OrigionallyStated: [explicitDimension(proof:'ReportDateAxis',[proof:'PriorReportMember']),concept(proof:'Equity')],
  Restated: [explicitDimension(proof:'ReportDateAxis',[proof:'CurrentReportMember']),concept(proof:'Equity')].
valueAssertionArithmetic_BS01
  • derived:0
  • ok:2
  • failed:0
 

Assets=Liabilities+Equity

2 instances:

proof:Assets[0] = proof:Liabilities[0] + proof:Equity[0]

proof:Assets[3500] = proof:Liabilities[0] + proof:Equity[3500]


'Arithmetic_BS01' valueAssertion
  Assets=Liabilities+Equity
  variables
  Equity: [concept(proof:'Equity')],
  Liabilities: [concept(proof:'Liabilities')],
  Assets: [concept(proof:'Assets')].
valueAssertionArithmetic_BS02
  • derived:0
  • ok:2
  • failed:0
 

Assets=CurrentAssets+NoncurrentAssets

2 instances:

proof:Assets[0] = proof:CurrentAssets[0] + proof:NoncurrentAssets[0]

proof:Assets[3500] = proof:CurrentAssets[500] + proof:NoncurrentAssets[3000]


'Arithmetic_BS02' valueAssertion
  Assets=CurrentAssets+NoncurrentAssets
  variables
  NoncurrentAssets: [concept(proof:'NoncurrentAssets')],
  CurrentAssets: [concept(proof:'CurrentAssets')],
  Assets: [concept(proof:'Assets')].
valueAssertionArithmetic_BS03
  • derived:0
  • ok:2
  • failed:0
 

Liabilities=CurrentLiabilities+NoncurrentLiabilities

2 instances:

proof:Liabilities[0] = proof:CurrentLiabilities[0] + proof:NoncurrentLiabilities[0]

proof:Liabilities[0] = proof:CurrentLiabilities[0] + proof:NoncurrentLiabilities[0]


'Arithmetic_BS03' valueAssertion
  Liabilities=CurrentLiabilities+NoncurrentLiabilities
  variables
  NoncurrentLiabilities: [concept(proof:'NoncurrentLiabilities')],
  CurrentLiabilities: [concept(proof:'CurrentLiabilities')],
  Liabilities: [concept(proof:'Liabilities')].
valueAssertionArithmetic_BS04
  • derived:0
  • ok:2
  • failed:0
 

Equity=EquityAttributableToControllingInterests+EquityAttributableToNoncontrollingInterests

2 instances:

proof:Equity[0] = proof:EquityAttributableToControllingInterests[0] + proof:EquityAttributableToNoncontrollingInterests[0]

proof:Equity[3500] = proof:EquityAttributableToControllingInterests[3000] + proof:EquityAttributableToNoncontrollingInterests[500]


'Arithmetic_BS04' valueAssertion
  Equity=EquityAttributableToControllingInterests+EquityAttributableToNoncontrollingInterests
  variables
  EquityAttributableToNoncontrollingInterests: [concept(proof:'EquityAttributableToNoncontrollingInterests')],
  EquityAttributableToControllingInterests: [concept(proof:'EquityAttributableToControllingInterests')],
  Equity: [concept(proof:'Equity')].
valueAssertionArithmetic_CF01
  • derived:0
  • ok:1
  • failed:0
 

NetCashFlow=NetCashFlowOperatingActivities+NetCashFlowFinancingActivities+NetCashFlowInvestingActivities

1 instance:

proof:NetCashFlow[3500] = proof:NetCashFlowOperatingActivities[1500] + proof:NetCashFlowFinancingActivities[1000] + proof:NetCashFlowInvestingActivities[1000]


'Arithmetic_CF01' valueAssertion
  NetCashFlow=NetCashFlowOperatingActivities+NetCashFlowFinancingActivities+NetCashFlowInvestingActivities
  variables
  NetCashFlowInvestingActivities: [concept(proof:'NetCashFlowInvestingActivities')],
  NetCashFlowFinancingActivities: [concept(proof:'NetCashFlowFinancingActivities')],
  NetCashFlowOperatingActivities: [concept(proof:'NetCashFlowOperatingActivities')],
  NetCashFlow: [concept(proof:'NetCashFlow')].
valueAssertionArithmetic_IS01
  • derived:0
  • ok:3
  • failed:0
 

NetIncome=Revenues-Expenses+Gains-Losses

3 instances:

proof:NetIncome[-750] = proof:Revenues[1000] - proof:Expenses[1000] + proof:Gains[250] - proof:Losses[1000]

proof:NetIncome[3750] = proof:Revenues[6000] - proof:Expenses[2000] + proof:Gains[750] - proof:Losses[1000]

proof:NetIncome[3000] = proof:Revenues[7000] - proof:Expenses[3000] + proof:Gains[1000] - proof:Losses[2000]


'Arithmetic_IS01' valueAssertion
  NetIncome=Revenues-Expenses+Gains-Losses
  variables
  Losses: [concept(proof:'Losses')],
  Gains: [concept(proof:'Gains')],
  Expenses: [concept(proof:'Expenses')],
  Revenues: [concept(proof:'Revenues')],
  NetIncome: [concept(proof:'NetIncome')].
valueAssertionArithmetic_IS02
  • derived:0
  • ok:1
  • failed:0
 

NetIncome=IncomeFromNormalActivitiesOfEntity+IncomeFromPeripheralOrIncidentalTransactionsOfEntity

1 instance:

proof:NetIncome[3000] = proof:IncomeFromNormalActivitiesOfEntity[2000] + proof:IncomeFromPeripheralOrIncidentalTransactionsOfEntity[1000]


'Arithmetic_IS02' valueAssertion
  NetIncome=IncomeFromNormalActivitiesOfEntity+IncomeFromPeripheralOrIncidentalTransactionsOfEntity
  variables
  IncomeFromPeripheralOrIncidentalTransactionsOfEntity: [concept(proof:'IncomeFromPeripheralOrIncidentalTransactionsOfEntity')],
  IncomeFromNormalActivitiesOfEntity: [concept(proof:'IncomeFromNormalActivitiesOfEntity')],
  NetIncome: [concept(proof:'NetIncome')].
valueAssertionArithmetic_NA01
  • derived:0
  • ok:2
  • failed:0
 

NetAssets=Assets-Liabilities

2 instances:

proof:NetAssets[0] = proof:Assets[0] - proof:Liabilities[0]

proof:NetAssets[3500] = proof:Assets[3500] - proof:Liabilities[0]


'Arithmetic_NA01' valueAssertion
  NetAssets=Assets-Liabilities
  variables
  Liabilities: [concept(proof:'Liabilities')],
  Assets: [concept(proof:'Assets')],
  NetAssets: [concept(proof:'NetAssets')].
valueAssertionMemberAggregation_MA1
  • derived:0
  • ok:1
  • failed:0
 

Total eq sum(Each)

1 instance:

7000, 1000, 4000, 2000


'MemberAggregation_MA1' valueAssertion
  Total eq sum(Each)
  variables
  Each: [explicitDimension(proof:'SegmentsAxis',[under('Total','http://www.xbrlsite.com/report/role/SegmentRevenues','http://xbrl.org/int/dim/arcrole/domain-member',child)]),concept(proof:'Revenues')],
  Total: [concept(proof:'Revenues')].
valueAssertionMemberAggregation_PPA
  • derived:0
  • ok:1
  • failed:0
 

Total eq sum(Each)

1 instance:

0, -1500, -500, 2000


'MemberAggregation_PPA' valueAssertion
  Total eq sum(Each)
  variables
  Each: [explicitDimension(proof:'RestatementAxis',[under('Total','http://www.xbrlsite.com/report/role/PriorPeriodErrors2','http://xbrl.org/int/dim/arcrole/domain-member',child)]),concept(proof:'Equity')],
  Total: [concept(proof:'Equity')].
valueAssertionRollForward_CF01
  • derived:0
  • ok:1
  • failed:0
 

Assets_BalanceStart+NetCashFlow=Assets_BalanceEnd

1 instance:

proof:Assets[0] + proof:NetCashFlow[3500] = proof:Assets[3500]


'RollForward_CF01' valueAssertion
  Assets_BalanceStart+NetCashFlow=Assets_BalanceEnd
  variables
  Assets_BalanceEnd: [concept(proof:'Assets'),instantDuration('NetCashFlow',end)],
  NetCashFlow: [concept(proof:'NetCashFlow')],
  Assets_BalanceStart: [concept(proof:'Assets'),instantDuration('NetCashFlow',start)].
valueAssertionRollForward_SHE01
  • derived:0
  • ok:1
  • failed:0
 

Equity_BalanceStart+ComprehensiveIncome+InvestmentsByOwners-DistributionsToOwners=Equity_BalanceEnd

1 instance:

proof:Equity[0] + proof:ComprehensiveIncome[3000] + proof:InvestmentsByOwners[1000] - proof:DistributionsToOwners[500] = proof:Equity[3500]


'RollForward_SHE01' valueAssertion
  Equity_BalanceStart+ComprehensiveIncome+InvestmentsByOwners-DistributionsToOwners=Equity_BalanceEnd
  variables
  Equity_BalanceEnd: [concept(proof:'Equity'),instantDuration('ComprehensiveIncome',end)],
  DistributionsToOwners: [concept(proof:'DistributionsToOwners')],
  InvestmentsByOwners: [concept(proof:'InvestmentsByOwners')],
  ComprehensiveIncome: [concept(proof:'ComprehensiveIncome')],
  Equity_BalanceStart: [concept(proof:'Equity'),instantDuration('ComprehensiveIncome',start)].
valueAssertionVariance_VAR01
  • derived:0
  • ok:1
  • failed:0
 

Actual=Budget+Variance

1 instance:

proof:Revenues[7000] = proof:Revenues[6000] + proof:Revenues[1000]


'Variance_VAR01' valueAssertion
  Actual=Budget+Variance
  variables
  Variance: [explicitDimension(proof:'ScenarioAxis',[proof:'VarianceMember']),concept(proof:'Revenues')],
  Budget: [explicitDimension(proof:'ScenarioAxis',[proof:'BudgetedMember']),concept(proof:'Revenues')],
  Actual: [explicitDimension(proof:'ScenarioAxis',[proof:'ActualMember']),concept(proof:'Revenues')].
valueAssertionVariance_VAR02
  • derived:0
  • ok:1
  • failed:0
 

Actual=Budget+Variance

1 instance:

proof:Expenses[3000] = proof:Expenses[2000] + proof:Expenses[1000]


'Variance_VAR02' valueAssertion
  Actual=Budget+Variance
  variables
  Variance: [explicitDimension(proof:'ScenarioAxis',[proof:'VarianceMember']),concept(proof:'Expenses')],
  Budget: [explicitDimension(proof:'ScenarioAxis',[proof:'BudgetedMember']),concept(proof:'Expenses')],
  Actual: [explicitDimension(proof:'ScenarioAxis',[proof:'ActualMember']),concept(proof:'Expenses')].
valueAssertionVariance_VAR03
  • derived:0
  • ok:1
  • failed:0
 

Actual=Budget+Variance

1 instance:

proof:Gains[1000] = proof:Gains[750] + proof:Gains[250]


'Variance_VAR03' valueAssertion
  Actual=Budget+Variance
  variables
  Variance: [explicitDimension(proof:'ScenarioAxis',[proof:'VarianceMember']),concept(proof:'Gains')],
  Budget: [explicitDimension(proof:'ScenarioAxis',[proof:'BudgetedMember']),concept(proof:'Gains')],
  Actual: [explicitDimension(proof:'ScenarioAxis',[proof:'ActualMember']),concept(proof:'Gains')].
valueAssertionVariance_VAR04
  • derived:0
  • ok:1
  • failed:0
 

Actual=Budget+Variance

1 instance:

proof:Losses[2000] = proof:Losses[1000] + proof:Losses[1000]


'Variance_VAR04' valueAssertion
  Actual=Budget+Variance
  variables
  Variance: [explicitDimension(proof:'ScenarioAxis',[proof:'VarianceMember']),concept(proof:'Losses')],
  Budget: [explicitDimension(proof:'ScenarioAxis',[proof:'BudgetedMember']),concept(proof:'Losses')],
  Actual: [explicitDimension(proof:'ScenarioAxis',[proof:'ActualMember']),concept(proof:'Losses')].
valueAssertionVariance_VAR05
  • derived:0
  • ok:1
  • failed:0
 

Actual=Budget+Variance

1 instance:

proof:NetIncome[3000] = proof:NetIncome[3750] + proof:NetIncome[-750]


'Variance_VAR05' valueAssertion
  Actual=Budget+Variance
  variables
  Variance: [explicitDimension(proof:'ScenarioAxis',[proof:'VarianceMember']),concept(proof:'NetIncome')],
  Budget: [explicitDimension(proof:'ScenarioAxis',[proof:'BudgetedMember']),concept(proof:'NetIncome')],
  Actual: [explicitDimension(proof:'ScenarioAxis',[proof:'ActualMember']),concept(proof:'NetIncome')].

For more information: http://logicalcontracts.com/xbrl-and-sbrm-reporting/
DISCLAIMER: this analysis is provided by software still under development, and likely incomplete or even erroneous; do NOT use it other than for experimental, inconsequential purposes