XML 86 R93.htm IDEA: XBRL DOCUMENT v2.4.1.9
Price Risk Management Activities (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended 1 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Jan. 31, 2015
Price Risk Management Activities (Textual)        
Compliance program costs $ 372us-gaap_CostOfGoodsSoldOverhead $ 517us-gaap_CostOfGoodsSoldOverhead $ 250us-gaap_CostOfGoodsSoldOverhead  
Foreign Currency Contract [Member]        
Price Risk Management Activities (Textual)        
Monetary notional amount of derivative liabilities 377us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
     
Foreign Currency Contract [Member] | Subsequent Event [Member]        
Price Risk Management Activities (Textual)        
Foreign currency commitments maturity date       Jan. 31, 2015
Gain (loss) recognized in income on derivatives       $ 12us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_SubsequentEventTypeAxis
= us-gaap_SubsequentEventMember
Fair Value Hedging [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
     
Cash Flow Hedging [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
     
Economic Hedging [Member] | Swap [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 7,532invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Swap [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Swap [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 5,676invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Swap [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 46,886invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Grain (In bushels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 20,815,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_GrainInBushelsMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Soybean Oil (in pounds) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 94,920,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_SoybeanOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Grain (In bushels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 80,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_GrainInBushelsMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Soybean Oil (in pounds) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_SoybeanOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 67,600invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Grain (In bushels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 46,585,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_GrainInBushelsMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Soybean Oil (in pounds) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 178,920,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_SoybeanOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Grain (In bushels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 1,155,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_GrainInBushelsMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Soybean Oil (in pounds) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_SoybeanOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Economic Hedging [Member] | Options Held [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Natural Gas (In millions of btus) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 1,250,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OptionMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_NaturalGasInBtusMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Options Held [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Natural Gas (In millions of btus) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OptionMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_NaturalGasInBtusMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Forward Contracts [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Grain (In bushels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 25,327,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_GrainInBushelsMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Economic Hedging [Member] | Forward Contracts [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Grain (In bushels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 1,081,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= vlo_EconomicHedgingMember
/ us-gaap_EnergyAxis
= vlo_GrainInBushelsMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Swap [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 645invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Swap [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Swap [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 645invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Swap [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_SwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 95,709invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Natural Gas (In millions of btus) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 6,200,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= vlo_NaturalGasInBtusMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 5,116invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Natural Gas (In millions of btus) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= vlo_NaturalGasInBtusMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 96,897invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Natural Gas (In millions of btus) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 4,200,000invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= vlo_NaturalGasInBtusMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 4,341invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Future [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Natural Gas (In millions of btus) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= vlo_NaturalGasInBtusMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Options Held [Member] | Long (Purchases) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 1,900invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OptionMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Options Held [Member] | Long (Purchases) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OptionMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_LongMember
     
Trading Derivatives [Member] | Options Held [Member] | Short (Sales) [Member] | Maturity Year Two [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 1,200invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OptionMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearTwoMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember
     
Trading Derivatives [Member] | Options Held [Member] | Short (Sales) [Member] | Maturity Year Three [Member] | Crude Oil (In thousands of barrels) [Member]        
Volume of Outstanding Contracts        
Nonmonetary notional amount of price risk derivatives 0invest_DerivativeNonmonetaryNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OptionMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CommodityMember
/ us-gaap_EnergyAxis
= us-gaap_CrudeOilMember
/ vlo_MaturityTimePeriodAxis
= vlo_MaturityYearThreeMember
/ us-gaap_PositionAxis
= us-gaap_ShortMember