<SEC-DOCUMENT>0001193125-20-040291.txt : 20200218
<SEC-HEADER>0001193125-20-040291.hdr.sgml : 20200218
<ACCEPTANCE-DATETIME>20200218160144
ACCESSION NUMBER:		0001193125-20-040291
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		14
CONFORMED PERIOD OF REPORT:	20200213
ITEM INFORMATION:		Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20200218
DATE AS OF CHANGE:		20200218

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			SPS COMMERCE INC
		CENTRAL INDEX KEY:			0001092699
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		IRS NUMBER:				411593154
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34702
		FILM NUMBER:		20625211

	BUSINESS ADDRESS:	
		STREET 1:		333 SOUTH SEVENTH STREET
		STREET 2:		SUITE 1000
		CITY:			MINNEAPOLIS
		STATE:			MN
		ZIP:			55402
		BUSINESS PHONE:		612-435-9400

	MAIL ADDRESS:	
		STREET 1:		333 SOUTH SEVENTH STREET
		STREET 2:		SUITE 1000
		CITY:			MINNEAPOLIS
		STATE:			MN
		ZIP:			55402
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>d890301d8k.htm
<DESCRIPTION>8-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8" ?>
<html xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:us-types="http://fasb.org/us-types/2019-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:spsc="http://imetrix.edgar-online.com/20200213" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>8-K</title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
   <body>
 <div style="display:none"> <ix:header> <ix:hidden> <ix:nonNumeric id="Hidden_dei_EntityRegistrantName" name="dei:EntityRegistrantName" contextRef="duration_2020-02-13_to_2020-02-13">SPS COMMERCE INC</ix:nonNumeric> <ix:nonNumeric name="dei:AmendmentFlag" contextRef="duration_2020-02-13_to_2020-02-13">false</ix:nonNumeric> <ix:nonNumeric id="Hidden_dei_EntityCentralIndexKey" name="dei:EntityCentralIndexKey" contextRef="duration_2020-02-13_to_2020-02-13">0001092699</ix:nonNumeric> </ix:hidden> <ix:references> <link:schemaRef xlink:type="simple" xlink:href="spsc-20200213.xsd" xlink:arcrole="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase"></link:schemaRef> </ix:references> <ix:resources> <xbrli:context id="duration_2020-02-13_to_2020-02-13"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001092699</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-02-13</xbrli:startDate> <xbrli:endDate>2020-02-13</xbrli:endDate> </xbrli:period> </xbrli:context> </ix:resources> </ix:header> </div> <div style="font-size:10pt;width:8.5in;margin:0 auto"> <div style="text-align:center"> <p style="line-height:0.5pt;border-bottom:0.50px solid #000000;width:100%;margin-top:0pt;margin-bottom:0pt">&#160;</p></div> <div style="text-align:center"> <p style="line-height:3pt;border-bottom:0.50px solid #000000;width:100%;margin-top:0pt;margin-bottom:2pt">&#160;</p></div> <p style="margin-bottom:0px;margin-top:4pt"></p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:18pt;text-transform:uppercase;margin-bottom:0pt;margin-top:0pt">United States</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:18pt;margin-bottom:0pt;margin-top:0pt">SECURITIES AND EXCHANGE COMMISSION</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:12pt;margin-bottom:0pt;margin-top:0pt">Washington, D.C. 20549</p> <div style="text-align:center"> <p style="line-height:6pt;margin-left:auto;border-bottom:1px solid #000000;width:21.05%;margin-right:auto;margin-top:11pt;margin-bottom:0px">&#160;</p></div> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:18pt;margin-bottom:0px;margin-top:11pt">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="duration_2020-02-13_to_2020-02-13">8-K</ix:nonNumeric></p> <div style="text-align:center"> <p style="line-height:6pt;margin-left:auto;border-bottom:1px solid #000000;width:21.05%;margin-right:auto;margin-top:11pt;margin-bottom:0px">&#160;</p></div> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:12pt;margin-bottom:0px;margin-top:11pt">CURRENT REPORT</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:12pt;margin-bottom:0pt;margin-top:0pt">PURSUANT TO SECTION 13 OR 15(d)</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:12pt;margin-bottom:0pt;margin-top:0pt">OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:12pt;margin-bottom:0px;margin-top:11pt">Date of Report (Date of earliest event reported) <ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt:datemonthdayyearen">February 13, 2020</ix:nonNumeric></p> <div style="text-align:center"> <p style="line-height:6pt;margin-left:auto;border-bottom:1px solid #000000;width:21.05%;margin-right:auto;margin-top:11pt;margin-bottom:0px">&#160;</p></div> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:24pt;margin-bottom:0px;margin-top:11pt"> <span style=" -sec-ix-hidden:Hidden_dei_EntityRegistrantName">SPS COMMERCE, INC.</span> </p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt">(Exact Name of Registrant as Specified in its Charter)</p> <div style="text-align:center"> <p style="line-height:6pt;margin-left:auto;border-bottom:1px solid #000000;width:21.05%;margin-right:auto;margin-top:11pt;margin-bottom:0px">&#160;</p></div>
