XML 60 R49.htm IDEA: XBRL DOCUMENT
v2.4.1.9

Price Risk Management Activities (Details) (USD $) In Millions, unless otherwise specified | 3 Months Ended | 1 Months Ended
--- | --- | ---
Mar. 31, 2015 | Mar. 31, 2014 | Apr. 30, 2015
Price Risk Management Activities (Textual) |  |  |
Compliance program costs | $ 133 us-gaap_CostOfGoodsSoldOverhead | $ 92 us-gaap_CostOfGoodsSoldOverhead |
Foreign Currency Contracts [Member] |  |  |
Price Risk Management Activities (Textual) |  |  |
Monetary notional amount of derivative liabilities | $ 470 us-gaap_DerivativeLiabilityNotionalAmount / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember |  |
Foreign Currency Contracts [Member] | Subsequent Event [Member] |  |  |
Price Risk Management Activities (Textual) |  |  |
Foreign currency commitments maturity date |  |  | Apr. 30, 2015
Fair Value Hedging [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 0 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_FairValueHedgingMember |  |
Cash Flow Hedging [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 0 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CashFlowHedgingMember |  |
Economic Hedging [Member] | Swap [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 10,404 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
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 | 0 invest_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] | Short (Sales) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 9,808 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
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 | 0 invest_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] | Future [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 48,405 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Grain (in bushels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 16,070,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = vlo_GrainInBushelsMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
Economic Hedging [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Soybean Oil (in pounds) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 113,820,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = vlo_SoybeanOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
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 | 11 invest_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 | 80,000 invest_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 | 0 invest_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] | Short (Sales) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 55,761 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Current Year [Member] | Grain (in bushels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 35,590,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = vlo_GrainInBushelsMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
Economic Hedging [Member] | Future [Member] | Short (Sales) [Member] | Maturity Current Year [Member] | Soybean Oil (in pounds) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 263,280,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = vlo_SoybeanOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
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 | 0 invest_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 | 1,510,000 invest_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 | 0 invest_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] | Forward Contracts [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Grain (in bushels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 16,786,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_ForwardContractsMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = vlo_EconomicHedgingMember / us-gaap_EnergyAxis = vlo_GrainInBushelsMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / 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 | 1,437,000 invest_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 |  |
Trading Derivatives [Member] | Swap [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 3,448 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / 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 | 0 invest_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] | Short (Sales) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 3,448 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
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 | 0 invest_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] | Future [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 113,258 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
Trading Derivatives [Member] | Future [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Natural Gas (in millions of BTUs) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 2,500,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = vlo_NaturalGasInBtusMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
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 | 14,657 invest_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 | 0 invest_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] | Short (Sales) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 113,341 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
Trading Derivatives [Member] | Future [Member] | Short (Sales) [Member] | Maturity Current Year [Member] | Natural Gas (in millions of BTUs) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 500,000 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_FutureMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = vlo_NaturalGasInBtusMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
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 | 14,657 invest_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 | 0 invest_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] | Options Held [Member] | Long (Purchases) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 3,650 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_LongMember |  |
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 | 0 invest_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] | Short (Sales) [Member] | Maturity Current Year [Member] | Crude Oil (in thousands of barrels) [Member] |  |  |
Volume of Outstanding Contracts |  |  |
Nonmonetary notional amount of price risk derivatives | 4,050 invest_DerivativeNonmonetaryNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis = us-gaap_CommodityMember / us-gaap_EnergyAxis = us-gaap_CrudeOilMember / vlo_MaturityTimePeriodAxis = vlo_MaturityCurrentYearMember / us-gaap_PositionAxis = us-gaap_ShortMember |  |
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 | 0 invest_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 |  |

X
- Definition Aggregate notional amount of derivative expressed in nonmonetary units. For example, the number of barrels specified in a fuel oil forward purchase contract. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-X (SX) -Number 210 -Article 12 -Section 13 -Sentence Column B + Details
Name: | invest_DerivativeNonmonetaryNotionalAmount
Namespace Prefix: | invest_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | instant

X
- Definition Indirect expenses and cost incurred associated with goods produced and sold during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.2(a)) -URI http://asc.fasb.org/extlink&oid=26872669&loc=d3e20235-122688 + Details
Name: | us-gaap_CostOfGoodsSoldOverhead
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Nominal or face amount used to calculate payments on the derivative liability. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 1B -URI http://asc.fasb.org/extlink&oid=35706170&loc=SL5580258-113959 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 1A -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=35706170&loc=SL5579245-113959 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Notional Amount -URI http://asc.fasb.org/extlink&oid=6519104 + Details
Name: | us-gaap_DerivativeLiabilityNotionalAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | instant

X
- Definition Date the foreign currency exchange rate derivatives mature or expire, in CCYY-MM-DD format. + References No definition available. + Details
Name: | us-gaap_MaturityOfForeignCurrencyDerivatives1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:dateItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | vlo_PriceRiskManagementActivitiesTextualAbstract
Namespace Prefix: | vlo_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | vlo_VolumeOfOutstandingContractsAbstract
Namespace Prefix: | vlo_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CommodityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_FairValueHedgingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=vlo_EconomicHedgingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |