Industry, Segment and Geographic Information (Details 2) (USD $) In Thousands, unless otherwise specified
|
3 Months Ended |
12 Months Ended |
Dec. 31, 2013
|
Sep. 30, 2013
|
Jun. 30, 2013
|
Mar. 31, 2013
|
Dec. 31, 2012
|
Sep. 30, 2012
|
Jun. 30, 2012
|
Mar. 31, 2012
|
Dec. 31, 2014
item
|
Dec. 31, 2013
|
Dec. 31, 2012
|
Industry, Segment and Geographic Information |
|
|
|
|
|
|
|
|
|
|
|
Number of reportable operating segments |
|
|
|
|
|
|
|
|
2us-gaap_NumberOfReportableSegments
|
|
|
Segment reporting information |
|
|
|
|
|
|
|
|
|
|
|
Revenue |
$ 94,123us-gaap_Revenues
|
$ 90,506us-gaap_Revenues
|
$ 84,399us-gaap_Revenues
|
$ 71,730us-gaap_Revenues
|
$ 89,853us-gaap_Revenues
|
$ 70,462us-gaap_Revenues
|
$ 74,095us-gaap_Revenues
|
$ 65,980us-gaap_Revenues
|
$ 340,758us-gaap_Revenues
|
$ 300,390us-gaap_Revenues
|
$ 297,057us-gaap_Revenues
|
Gross Profit |
6,957us-gaap_GrossProfit
|
6,176us-gaap_GrossProfit
|
6,138us-gaap_GrossProfit
|
5,538us-gaap_GrossProfit
|
7,812us-gaap_GrossProfit
|
5,265us-gaap_GrossProfit
|
5,965us-gaap_GrossProfit
|
5,313us-gaap_GrossProfit
|
24,810us-gaap_GrossProfit
|
24,355us-gaap_GrossProfit
|
23,892us-gaap_GrossProfit
|
Direct Costs |
|
|
|
|
|
|
|
|
8,764us-gaap_DirectOperatingCosts
|
7,997us-gaap_DirectOperatingCosts
|
8,079us-gaap_DirectOperatingCosts
|
Segment Income Before Taxes |
|
|
|
|
|
|
|
|
16,046us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
16,358us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
15,813us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
General and administrative |
|
|
|
|
|
|
|
|
7,749us-gaap_GeneralAndAdministrativeExpense
|
7,508us-gaap_GeneralAndAdministrativeExpense
|
7,298us-gaap_GeneralAndAdministrativeExpense
|
Interest income |
|
|
|
|
|
|
|
|
472us-gaap_InterestIncomeExpenseNonoperatingNet
|
562us-gaap_InterestIncomeExpenseNonoperatingNet
|
557us-gaap_InterestIncomeExpenseNonoperatingNet
|
Foreign currency translation gains |
|
|
|
|
|
|
|
|
(11)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
|
|
17us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
|
Income before provision for income taxes |
|
|
|
|
|
|
|
|
8,758us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
9,412us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
9,089us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
Total Assets |
94,760us-gaap_Assets
|
|
|
|
91,445us-gaap_Assets
|
|
|
|
94,981us-gaap_Assets
|
94,760us-gaap_Assets
|
91,445us-gaap_Assets
|
Segment Total |
|
|
|
|
|
|
|
|
|
|
|
Segment reporting information |
|
|
|
|
|
|
|
|
|
|
|
Total Assets |
72,117us-gaap_Assets / us-gaap_ConsolidationItemsAxis = us-gaap_OperatingSegmentsMember
|
|
|
|
|
|
|
|
69,933us-gaap_Assets / us-gaap_ConsolidationItemsAxis = us-gaap_OperatingSegmentsMember
|
72,117us-gaap_Assets / us-gaap_ConsolidationItemsAxis = us-gaap_OperatingSegmentsMember
|
|
Corporate Assets |
|
|
|
|
|
|
|
|
|
|
|
Segment reporting information |
|
|
|
|
|
|
|
|
|
|
|
Total Assets |
22,643us-gaap_Assets / us-gaap_ConsolidationItemsAxis = us-gaap_CorporateMember
|
|
|
|
|
|
|
|
25,048us-gaap_Assets / us-gaap_ConsolidationItemsAxis = us-gaap_CorporateMember
|
22,643us-gaap_Assets / us-gaap_ConsolidationItemsAxis = us-gaap_CorporateMember
|
|
Lifeboat Distribution |
|
|
|
|
|
|
|
|
|
|
|
Segment reporting information |
|
|
|
|
|
|
|
|
|
|
|
Revenue |
|
|
|
|
|
|
|
|
290,449us-gaap_Revenues / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
237,632us-gaap_Revenues / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
217,342us-gaap_Revenues / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
Gross Profit |
|
|
|
|
|
|
|
|
19,194us-gaap_GrossProfit / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
17,448us-gaap_GrossProfit / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
15,818us-gaap_GrossProfit / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
Direct Costs |
|
|
|
|
|
|
|
|
5,660us-gaap_DirectOperatingCosts / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
4,717us-gaap_DirectOperatingCosts / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
4,512us-gaap_DirectOperatingCosts / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
Segment Income Before Taxes |
|
|
|
|
|
|
|
|
13,534us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
12,731us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
11,306us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
Total Assets |
30,630us-gaap_Assets / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
|
|
|
|
|
|
|
39,780us-gaap_Assets / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
30,630us-gaap_Assets / us-gaap_StatementBusinessSegmentsAxis = wstg_LifeboatMember
|
|
TechXtend |
|
|
|
|
|
|
|
|
|
|
|
Segment reporting information |
|
|
|
|
|
|
|
|
|
|
|
Revenue |
|
|
|
|
|
|
|
|
50,309us-gaap_Revenues / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
62,758us-gaap_Revenues / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
79,715us-gaap_Revenues / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
Gross Profit |
|
|
|
|
|
|
|
|
5,616us-gaap_GrossProfit / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
6,907us-gaap_GrossProfit / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
8,074us-gaap_GrossProfit / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
Direct Costs |
|
|
|
|
|
|
|
|
3,104us-gaap_DirectOperatingCosts / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
3,280us-gaap_DirectOperatingCosts / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
3,567us-gaap_DirectOperatingCosts / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
Segment Income Before Taxes |
|
|
|
|
|
|
|
|
2,512us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
3,627us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
4,507us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
Total Assets |
$ 41,487us-gaap_Assets / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
|
|
|
|
|
|
|
$ 30,153us-gaap_Assets / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
$ 41,487us-gaap_Assets / us-gaap_StatementBusinessSegmentsAxis = wstg_TechXtendMember
|
|