<table cellspacing="0" cellpadding="0" border="0" style="font-size:8pt;border-collapse:separate;border-spacing:0;width:100%;margin-bottom:0px;margin-top:11pt;margin-left:auto;margin-right:auto">
<tr>
<td style="width:34%;"></td>
<td></td>
<td style="width:33%;"></td>
<td style="width:1%;"></td>
<td style="width:33%;"></td></tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric></p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="duration_2020-02-13_to_2020-02-13">001-34702</ix:nonNumeric></p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="duration_2020-02-13_to_2020-02-13">41-2015127</ix:nonNumeric></p></td></tr>
<tr style="page-break-inside:avoid;font-size:8pt;">
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">(State or other jurisdiction</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">of incorporation)</p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">(Commission</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">File Number)</p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">(I.R.S. Employer</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">Identification No.)</p></td></tr></table> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0px;margin-top:11pt"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="duration_2020-02-13_to_2020-02-13">333 South Seventh Street</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressAddressLine2" contextRef="duration_2020-02-13_to_2020-02-13">Suite 1000 <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="duration_2020-02-13_to_2020-02-13">Minneapolis</ix:nonNumeric></ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:stateprovnameen">Minnesota</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="duration_2020-02-13_to_2020-02-13">55402</ix:nonNumeric></p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">(Address of Principal Executive Offices) (Zip Code)</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0px;margin-top:11pt"><ix:nonNumeric name="dei:CityAreaCode" contextRef="duration_2020-02-13_to_2020-02-13">(612)</ix:nonNumeric> <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="duration_2020-02-13_to_2020-02-13">435-9400</ix:nonNumeric></p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">(Registrant&#8217;s telephone number, including area code)</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0px;margin-top:11pt">Not Applicable</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">(Former name or former address, if changed since last report)</p> <div style="text-align:center"> <p style="line-height:6pt;margin-left:auto;border-bottom:1px solid #000000;width:21.05%;margin-right:auto;margin-top:11pt;margin-bottom:0px">&#160;</p></div> <p style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0px;margin-top:11pt">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions (<span style="font-style:Italic">see </span>General Instruction A.2. below):</p> <p style="margin-bottom:0px;margin-top:6pt"></p>
<table cellspacing="0" cellpadding="0" border="0" style="font-family:Times New Roman;border-collapse:collapse;text-align:left;width:100%;font-size:10pt;margin-bottom:0pt;margin-top:0pt;border:0;">
<tr style="page-break-inside:avoid;">
<td style="width:4%;text-align:left;">&#160;</td>
<td style="width:4%;vertical-align:top;"> <span style="font-family:Times New Roman;font-weight:normal"><ix:nonNumeric name="dei:WrittenCommunications" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#32;</td>
<td style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</td></tr></table> <p style="margin-bottom:0px;margin-top:6pt"></p>
<table cellspacing="0" cellpadding="0" border="0" style="font-family:Times New Roman;border-collapse:collapse;text-align:left;width:100%;font-size:10pt;margin-bottom:0pt;margin-top:0pt;border:0;">
<tr style="page-break-inside:avoid;">
<td style="width:4%;text-align:left;">&#160;</td>
<td style="width:4%;vertical-align:top;"> <span style="font-family:Times New Roman;font-weight:normal"><ix:nonNumeric name="dei:SolicitingMaterial" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#32;</td>
<td style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</td></tr></table> <p style="margin-bottom:0px;margin-top:6pt"></p>
<table cellspacing="0" cellpadding="0" border="0" style="font-family:Times New Roman;border-collapse:collapse;text-align:left;width:100%;font-size:10pt;margin-bottom:0pt;margin-top:0pt;border:0;">
<tr style="page-break-inside:avoid;">
<td style="width:4%;text-align:left;">&#160;</td>
<td style="width:4%;vertical-align:top;"> <span style="font-family:Times New Roman;font-weight:normal"><ix:nonNumeric name="dei:PreCommencementTenderOffer" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#32;</td>
<td style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</td></tr></table> <p style="margin-bottom:0px;margin-top:6pt"></p>
<table cellspacing="0" cellpadding="0" border="0" style="font-family:Times New Roman;border-collapse:collapse;text-align:left;width:100%;font-size:10pt;margin-bottom:0pt;margin-top:0pt;border:0;">
<tr style="page-break-inside:avoid;">
<td style="width:4%;text-align:left;">&#160;</td>
<td style="width:4%;vertical-align:top;"> <span style="font-family:Times New Roman;font-weight:normal"><ix:nonNumeric name="dei:PreCommencementIssuerTenderOffer" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#32;</td>
<td style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</td></tr></table> <p style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0px;margin-top:12pt">Securities registered pursuant to Section 12(b) of the Act:</p>
<table cellspacing="0" cellpadding="0" border="0" style="font-size:10pt;border-collapse:separate;border-spacing:0;width:100%;margin-bottom:0px;margin-top:11pt;margin-left:auto;margin-right:auto">
<tr>
<td style="width:34%;"></td>
<td></td>
<td style="width:33%;"></td>
<td style="width:1%;"></td>
<td style="width:33%;"></td></tr>
<tr style="page-break-inside:avoid;font-size:8pt;">
<td style="border-bottom:1pt solid #000000;white-space:nowrap;vertical-align:bottom;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">Title of each class</p></td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="border-bottom:1pt solid #000000;vertical-align:bottom;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">Trading</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">Symbol(s)</p></td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="border-bottom:1pt solid #000000;vertical-align:bottom;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">Name of each exchange</p> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:8pt;margin-bottom:0pt;margin-top:0pt">on which registered</p></td></tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"><ix:nonNumeric name="dei:Security12bTitle" contextRef="duration_2020-02-13_to_2020-02-13">Common stock, $0.001 par value</ix:nonNumeric></p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"><ix:nonNumeric name="dei:TradingSymbol" contextRef="duration_2020-02-13_to_2020-02-13">SPSC</ix:nonNumeric></p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:exchnameen">The Nasdaq Stock Market LLC</ix:nonNumeric></p></td></tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p></td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt">(Nasdaq Global Market)</p></td></tr></table> <p style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0px;margin-top:11pt">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act (17 CFR 230.405) or Rule 12b-2 of the Exchange Act (17 CFR 240.12b-2).</p> <p style="font-family:Times New Roman;text-align:right;font-size:10pt;margin-bottom:0px;margin-top:11pt">Emerging growth company&#160;&#160;&#32;<span style="font-family:Times New Roman;font-weight:normal"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="duration_2020-02-13_to_2020-02-13" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></p> <p style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0px;margin-top:11pt">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.&#160;&#160;&#32;<span style="font-family:Times New Roman;font-weight:normal">&#9744;</span></p> <p style="margin-bottom:0px;margin-top:10pt"></p> <div style="text-align:center"> <p style="line-height:0.5pt;border-bottom:0.50px solid #000000;width:100%;margin-top:0pt;margin-bottom:0pt">&#160;</p></div> <div style="text-align:center"> <p style="line-height:3pt;border-bottom:0.50px solid #000000;width:100%;margin-top:0pt;margin-bottom:2pt">&#160;</p></div> <div></div> <p style="margin-top:1em;margin-bottom:0em"></p></div>

<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%" />

 <div style="font-size:10pt;width:8.5in;margin:0 auto">
<table cellspacing="0" cellpadding="0" border="0" style="font-family:Times New Roman;font-weight:bold;border-collapse:collapse;text-align:left;width:100%;font-size:10pt;margin-bottom:0pt;margin-top:0pt;border:0;">
<tr style="page-break-inside:avoid;">
<td style="width:10%;vertical-align:top;white-space:nowrap;">Item&#160;5.02 </td>
<td style="font-family:Times New Roman;font-weight:bold;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers; Compensatory Arrangements of Certain Officers.</td> </tr> </table> <p style="font-family:Times New Roman;text-align:left;text-indent:4%;font-size:10pt;margin-bottom:0px;margin-top:6pt">On February&#160;13, 2020, we entered into, amended and restated executive severance and change in control agreements with our chief executive officer, chief operating officer and chief financial officer. The agreements replace the agreements that were already in place and provide for severance, (i)&#160;for the chief executive officer, equal to 12 months&#8217; base salary and 12 months of the employer&#8217;s portion of health care premiums for the employee in the event of an involuntary termination without cause or resignation of employment by the employee for good reason outside of a change of control period, which is substantially similar to the chief executive officer&#8217;s current agreement, and (ii)&#160;for the chief financial officer and the chief operating officer, (a)&#160;equal to 6 months&#8217; base salary, 50% target bonus and 6 months of the employer&#8217;s portion of health care premiums in the event of a resignation of employment by the employee for good reason outside of a change of control period, (b)&#160;equal to 12 months&#8217; base salary, 100% target bonus and 12 months of the employer&#8217;s portion of health care premiums in the event of an involuntary termination without cause outside of a change in control period, and (c)&#160;equal to 12 months&#8217; base salary, 100% target bonus and 12 months of the employer&#8217;s portion of health care premiums in the event of an involuntary termination or resignation of employment by the employee for good reason within the three-month period before or the <span style="white-space:nowrap">12-month</span> period following a change in control, which is substantially similar to the executives&#8217; current agreements. The new agreements provide severance benefits for the chief executive officer equal to 18 months&#8217; base salary, a <span style="white-space:nowrap">pro-rated</span> annual bonus, and 18 months of the employer&#8217;s portion of health care premiums for the employee in the event of an involuntary termination without cause or resignation of employment by the employee for good reason within the three-month period before or the <span style="white-space:nowrap">12-month</span> period following a change in control. The new agreements also provide that if (i)&#160;the sum of the employee&#8217;s age plus years of service as an employee is 78 or greater, (ii)&#160;the employee provides no less than six months&#8217; written notice of his retirement from employment to the company and (iii)&#160;the employee&#8217;s termination date occurs on the retirement date identified by the employee (&#8220;<span style="font-style:Italic">Retirement</span>&#8221;) then (a)&#160;all of the employee&#8217;s unvested service-based stock options, restricted stock units or other equity awards outstanding will become fully vested, (b)&#160;for any equity awards whose vesting or settlement is subject to the satisfaction of performance goals over a performance period, the employee will be entitled to have those awards vest on each originally scheduled vesting date for such award in an amount equal to the number of shares, share units or share equivalents subject to the equity award that would otherwise have been determined to have been earned by employee had employee remained continuously employed by the company through the originally scheduled vesting date based on the degree to which the applicable performance goals were satisfied during the applicable performance period through the originally scheduled vesting date and (c)&#160;for the chief executive officer only, the employee shall receive a<span style="white-space:nowrap">&#160;pro-rated</span>&#160;portion of any target annual cash incentive bonus. The new agreements for the chief financial officer and the chief operating officer add the Retirement benefits described in the preceding sentence and amend the definition of Retirement for the chief executive officer to be consistent with the agreements of the other executive officers. For all three executive officers, in the event of an involuntary termination without cause or resignation of employment by the employee for good reason during the three-month period before or the <span style="white-space:nowrap">12-month</span> period following a change in control, then all of the employee&#8217;s unvested equity awards outstanding as of the change in control will become fully vested as of the change in control. </p> <p style="font-family:Times New Roman;text-align:left;text-indent:4%;font-size:10pt;margin-bottom:0px;margin-top:12pt">This description of the employment agreements does not purport to be complete and is qualified in its entirety by reference to the form of employment agreement, which is attached as Exhibit 10.1 to this report and is incorporated herein by reference. </p> <p style="margin-bottom:0px;margin-top:18pt"></p>
<table cellspacing="0" cellpadding="0" border="0" style="font-family:Times New Roman;font-weight:bold;border-collapse:collapse;text-align:left;width:100%;font-size:10pt;margin-bottom:0pt;margin-top:0pt;border:0;">
<tr style="page-break-inside:avoid;">
<td style="width:10%;vertical-align:top;white-space:nowrap;">Item&#160;9.01 </td>
<td style="font-family:Times New Roman;font-weight:bold;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Financial Statements and Exhibits<span style="text-decoration:underline">&#32;</span></td> </tr> </table> <p style="font-family:Times New Roman;text-align:left;font-size:10pt;margin-bottom:0px;margin-top:6pt">(d) &#160;&#160;&#160;&#160;<span style="text-decoration:underline">Exhibits. </span></p> <p style="font-family:Times New Roman;text-align:center;font-size:10pt;margin-bottom:0px;margin-top:12pt">EXHIBIT INDEX </p> <div style="float:right;width:100%">
<table cellspacing="0" cellpadding="0" border="0" style="font-size:10pt;border-collapse:separate;border-spacing:0;width:96%;margin-bottom:0px;margin-top:12pt;margin-left:auto;margin-right:0px">
<tr>
<td></td>
<td></td>
<td></td>
<td style="width:3%;"></td>
<td style="width:94%;"></td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="white-space:nowrap;vertical-align:top;padding:0;font-family:Times New Roman;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">&#160;</td>
<td style="white-space:nowrap;vertical-align:top;padding:0;text-align:left"> <p style="font-family:Times New Roman;font-size:10pt;margin-bottom:0pt;margin-top:0pt">10.1 </p> </td>
<td style="white-space:nowrap;vertical-align:top;padding-right:2pt;margin-bottom:0pt;margin-top:0pt;">&#160;</td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;margin-left:0.00em;text-align:left;text-indent:0.00em;font-size:10pt;margin-bottom:0pt;margin-top:0pt"> <a href="d890301dex101.htm">Amended and Restated Executive Severance and Change in Control Agreement with Archie C. Black, dated February 13, 2020 </a> </p> </td> </tr>
<tr style="font-size:1pt;">
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="white-space:nowrap;vertical-align:top;padding:0;font-family:Times New Roman;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">&#160;</td>
<td style="white-space:nowrap;vertical-align:top;padding:0;text-align:left"> <p style="font-family:Times New Roman;font-size:10pt;margin-bottom:0pt;margin-top:0pt">10.2 </p> </td>
<td style="white-space:nowrap;vertical-align:top;padding-right:2pt;margin-bottom:0pt;margin-top:0pt;">&#160;</td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;margin-left:0.00em;text-align:left;text-indent:0.00em;font-size:10pt;margin-bottom:0pt;margin-top:0pt"> <a href="d890301dex102.htm">Form of Amended and Restated Executive Severance and Change in Control Agreement </a> </p> </td> </tr>
<tr style="font-size:1pt;">
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td>
<td style="height:8px;">&#160;</td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="white-space:nowrap;vertical-align:top;padding:0;font-family:Times New Roman;font-size:10pt;margin-bottom:0pt;margin-top:0pt;">&#160;</td>
<td style="white-space:nowrap;vertical-align:top;padding:0;text-align:left"> <p style="font-family:Times New Roman;font-size:10pt;margin-bottom:0pt;margin-top:0pt">104 </p> </td>
<td style="white-space:nowrap;vertical-align:top;padding-right:2pt;margin-bottom:0pt;margin-top:0pt;">&#160;</td>
<td style="vertical-align:top;">&#160;</td>
<td style="vertical-align:top;padding:0;"> <p style="font-family:Times New Roman;margin-left:0.00em;text-align:left;text-indent:0.00em;font-size:10pt;margin-bottom:0pt;margin-top:0pt">Cover Page Interactive Data File (embedded within the Inline XBRL document) </p> </td> </tr> </table> </div> <div style="clear:both"></div> <div></div> <p style="margin-top:1em;margin-bottom:0em"></p>
 </div>



<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<hr style="color:#999999;height:3px;width:100%" />

 <div style="font-size:10pt;width:8.5in;margin:0 auto"> <p style="font-family:Times New Roman;font-weight:bold;text-align:center;font-size:10pt;margin-bottom:0pt;margin-top:0pt">SIGNATURES </p> <p style="font-family:Times New Roman;text-align:left;text-indent:4%;font-size:10pt;margin-bottom:0px;margin-top:6pt">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized. </p>
<table cellspacing="0" cellpadding="0" border="0" style="font-size:10pt;border-collapse:separate;border-spacing:0;width:100%;margin-bottom:0px;margin-top:12pt;margin-left:0px;margin-right:auto">
<tr>
<td style="width:46%;"></td>
<td style="width:1%;"></td>
<td style="width:4%;"></td>
<td></td>
<td style="width:2%;"></td>
<td style="width:1%;"></td>
<td style="width:45%;"></td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td colspan="3" style="vertical-align:bottom;"> <p style="font-family:Times New Roman;font-weight:bold;text-align:left;font-size:10pt;margin-bottom:0pt;margin-top:0pt"> <span style="font-weight:Bold;font-style:normal">SPS COMMERCE, INC.</span> </p> </td> </tr>
<tr style="font-size:1pt;">
<td style="height:16px;">&#160;</td>
<td style="height:16px;">&#160;</td>
<td style="height:16px;">&#160;</td>
<td style="height:16px;">&#160;</td>
<td style="height:16px;">&#160;</td>
<td style="height:16px;">&#160;</td>
<td style="height:16px;">&#160;</td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt">Date: February&#160;18, 2020 </p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt">By: </p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;margin-bottom:1pt;font-size:10pt;margin-top:0pt;border-bottom:1px solid #000000">/s/ KIMBERLY K. NELSON </p> </td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt">Kimberly K. Nelson </p> </td> </tr>
<tr style="page-break-inside:avoid;font-size:10pt;">
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt"></p> </td>
<td style="vertical-align:bottom;">&#160;</td>
<td style="vertical-align:bottom;"> <p style="font-family:Times New Roman;font-style:italic;text-align:justify;font-size:10pt;margin-bottom:0pt;margin-top:0pt">Executive Vice President and Chief Financial Officer </p> </td> </tr> </table> <div></div> <p style="margin-top:1em;margin-bottom:0em"></p>
 </div>

</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>d890301dex101.htm
<DESCRIPTION>EX-10.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-10.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 10.1 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>SPS COMMERCE, INC. </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>AMENDED AND RESTATED EXECUTIVE SEVERANCE AND CHANGE IN CONTROL AGREEMENT </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">This Amended and Restated Executive Severance and Change in Control Agreement (the &#147;Agreement&#148;), dated effective as of February&nbsp;13, 2020 (the
&#147;Effective Date&#148;), is entered into by and between Archie C. Black (&#147;Employee&#148;), and SPS Commerce, Inc., a Delaware corporation, with offices at SPS Tower, 333 South Seventh Street, Suite 1000, Minneapolis, Minnesota 55402
(&#147;Employer&#148;). </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS, </B>Employer is engaged in the business of developing, marketing and distributing computer software
products and services; and </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS, </B>Employee is currently employed by Employer as Employer&#146;s Chief Executive Officer; and
</P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Employee and Employer are parties to an Executive Severance Change in Control Agreement, dated November&nbsp;14, 2017
(the &#147;Prior Agreement&#148;) and a Confidentiality, Intellectual Property Assignment and Restrictive Covenant Agreement, dated November&nbsp;14, 2017 (the &#147;Confidentiality Agreement&#148;); and </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Employer and Employee desire to amend, modify and restate the Prior Agreement; </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Under the terms and conditions of the Confidentiality Agreement, Employee previously agreed to certain obligations with
respect to <FONT STYLE="white-space:nowrap">non-disclosure</FONT> of Employer&#146;s trade secrets and confidential information, disclosure and assignment of intellectual property and <FONT STYLE="white-space:nowrap">non-competition</FONT> and <FONT
STYLE="white-space:nowrap">non-solicitation</FONT> restrictions that apply during Employee&#146;s employment with Employer and for a period thereafter; and </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS, </B>Employee is willing to continue to be employed by Employer, and Employer is willing to continue to employ Employee, on the
terms, covenants, and conditions included in this Agreement and the Confidentiality Agreement and as hereinafter set forth. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For the
reasons set forth above, and in consideration of the mutual promises and agreements hereinafter set forth, Employer and Employee agree as follows: </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>1.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>TERM</U></B><B>.</B> Employer and Employee agree that the term of this Agreement is the period
commencing on the Effective Date and continuing until Employee&#146;s employment with Employer is terminated (the &#147;Term&#148;). Employee understands that Employer is an <FONT STYLE="white-space:nowrap">at-will</FONT> employment employer, and
that this means the employment relationship may be terminated by either party at any time and for any reason and that this Agreement is not a contract for employment for any specific length of time. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>2.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>VESTING OF OPTIONS AND OTHER EQUITY UPON A CHANGE IN CONTROL</U></B><B>.</B> If Employer terminates
Employee&#146;s employment without Cause (as defined below), or if Employee resigns with Good Reason (as defined below) during the Change in Control Period (as defined below), then, with respect to any equity-based award that has been granted to
Employee under the SPS Commerce, Inc. 2010 Equity Incentive Plan, as amended from time to time (the &#147;Equity Plan&#148;) or any predecessor or successor plan and is outstanding and not fully vested on Employee&#146;s Termination Date (as defined
below) (an &#147;Equity Award&#148;), and notwithstanding any language in the Equity Plan or any predecessor or successor plan, the unvested portion of any Equity Award that is outstanding on Employee&#146;s Termination Date will vest as of the
later of the date both (a)&nbsp;Employee&#146;s Release (as defined below) becomes irrevocable, and (b)&nbsp;the date of the Change in Control (as defined below), if it has not occurred by the Termination Date. Notwithstanding any provision to the
contrary in the terms of any Equity Award agreement regarding the expiration date of the Equity Award, if such Equity Award is a stock option, it will remain exercisable to the extent so vested for one year after Employee&#146;s Termination Date
unless otherwise terminated under the terms of the Equity Award (other than due to the expiration of the exercisable period identified in the Equity Award) or any claw back policy of or agreement with Employer.
</P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
If the vesting of the Equity Award is subject to the satisfaction of performance goals over a performance period, the unvested portion of such Equity Award will be determined by subtracting from
the number of shares or stock units that would otherwise vest at the end of the applicable performance period if target level performance (rather than maximum level performance) had been achieved the number of shares or stock units as to which the
Equity Award had vested prior to Employee&#146;s Termination Date. For the avoidance of doubt, upon the termination of Employee&#146;s employment by Employer without Cause or by Employee for Good Reason, any unvested equity awards then held by
Employee shall not lapse until the earliest of a Change in Control, three months after the Employee&#146;s Termination Date (subject to the one year exercisability extension for stock options as identified above), or the expiration date of such
Equity Award. </P> <P STYLE="margin-top:18pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>3.&nbsp;&nbsp;&nbsp;&nbsp;<U>TERMINATION; EFFECT OF TERMINATION</U>. </B></P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>a.&nbsp;&nbsp;&nbsp;&nbsp; Involuntary Termination Without Cause or Resignation For Good Reason Outside of the Change in Control
Period.</B> If Employer terminates Employee&#146;s employment without Cause, or if Employee resigns for Good Reason, and in either case the Termination Date is not during the Change in Control Period, then, subject to the conditions identified below
and the provisions of Section&nbsp;11 below, Employer shall: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i) pay Employee severance equal to twelve (12)&nbsp;months of
Employee&#146;s base salary as of immediately prior to the Termination Date (or an amount equal to twelve (12)&nbsp;months of Employee&#146;s base salary as of immediately prior to a reduction of 10% or more in Employee&#146;s base salary by
Employer if Employee resigns for Good Reason as a result of such reduction), less normal payroll withholdings, provided that such severance shall not exceed two times the lesser of (A)&nbsp;the Code &#167; 401(a)(17) compensation limit for the year
in which the Termination Date occurs, or (B)&nbsp;Employee&#146;s annualized compensation based upon the annual rate of pay for services to Employer for the calendar year prior to the calendar year in which the Termination Date occurs (adjusted for
any increase during that year that was expected to continue indefinitely if the Employee had not separated from service), with such severance payable to Employee over the twelve (12)&nbsp;month period commencing from and after the Termination Date,
in accordance with Employer&#146;s normal payroll schedule; provided, however, that any installments that otherwise would be payable on Employer&#146;s regular payroll dates between the Termination Date and the expiration of the rescission period
applicable to Release will be delayed until Employer&#146;s first regular payroll date that is after the expiration of the rescission period applicable to Release and included with the installment payable on such payroll date, and provided further
that if the severance otherwise payable to Employee is reduced to zero (0)&nbsp;by application of the maximum limitation identified above, then Employer shall in the alternative pay Employee severance equal to twelve (12)&nbsp;months of
Employee&#146;s base salary as of immediately prior to the Termination Date, less normal payroll withholdings, payable to Employee over the twelve (12)&nbsp;month period commencing from and after the Termination Date, in accordance with
Employer&#146;s normal payroll schedule, except that any amounts that remain payable as of the Short-Term Deferral Deadline shall be paid in a lump sum no later than the Short-Term Deferral Deadline; and </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii) if Employee is eligible for and takes all steps necessary to continue Employee&#146;s group health insurance coverage with Employer
following the Termination Date (including completing and returning the forms necessary to elect COBRA coverage), pay for the portion of the premium costs for such coverage that Employer would pay if Employee remained employed by Employer, at the
same level of coverage that was in effect as of the Termination Date, through the earliest of: (A)&nbsp;the twelve (12)&nbsp;month anniversary of the Termination Date, (B)&nbsp;the date Employee becomes eligible for group health insurance coverage
from any other employer, or (C)&nbsp;the date Employee is no longer eligible to continue Employee&#146;s group health insurance coverage with Employer under applicable law. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Payment of any severance pay or benefits under this Section&nbsp;3.a. will be conditioned on Employee&#146;s execution (and
<FONT STYLE="white-space:nowrap">non-rescission)</FONT> of a Release and continued compliance with Employee&#146;s obligations under this Agreement and the Confidentiality Agreement. Any severance payments under this Section&nbsp;3.a. shall be
subject to normal payroll withholdings. Employer and Employee intend the severance payments and benefits under this Section&nbsp;3.a. to be a &#147;short-term deferral&#148; under Treas. Reg. &#167;
1.409A-</P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
1(b)(4) and/or a &#147;separation pay plan due to involuntary separation from service&#148; under Treas. Reg. &#167; <FONT STYLE="white-space:nowrap">1.409A-1(b)(9)(iii).</FONT> The benefits
described in this Section&nbsp;3.a. will be reduced, as and when it is otherwise payable, by the amount of any severance or similar payment required to be paid to Employee by Employer under applicable federal, state, and local laws. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>b.&nbsp;&nbsp;&nbsp;&nbsp; Involuntary Termination Without Cause or Resignation For Good Reason During the Change in Control Period.
</B>If Employer terminates Employee&#146;s employment without Cause, or if Employee resigns for Good Reason, and in either case the Termination Date occurs during the Change in Control Period, then, subject to the conditions identified below and the
provisions of Section&nbsp;11 below, Employer shall: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i) pay Employee severance equal to (x)&nbsp;eighteen (18)&nbsp;months of
Employee&#146;s base salary as of immediately prior to the Termination Date (or an amount equal to eighteen (18)&nbsp;months of Employee&#146;s base salary as of immediately prior to a reduction of 10% or more in Employee&#146;s base salary by
Employer if Employee resigns for Good Reason as a result of such reduction), plus (y)&nbsp;an amount equal to one times Employee&#146;s target annual incentive bonus as of Employee&#146;s Termination Date, multiplied by a fraction, the numerator of
which is the number of days Employee was employed by Employer during the calendar year in which the Termination Date occurs and the denominator of which is 365, less (z)&nbsp;any amounts paid to Employee pursuant to Section&nbsp;3.a.(i) prior to the
Termination Date if the Termination Date was during the three-month period prior to a Change in Control, less normal payroll withholdings, paid in a lump sum on Employer&#146;s first payroll date occurring more than sixty (60)&nbsp;calendar days
after the later of the date of the Change in Control and the Termination Date (but no later than seventy-five (75)&nbsp;days thereafter); and </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii) if Employee is eligible for and takes all steps necessary to continue Employee&#146;s group health insurance coverage with Employer
following the Termination Date (including completing and returning the forms necessary to elect COBRA coverage), Employer will pay for the portion of the premium costs for such coverage that Employer would pay if Employee remained employed by
Employer, at the same level of coverage that was in effect as of the Termination Date, through the earliest of: (A)&nbsp;the eighteen (18)&nbsp;month anniversary of the Termination Date, (B)&nbsp;the date Employee becomes eligible for group health
insurance coverage from any other employer, or (C)&nbsp;the date Employee is no longer eligible to continue Employee&#146;s group health insurance coverage with Employer under applicable law. The benefit continuation described in this
Section&nbsp;3.b.(ii) shall be in lieu of and not in addition to any benefits described in Section&nbsp;3.a.(ii) (if applicable). </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Payment of any
severance pay or benefits under this Section&nbsp;3.b. will be conditioned on Employee&#146;s execution (and <FONT STYLE="white-space:nowrap">non-rescission)</FONT> of a Release and continued compliance with Employee&#146;s obligations under this
Agreement and the Confidentiality Agreement. Any severance payments under this Section&nbsp;3.b. shall be subject to normal payroll withholdings. Employer and Employee intend the severance payments and benefits under this Section&nbsp;3.b. to be a
&#147;short-term deferral&#148; under Treas. Reg. &#167; <FONT STYLE="white-space:nowrap">1.409A-1(b)(4)</FONT> and/or a &#147;separation pay plan due to involuntary separation from service&#148; under Treas. Reg. &#167; <FONT
STYLE="white-space:nowrap">1.409A-1(b)(9)(iii).</FONT> The benefits described in this Section&nbsp;3.b. will be reduced, as and when it is otherwise payable, by the amount of any severance or similar payment required to be paid to Employee by
Employer under applicable federal, state, and local laws. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>c.</B>&nbsp;&nbsp;&nbsp;&nbsp; <B>Definitions</B>. For purposes of this
Agreement, the following terms shall have the following meanings: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#147;Cause&#148; shall have the
meaning ascribed to such term as set forth in the SPS Commerce, Inc. 2001 Stock Option Plan, as amended (the &#147;Stock Option Plan&#148;)). </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#147;Change in Control&#148; shall have the meaning ascribed to such term as set forth in the Stock Option
Plan. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iii)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Change in Control Period&#148; means the period starting
three months immediately before a Change in Control and continuing for 12 months immediately following a Change in Control. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iv)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Code&#148; means the Internal Revenue Code of 1986, as amended, and the regulations and guidance
thereunder. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(v)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Employer&#148; shall include any current or future successor, parent, subsidiary, affiliate
or other joint venture partner to which any right or obligation has been assigned or delegated by SPS Commerce, Inc. or by operation of law. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(vi) &nbsp;&nbsp;&nbsp;&nbsp;&#147;Good Reason&#148; means the occurrence of any of the following events, in each case without
Employee&#146;s consent: (i)&nbsp;a reduction of 10% or more in Employee&#146;s base salary or annual bonus opportunity, (ii)&nbsp;a material reduction in Employee&#146;s employment responsibilities, including Employee no longer serving as Chief
Executive Officer of Employer or Employer is no longer a reporting company under the Securities Exchange Act of 1934, as may be amended from time to time, or (iii)&nbsp;a relocation of Employee&#146;s primary work location by more than
30&nbsp;miles, provided that with regard to events described in (i)&nbsp;and (ii), Employee first gives notice of the event giving rise to Good Reason to Employer within ninety (90)&nbsp;calendar days of the first occurrence of the event, and
provided further that upon giving notice Employee provides Employer thirty (30)&nbsp;calendar days in which to remedy the event. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(vii)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#147;Release&#148; means a standard release of claims in the form provided by Employer at the time of a
termination for which Employee is eligible to receive severance pay or benefits under Section&nbsp;3. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(viii)&nbsp;&nbsp;&nbsp;&nbsp;
&#147;Short-Term Deferral Deadline&#148; shall mean the date that is the 15th day of the third month following the end of the later of the calendar year, or Employer&#146;s taxable year, in which the Termination Date occurs. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ix)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Termination Date&#148; shall mean the date on which a &#147;separation from service&#148; has occurred for
purposes of Section&nbsp;409A of the Code and the regulations and guidance thereunder. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>4.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>RETIREMENT</U></B><B>. </B>If (i)&nbsp;the sum of Employee&#146;s age plus years of service as an
employee of Employer is 78 or greater, (ii)&nbsp;Employee provides no less than six (6)&nbsp;months&#146; written notice of his retirement from employment with Employer to the Chair of Employer&#146;s Board of Directors (the &#147;Board
Chair&#148;), (iii) Employee continues to perform full-time services for Employer materially consistent with the full-time responsibilities and services performed by Employee prior to the date on which Employee provided written notice of
Employee&#146;s retirement from employment with Employer to the Board Chair through the Termination Date, and (iv)&nbsp;Employee&#146;s Termination Date occurs on the retirement date identified by Employee (and such Termination Date is no less than
six (6)&nbsp;months after the date on which Employee provided written notice of his retirement to the Board Chair) (a &#147;Retirement&#148;), then, subject to the conditions identified in Section&nbsp;4.c and the provisions of Section&nbsp;11
below: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>a.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Outstanding Service-Based Equity Awards.</B> With respect to any Equity Award whose vesting
is based solely on the satisfaction by Employee of a service-based vesting condition, then one hundred percent (100%) of all of Employee&#146;s unvested service-based Equity Awards as of the Termination Date will become fully vested as of the
Termination Date. <B></B> </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>b.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Outstanding Performance-Based Equity Awards.</B> With respect to any
Equity Award that has been granted to Employee under the Equity Incentive Plan and is outstanding on such Termination Date and whose vesting or settlement is subject to the satisfaction of performance goals over a performance period, Employee will
be entitled to have vest on each originally scheduled vesting date for such award the number of shares, share units or share equivalents subject to the Equity Award that would otherwise have been determined to have been earned by Employee had
Employee remained continuously employed by Employer through each such originally scheduled vesting date based on the </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
degree to which the applicable performance goals were satisfied during the applicable performance period through each such originally scheduled vesting date. For the avoidance of doubt, upon
Employee&#146;s Retirement, any unvested Equity Awards whose vesting or settlement is subject to the satisfaction of performance goals over a performance period then held by Employee shall not lapse until the earliest of a Change in Control, three
months after the Termination Date (subject to the one year exercisability extension for stock options as identified above), or the expiration date of such Equity Award. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>c.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><FONT STYLE="white-space:nowrap">Pro-Rated</FONT> Annual Bonus. </B>Employer shall pay Employee a <FONT
STYLE="white-space:nowrap">pro-rated</FONT> portion, based on the Termination Date, of Employee&#146;s target annual cash incentive bonus for Employer&#146;s fiscal year during with the Termination Date occurs, based on the portion of such fiscal
year Employee was employed by Employer prior to the Termination Date, less normal payroll withholdings, payable to Employee in a lump sum no later than sixty (60)&nbsp;calendar days after the Termination Date. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>d.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Conditions to Accelerated or Continued Vesting</B>. <B></B>The payment of the <FONT
STYLE="white-space:nowrap">pro-rated</FONT> bonus and the accelerated or continued vesting of Equity Awards under this Section&nbsp;4 following a Retirement will be conditioned on (i)&nbsp;Employee&#146;s execution (and <FONT
STYLE="white-space:nowrap">non-rescission)</FONT> of a Release, and (ii)&nbsp;Employee&#146;s continued compliance with Employee&#146;s obligations under this Agreement and the Confidentiality Agreement. Notwithstanding anything to the contrary in
this Agreement or any agreement evidencing an Equity Award, if Employee breaches any provision of this Agreement or the Confidentiality Agreement, then (i)&nbsp;Employee shall immediately forfeit all outstanding Equity Awards and any right to
receive shares thereunder, and (ii)&nbsp;with respect to shares that have been issued pursuant to an Equity Award within two (2)&nbsp;years prior to such breach, Employee shall either (A)&nbsp;return such shares to Employer or (B)&nbsp;pay to
Employer in cash an amount equal to the fair market value of the shares as of the date their receipt became taxable to Employee. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>5.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>TERMINATION OF THE PRIOR AGREEMENT</U></B><B>. </B>This Agreement supersedes and replaces the Prior
Agreement in its entirety. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>6.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>BENEFITS IN LIEU OF PLAN BENEFITS</U></B><B>. </B>The benefits
described in this Agreement are in lieu of any pay or benefits that would otherwise be provided to Employee under any Employer-sponsored severance pay policy, plans or practice, and Employee shall not be entitled to any benefits under any
Employer-sponsored severance pay policy, plans or practice in the event that pay or benefits are payable thereunder. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>7.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>MODIFICATION OF AGREEMENT</U></B><B>.</B> No waiver or modification of this Agreement or of any
covenant, condition, or limitation herein contained shall be valid unless in writing and duly executed by both parties. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>8.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>CHOICE OF LAW, JURISDICTION, AND VENUE</U></B><B>.</B> The validity, construction and performance of
this Agreement shall be governed by, and construed in accordance with, the laws of the State of Minnesota, without reference to any choice of laws provisions thereof. The parties further agree that any litigation or proceeding arising out of, or
relating to, this Agreement (whether the same sounds in tort or contract or both) shall be commenced and maintained in a federal or state court located in Hennepin County, Minnesota, and for such purpose the parties consent to any such court&#146;s
exercise of personal jurisdiction over them. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>9.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>ASSIGNMENTS</U></B>. This Agreement is personal in
nature and cannot be assigned by Employee. The terms, conditions, covenants, and representations herein shall inure to and be binding upon the heirs and representatives of Employee and shall inure to the benefit of and shall be binding upon the
successors and assigns of Employer. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>10.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>SEVERABILITY</U></B><B>.</B> Agreements and covenants
contained herein are severable, and in the event any of them shall be held to be invalid by any competent court, this Agreement shall be interpreted as if such invalid agreement or covenants were not contained herein. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>11.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>SECTION 409A</U></B><B>. </B>This Agreement is
intended to satisfy, or be exempt from, the requirements of Section&nbsp;409A(a)(2)(3) and (4)&nbsp;of the Code, including current and future guidance and regulations interpreting such provisions, and should be interpreted accordingly.
Notwithstanding anything to the contrary in this Agreement or any other agreement between Employer and Employee, including without limitation any agreement evidencing an Equity Award, if Employee is considered a &#147;specified employee&#148; (as
defined in Treasury Regulation <FONT STYLE="white-space:nowrap">Section&nbsp;1.409A-1(i))</FONT> as of the date of the Termination Date, then no payments of deferred compensation payable due to Employee&#146;s separation from service, including
without limitation any amount payable under this Agreement with respect to any Equity Award, shall be made under this Agreement before the first business day that is six (6)&nbsp;months after the Termination Date (or upon Employee&#146;s death, if
earlier) (the &#147;Specified Period&#148;). Any deferred compensation payments that would otherwise be required to be made to Employee during the Specified Period will be accumulated by Employer and paid to Employee on the first day after the end
of the Specified Period. The foregoing restriction on the payment of amounts to Employee during the Specified Period will not apply to the payment of employment taxes. In addition, notwithstanding anything to the contrary in this Agreement or any
agreement evidencing an Equity Award, with respect to an Equity Award that constitutes a deferral of compensation subject to Section&nbsp;409A of the Code: (i)&nbsp;if any amount is payable under any Equity Award upon a termination of Service, a
termination of Service will be deemed to have occurred only at such time as Employee has experienced a &#147;separation from service&#148; as such term is defined for purposes of Section&nbsp;409A of the Code; and (ii)&nbsp;no Change in Control
shall be deemed to have occurred upon an event described in the definition of the term contained in the Stock Option Plan unless the event would also constitute a change in ownership or effective control of, or a change in the ownership of a
substantial portion of the assets of, Employer under Section&nbsp;409A of the Code. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>12.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>SECTION
280G.</U></B><U> </U>If any payment or benefit to be paid or provided to Employee under this Agreement, taken together with any payments or benefits otherwise paid or provided to Employee by Employer or any corporation that is a member of an
&#147;affiliated group&#148; (as defined in Section&nbsp;1504 of the Code without regard to Section&nbsp;1504(b) of the Code) of which Employer is a member (the &#147;other arrangements&#148;), would collectively constitute a &#147;parachute
payment&#148; (as defined in Section&nbsp;280G(b)(2) of the Code), and if the net <FONT STYLE="white-space:nowrap">after-tax</FONT> amount of such parachute payment to Employee is less than what the net
<FONT STYLE="white-space:nowrap">after-tax</FONT> amount to Employee would be if the aggregate payments and benefits otherwise constituting the parachute payment were limited to three times Employee&#146;s &#147;base amount&#148; (as defined in
Section&nbsp;280G(b)(3) of the Code) less $1.00, then the aggregate payments and benefits otherwise constituting the parachute payment shall be reduced to an amount that shall equal three times Employee&#146;s base amount, less $1.00. Should such a
reduction in payments and benefits be required, Employee shall be entitled, subject to the following sentence, to designate those payments and benefits under this Agreement or the other arrangements that will be reduced or eliminated so as to
achieve the specified reduction in aggregate payments and benefits to Employee and avoid characterization of such aggregate payments and benefits as a parachute payment. Employer will provide Employee with all information reasonably requested by
Employee to permit Employee to make such designation. To the extent that Employee&#146;s ability to make such a designation would cause any of the payments and benefits to become subject to any additional tax under Code Section&nbsp;409A, or if
Employee fails to make such a designation within ten (10)&nbsp;business days of receiving the requested information from Employer, then Employer shall achieve the necessary reduction in such payments and benefits by first reducing or eliminating the
portion of the payments and benefits that are payable in cash and then by reducing or eliminating the <FONT STYLE="white-space:nowrap">non-cash</FONT> portion of the payments and benefits, in each case in reverse order beginning with payments and
benefits which are to be paid or provided the furthest in time from the date of Employer&#146;s determination. A net <FONT STYLE="white-space:nowrap">after-tax</FONT> amount shall be determined by taking into account all applicable income, excise
and employment taxes, whether imposed at the federal, state or local level, including the excise tax imposed under Section&nbsp;4999 of the Code. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>13.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>TAXES</U></B><B>. </B>Employer may withhold from any amounts payable under this Agreement such
federal, state and local income and employment taxes as Employer shall determine are required to be withheld pursuant to any applicable law or regulation. Employee shall be solely responsible for the payment of all taxes due and owing with respect
to any compensation provided to Employee hereunder. Employer does not guarantee any particular tax consequence or result with respect to any payment made by Employer under this Agreement, including with respect to any Equity Award. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>14.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>COMPLETE AGREEMENT</U></B><B>. </B>This Agreement,
the Confidentiality Agreement, and any stock option or other equity agreements between Employer and Employee contain the complete agreement concerning the terms and conditions of the employment arrangement between the parties. Except for the
Confidentiality Agreement, which shall remain in full force and effect in accordance with its terms, and any stock option or other equity agreements between Employer and Employee, which shall remain in full force and effect in accordance with their
terms except to the extent they are agreements evidencing Equity Awards and have been amended by this Agreement, this Agreement shall, as of the Effective Date, supersede all other agreements between the parties, including without limitation the
Prior Agreement. The parties stipulate that neither of them has made any representation with respect to the subject matter of this Agreement or any representations including the execution and delivery hereof except such representations as are
specifically set forth herein and the parties hereto acknowledge that they have relied on their own judgment in entering into this Agreement. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="3%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="42%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="4%"></TD>

