XML 23 R77.htm IDEA: XBRL DOCUMENT v2.4.1.9
Major commitments and contingencies (Details 2) (CAD)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Loss Contingency Accrual [Roll Forward]      
Loss Contingency Accrual Increase US     1cni_LossContingencyAccrualIncreaseUs
Loss Contingency Accrual Reduction US 20cni_LossContingencyAccrualReductionUs 11cni_LossContingencyAccrualReductionUs  
D. Environmental matters      
Approximate number of identified sites for which the Company is or may be liable for remediation costs 255cni_IdentifiedOfPotentialRemediationCostsSitesNumber    
Approximate number of sites for which the Company has been notified that it is a potentially responsible party for study and cleanup costs 10cni_NotifiedOfPotentialResponsibilityForRemediationCostsSiteNumber    
Provision for specific environmental sites [Abstract]      
Balance January 1 119us-gaap_AccrualForEnvironmentalLossContingencies 123us-gaap_AccrualForEnvironmentalLossContingencies 152us-gaap_AccrualForEnvironmentalLossContingencies
Accruals and other 11cni_AccrualForEnvironmentalLossContingenciesProvisionForPeriod 12cni_AccrualForEnvironmentalLossContingenciesProvisionForPeriod (4)cni_AccrualForEnvironmentalLossContingenciesProvisionForPeriod
Foreign Exchange Environmental 3cni_ForeignExchangeAdjustmentEnvironmental 2cni_ForeignExchangeAdjustmentEnvironmental (1)cni_ForeignExchangeAdjustmentEnvironmental
Payments (19)us-gaap_AccrualForEnvironmentalLossContingenciesPayments (18)us-gaap_AccrualForEnvironmentalLossContingenciesPayments (24)us-gaap_AccrualForEnvironmentalLossContingenciesPayments
Balance December 31 114us-gaap_AccrualForEnvironmentalLossContingencies 119us-gaap_AccrualForEnvironmentalLossContingencies 123us-gaap_AccrualForEnvironmentalLossContingencies
Current portion, balance December 31 45us-gaap_AccruedEnvironmentalLossContingenciesCurrent 41us-gaap_AccruedEnvironmentalLossContingenciesCurrent 31us-gaap_AccruedEnvironmentalLossContingenciesCurrent
Anticipated environmental liability disbursement time frame (in years) 5    
Regulatory Compliance [Abstract]      
Environmental operating expenses 20us-gaap_EnvironmentalRemediationExpense 18us-gaap_EnvironmentalRemediationExpense 16us-gaap_EnvironmentalRemediationExpense
Environmental capital expenditures 19us-gaap_EnvironmentalCostsRecognizedCapitalizedInPeriod 10us-gaap_EnvironmentalCostsRecognizedCapitalizedInPeriod 13us-gaap_EnvironmentalCostsRecognizedCapitalizedInPeriod
Personal Injury And Other Claims Provision [Member] | Canada [Member]      
C. Contingencies      
Management's assessment of loss contingency from personal injury Employee injuries are governed by the workers’ compensation legislation in each province whereby employees may be awarded either a lump sum or a future stream of payments depending on the nature and severity of the injury. As such, the provision for employee injury claims is discounted. In the provinces where the Company is self-insured, costs related to employee work-related injuries are accounted for based on actuarially developed estimates of the ultimate cost associated with such injuries, including compensation, health care and third-party administration costs. A comprehensive actuarial study is generally performed at least on a triennial basis. For all other legal actions, the Company maintains, and regularly updates on a case-by-case basis, provisions for such items when the expected loss is both probable and can be reasonably estimated based on currently available information.    
Loss Contingency Accrual [Roll Forward]      
Balance January 1 210us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
209us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
199us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Accruals and other 28us-gaap_LossContingencyLossInPeriod
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
38us-gaap_LossContingencyLossInPeriod
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
55us-gaap_LossContingencyLossInPeriod
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Payments (35)us-gaap_LossContingencyAccrualCarryingValuePayments
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
(37)us-gaap_LossContingencyAccrualCarryingValuePayments
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
(45)us-gaap_LossContingencyAccrualCarryingValuePayments
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Balance December 31 203us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
210us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
209us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Current portion, balance December 31 28us-gaap_LossContingencyAccrualCarryingValueCurrent
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
31us-gaap_LossContingencyAccrualCarryingValueCurrent
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
39us-gaap_LossContingencyAccrualCarryingValueCurrent
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Loss Contingency Accrual Reduction Canada 2cni_LossContingencyAccrualDecreaseCanada
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_CanadaMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
   
Personal Injury And Other Claims Provision [Member] | U.S. [Member]      
C. Contingencies      
Management's assessment of loss contingency from personal injury Personal injury claims by the Company’s employees, including claims alleging occupational disease and work-related injuries, are subject to the provisions of the Federal Employers’ Liability Act (FELA). Employees are compensated under FELA for damages assessed based on a finding of fault through the U.S. jury system or through individual settlements. As such, the provision is undiscounted. With limited exceptions where claims are evaluated on a case-by-case basis, the Company follows an actuarial-based approach and accrues the expected cost for personal injury, including asserted and unasserted occupational disease claims, and property damage claims, based on actuarial estimates of their ultimate cost. A comprehensive actuarial study is performed annually.         For employee work-related injuries, including asserted occupational disease claims, and third-party claims, including grade crossing, trespasser and property damage claims, the actuarial valuation considers, among other factors, the Company’s historical patterns of claims filings and payments. For unasserted occupational disease claims, the actuarial study includes the projection of the Company’s experience into the future considering the potentially exposed population. The Company adjusts its liability based upon management’s assessment and the results of the study. On an ongoing basis, management reviews and compares the assumptions inherent in the latest actuarial study with the current claim experience and, if required, adjustments to the liability are recorded.    
Loss Contingency Accrual [Roll Forward]      
Balance January 1 106us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
105us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
111us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Accruals and other 2us-gaap_LossContingencyLossInPeriod
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
18us-gaap_LossContingencyLossInPeriod
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
31us-gaap_LossContingencyLossInPeriod
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Foreign Exchange PIR 9cni_ForeignExchangeAdjustmentPIR
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
7cni_ForeignExchangeAdjustmentPIR
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
(3)cni_ForeignExchangeAdjustmentPIR
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Payments (22)us-gaap_LossContingencyAccrualCarryingValuePayments
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
(24)us-gaap_LossContingencyAccrualCarryingValuePayments
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
(34)us-gaap_LossContingencyAccrualCarryingValuePayments
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Balance December 31 95us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
106us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
105us-gaap_LossContingencyAccrualAtCarryingValue
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
Current portion, balance December 31 20us-gaap_LossContingencyAccrualCarryingValueCurrent
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
14us-gaap_LossContingencyAccrualCarryingValueCurrent
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember
43us-gaap_LossContingencyAccrualCarryingValueCurrent
/ cni_LossContingenciesByLocationOfContingencyAxis
= cni_UsMember
/ us-gaap_LossContingenciesByNatureOfContingencyAxis
= cni_PersonalInjuryAndOtherClaimsProvisionMember