<TD VALIGN="bottom"></TD>
<TD WIDTH="5%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="42%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" COLSPAN="3"><B>SPS COMMERCE, INC.</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" COLSPAN="3"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman"><B>EMPLOYEE</B></P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" COLSPAN="3"><B>EMPLOYER</B></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"><B>By:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman"><B>/s/ Archie C. Black</B></P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><B>By:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman"><B>/s/ Tami Reller</B></P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><B>Name:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><B>Tami Reller</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><B>Its:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><B>Director and Authorized Signatory</B></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16" COLSPAN="3"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="4"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" COLSPAN="3"><B>Date:</B> <B>February&nbsp;13, 2020</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" COLSPAN="3"><B>Date:</B>&nbsp;<B>February&nbsp;13, 2020</B></TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.2
<SEQUENCE>3
<FILENAME>d890301dex102.htm
<DESCRIPTION>EX-10.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-10.2</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 10.2 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>SPS COMMERCE, INC. </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>AMENDED AND RESTATED EXECUTIVE SEVERANCE AND CHANGE IN CONTROL AGREEMENT </B></P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">This Amended and Restated Executive Severance and Change in Control Agreement (the &#147;Agreement&#148;), dated effective as of February&nbsp;13, 2020 (the
&#147;Effective Date&#148;), is entered into by and between&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&#147;Employee&#148;), and SPS Commerce, Inc., a Delaware corporation, with offices at SPS Tower, 333 South Seventh
Street, Suite 1000, Minneapolis, Minnesota 55402 (&#147;Employer&#148;). </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS, </B>Employer is engaged in the business of
developing, marketing and distributing computer software products and services; and </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS, </B>Employee is currently employed by
Employer as Employer&#146;s Chief Operating Officer; </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Employee and Employer are parties to an Executive Severance Change
in Control Agreement, dated February&nbsp;2, 2016 (the &#147;Prior Agreement&#148;) and an <FONT STYLE="white-space:nowrap">At-Will/Confidentiality</FONT> Agreement Regarding Certain Terms and Conditions of Employment At SPS Commerce, Inc., dated
February&nbsp;2, 2016 (the &#147;Confidentiality Agreement&#148;); and </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Employer has adopted the SPS Commerce, Inc.
Executive and Senior Leadership Severance and Retirement Plan (the &#147;Plan&#148;); </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Employer and Employee desire to
amend, modify and restate the Prior Agreement; </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS,</B> Under the terms and conditions of the Confidentiality Agreement, Employee
previously agreed to certain obligations with respect to <FONT STYLE="white-space:nowrap">non-disclosure</FONT> of Employer&#146;s trade secrets and confidential information, disclosure and assignment of intellectual property and <FONT
STYLE="white-space:nowrap">non-competition</FONT> and <FONT STYLE="white-space:nowrap">non-solicitation</FONT> restrictions that apply during Employee&#146;s employment with Employer and for a period thereafter; and </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"><B>WHEREAS, </B>Employee is willing to continue to be employed by Employer, and Employer is willing to continue to employ Employee, on the
terms, covenants, and conditions included in this Agreement and the Confidentiality Agreement and as hereinafter set forth. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">For the
reasons set forth above, and in consideration of the mutual promises and agreements hereinafter set forth, Employer and Employee agree as follows: </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>1.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>TERM</U></B><B>.</B> Employer and Employee agree that the term of this Agreement is the period
commencing on the Effective Date and continuing until Employee&#146;s employment with Employer is terminated (the &#147;Term&#148;). Employee understands that Employer is an <FONT STYLE="white-space:nowrap">at-will</FONT> employment employer, and
that this means the employment relationship may be terminated by either party at any time and for any reason and that this Agreement is not a contract for employment for any specific length of time. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>2.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>VESTING OF OPTIONS AND OTHER EQUITY UPON A CHANGE IN CONTROL</U></B><B>.</B> If Employer terminates
Employee&#146;s employment without Cause (as defined below), or if Employee resigns with Good Reason (as defined below) during the Change in Control Period (as defined below), then, with respect to any equity-based award that has been granted to
Employee under the SPS Commerce, Inc. 2010 Equity Incentive Plan, as amended from time to time (the &#147;Equity Plan&#148;) or any predecessor or successor plan and is outstanding and not fully vested on Employee&#146;s Termination Date (as defined
below) (an &#147;Equity Award&#148;), and notwithstanding any language in the Equity Plan or any predecessor or successor plan, the unvested portion of any Equity Award that is outstanding on Employee&#146;s Termination Date will vest as of the
later of the date both (a)&nbsp;Employee&#146;s Release (as defined below) becomes irrevocable, and (b)&nbsp;the date of the Change in Control (as defined below), if it has not occurred by the Termination Date. Notwithstanding any provision to the
contrary in the terms of any Equity Award agreement regarding the expiration date of the Equity Award, if such Equity Award is a stock option, it will remain exercisable to the extent so vested for one year after Employee&#146;s Termination Date
unless otherwise terminated under the </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
terms of the Equity Award (other than due to the expiration of the exercisable period identified in the Equity Award) or any claw back policy of or agreement with Employer. If the vesting of the
Equity Award is subject to the satisfaction of performance goals over a performance period, the unvested portion of such Equity Award will be determined by subtracting from the number of shares or stock units that would otherwise vest at the end of
the applicable performance period if target level performance (rather than maximum level performance) had been achieved the number of shares or stock units as to which the Equity Award had vested prior to Employee&#146;s Termination Date. For the
avoidance of doubt, upon the termination of Employee&#146;s employment by Employer without Cause or by Employee for Good Reason, any unvested equity awards then held by Employee shall not lapse until the earliest of a Change in Control, three months
after the Employee&#146;s Termination Date (subject to the one year exercisability extension for stock options as identified above), or the expiration date of such Equity Award. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>3.&nbsp;&nbsp;&nbsp;&nbsp;<U>TERMINATION; EFFECT OF TERMINATION</U>. </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>a.&nbsp;&nbsp;&nbsp;&nbsp; Involuntary Termination Without Cause Outside of the Change in Control Period.</B> If Employer terminates
Employee&#146;s employment without Cause, and provided that such termination of employment is not during the Change in Control Period (as defined below), then, subject to the conditions identified below and the provisions of Section&nbsp;11 below,
Employer shall: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i) pay Employee severance equal to twelve (12)&nbsp;months of Employee&#146;s base salary as of immediately prior to
the Termination Date, less normal payroll withholdings, provided that such severance shall not exceed two times the lesser of (A)&nbsp;the Code &#167; 401(a)(17) compensation limit for the year in which the Termination Date occurs, or
(B)&nbsp;Employee&#146;s annualized compensation based upon the annual rate of pay for services to Employer for the calendar year prior to the calendar year in which the Termination Date occurs (adjusted for any increase during that year that was
expected to continue indefinitely if the Employee had not separated from service), with such severance payable to Employee over the twelve (12)&nbsp;month period commencing from and after the Termination Date, in accordance with Employer&#146;s
normal payroll schedule; provided, however, that any installments that otherwise would be payable on Employer&#146;s regular payroll dates between the Termination Date and the expiration of the rescission period applicable to Release will be delayed
until Employer&#146;s first regular payroll date that is after the expiration of the rescission period applicable to Release and included with the installment payable on such payroll date, and provided further that if the severance otherwise payable
to Employee is reduced to zero (0)&nbsp;by application of the maximum limitation identified above, then Employer shall in the alternative pay Employee severance equal to twelve (12)&nbsp;months of Employee&#146;s base salary as of immediately prior
to the Termination Date, less normal payroll withholdings, payable to Employee over the twelve (12)&nbsp;month period commencing from and after the Termination Date, in accordance with Employer&#146;s normal payroll schedule, except that any amounts
that remain payable as of the Short-Term Deferral Deadline shall be paid in a lump sum no later than the Short-Term Deferral Deadline; </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii) pay Employee an amount equal to one hundred percent (100%) of Employee&#146;s target annual cash incentive bonus for Employer&#146;s
fiscal year during which the Termination Date occurs, payable to Employee in a lump sum no later than sixty (60)&nbsp;calendar days after the Termination Date, and </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iii) if Employee is eligible for and takes all steps necessary to continue Employee&#146;s group health insurance coverage with Employer
following the Termination Date (including completing and returning the forms necessary to elect COBRA coverage), pay for the portion of the premium costs for such coverage that Employer would pay if Employee remained employed by Employer, at the
same level of coverage that was in effect as of the Termination Date, through the earliest of: (A)&nbsp;the twelve (12)&nbsp;month anniversary of the Termination Date, (B)&nbsp;the date Employee becomes eligible for group health insurance coverage
from any other employer, or (C)&nbsp;the date Employee is no longer eligible to continue Employee&#146;s group health insurance coverage with Employer under applicable law. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Payment of any severance pay or benefits under this Section&nbsp;3.a. will be conditioned on Employee&#146;s execution (and
<FONT STYLE="white-space:nowrap">non-rescission)</FONT> of a Release and continued compliance with Employee&#146;s obligations under this Agreement and the Confidentiality Agreement. Any severance payments under this Section&nbsp;3.a. shall be
subject to normal payroll withholdings. Employer and Employee intend the severance payments and </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
benefits under this Section&nbsp;3.a. to be a &#147;short-term deferral&#148; under Treas. Reg. &#167; <FONT STYLE="white-space:nowrap">1.409A-1(b)(4)</FONT> and/or a &#147;separation pay plan
due to involuntary separation from service&#148; under Treas. Reg. &#167; <FONT STYLE="white-space:nowrap">1.409A-1(b)(9)(iii).</FONT> The benefits described in this Section&nbsp;3.a. will be reduced, as and when it is otherwise payable, by the
amount of any severance or similar payment required to be paid to Employee by Employer under applicable federal, state, and local laws. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>b. Resignation for Good Reason Outside the Change in Control Period.</B> If Employee resigns for Good Reason, and provided that such
termination of employment is not during the Change in Control Period, then, subject to the conditions identified below and the provisions of Section&nbsp;11 below, Employer shall: </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i) pay Employee severance equal to six (6)&nbsp;months of Employee&#146;s base salary as of immediately prior to the Termination Date, less
normal payroll withholdings, provided that such severance shall not exceed two times the lesser of (A)&nbsp;the Code &#167; 401(a)(17) compensation limit for the year in which the Termination Date occurs, or (B)&nbsp;Employee&#146;s annualized
compensation based upon the annual rate of pay for services to Employer for the calendar year prior to the calendar year in which the Termination Date occurs (adjusted for any increase during that year that was expected to continue indefinitely if
the Employee had not separated from service), with such severance payable to Employee over the six (6)&nbsp;month period commencing from and after the Termination Date, in accordance with Employer&#146;s normal payroll schedule; provided, however,
that any installments that otherwise would be payable on Employer&#146;s regular payroll dates between the Termination Date and the expiration of the rescission period applicable to Release will be delayed until Employer&#146;s first regular payroll
date that is after the expiration of the rescission period applicable to Release and included with the installment payable on such payroll date, and provided further that if the severance otherwise payable to Employee is reduced to zero (0)&nbsp;by
application of the maximum limitation identified above, then Employer shall in the alternative pay Employee severance equal to six (6)&nbsp;months of Employee&#146;s base salary as of immediately prior to the Termination Date, less normal payroll
withholdings, payable to Employee over the six (6)&nbsp;month period commencing from and after the Termination Date, in accordance with Employer&#146;s normal payroll schedule, except that any amounts that remain payable as of the Short-Term
Deferral Deadline shall be paid in a lump sum no later than the Short-Term Deferral Deadline; </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii) pay Employee an amount equal to fifty
percent (50%) of Employee&#146;s target annual cash incentive bonus for Employer&#146;s fiscal year during which the Termination Date occurs, payable to Employee in a lump sum no later than sixty (60)&nbsp;calendar days after the Termination Date,
and </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iii) if Employee is eligible for and takes all steps necessary to continue Employee&#146;s group health insurance coverage with
Employer following the Termination Date (including completing and returning the forms necessary to elect COBRA coverage), pay for the portion of the premium costs for such coverage that Employer would pay if Employee remained employed by Employer,
at the same level of coverage that was in effect as of the Termination Date, through the earliest of: (A)&nbsp;the six (6)&nbsp;month anniversary of the Termination Date, (B)&nbsp;the date Employee becomes eligible for group health insurance
coverage from any other employer, or (C)&nbsp;the date Employee is no longer eligible to continue Employee&#146;s group health insurance coverage with Employer under applicable law. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Payment of any severance pay or benefits under this Section&nbsp;3.b. will be conditioned on Employee&#146;s execution (and
<FONT STYLE="white-space:nowrap">non-rescission)</FONT> of a Release and continued compliance with Employee&#146;s obligations under this Agreement and the Confidentiality Agreement. Any severance payments under this Section&nbsp;3.b. shall be
subject to normal payroll withholdings. Employer and Employee intend the severance payments and benefits under this Section&nbsp;3.b. to be a &#147;short-term deferral&#148; under Treas. Reg. &#167;
<FONT STYLE="white-space:nowrap">1.409A-1(b)(4)</FONT> and/or a &#147;separation pay plan due to involuntary separation from service&#148; under Treas. Reg. &#167; <FONT STYLE="white-space:nowrap">1.409A-1(b)(9)(iii).</FONT> The benefits described
in this Section&nbsp;3.b. will be reduced, as and when it is otherwise payable, by the amount of any severance or similar payment required to be paid to Employee by Employer under applicable federal, state, and local laws. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>c. Involuntary Termination Without Cause or Resignation For Good Reason During the
Change in Control Period.</B> If Employer terminates Employee&#146;s employment without Cause or if Employee resigns for Good Reason, and in either case the Termination Date occurs during the Change in Control Period, then, subject to the conditions
identified below and the provisions of Section&nbsp;11 below, Employer shall: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i)&nbsp;&nbsp;&nbsp;&nbsp; pay Employee severance equal
to: (x)&nbsp;twelve (12)&nbsp;months of Employee&#146;s base salary as of the Termination Date (or an amount equal to twelve (12)&nbsp;months of Employee&#146;s base salary as of immediately prior to a reduction of 10% or more in Employee&#146;s
base salary by Employer if Employee resigns for Good Reason as a result of such reduction) less (y)&nbsp;any amounts paid to Employee pursuant to Section&nbsp;3.a.(i) or Section&nbsp;3.b.(i) (as applicable) prior to the Termination Date if the
Termination Date was during the three-month period prior to a Change in Control, less normal payroll withholdings, paid in a lump sum on Employer&#146;s first payroll date occurring more than sixty (60)&nbsp;calendar days after the later of the date
of the Change in Control and the Termination Date (but no later than seventy-five (75)&nbsp;days thereafter); </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii)&nbsp;&nbsp;&nbsp;&nbsp; pay Employee an amount equal to: (x)&nbsp;one hundred percent (100%) of Employee&#146;s target annual cash
incentive bonus for Employer&#146;s fiscal year during which the Termination Date occurs, less (y)&nbsp;any amount paid to Employee pursuant to Section&nbsp;3.a.(ii) or Section&nbsp;3.b.(ii) (as applicable) prior to the Termination Date if the
Termination Date was during the three-month period prior to a Change in Control, less normal payroll withholdings, payable to Employee in a lump sum no later than sixty (60)&nbsp;calendar days after the later of the date of the Change in Control and
the Termination Date (but no later than seventy-five (75)&nbsp;days thereafter), and </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iii)&nbsp;&nbsp;&nbsp;&nbsp; if Employee is
eligible for and takes all steps necessary to continue Employee&#146;s group health insurance coverage with Employer following the Termination Date (including completing and returning the forms necessary to elect COBRA coverage), pay for the portion
of the premium costs for such coverage that Employer would pay if Employee remained employed by Employer, at the same level of coverage that was in effect as of the Termination Date, through the earliest of: (A)&nbsp;the twelve (12)&nbsp;month
anniversary of the Termination Date, (B)&nbsp;the date Employee becomes eligible for group health insurance coverage from any other employer, or (C)&nbsp;the date Employee is no longer eligible to continue Employee&#146;s group health insurance
coverage with Employer under applicable law. The benefit continuation described in this Section&nbsp;3.c.(iii) shall be in lieu of and not in addition to the benefits described in Section&nbsp;3.a.(iii) and Section&nbsp;3.b.(iii). </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Payment of any severance pay or benefits under this Section&nbsp;3.c. will be conditioned on Employee&#146;s execution (and
<FONT STYLE="white-space:nowrap">non-rescission)</FONT> of a Release and continued compliance with Employee&#146;s obligations under this Agreement and the Confidentiality Agreement. Any severance payments under this Section&nbsp;3.c. shall be
subject to normal payroll withholdings. Employer and Employee intend the severance payments and benefits under this Section&nbsp;3.c. to be a &#147;short-term deferral&#148; under Treas. Reg. &#167;
<FONT STYLE="white-space:nowrap">1.409A-1(b)(4)</FONT> and/or a &#147;separation pay plan due to involuntary separation from service&#148; under Treas. Reg. &#167; <FONT STYLE="white-space:nowrap">1.409A-1(b)(9)(iii).</FONT> The benefits described
in this Section&nbsp;3.c. will be reduced, as and when it is otherwise payable, by the amount of any severance or similar payment required to be paid to Employee by Employer under applicable federal, state, and local laws. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>d.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Definitions</B>. For purposes of this Agreement, the following terms shall have the following meanings:
</P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#147;Cause&#148; shall have the meaning ascribed to such term as set forth in the SPS Commerce, Inc.
2001 Stock Option Plan, as amended (the &#147;Stock Option Plan&#148;)). </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ii)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Change in Control&#148; shall
have the meaning ascribed to such term as set forth in the Stock Option Plan. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iii)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#147;Change in Control
Period&#148; means the period starting three months immediately before a Change in Control and continuing for 12 months immediately following a Change in Control. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(iv)&nbsp;&nbsp;&nbsp;&nbsp;Code&#148; means the Internal Revenue Code of 1986, as amended,
and the regulations and guidance thereunder. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(v)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Employer&#148; shall include any current or future
successor, parent, subsidiary, affiliate or other joint venture partner to which any right or obligation has been assigned or delegated by SPS Commerce, Inc. or by operation of law. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(vi)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Good Reason&#148; means the occurrence of any of the following events, in each case without Employee&#146;s
consent: (i)&nbsp;a reduction of 10% or more in Employee&#146;s base salary or annual bonus opportunity, (ii)&nbsp;a material reduction in Employee&#146;s employment responsibilities, including Employee no longer serving as the Chief Operating
Officer of Employer or Employer is no longer a reporting company under the Securities Exchange Act of 1934, as may be amended from time to time, or (iii)&nbsp;a relocation of Employee&#146;s primary work location by more than 30&nbsp;miles, provided
that with regard to events described in (i)&nbsp;and (ii), Employee first gives notice of the event giving rise to Good Reason to Employer within ninety (90)&nbsp;calendar days of the first occurrence of the event, and provided further that upon
giving notice Employee provides Employer thirty (30)&nbsp;calendar days in which to remedy the event. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(vii)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#147;Release&#148; means a standard release of claims in the form provided by Employer at the time of a
termination for which Employee is eligible to receive severance pay or benefits under Section&nbsp;3. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(viii)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Short-Term Deferral Deadline&#148; shall mean the date that is the 15th day of the third month following
the end of the later of the calendar year, or Employer&#146;s taxable year, in which the Termination Date occurs. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:18%; font-size:10pt; font-family:Times New Roman">(ix)&nbsp;&nbsp;&nbsp;&nbsp;&#147;Termination Date&#148; shall mean the date on which a &#147;separation from service&#148; has occurred for
purposes of Section&nbsp;409A of the Code and the regulations and guidance thereunder. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>4.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>RETIREMENT</U></B><B>. </B>If (i)&nbsp;the sum of Employee&#146;s age plus years of service as an
employee of Employer is 78 or greater, (ii)&nbsp;Employee provides no less than six (6)&nbsp;months&#146; written notice of his retirement from employment with Employer to the Chair of Employer&#146;s Board of Directors (the &#147;Board
Chair&#148;), (iii) Employee continues to perform full-time services for Employer materially consistent with the full-time responsibilities and services performed by Employee prior to the date on which Employee provided written notice of
Employee&#146;s retirement from employment with Employer to the Board Chair through the Termination Date, and (iv)&nbsp;Employee&#146;s Termination Date occurs on the retirement date identified by Employee (and such Termination Date is no less than
six (6)&nbsp;months after the date on which Employee provided written notice of his retirement to the Board Chair) (a &#147;Retirement&#148;), then, subject to the conditions identified in Section&nbsp;4.c and the provisions of Section&nbsp;11
below: </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>a.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Outstanding Service-Based Equity Awards.</B> With respect to any Equity Award whose vesting
is based solely on the satisfaction by Employee of a service-based vesting condition, then one hundred percent (100%) of all of Employee&#146;s unvested service-based Equity Awards as of the Termination Date will become fully vested as of the
Termination Date. <B></B> </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>b.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Outstanding Performance-Based Equity Awards.</B> With respect to any
Equity Award that has been granted to Employee under the Equity Incentive Plan and is outstanding on such Termination Date and whose vesting or settlement is subject to the satisfaction of performance goals over a performance period, Employee will
be entitled to have vest on each originally scheduled vesting date for such award the number of shares, share units or share equivalents subject to the Equity Award that would otherwise have been determined to have been earned by Employee had
Employee remained continuously employed by Employer through each such originally scheduled vesting date based on the degree to which the applicable performance goals were satisfied during the applicable performance period through each such
originally scheduled vesting date. For the avoidance of doubt, upon Employee&#146;s Retirement, any unvested Equity Awards whose vesting or settlement is subject to the satisfaction of performance goals over a performance period then held by
Employee shall not lapse until the earliest of a Change in Control, </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
three months after the Termination Date (subject to the one year exercisability extension for stock options as identified above), or the expiration date of such Equity Award. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:13%; font-size:10pt; font-family:Times New Roman"><B>c.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B>Conditions to Accelerated or Continued Vesting</B>. <B></B>The payment of the <FONT
STYLE="white-space:nowrap">pro-rated</FONT> bonus and the accelerated or continued vesting of Equity Awards under this Section&nbsp;4 following a Retirement will be conditioned on (i)&nbsp;Employee&#146;s execution (and <FONT
STYLE="white-space:nowrap">non-rescission)</FONT> of a Release, and (ii)&nbsp;Employee&#146;s continued compliance with Employee&#146;s obligations under this Agreement and the Confidentiality Agreement. Notwithstanding anything to the contrary in
this Agreement or any agreement evidencing an Equity Award, if Employee breaches any provision of this Agreement or the Confidentiality Agreement, then (i)&nbsp;Employee shall immediately forfeit all outstanding Equity Awards and any right to
receive shares thereunder, and (ii)&nbsp;with respect to shares that have been issued pursuant to an Equity Award within two (2)&nbsp;years prior to such breach, Employee shall either (A)&nbsp;return such shares to Employer or (B)&nbsp;pay to
Employer in cash an amount equal to the fair market value of the shares as of the date their receipt became taxable to Employee. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>5.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>TERMINATION OF THE PRIOR AGREEMENT; SURVIVAL OF CERTAIN TERMS OF THE CONFIDENTIALITY
AGREEMENT</U></B><B>. </B>This Agreement supersedes and replaces the Prior Agreement in its entirety. Except for Sections 10, 11 18, 19 and 20 of the Confidentiality Agreement, which were superseded by the Prior Agreement, all other terms of the
Confidentiality Agreement remain in full force and effect in accordance with their terms. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>6.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>BENEFITS
IN LIEU OF PLAN BENEFITS</U></B><B>. </B>The benefits described in this Agreement are in lieu of any pay or benefits that would otherwise be provided to Employee under any Employer-sponsored severance pay policy, plans or practice, and Employee
shall not be entitled to any benefits under any Employer-sponsored severance pay policy, plans or practice in the event that pay or benefits are payable thereunder. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>7.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>MODIFICATION OF AGREEMENT</U></B><B>.</B> No waiver or modification of this Agreement or of any
covenant, condition, or limitation herein contained shall be valid unless in writing and duly executed by both parties. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>8.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>CHOICE OF LAW, JURISDICTION, AND VENUE</U></B><B>.</B> The validity, construction and performance of
this Agreement shall be governed by, and construed in accordance with, the laws of the State of Minnesota, without reference to any choice of laws provisions thereof. The parties further agree that any litigation or proceeding arising out of, or
relating to, this Agreement (whether the same sounds in tort or contract or both) shall be commenced and maintained in a federal or state court located in Hennepin County, Minnesota, and for such purpose the parties consent to any such court&#146;s
exercise of personal jurisdiction over them. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>9.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>ASSIGNMENTS</U></B>. This Agreement is personal in
nature and cannot be assigned by Employee. The terms, conditions, covenants, and representations herein shall inure to and be binding upon the heirs and representatives of Employee and shall inure to the benefit of and shall be binding upon the
successors and assigns of Employer. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>10.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>SEVERABILITY</U></B><B>.</B> Agreements and covenants
contained herein are severable, and in the event any of them shall be held to be invalid by any competent court, this Agreement shall be interpreted as if such invalid agreement or covenants were not contained herein. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>11.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>SECTION 409A</U></B><B>. </B>This Agreement is intended to satisfy, or be exempt from, the
requirements of Section&nbsp;409A(a)(2)(3) and (4)&nbsp;of the Code, including current and future guidance and regulations interpreting such provisions, and should be interpreted accordingly. Notwithstanding anything to the contrary in this
Agreement or any other agreement between Employer and Employee, including without limitation any agreement evidencing an Equity Award, if Employee is considered a &#147;specified employee&#148; (as defined in Treasury Regulation <FONT
STYLE="white-space:nowrap">Section&nbsp;1.409A-1(i))</FONT> as of the date of the Termination Date, then no payments of deferred compensation payable due to Employee&#146;s separation from service, including without limitation any amount payable
under this Agreement with respect to any Equity Award, shall be </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
made under this Agreement before the first business day that is six (6)&nbsp;months after the Termination Date (or upon Employee&#146;s death, if earlier) (the &#147;Specified Period&#148;). Any
deferred compensation payments that would otherwise be required to be made to Employee during the Specified Period will be accumulated by Employer and paid to Employee on the first day after the end of the Specified Period. The foregoing restriction
on the payment of amounts to Employee during the Specified Period will not apply to the payment of employment taxes. In addition, notwithstanding anything to the contrary in this Agreement or any agreement evidencing an Equity Award, with respect to
an Equity Award that constitutes a deferral of compensation subject to Section&nbsp;409A of the Code: (i)&nbsp;if any amount is payable under any Equity Award upon a termination of Service, a termination of Service will be deemed to have occurred
only at such time as Employee has experienced a &#147;separation from service&#148; as such term is defined for purposes of Section&nbsp;409A of the Code; and (ii)&nbsp;no Change in Control shall be deemed to have occurred upon an event described in
the definition of the term contained in the Stock Option Plan unless the event would also constitute a change in ownership or effective control of, or a change in the ownership of a substantial portion of the assets of, Employer under
Section&nbsp;409A of the Code. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>12.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>SECTION 280G.</U></B><U> </U>If any payment or benefit to be paid
or provided to Employee under this Agreement, taken together with any payments or benefits otherwise paid or provided to Employee by Employer or any corporation that is a member of an &#147;affiliated group&#148; (as defined in Section&nbsp;1504 of
the Code without regard to Section&nbsp;1504(b) of the Code) of which Employer is a member (the &#147;other arrangements&#148;), would collectively constitute a &#147;parachute payment&#148; (as defined in Section&nbsp;280G(b)(2) of the Code), and
if the net <FONT STYLE="white-space:nowrap">after-tax</FONT> amount of such parachute payment to Employee is less than what the net <FONT STYLE="white-space:nowrap">after-tax</FONT> amount to Employee would be if the aggregate payments and benefits
otherwise constituting the parachute payment were limited to three times Employee&#146;s &#147;base amount&#148; (as defined in Section&nbsp;280G(b)(3) of the Code) less $1.00, then the aggregate payments and benefits otherwise constituting the
parachute payment shall be reduced to an amount that shall equal three times Employee&#146;s base amount, less $1.00. Should such a reduction in payments and benefits be required, Employee shall be entitled, subject to the following sentence, to
designate those payments and benefits under this Agreement or the other arrangements that will be reduced or eliminated so as to achieve the specified reduction in aggregate payments and benefits to Employee and avoid characterization of such
aggregate payments and benefits as a parachute payment. Employer will provide Employee with all information reasonably requested by Employee to permit Employee to make such designation. To the extent that Employee&#146;s ability to make such a
designation would cause any of the payments and benefits to become subject to any additional tax under Code Section&nbsp;409A, or if Employee fails to make such a designation within ten business days of receiving the requested information from
Employer, then Employer shall achieve the necessary reduction in such payments and benefits by first reducing or eliminating the portion of the payments and benefits that are payable in cash and then by reducing or eliminating the <FONT
STYLE="white-space:nowrap">non-cash</FONT> portion of the payments and benefits, in each case in reverse order beginning with payments and benefits which are to be paid or provided the furthest in time from the date of Employer&#146;s determination.
A net <FONT STYLE="white-space:nowrap">after-tax</FONT> amount shall be determined by taking into account all applicable income, excise and employment taxes, whether imposed at the federal, state or local level, including the excise tax imposed
under Section&nbsp;4999 of the Code. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>13.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>TAXES</U></B><B>. </B>Employer may withhold from any amounts
payable under this Agreement such federal, state and local income and employment taxes as Employer shall determine are required to be withheld pursuant to any applicable law or regulation. Employee shall be solely responsible for the payment of all
taxes due and owing with respect to any compensation provided to Employee hereunder. Employer does not guarantee any particular tax consequence or result with respect to any payment made by Employer under this Agreement, including with respect to
any Equity Award. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman"><B>14.</B>&nbsp;&nbsp;&nbsp;&nbsp;<B><U>COMPLETE AGREEMENT</U></B><B>. </B>This Agreement, the provisions of the
Confidentiality Agreement that have not been explicitly superseded and replaced by this Agreement, and any stock option or other equity agreements between Employer and Employee contain the complete agreement concerning the terms and conditions of
the employment arrangement between the parties. Except for the provisions of the Confidentiality Agreement that have not been explicitly superseded and replaced by this Agreement and any stock option or other equity agreements between Employer and
Employee, each of which shall remain in full force and effect in accordance with its terms except to the extent they are agreements evidencing Equity Awards and have been amended by this Agreement, this Agreement shall, as of the
</P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always">
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">


<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">
Effective Date, supersede all other agreements between the parties, including without limitation the Prior Agreement. The parties stipulate that neither of them has made any representation with
respect to the subject matter of this Agreement or any representations including the execution and delivery hereof except such representations as are specifically set forth herein and the parties hereto acknowledge that they have relied on their own
judgment in entering into this Agreement. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="4%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="41%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="4%"></TD>

<TD VALIGN="bottom"></TD>
<TD WIDTH="5%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="42%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD COLSPAN="3" VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" COLSPAN="3"><B>SPS COMMERCE, INC.</B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" COLSPAN="3"><B>EMPLOYEE</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom" COLSPAN="3"><B>EMPLOYER</B></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"><B>By:</B></TD>
<TD VALIGN="bottom" STYLE=" BORDER-BOTTOM:1px solid #000000">&nbsp;</TD>
<TD VALIGN="top" STYLE="BORDER-BOTTOM:1px solid #000000"><FONT SIZE="1">&nbsp;</FONT></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"><B>By:</B></TD>
<TD VALIGN="bottom" STYLE=" BORDER-BOTTOM:1px solid #000000">&nbsp;</TD>
<TD VALIGN="top" STYLE="BORDER-BOTTOM:1px solid #000000"><FONT SIZE="1">&nbsp;</FONT></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><FONT STYLE="font-size:10pt"><B>Name:</B></FONT></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"><FONT STYLE="font-size:10pt"><B>Archie C. Black</B></FONT></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"><B>Its:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"><B>Chief Executive Officer</B></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"><B>Date:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="right">&nbsp;</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"><B>Date:</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">&nbsp;</P></TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>4
<FILENAME>spsc-20200213.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!-- DFIN - https://www.dfinsolutions.com/ -->
<!-- CTU Version: Addin 62.6.8.17 - Release 2019.5 -->
<!-- Creation date: 2/18/2020 4:34:33 PM Eastern Time -->
<!-- Copyright (c) 2020 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema
  xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric"
  xmlns:num="http://www.xbrl.org/dtr/type/numeric"
  xmlns:us-types="http://fasb.org/us-types/2019-01-31"
  xmlns:spsc="http://imetrix.edgar-online.com/20200213"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:xbrli="http://www.xbrl.org/2003/instance"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
  xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31"
  attributeFormDefault="unqualified"
  elementFormDefault="qualified"
  targetNamespace="http://imetrix.edgar-online.com/20200213"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/instance" />
    <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/linkbase" />
    <xsd:import schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd" namespace="http://xbrl.sec.gov/dei/2019-01-31" />
    <xsd:import schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" namespace="http://www.xbrl.org/dtr/type/numeric" />
    <xsd:import schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" namespace="http://www.xbrl.org/dtr/type/non-numeric" />
    <xsd:import schemaLocation="http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd" namespace="http://xbrl.sec.gov/sic/2011-01-31" />
    <xsd:import schemaLocation="https://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd" namespace="http://xbrl.sec.gov/naics/2017-01-31" />
    <xsd:import schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" namespace="http://xbrl.org/2005/xbrldt" />
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="spsc-20200213_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:title="Label Links, all" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="spsc-20200213_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:title="Presentation Links, all" xlink:type="simple" />
      <link:roleType roleURI="http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation" id="Role_DocumentDocumentAndEntityInformation">
        <link:definition>100000 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>spsc-20200213_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!-- DFIN - https://www.dfinsolutions.com/ -->
<!-- CTU Version: Addin 62.6.8.17 - Release 2019.5 -->
<!-- Creation date: 2/18/2020 4:34:33 PM Eastern Time -->
<!-- Copyright (c) 2020 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<link:linkbase
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:type="locator" xlink:label="dei_CoverAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_CoverAbstract_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Cover [Abstract]</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_CoverAbstract_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cover [Abstract]</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:type="locator" xlink:label="dei_EntityRegistrantName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityRegistrantName_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Registrant Name</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityRegistrantName_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Registrant Name</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:type="locator" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_AmendmentFlag_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Flag</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_AmendmentFlag_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amendment Flag</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:type="locator" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Central Index Key</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Central Index Key</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:type="locator" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_DocumentType_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Document Type</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_DocumentType_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Type</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:type="locator" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Document Period End Date</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Period End Date</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:type="locator" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Incorporation State Country Code</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Incorporation State Country Code</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:type="locator" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityFileNumber_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity File Number</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityFileNumber_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity File Number</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:type="locator" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Tax Identification Number</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Tax Identification Number</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:type="locator" xlink:label="dei_EntityAddressAddressLine1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line One</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Address Line One</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:type="locator" xlink:label="dei_EntityAddressAddressLine2" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line Two</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Address Line Two</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:type="locator" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, City or Town</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, City or Town</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:type="locator" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, State or Province</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, State or Province</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:type="locator" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Postal Zip Code</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:type="locator" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_CityAreaCode_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">City Area Code</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_CityAreaCode_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">City Area Code</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:type="locator" xlink:label="dei_LocalPhoneNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_LocalPhoneNumber_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Local Phone Number</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_LocalPhoneNumber_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Local Phone Number</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_WrittenCommunications" xlink:type="locator" xlink:label="dei_WrittenCommunications" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_WrittenCommunications_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Written Communications</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_WrittenCommunications_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Written Communications</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SolicitingMaterial" xlink:type="locator" xlink:label="dei_SolicitingMaterial" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_SolicitingMaterial_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Soliciting Material</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_SolicitingMaterial_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Soliciting Material</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementTenderOffer" xlink:type="locator" xlink:label="dei_PreCommencementTenderOffer" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_PreCommencementTenderOffer_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Pre Commencement Tender Offer</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_PreCommencementTenderOffer_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Pre Commencement Tender Offer</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementIssuerTenderOffer" xlink:type="locator" xlink:label="dei_PreCommencementIssuerTenderOffer" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Pre Commencement Issuer Tender Offer</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Pre Commencement Issuer Tender Offer</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:type="locator" xlink:label="dei_Security12bTitle" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_Security12bTitle_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Security 12b Title</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_Security12bTitle_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Security 12b Title</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:type="locator" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_TradingSymbol_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Trading Symbol</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_TradingSymbol_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trading Symbol</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:type="locator" xlink:label="dei_SecurityExchangeName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_SecurityExchangeName_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Security Exchange Name</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_SecurityExchangeName_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Security Exchange Name</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:type="locator" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" />
    <link:label xml:lang="en-US" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label">Entity Emerging Growth Company</link:label>
    <link:label xml:lang="en-US" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Emerging Growth Company</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>spsc-20200213_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!-- DFIN - https://www.dfinsolutions.com/ -->
<!-- CTU Version: Addin 62.6.8.17 - Release 2019.5 -->
<!-- Creation date: 2/18/2020 4:34:33 PM Eastern Time -->
<!-- Copyright (c) 2020 Donnelley Financial Solutions, Inc. All Rights Reserved. -->
<link:linkbase
    xmlns:link="http://www.xbrl.org/2003/linkbase"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
    xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation" xlink:href="spsc-20200213.xsd#Role_DocumentDocumentAndEntityInformation" xlink:type="simple" />
  <link:presentationLink xlink:type="extended" xlink:role="http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:type="locator" xlink:label="dei_CoverAbstract" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:type="locator" xlink:label="dei_EntityRegistrantName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName" order="22.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:type="locator" xlink:label="dei_AmendmentFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag" order="23.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:type="locator" xlink:label="dei_EntityCentralIndexKey" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey" order="24.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:type="locator" xlink:label="dei_DocumentType" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="26.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:type="locator" xlink:label="dei_DocumentPeriodEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate" order="27.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:type="locator" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode" order="28.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:type="locator" xlink:label="dei_EntityFileNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber" order="29.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:type="locator" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber" order="30.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:type="locator" xlink:label="dei_EntityAddressAddressLine1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1" order="31.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:type="locator" xlink:label="dei_EntityAddressAddressLine2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine2" order="32.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:type="locator" xlink:label="dei_EntityAddressCityOrTown" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown" order="33.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:type="locator" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince" order="34.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:type="locator" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode" order="35.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:type="locator" xlink:label="dei_CityAreaCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode" order="36.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:type="locator" xlink:label="dei_LocalPhoneNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber" order="37.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_WrittenCommunications" xlink:type="locator" xlink:label="dei_WrittenCommunications" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_WrittenCommunications" order="38.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SolicitingMaterial" xlink:type="locator" xlink:label="dei_SolicitingMaterial" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SolicitingMaterial" order="39.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementTenderOffer" xlink:type="locator" xlink:label="dei_PreCommencementTenderOffer" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_PreCommencementTenderOffer" order="40.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementIssuerTenderOffer" xlink:type="locator" xlink:label="dei_PreCommencementIssuerTenderOffer" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_PreCommencementIssuerTenderOffer" order="41.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:type="locator" xlink:label="dei_Security12bTitle" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle" order="42.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:type="locator" xlink:label="dei_TradingSymbol" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol" order="43.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:type="locator" xlink:label="dei_SecurityExchangeName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName" order="44.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:type="locator" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany" order="45.001" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>8
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( #6 4E ?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ -8!24"?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    "  U@%)0/N5"H>X    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+/:L,P#(=?9?B>R$Z@%)/FTM%3!X,5-G8SMMJ:Q7^P-9*^_9*L
M31G; ^QHZ>=/GT"-CE*'A,\I1$QD,3\,KO-9ZKAA9Z(H ;(^HU.Y'!-^;!Y#
M<HK&9SI!5/I#G1 JSE?@D)11I& "%G$ALK8Q6NJ$BD*ZXHU>\/$S=3/,:, .
M'7K*($H!K)TFQLO0-7 '3##"Y/)W <U"G*M_8N<.L&MRR'9)]7U?]O6<&W<0
M\/:T?YG7+:S/I+S&\5>VDBX1-^PV^;7>/AYVK*UXQ0M>%6)]$"O)A:S7[Y/K
M#[^[L O&'NT_-KX)M@W\NHOV"U!+ P04    "  U@%)0F5R<(Q &  "<)P
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
M*-2Z_OH"CUP@S(151JO5@D@69@,1;BDR/8VB07X7[V(GK0DK. GH4;=APH5
MELN4Z[=8P_)+*EC(G;46[Z Y=8]XYDINN8BMJB?3MRCF4AL:XY\\O]C]=CNP
MNWC,?D"WX*++IX[G?Z[^^"ACBC+?2'%M9H)6N]$-7&ML?RAN# H*E65TND[C
M8BD3D5PQ-URL84*:*,[2*F2N\$B"I--I_6CWZ<;,5BL[&PL\UKH@\/]\(HP+
M54KC^4M8<)-:TI2,-.O:R/A/'3ZZ35H4R)F"+4L+"[U0+"D+B@[94EKET&FS
MSMDY@]$^WC"QQHM'<3J(AH/O5P9CE*%:EU&_*;FC+:&4<R;^N6X._8?TGP%0
M2P,$%     @ -8!24+JA.8K7 0  ,@8   T   !X;"]S='EL97,N>&ULU55;
MB]4P$/XK(3_ G';9!:4MZ,*"H+*PY\'7M)VV@=Q,I\=V?[U)T]O1!_'@@[XT
M,]],OOERF33K<9+PT@$@&974?4X[1/N.L;[J0/'^C;&@?:0Q3G'TKFM9;QWP
MN@^3E&3IZ?3 %!>:%ID>U)/"GE1FT)C3$V5%UAB](W<T CZ5*R 7+G/ZR*4H
MG9ASN1)RBG :@,I(XPAZ*9#3)"#]:PPGT0LJ%QXEM'$!9+%"_)9+^D^!U>N]
M*Z3<!*8T D5F.2(X_>2=.7D&?PF1Q3Y/UBML'9^2])[N$^;!%RF-J\%M91*Z
M0D4FH0ERG&B[,**Q+ 01C?)&+7AK-)\UK#,6P]-6(.5+.,*OS17WV)"8\[$.
MQT""BM7TJU[,>%S1"?Q'MLA]H+V_B998<3'X8?"KT;/_;3 (SPX:,<[^V&SU
M/3NW5D[OI6BU@KB6WQ9,;BQ89'RM0SKCQ*OG"S>E\@ X2B[@4%1'Y+OC]@PC
MKK=I;&[5G/Z'FO_V/K>@P7%Y%.VO_K^\RW^BF"W=<VC1JP;=4%(.0J+0B\9.
MU#5$>>&%S.F7\/#*JS[9^]33(R_] W[%[^?6T/!!XG-8\1S,Z6Y_"B]-\K!E
MG3>*G.[V9ZC%H-[.!?>_1/$#4$L#!!0    ( #6 4E 6;2-_0P$  #P"   /
M    >&PO=V]R:V)O;VLN>&ULC5'+;L(P$/P5RQ_0!-0B%1$NI0^DJD6EXNXD
M&[+"C\C>0,O7=^THA=YZLG=V/#L[7IR</Y3.'<27T384LB7JYED6JA:,"C>N
M \N=QGFCB$N_ST+G0=6A!2"CLVF>SS*CT,KE8M3:^.RZ< 05H;,,1F"'< J7
M?BR%8L(1/E59R%P*U9-[0DW@5XK@V;N^0[LOY$2*!GV@;9R=F 8M&CQ#G:K0
MNM.+\WAVEI3>5MYIG5[%1GK$$\(OL@-/6/TADBH_%'LMY"QGP2,&+%$C?1<R
MW35(WB*[6B/E,)Y#B'/_GQA=TV %*U?U!BP-.7K0<;H-+79!"JL,%'*D"&5K
M\6B)W8BU':28&W?AT>MZV(LXL8M9X>?(#;^N)\GXZ+:&!BW4;SP@,,XA5!LO
MXI%TIK=WDWL.N]?Z@;%W^^I4TH\:X\<M?P!02P,$%     @ -8!24/_ )@B]
M    A0(  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<ZV200J#,!
MOR)Y0%=MZ:&HIUZ\MOU T-6(FH3LENKOFWI10:$'+PEAP\Q DCRPD]P83:JQ
M% Q]IRD5BMG> *A0V$LZ&8O:3RKC>LG^Z&JPLFAEC1"'X17<DB&R9,D,\C(5
M+B\C$;RDJY%3 4,''^-:4HA,,&W1R0O\E='B/WI354V!=U.\>]2\43$+!&P'
MQ7,0*>FP?+)K=$U'AZS@>S'G10R/'1Y?,5'W])=9SUZ",*V'O\E$_37 ZM=E
M7U!+ P04    "  U@%)0"X_8 R$!  !7!   $P   %M#;VYT96YT7U1Y<&5S
M72YX;6RU5$U/PS ,_2M3KVC-X, !;;L 5Y@$?R D;ALU7[*]T?U[W&Y#8BIB
M:-LEB?/L]UX2*_/W;0::=,%'6A0-<WY0BDP#05.9,D1!JH1!LX18JZQ-JVM0
M=[/9O3(I,D2><L]1+.=/4.FUY\GC;K^G7A0Z9^^,9I>BVD1[1#K=$Y8(?LBA
MQF6ZD81B\MP)"\G>HA"4"G6"PG%A'TO=ZP80G85_64M5Y0S89-9!2DK*"-I2
M \#!E]1H!/O&Z&*]][O2R"\Z"+'JO/J14%[/!V\]C!L8D$LJL[0%C$D-P&Z\
M/4OPT TF(4PS"HKL1HXGEE:"DNH3+WE$Z%O'@CU)7*BO]["?"=MA/7;AWR"I
M83KOUO]H=)G+H%W\S<A'2NU!7PW_R?(+4$L! A0#%     @ -8!24!\CSP/
M    $P(   L              ( !     %]R96QS+RYR96QS4$L! A0#%
M  @ -8!24"?HAPZ"    L0   !               ( !Z0   &1O8U!R;W!S
M+V%P<"YX;6Q02P$"% ,4    "  U@%)0/N5"H>X    K @  $0
M    @ &9 0  9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    "  U@%)0F5R<
M(Q &  "<)P  $P              @ &V @  >&PO=&AE;64O=&AE;64Q+GAM
M;%!+ 0(4 Q0    ( #6 4E""I@?/J (  /D+   8              "  ?<(
M  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    "  U@%)0&B@=
M!&("  !)!@  %               @ '5"P  >&PO<VAA<F5D4W1R:6YG<RYX
M;6Q02P$"% ,4    "  U@%)0NJ$YBM<!   R!@  #0              @ %I
M#@  >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( #6 4E 6;2-_0P$  #P"   /
M              "  6L0  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  U
M@%)0_\ F"+T   "% @  &@              @ ';$0  >&PO7W)E;',O=V]R
M:V)O;VLN>&UL+G)E;'-02P$"% ,4    "  U@%)0"X_8 R$!  !7!   $P
M            @ '0$@  6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     "@ *
+ ( "   B%      !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>9
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "d890301d8k.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "contextCount": 1,
   "dts": {
    "inline": {
     "local": [
      "d890301d8k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "spsc-20200213_lab.xml"
     ],
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "spsc-20200213_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "spsc-20200213.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd",
      "https://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd"
     ]
    }
   },
   "elementCount": 24,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2019-01-31": 3,
    "total": 3
   },
   "keyCustom": 0,
   "keyStandard": 95,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "spsc",
   "nsuri": "http://imetrix.edgar-online.com/20200213",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d890301d8k.htm",
      "contextRef": "duration_2020-02-13_to_2020-02-13",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "100000 - Document - Document and Entity Information",
     "role": "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "d890301d8k.htm",
      "contextRef": "duration_2020-02-13_to_2020-02-13",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 0,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]",
        "terseLabel": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation State Country Code",
        "terseLabel": "Entity Incorporation State Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre Commencement Issuer Tender Offer",
        "terseLabel": "Pre Commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r3"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre Commencement Tender Offer",
        "terseLabel": "Pre Commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Security 12b Title",
        "terseLabel": "Security 12b Title"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material",
        "terseLabel": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications",
        "terseLabel": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    }
   },
   "unitCount": 0
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r5": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r6": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.19.3.a.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>95</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="d890301d8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://imetrix.edgar-online.com//20200213/taxonomy/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" original="d890301d8k.htm">d890301d8k.htm</File>
    <File>d890301dex101.htm</File>
    <File>d890301dex102.htm</File>
    <File>spsc-20200213.xsd</File>
    <File>spsc-20200213_lab.xml</File>
    <File>spsc-20200213_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.3.a.u2</span><table class="report" border="0" cellspacing="2" id="idp6628304480">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Document and Entity Information<br></strong></div></th>
<th class="th"><div>Feb. 13, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">SPS COMMERCE INC<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001092699<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Feb. 13,  2020<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation State Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34702<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">41-2015127<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">333 South Seventh Street<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite 1000 Minneapolis<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Minneapolis<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MN<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">55402<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(612)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">435-9400<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre Commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre Commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Security 12b Title</a></td>
<td class="text">Common stock, $0.001 par value<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">SPSC<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>12
<FILENAME>0001193125-20-040291-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-20-040291-xbrl.zip
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
MT"C"N0W+6,Y+U_C9M?Z3LU0N&]!0B907C*V'.#NUW@B+BH=SJ&<IZL$M!E\
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
M5C[JSPSJ$P:NLUCDN<".<2*S6O=NL['B[13D5:BRP'\],62&$,S&( R#V0Q
M/<P39/*^J$5 ,,.DW9 0+: M  '(';:DXB$>;R*#4::YY+-B9$4"W*HHPNTA
M)L$8:IH3D0UDK41H%QGKXO?Y90NTMHA)NC8;1 -M>);Y6-HNTX.:AE$^-/(8
M]3FKD.&32VE%HYE @*LI@1Q0-</CR,8_7^OX&">\:3C^%/=FUR*" 0" ]P[[
MA.VGL"%6R@Q'F.2&-"8JE4QK@=GI@CVV%W!/>@\A,XJC*+Y-]Q^-A.\?@(0[
M6XA]+*"J?\(#!U\/^]W++P<OOQZ2O7!TN+5$)/"FB%(-=V78%9!&I?0KTV*S
M$:)B/ T191DE15$A-^B(F(P/Y?"O:'WBQ]E@'7 P*),]X=N';ZWZ:[>0HVP
MX34=:I;C#P1ZRDI6&&2;2(&&AWGKDC[) MTQF&#8B0RF#!/OZ02L Z*_L9K!
MT<^1 7@; 18@%?(QTJ/F:"D$T[G(X) =OX,O&-$UH9H)"V<QC>%5 G 2A(2U
M_C+,."BX%"B6(@+MG"P4FFOK6=#VU1IH^PULX][9)W'^49Q?]'OG9U=D$9_W
M@>^*[O]\[?5_%U\OSL]$IVHE5]"]Y\2N.X2TV5B!A6"KB>,@3Z5H :4/Y0CL
M&+0@@>#!,@3(JI'#/)!V((Q951"?XAC53#J[ZKM& A+KK2C)%RSDZJ:$%XR)
MZ>DB>+[RWV!"SC<'08J&.IA,&E_&,,H [=UKT,DS4G#<MIE::!E5$Q>UW6W1
MI7'Q"Y0.0-(740!+@%$#[148 3MEO(6ET-\>D>K7\26CN&N$!-5K*,&$2^$S
M_)_FH?XP@V>9C8,JEV=$R\9(1%P?Y1'H$#>@6\#D -[R&?;U^2+C)_[C ;+9
MT ?0@CD**^P@R I&/\R%@/;FGPM8VG4>\'$1IW/;6VM?=(( =;WZ&4@8+9_P
M57\I?'HE$*RS6V1>!!WM0"%Q":P(SEF+0;1N!)#S&*"PP217'O521H"[=6@/
M?P'#!XI68.?>Q&$PB+34;0WT8'8.HXA7,+P.M8&4%*,K'G(<DB%-?!+'*&]S
M"ZRSZO& 9+]1*3Z#J(@;9[:8S,V!L<%0!V^K" !E7<,7AC[EW4QI-<+?E/\N
M+1X.>EP<$06.2+,X_"[B&>OO*N/S2>0$+0QY!^2F4H2A7C%\E>$:TMA@.#+P
M>"K%7 : 8*2<K,*!9B.?1N1P00%S"[J.+WGRDO54LR'1HC<1!V'7N;<X"PO]
MEK\#K9RS'CE2S@'D#VWI/XR"6S% SQNZNL(YCH@_V6,HJ %;[ G!/T]ZWX"Y
M:W=WLR'H_X,90'H>R:+\DI.*^,*O9D#!FP.0K-\W!Q+@*_>#Z#:8I^@7/_A\
M*:YZ_PN"</>%&9(\[OO_>$__O1"_]4[ZGW]]L;.]_8MU\!YWST#/^BNZXV'P
M'I\5(A1QD9H#!UQ-\\$?6J#@SRF<<SH*0G/:<+IDB*)CYSH.(D"<&ZEM,OL#
MH\!B+E<E$B*' 7HC&$69Y&$MI,W@<E&^H+8EQ31'=PR-,PY _A%_)?K*IRK3
M^MYMG$=##_.9%;)""P++[!XM414:O"UM .DY ["#$1"AP[+P2 LHP!+')+A3
MDWQ2?6P#6-F0)6^ CN8;R9;6JCT$Y% #Q10 11RL "T<TT"5W#+P["INL"6T
MU22"FU@-:0_HB8T!QFV1SV+'&<UKSDM1IQGY_LRBE@3SN!\EL2Y/$6H3W5NT
M8(V%=172GJ=@@45X_)Z" D "_$")$ 6S5&KC@<XR2"*%9XO,O"IC$ ?1F)G
MQW&J&2>A_4IUH40(EOE:7J?(1B9.3<)F9,^0^3R=HL<&R31EA7&!1$&Z*![U
M4MOZW0_2RW>W%NKD;$?VSCJHBG\0W8\?N\=]5,Z]KU'M7AE6>[/&VG=V'[#X
M8.'B07N]B2- '50$_//^K8R]EZ3#\X\?B]@KSD$1@T-=J-4T&ZRX+[,X5IF]
M=C$+K8L:FB(YJXW)$+6V.H7)6(IK6![&S"C1@>]1<KA-ZENS81Q)5@,CO>)*
MDOC0#O0=?MCSJ!!U[S_6B[3S[K[8TE(;H 1XG"JU,0O@2D%$6[Z5$9@[K9U7
M6JW5G"0>5<U&M+I 8$:(7ZQU*["DA@K@'LT=IZX]EQ;I0V!-Q3GZ&%9/7\&A
M-6</ (<P@J89_,[V+XAC$U!_$ 66#>IQY+60DJQ#_#&/,BOU[>3 "$DYG:*D
MC/ < /4B0O]Q'*'>G;89CX92FT$T@#LC)Q3D74A.^UNV/-D)@Z.SB&UU/)/D
M.!Z25?KF[0>QM[T#MD]KY^T&A1J!C_.)1&JBV&>";R#7;S8 .%8<5X^/#)64
MR+5UM,":"J93.%7 S6%Q-C;6K03FQT2B90(B*$D6'>OT9'UBEQ@&$2@U()Q(
M0A4PK?C3.KL NVSX1VZL#B1JM)O"A$Q!RSC@/&A$UK;@J$&> 9WKV(GQ6"-M
M@H&G" ?5J"!Z28W!XTOE+$C(*"$G@M[IAO9PE$X=X&$,)3L0J:"DO=22BU'G
M/!<E342.7ZL1E*'1IC,/PC!.6%LJ6"+F4$OHFX9C0/!(?K"HVQ;C^!97W]:Q
M#X(FV*M1Q/YF^M8IJJRX#MQ&G;5O)P73-(_PH/6L0Q(J)J6A]F@-9Z[:;D"@
MH,Z0!F-\N9Y6#& V7@"GHT?!G"Q(SX-KUS9229K5KM#Z,AS,UUB-J%\,RSL=
MT:"3P;<]P/KP(Q3RE\+RTG*749X@_+4S5Z.I0SEW.'7(IU)F:HSY?\HD%JUM
MC7Z8;,+++P0@C+6 ;(9_*:N)+'Q+(M(8TD$$\,/#O9%_%?FU%C/_:90KJH3K
M1-<*RFV3-)EECEI9)FM"U2X;LQ?K7!-78[!O-W$IXD2.9)+ V"<R&$9@S.KC
M(Z)6I*<%(LHG,T#,":Q#L%^.+,E50SU-I/,ANA(H2[[0QP2?2%TKA )'%P#_
M@^\83T-H9G(&("8/***3+Q/*:'>=Q/D,C#Y ZS%2<,XHC)',!)VL!;[;;'"D
MS6BO546*N8))'XI<:E$BLSR9FA?10B^M4&+47!R?'UUV[.P;;2N!2;%U3@S6
M<^5$P1F&<9JQ_D.LQBZ]&'IBUH[#%;4GQ"BTA.OCPAD[ -)@(K5_ 28OSH#B
M%Y5_"KAY.%DE#+"&X_QZ7#:=]XLZT@)B!,T$6$Y"X%HX@U5_K/_7[M3XC MX
ML^+TX;R9X.?,AKWP&^I:QPLG(T-'1#'8-HF;\<GP4/M//>$4!;</"Z/=BPXO
M@KE)]*!XGJ\7D>-%3D'A F0T_EV 0\'^VMT*MJPHM\9<?0Q%<C87!:\H"VV=
M!!(GP3>\=)>@(+G-&; F'*F*?F67X&??>%NZ1^["ENB4 <6*UU((&8X-A.?L
MWR7B;<MA1B&6CMDX>H4U2^!,U'5.C%-' AVM2DE"4&!^J"4$!ZWT('U4UK<
MY-=;VM9I-G:V]K;?=S;_]I\_U'^^TQILM/8HY? EI2'ILV#KA316H$&*6^I@
MB?(<3MYCOI6SXMA6)RKH8Z7%O=\ ,:TVM@S=]3'M5J-7LS$$PDS4P,L 6LP8
MM$;+$5Y TEO41A5'(LO:<-M$Y[3SHL*:4"R"JJOM 1U<^W>N$E:9C5KDZX6^
M<[G":4<24WJBMJ#L1-;EHQ@,7>3!Z>-S&1[D=QS\8+_CR6J/'47'C@[_<CY'
M[5;X(3Y'P_\I,_P_Q.?8NM-:C<3:&33I6SOOGL7]N&P!_P$.R%F4IZ(UUSNK
MV3\&?=BC6%Z7C@MJ9YVR>3&#>)JG>ONK8DQM,8&5*>!KK/0'(!DXTMHV04),
M7<3(/QPW^^UTUIV+'PY!XCI(D".NKN+ ([X'> 2-D@5('],#M"9AE[3[YK7V
M +3^M-!TEG.%O<]@T!RS[>'+BA B$O&PM=FH1C'JK0_:OK=3BOUM%CP)'AK6
M! O7<6)4#/@:!QT[P0K.+TYEP941JI.QGZH[T%1;;XR[R)X,'FJSX3P<U<2=
MA4DUYJBJ)#X #E]T-J14?S3?'"'FMMZ^ULL@E'+)U4]4O_"WS^$>/@<OLAY%
MS^&!<)S6N"#$S_1 +!(\/]X'@5[_"CK\O_)!>%J_F4BG&90-@&:CQ'P'6T1S
MUEVI,!8F<U;I.5B#O&_(VIA).K46;&&"&KX.0[< \=R"'U:Q^ B'"9CS#_"8
M#![H,5FOXN9G.$R:C1_K,1DXCXGX"SA,!M9A8JJ#[^\QN9_IO;?A54O];/?
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
M1(,CLCP)OPJ(.LE_5SFO#T2-&&#(:Q WE2$-]8CAJQS'D"6&PU&!)[$4<QD
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
MQW?RZ=J2C4>*_,D:B^NY4+<#3%1F+UG'^9DL%+YFVIVJ- DH_H5D,"TZR5/
M%,\M<=?!LLK[M.9DC]IT9X_*X?V2 YFT)^W.52'V3RE.U1NLC$.NCRQ5 :\%
M:3?KD-R<'M?W[C3"94U7/9?7Q.J6G]C];;'[:3"2S6BE/OO@<C6'!?B-&%!@
M2IO)<UN>(=%8DZ1Q@VDD W2<0<IXHP8S(;SS.%:T_!,=FW18L=U:R+Q>$=N&
M0+MRSHPHX<?<WAY<M7\+78-N*Z8HQ-5<2HPMJ@?7M*_#U$0B>L5F7?Y?M2]V
MP' M+A/*PI40>+!OVF[I)CWTWY8&O<E,T,#B/N/<J&&O02^[)P^N,43LNR/!
MG::KPI<J]-L"UA5M@$<R&K:-*2Q3>8'5D0)[VI./KWN\X6U$+<W_\[+HU=C7
M7.A.:^7H 23^<(C+@^J-EA=&12[ZQ2MEC-G(=HO;)##BDL,RV0LS,2<LR/PM
M;RYUG2H==*V5(HEGO^Q!,.6LU;AR#'$IL=Y6$'@P,?5C4U9E+YB?IENLG5$?
M8^-,V9$]*FG3:G'0SCU<='3-P"'.TV6=$$19XO$-4"RTHTZN8@B:)FJ&O,IH
M)VX^A'HR'#Z7WJ!]3?<690@50Y0.Q%6K54$A )%D@+TZ5L1/X DL(_7C1"E[
M-_!]]U[M?-BVSN]G3"?ZC-FF&@DU\F]"-W?4%_,7EF&@M9.PP5>L*YY<,DA!
M:L+K)"NAC/[Y9#42BWKR-;FY>#P!*= "9&N%BZDTF2_ 7RQH]ES4B*L[-/N
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
M,U^+&\$?* L:/OHITW@)V)<9,['_)!9M (RZCJ8@??BA ,JKX8Z"$RM5\]#
M#_I0W' 9^]'?=-'\::A9X24,A-F4:1RV(M&&P:#J:!322J!*83[A=&>C:@QJ
M>T%Y7Z&V*8C?!/OMG+;>56AJG.]>LWI/X8X.$K[)=WZMC$,K?I];[R>LV2P&
MCOI-O]'-C+.&S]=W\UK"LM0 -U^WP=.LA81H(@Z).M831C?]%E%MTC0&KG\*
M&L>$C?A\OF39\TM9E]F2Y); K;;"*X)L$*X01.(XJP#;):Q9=MAX$>BFW6-
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
M7L<3   0@P  #@              @ $     9#@Y,#,P,60X:RYH=&U02P$"
M% ,4    "  U@%)0%N&![)LC  !=GP  $0              @ 'S$P  9#@Y
M,#,P,61E>#$P,2YH=&U02P$"% ,4    "  U@%)0"5XX@+LD  !/N   $0
M            @ &]-P  9#@Y,#,P,61E>#$P,BYH=&U02P$"% ,4    "  U
M@%)0TXWPL&P#   _#   $0              @ &G7   <W!S8RTR,#(P,#(Q
M,RYX<V102P$"% ,4    "  U@%)0*XZ,(8D&  !*1P  %0
M@ %"8   <W!S8RTR,#(P,#(Q,U]L86(N>&UL4$L! A0#%     @ -8!24(2
M7L'7!   X"P  !4              ( !_F8  '-P<V,M,C R,# R,3-?<')E
:+GAM;%!+!08     !@ & '\!   (;      !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>d890301d8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="spsc-20200213.xsd" xlink:type="simple"/>
    <context id="duration_2020-02-13_to_2020-02-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
        </entity>
        <period>
            <startDate>2020-02-13</startDate>
            <endDate>2020-02-13</endDate>
        </period>
    </context>
    <dei:EntityRegistrantName
      contextRef="duration_2020-02-13_to_2020-02-13"
      id="Hidden_dei_EntityRegistrantName">SPS COMMERCE INC</dei:EntityRegistrantName>
    <dei:AmendmentFlag contextRef="duration_2020-02-13_to_2020-02-13">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="duration_2020-02-13_to_2020-02-13"
      id="Hidden_dei_EntityCentralIndexKey">0001092699</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="duration_2020-02-13_to_2020-02-13">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="duration_2020-02-13_to_2020-02-13">2020-02-13</dei:DocumentPeriodEndDate>
    <dei:EntityIncorporationStateCountryCode contextRef="duration_2020-02-13_to_2020-02-13">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="duration_2020-02-13_to_2020-02-13">001-34702</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="duration_2020-02-13_to_2020-02-13">41-2015127</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="duration_2020-02-13_to_2020-02-13">333 South Seventh Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="duration_2020-02-13_to_2020-02-13">Suite 1000 Minneapolis</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="duration_2020-02-13_to_2020-02-13">Minneapolis</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="duration_2020-02-13_to_2020-02-13">MN</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="duration_2020-02-13_to_2020-02-13">55402</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="duration_2020-02-13_to_2020-02-13">(612)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="duration_2020-02-13_to_2020-02-13">435-9400</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="duration_2020-02-13_to_2020-02-13">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="duration_2020-02-13_to_2020-02-13">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="duration_2020-02-13_to_2020-02-13">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="duration_2020-02-13_to_2020-02-13">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="duration_2020-02-13_to_2020-02-13">Common stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="duration_2020-02-13_to_2020-02-13">SPSC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="duration_2020-02-13_to_2020-02-13">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="duration_2020-02-13_to_2020-02-13">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
