<SEC-DOCUMENT>0001092699-23-000011.txt : 20230302
<SEC-HEADER>0001092699-23-000011.hdr.sgml : 20230302
<ACCEPTANCE-DATETIME>20230302161034
ACCESSION NUMBER:		0001092699-23-000011
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		15
CONFORMED PERIOD OF REPORT:	20230301
ITEM INFORMATION:		Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers
ITEM INFORMATION:		Regulation FD Disclosure
ITEM INFORMATION:		Other Events
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20230302
DATE AS OF CHANGE:		20230302

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:		23699015

	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>spsc-20230301.htm
<DESCRIPTION>8-K
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2023 Workiva--><!--r:2e39f11a-6f3a-4b1a-952b-0d343b7bc7d9,g:e4bb52d8-20ac-4dd4-8528-d142686cef54,d:0ebc84f4d7614ad79212326929a4cbbe--><html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrli="http://www.xbrl.org/2003/instance" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>spsc-20230301</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:AmendmentFlag" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV80L2ZyYWc6NDQzNTBkNmFiMzNmNGExNTkxOGVlYzBmYTg2ZWFjMjkvdGFibGU6ZWRjODY2YTE1MGE2NDQ0YmJhNmYzNDQ3OWFjNTFjM2UvdGFibGVyYW5nZTplZGM4NjZhMTUwYTY0NDRiYmE2ZjM0NDc5YWM1MWMzZV8yLTEtMS0xLTE1_a3864e87-3746-4c2e-ba34-4263a6edeb8c">FALSE</ix:nonNumeric><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV80L2ZyYWc6NDQzNTBkNmFiMzNmNGExNTkxOGVlYzBmYTg2ZWFjMjkvdGFibGU6ZWRjODY2YTE1MGE2NDQ0YmJhNmYzNDQ3OWFjNTFjM2UvdGFibGVyYW5nZTplZGM4NjZhMTUwYTY0NDRiYmE2ZjM0NDc5YWM1MWMzZV8zLTEtMS0xLTE1_abc940b9-566e-408e-bade-32bdcf5299ba">0001092699</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="spsc-20230301.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001092699</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-01</xbrli:startDate><xbrli:endDate>2023-03-01</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i0ebc84f4d7614ad79212326929a4cbbe_1"></div><div style="min-height:67.5pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;border-top:2pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td></tr></table></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:100%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:100%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="margin-bottom:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:100%">Washington, D.C. 20549</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:100%">FORM <ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ4_68f15810-4a22-4ce6-9f93-9d5626ce0c2a">8-K</ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">CURRENT REPORT</span></div><div style="margin-bottom:12pt;margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Pursuant to Section 13 or 15(d) of<br/>the Securities Exchange Act of 1934</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xNzQ_f24fc7ed-91df-4cd6-bba1-d9f121897aac">March 1, 2023</ix:nonNumeric></span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date of report (Date of earliest event reported)</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ5_dd6b47d5-2823-4143-a4d3-08801b003c5e">SPS COMMERCE, INC.</ix:nonNumeric>&#160;</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Exact Name of Registrant as Specified in its Charter)</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:31.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.598%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.446%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.598%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:31.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6Mjc0Yzc0NTliZmM2NDQzYWFmOWQwZjcyNzIwMGI2ZGQvdGFibGVyYW5nZToyNzRjNzQ1OWJmYzY0NDNhYWY5ZDBmNzI3MjAwYjZkZF8wLTAtMS0xLTE1_2ad22594-4915-45c5-8142-72b2f8e09373">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6Mjc0Yzc0NTliZmM2NDQzYWFmOWQwZjcyNzIwMGI2ZGQvdGFibGVyYW5nZToyNzRjNzQ1OWJmYzY0NDNhYWY5ZDBmNzI3MjAwYjZkZF8wLTItMS0xLTE1_b71e6800-54ee-4543-a1d7-6eb82137c4d5">001-34702</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6Mjc0Yzc0NTliZmM2NDQzYWFmOWQwZjcyNzIwMGI2ZGQvdGFibGVyYW5nZToyNzRjNzQ1OWJmYzY0NDNhYWY5ZDBmNzI3MjAwYjZkZF8wLTQtMS0xLTE1_c5dfbfb7-43ec-4f79-9152-e0c680ce5d67">41-2015127</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(State of Incorporation)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Commission File Number)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(I.R.S. Employer Identification No.)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:77.460%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.240%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfNQ_72a2d56a-8170-41e2-8480-479bfbbcb9fc">333 South Seventh Street</ix:nonNumeric>, <ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityAddressAddressLine2" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfOQ_4dba0ca0-90e7-43bd-956f-d14d4cc71825">Suite 1000</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfMTI_27e72ad9-1523-4e12-bf45-12c55fd00ab7">Minneapolis</ix:nonNumeric>, <ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfMTY_60ebf208-7275-488d-929f-3b5c99088d79">Minnesota</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTItMS0xLTE1_ace2dbbc-5dc1-45f2-be0d-fa2633982fc2">55402</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Address of Principal Executive Offices)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Zip Code)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">(<ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ1_6c3252ca-4f58-44d7-8720-9aa3fab049b0">612</ix:nonNumeric>) <ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ2_f28ca5c8-04cd-44dd-8a84-770ed30d3b6a">435-9400</ix:nonNumeric>&#160;</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Registrant's Telephone Number, Including Area Code)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Not Applicable </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Former Name or Former Address, if Changed Since Last Report)</span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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 (see General Instruction A.2. below):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:1.940%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:95.860%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:WrittenCommunications" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18wLTAtMS0xLTE1_07c27e67-a63c-4ed8-87d8-c860a39071ae">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:SolicitingMaterial" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18xLTAtMS0xLTE1_80236d6b-74ad-4a5d-95a0-d11c67f198e4">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:PreCommencementTenderOffer" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18yLTAtMS0xLTE1_c302ca0c-e6a5-44c3-a397-3bc8a8f1eecc">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:PreCommencementIssuerTenderOffer" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18zLTAtMS0xLTE1_efe84d7b-1aea-4845-af6a-a130a1d1f4ef">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Securities registered pursuant to Section 12(b) of the Act:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.877%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.903%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.920%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Title of each class</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Trading Symbol(s)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NWM0NzhjYTA4Y2E4NGM3OGIzMTZhMjA1MGRmZGE5NTgvdGFibGVyYW5nZTo1YzQ3OGNhMDhjYTg0Yzc4YjMxNmEyMDUwZGZkYTk1OF8xLTAtMS0xLTE1_90fae72e-83c9-4372-b9ad-85433cff1b6a">Common stock, par value $0.001 per share</ix:nonNumeric></span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NWM0NzhjYTA4Y2E4NGM3OGIzMTZhMjA1MGRmZGE5NTgvdGFibGVyYW5nZTo1YzQ3OGNhMDhjYTg0Yzc4YjMxNmEyMDUwZGZkYTk1OF8xLTEtMS0xLTE1_fa2b3a4c-2de6-4283-93c4-ae1f6dcf43d3">SPSC</ix:nonNumeric></span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-right:-1.31pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The Nasdaq Stock Market LLC<br/>(<ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NWM0NzhjYTA4Y2E4NGM3OGIzMTZhMjA1MGRmZGE5NTgvdGFibGVyYW5nZTo1YzQ3OGNhMDhjYTg0Yzc4YjMxNmEyMDUwZGZkYTk1OF8xLTItMS0xLTE1L3RleHRyZWdpb246YmQ1YWExYzAwNWJlNGNkZWJjY2YzNzI3NThlM2ZjNjBfMzM_ae29fa9d-8406-46f2-a0d9-511dc1b9538a">Nasdaq Global Market</ix:nonNumeric>)</span></div></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Emerging growth company </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ3_92219681-aff5-48d6-9f12-74a7216bc253">&#9744;</ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></div><div style="height:67.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i0ebc84f4d7614ad79212326929a4cbbe_7"></div><hr style="page-break-after:always"/><div style="min-height:67.5pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Item 5.02. Departure of Directors or Certain O&#64259;cers; Election of Directors; Appointment of Certain O&#64259;cers; Compensatory Arrangements of Certain O&#64259;cers.</span></div><div style="margin-bottom:10pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">On March 2, 2023, SPS Commerce, Inc. (the &#8220;Company&#8221;) announced that its Chief Executive Officer, Archie Black, will retire from his position as Chief Executive Officer and transition to the newly created position of Executive Chair of the Board, effective upon his successor&#8217;s appointment as the Company&#8217;s Chief Executive Officer. The Board of Directors of the Company has approved the appointment of Philip Soran, the current Chair of the Board, to the position of lead independent director of the Board, effective as of the date Archie Black assumes the role of Executive Chair. The Board has commenced a search for a new Chief Executive Officer.</span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition, the Company and Mr. Black entered into an amendment (the &#8220;Black Amendment&#8221;), dated as of March 1, 2023, to his Amended and Restated Executive Severance and Change in Control Agreement dated effective as of February 13, 2020 (the &#8220;Black Agreement&#8221;), which provides that, in order to qualify as a &#8220;Retirement&#8221; under the Black Agreement, the services that Mr. Black must perform during the six-month notice period will include substantive services as agreed upon between the Company and Mr. Black (which the Company and Mr. Black have agreed to be services associated with Mr. Black continuing to be employed in the newly created position of Executive Chair of the Board), and that the Company may, in its sole discretion, designate a termination date earlier than the retirement date identified by Mr. Black. As a result, if Mr. Black remains in the role of Executive Chair of the Board until his retirement date as Executive Chair of the Board, then he will receive the benefits under the retirement provisions of the Black Agreement, including that (a) all of Mr. Black&#8217;s unvested equity awards with solely a service-based vesting condition will become fully vested, (b) for any equity awards whose vesting or settlement is subject to the satisfaction of performance goals over a performance period, he 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 him had he 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) Mr. Black will receive a pro-rated portion of his target annual cash incentive bonus for the fiscal year in which the termination occurs (payable in a lump sum no later than 60 calendar days after the date of termination).</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The foregoing descriptions of the Black Amendment and the Black Agreement are summaries, do not purport to be complete and are qualified in their entirety by reference to the Black Amendment and the Black Agreement, which are attached as Exhibit 10.1 and Exhibit 10.2, respectively, to this report and are incorporated herein by reference.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition, on March 1, 2023, the Company entered into an amendment to the Amended and Restated Executive Severance and Change in Control Agreement with each of Kimberly Nelson, the Company&#8217;s Chief Financial Officer, and James Frome, the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> President and Chief Operating Officer (the &#8220;Amendments&#8221;).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Amendments provide that</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">, in order to qualify as a &#8220;Retirement&#8221; under the applicable severance and change in control agreements for Ms. Nelson and Mr. Frome, the services that the officer must perform during the six-month notice period may include such other services as agreed between the Company and the officer, and that the Company may, in its sole discretion, designate a termination date earlier than the retirement date identified by the officer. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">This description of the Amendments is a summary, does not purport to be complete and is qualified in its entirety by reference to the form of Amendment, which is attached as Exhibit 10.3 to this report and is incorporated herein by reference.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span></div><div style="text-indent:36pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Item 7.01. Regulation FD Disclosure.</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">On March 2, 2023, the Company issued a press release announcing the matters described in Item 5.02 above. A copy of the press release is attached hereto as Exhibit 99.1.</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In accordance with </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">General </span><span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Instruction B.2 of Form 8-K, the information in this Item 7.01, including Exhibit 99.1, shall not be deemed to be &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934 or otherwise subject to the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">liability</span><span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> of that section, and shall not be incorporated by reference into any registration statement or other document filed under the Securities Act of 1933 or the Securities Exchange Act of 1934, except as shall be expressly set forth by specific reference in that filing.</span></div><div><span><br/></span></div><div style="height:67.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:67.5pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Item 8.01. Other Events.</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The Company&#8217;s Board of Directors has initiated an executive search for the next Chief Executive Officer.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Once appointed, Archie Black will transition from his position as Chief Executive Officer to the newly created role of Executive Chair of the Board.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mr. Black will remain in the role of Chief Executive Officer through the completion of the search for his successor and through the transition process to ensure a seamless succession.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%">Forward-Looking Statements</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">This Current Report on Form 8-K contains forward-looking statements, including information about future expectations, plans and prospects, including views regarding anticipated continuity, timing and effectiveness of the Chief Executive Officer transition, within the safe harbor provisions under The Private Securities Litigation Reform Act of 1995. These statements involve known and unknown risks, uncertainties and other factors which may cause the results of the Company to be materially different than those expressed or implied in such statements. Certain of these risk factors and others are included in documents the Company files with the Securities and Exchange Commission, including but not limited to, the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2022, as well as subsequent reports filed with the Securities and Exchange Commission. </span><span style="color:#48484e;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition, these forward-looking statements are subject to factors and uncertainties related to the Company&#8217;s Chief Executive Officer transition, including disruptions and uncertainties related thereto, the ability of a successor to have the desired level of experience and expertise, the potential impact on the Company&#8217;s business and future strategic direction resulting from the Chief Executive Officer transition, and the Company&#8217;s ability to retain other key members of senior management. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Other unknown or unpredictable factors also could have material adverse effects on the Company&#8217;s future results. The forward-looking statements included in this press release are made only as of the date hereof. The Company cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, the Company expressly disclaims any intent or obligation to update or revise any forward-looking statements, whether as a result of new information, future events, or otherwise.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Item 9.01. Financial Statements and Exhibits.</span></div><div id="i0ebc84f4d7614ad79212326929a4cbbe_10"></div><div style="-sec-extract:summary;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(d) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Exhibits</span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:12.340%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.100%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:82.260%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Exhibit No.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Exhibit</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a101-ablackamendmenttoseve.htm">Amendment to Amended and Restated Executive Severance and Change in Control Agreement, dated as of March 1, 2023, by and between Archie C.  Black and SPS Commerce, Inc.</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1092699/000119312520040291/d890301dex101.htm">Amended and Restated Executive Severance and Change in Control Agreement between SPS Commerce, Inc. and Archie C. Black (incorporated by reference from Exhibit 10.1 to the Form 8-K filed on February 18, 2020)</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a103-formexecutiveamendmen.htm">Form of Amendment to Amended and Restated Executive Severance and Change in Control Agreement</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a991-pressrelease.htm">Press Release, issued on March 2, 2023</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr></table></div><div style="height:67.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i0ebc84f4d7614ad79212326929a4cbbe_13"></div><hr style="page-break-after:always"/><div style="min-height:67.5pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:10pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">SIGNATURES</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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.</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.137%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.746%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.817%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">SPS COMMERCE, INC.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date: March 2, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%;text-decoration:underline">/s/ KIMBERLY NELSON</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Kimberly Nelson</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Executive Vice President and Chief Financial Officer</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;</span></div><div style="height:67.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>a101-ablackamendmenttoseve.htm
<DESCRIPTION>EX-10.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i703df5a4f30d4a3b8dbac72e4bcdcd5d_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit 10.1</font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">SPS COMMERCE, INC.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">AMENDMENT TO </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">AMENDED AND RESTATED EXECUTIVE SEVERANCE AND CHANGE IN CONTROL AGREEMENT</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">This Amendment to Amended and Restated Executive Severance and Change in Control Agreement (the &#8220;Amendment&#8221;), dated effective as of March 1, 2023 (the &#8220;Effective Date&#8221;), is entered into by and between Archie C. Black (&#8220;Employee&#8221;), and SPS Commerce, Inc., a Delaware corporation, with offices at SPS Tower, 333 South Seventh Street, Suite 1000, Minneapolis, Minnesota 55402 (&#8220;Employer&#8221;). </font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%">WHEREAS</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">, Employer and Employee are parties to that certain Amended and Restated Executive Severance and Change in Control Agreement dated effective as of February 13, 2020 (the &#8220;Agreement&#8221;)&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">WHEREAS</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">, Employer and Employee desire to amend certain language of the Agreement as set forth in this Amendment.</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the reasons set forth above, and in consideration of the mutual promises and agreements hereinafter set forth, Employer and Employee agree as follows&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.&#160;&#160;&#160;&#160;Effective as of the Effective Date, the first paragraph of Sections 4 of the Agreement is deleted in its entirety and replaced with the following language&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">4. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%;text-decoration:underline">RETIREMENT</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%">.&#160; </font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">If (i)&#160;the sum of Employee&#8217;s age plus years of service as an employee of Employer is 78 or greater, (ii)&#160;Employee provides no less than six (6)&#160;months&#8217; written notice of Employee&#8217;s retirement from employment with Employer to the Chair of Employer&#8217;s Board of Directors (the &#8220;Board Chair&#8221;), (iii) Employee continues to perform full-time services for Employer (A) materially consistent with the full-time responsibilities and services performed by Employee prior to the date on which Employee provides written notice of Employee&#8217;s retirement from employment with Employer to the Board Chair or (B) substantive services as the Executive Chair of the Company through the Termination Date, and (iv)&#160;Employee&#8217;s Termination Date occurs on or after the retirement date identified by Employee (and such Termination Date is no earlier than six (6)&#160;months after the date on which Employee provided written notice of Employee&#8217;s retirement to the Board Chair) (a &#8220;Retirement&#8221;)&#59; provided, however, Employer may in its sole discretion designate a Termination Date that is after the date on which Employee provides written notice of Employee&#8217;s retirement from employment with Employer to the Board Chair and prior to the retirement date identified by Employee, then, subject to the conditions identified in Section&#160;4.c and the provisions of Section&#160;10 below&#58; </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.&#160;&#160;&#160;&#160;Employee understands and voluntarily consents to each of the changes to the Agreement as included in this Amendment.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.&#160;&#160;&#160;&#160;All capitalized terms not otherwise defined herein shall have the meanings ascribed to such terms in the Agreement. </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.&#160;&#160;&#160;&#160;Other than as expressly amended in this Amendment, the Agreement shall continue in full force and effect, as so amended by this Amendment.  </font></div><div style="margin-bottom:8pt"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="padding-left:36pt;text-align:justify;text-indent:-36pt"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-36pt"><font><br></font></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.647%"><tr><td style="width:1.0%"></td><td style="width:45.820%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.058%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.822%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">EMPLOYEE</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">SPS COMMERCE, INC.</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">EMPLOYER</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:0.08pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">By&#58;  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:125%;text-decoration:underline">&#47;s&#47; ARCHIE BLACK</font></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:0.08pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">By&#58;  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:125%;text-decoration:underline">&#47;s&#47; JAMES FROME</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">   </font></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">James Frome</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:125%">President</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">Date&#58; March 1, 2023</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">Date&#58; March 1, 2023</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.3
<SEQUENCE>3
<FILENAME>a103-formexecutiveamendmen.htm
<DESCRIPTION>EX-10.3
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i08838fa86f6340b48892da1f3ae46251_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit 10.3</font></div><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">SPS COMMERCE, INC.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">AMENDMENT TO </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">AMENDED AND RESTATED EXECUTIVE SEVERANCE AND CHANGE IN CONTROL AGREEMENT</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">This Amendment to Amended and Restated Executive Severance and Change in Control Agreement (the &#8220;Amendment&#8221;), dated effective as of March 1, 2023 (the &#8220;Effective Date&#8221;), is entered into by and between &#91;_______________&#93; (&#8220;Employee&#8221;), and SPS Commerce, Inc., a Delaware corporation, with offices at SPS Tower, 333 South Seventh Street, Suite 1000, Minneapolis, Minnesota 55402 (&#8220;Employer&#8221;). </font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%">WHEREAS</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">, Employer and Employee are parties to that certain Amended and Restated Executive Severance and Change in Control Agreement dated effective as of February 13, 2020 (the &#8220;Agreement&#8221;)&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">WHEREAS</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">, Employer and Employee desire to amend certain language of the Agreement as set forth in this Amendment.</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the reasons set forth above, and in consideration of the mutual promises and agreements hereinafter set forth, Employer and Employee agree as follows&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.&#160;&#160;&#160;&#160;Effective as of the Effective Date, the first paragraph of Section 4 of the Agreement is deleted in its entirety and replaced with the following language&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">4. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%;text-decoration:underline">RETIREMENT</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%">.&#160; </font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">If (i)&#160;the sum of Employee&#8217;s age plus years of service as an employee of Employer is 78 or greater, (ii)&#160;Employee provides no less than six (6)&#160;months&#8217; written notice of Employee&#8217;s retirement from employment with Employer to the Chair of Employer&#8217;s Board of Directors (the &#8220;Board Chair&#8221;), (iii) Employee continues to perform full-time services for Employer (A) materially consistent with the full-time responsibilities and services performed by Employee prior to the date on which Employee provides written notice of Employee&#8217;s retirement from employment with Employer to the Board Chair or (B) such other substantive services as agreed between Employer and Employee through the Termination Date, and (iv)&#160;Employee&#8217;s Termination Date occurs on or after the retirement date identified by Employee (and such Termination Date is no earlier than six (6)&#160;months after the date on which Employee provided written notice of Employee&#8217;s retirement to the Board Chair) (a &#8220;Retirement&#8221;)&#59; provided, however, Employer may in its sole discretion designate a Termination Date that is after the date on which Employee provides written notice of Employee&#8217;s retirement from employment with Employer to the Board Chair and prior to the retirement date identified by Employee, then, subject to the conditions identified in Section&#160;4.c and the provisions of Section&#160;10 below&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.&#160;&#160;&#160;&#160;Employee understands and voluntarily consents to each of the changes to the Agreement as included in this Amendment.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.&#160;&#160;&#160;&#160;All capitalized terms not otherwise defined herein shall have the meanings ascribed to such terms in the Agreement. </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.&#160;&#160;&#160;&#160;Other than as expressly amended in this Amendment, the Agreement shall continue in full force and effect, as so amended by this Amendment.  </font></div><div style="margin-bottom:8pt"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.08pt"><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="margin-bottom:0.08pt"><font><br></font></div></div><div style="padding-left:36pt;text-align:justify;text-indent:-36pt"><font><br></font></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.647%"><tr><td style="width:1.0%"></td><td style="width:45.820%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.058%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.822%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">EMPLOYEE</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">SPS COMMERCE, INC.</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">EMPLOYER</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">By&#58;  ______________</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">By&#58;  ______________</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">&#91;NAME&#93;</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:125%">&#91;TITLE&#93;</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">Date&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">Date&#58;</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.08pt"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>4
<FILENAME>a991-pressrelease.htm
<DESCRIPTION>EX-99.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i9cdf4651e8c64beaa7d0b58b129cd820_1"></div><div style="min-height:36pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit 99.1</font></div></div><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Contact&#58;</font></div><div style="margin-bottom:0.1pt;text-align:right"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Investor Relations</font></div><div style="text-align:right"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:100%">The Blueshirt Group</font></div><div style="text-align:right"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Irmina Blaszczyk &#38; Lisa Laukkanen</font></div><div style="text-align:right"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:100%">SPSC&#64;blueshirtgroup.com</font></div><div style="text-align:right"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:100%">415-217-4962</font></div><div style="margin-bottom:0.1pt;text-align:center"><font><br></font></div><div style="margin-bottom:0.1pt;text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:202%">SPS Commerce Announces Planned Retirement of CEO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:202%">Archie Black to transition to Executive Chair of the Board upon appointment of successor </font></div><div style="text-align:center"><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">MINNEAPOLIS, March 2, 2023 &#8211; SPS Commerce, Inc. (Nasdaq&#58; SPSC), a leader in retail cloud services, today announced that its Chief Executive Officer, Archie Black, intends to retire from his role as CEO.  Mr. Black will remain in the role through the completion of the search for his successor and through the transition process to ensure a seamless succession.  </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">The Company&#8217;s Board of Directors has initiated an executive search for the next CEO.  Once appointed, Mr. Black will transition from his position as CEO to the newly created role of Executive Chair of the Board.  This transition is designed to provide leadership continuity and reflects the Company&#8217;s commitment to consistent execution, and its mission to be the world&#8217;s retail network.  </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">&#8220;On behalf of the board of directors, the management team, and employees, I&#8217;d like to thank Archie for leading SPS Commerce for the past 22 years, charting the course and executing a strategy that has grown the Company from a groundbreaking, disruptive idea into a global powerhouse with the world&#8217;s leading retail network.  Archie has relentlessly fostered a people-first culture, exceptional customer experience, and community support,&#8221; said Philip Soran, Chair of the Board.  &#8220;During his tenure, the Company extended its global reach to over 115,000 customers, achieved 88 consecutive quarters of increased revenue, delivered significant shareholder value, and established a path for continued growth through tremendous go-to-market leverage.&#8221;  </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">&#8220;Since 2001, I have had the opportunity to work with talented individuals who helped me to plan for, prepare, and execute a dramatic new course for our organization.  Together, we have successfully capitalized on retail industry dynamics and became the world&#8217;s largest cloud retail network, while consistently delivering on our commitments to customers and shareholders,&#8221; said Mr. Black. &#8220;I am proud of our accomplishments, and I believe our strategy and our people position SPS Commerce for continued success and sustained, profitable growth.&#8221;</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">In his role as Executive Chair, Mr. Black will advise and support the new CEO on matters related to strategy and business development and assist with the CEO transition. SPS Commerce will continue to benefit from Mr. Black&#8217;s longstanding leadership, understanding of retail industry dynamics, and expertise in supply chain operations. </font></div><div><font><br></font></div><div style="height:31.68pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.1pt"><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:36pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:145%;text-decoration:underline">About SPS Commerce</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">SPS Commerce is the world&#8217;s leading retail network, connecting trading partners around the globe to optimize supply chain operations for all retail partners. We support data-driven partnerships with innovative cloud technology, customer-obsessed service and accessible experts so our customers can focus on what they do best. To date, more than 115,000 companies in retail, grocery, distribution, supply, and logistics have chosen SPS as their retail network. SPS has achieved 88 consecutive quarters of revenue growth and is headquartered in Minneapolis. For additional information, contact SPS at 866-245-8100 or visit www.spscommerce.com.</font></div><div style="margin-bottom:0.1pt"><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">SPS COMMERCE, SPS, SPS logo, 1&#61;INFINITY logo, AS THE NETWORK GROWS, SO DOES YOUR OPPORTUNITY, INFINITE RETAIL POWER, MASTERING THE RETAIL GAME and RSX are marks of&#160;SPS Commerce, Inc.&#160;and Registered in the&#160;U.S. Patent and Trademark Office. IN&#58;FLUENCE, and others are further marks of&#160;SPS Commerce, Inc.&#160;These marks may be registered or otherwise protected in other countries.&#160;&#160;</font></div><div style="margin-bottom:0.1pt"><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:145%">SPS-F</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:145%;text-decoration:underline">Forward-Looking Statements</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:137%">This press release contains forward-looking statements, including information about future expectations, plans and prospects, including views regarding future growth, growth opportunities, business strategy and results, as well as anticipated continuity, timing and effectiveness of the Chief Executive Officer transition, within the safe harbor provisions under The Private Securities Litigation Reform Act of 1995. These statements involve known and unknown risks, uncertainties and other factors which may cause the results of SPS Commerce to be materially different than those expressed or implied in such statements. Certain of these risk factors and others are included in documents SPS Commerce files with the Securities and Exchange Commission, including but not limited to, SPS Commerce's Annual Report on Form 10-K for the year ended December 31, 2022, as well as subsequent reports filed with the Securities and Exchange Commission.  In addition, these forward-looking statements are subject to factors and uncertainties related to the Company&#8217;s Chief Executive Officer transition, including disruptions and uncertainties related thereto, the ability of a successor to have the desired level of experience and expertise, the potential impact on the Company&#8217;s business and future strategic direction resulting from the Chief Executive Officer transition, and the Company&#8217;s ability to retain other key members of senior management. Other unknown or unpredictable factors also could have material adverse effects on SPS Commerce's future results. The forward-looking statements included in this press release are made only as of the date hereof. SPS Commerce cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, SPS Commerce expressly disclaims any intent or obligation to update or revise any forward-looking statements, whether as a result of new information, future events, or otherwise.</font></div><div style="height:31.68pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.1pt"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>spsc-20230301.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:2e39f11a-6f3a-4b1a-952b-0d343b7bc7d9,g:e4bb52d8-20ac-4dd4-8528-d142686cef54-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:spsc="http://www.spscommerce.com/20230301" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.spscommerce.com/20230301">
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="spsc-20230301_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="spsc-20230301_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.spscommerce.com/role/Cover">
        <link:definition>0000001 - Document - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>6
<FILENAME>spsc-20230301_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:2e39f11a-6f3a-4b1a-952b-0d343b7bc7d9,g:e4bb52d8-20ac-4dd4-8528-d142686cef54-->
<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:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_dei_EntityCentralIndexKey_0468cd66-a526-4564-877d-b2fe467729b3_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine2_81388d60-484f-4729-9db8-5ed35856eb0b_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine2_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_856879c4-3e6d-4947-b776-c807c8f0afa4_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_15aaedb7-7923-41c6-90f5-374a0ecbc3a5_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_30589516-b440-408d-9496-c03c9eb5fd8f_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_13e9d6b8-f3c0-48f1-804e-2db0a0262891_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_PreCommencementIssuerTenderOffer_4b2275e1-b77a-4794-a2ba-b3b4b738e91f_terseLabel_en-US" xlink:label="lab_dei_PreCommencementIssuerTenderOffer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
    <link:label id="lab_dei_PreCommencementIssuerTenderOffer_label_en-US" xlink:label="lab_dei_PreCommencementIssuerTenderOffer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_PreCommencementIssuerTenderOffer" xlink:to="lab_dei_PreCommencementIssuerTenderOffer" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SolicitingMaterial_bca530a9-f4b4-4867-bf66-abfa0282ad85_terseLabel_en-US" xlink:label="lab_dei_SolicitingMaterial" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Soliciting Material</link:label>
    <link:label id="lab_dei_SolicitingMaterial_label_en-US" xlink:label="lab_dei_SolicitingMaterial" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Soliciting Material</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SolicitingMaterial"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SolicitingMaterial" xlink:to="lab_dei_SolicitingMaterial" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_d22e6307-74c3-49d3-aa8b-f744e3f118f0_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_7aa9712b-c902-44a4-9822-75174333e11d_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_edb7f598-e412-4b9f-9e80-cd171c0aae46_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_a81c50e7-a633-4182-b2d9-6626692a4771_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_WrittenCommunications_d2a01322-7fde-49b2-89a8-00b12bf2d8cd_terseLabel_en-US" xlink:label="lab_dei_WrittenCommunications" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Written Communications</link:label>
    <link:label id="lab_dei_WrittenCommunications_label_en-US" xlink:label="lab_dei_WrittenCommunications" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Written Communications</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_WrittenCommunications"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_WrittenCommunications" xlink:to="lab_dei_WrittenCommunications" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_22cc438a-8d60-4263-bad3-a1150981a293_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_0a976ff1-9d9b-4b58-a3c6-a7e950b8e9e7_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_fbdafa93-2724-4155-a861-47ac3821427b_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_d8897170-4de2-4895-8141-e8fb3855fa94_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_66178cda-3158-4134-bbb1-8f27a181b707_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_30f3d674-eca5-46ab-b913-dfa61ad0b232_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_782df09f-fd76-4424-935f-9c2839264b7f_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_6f0b03f1-500e-4927-8582-2db1e63d5971_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_e961e5ae-3c69-4918-ac75-aedd4036c227_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_PreCommencementTenderOffer_3ae1e826-b95c-4170-930f-b9f225b24ea0_terseLabel_en-US" xlink:label="lab_dei_PreCommencementTenderOffer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
    <link:label id="lab_dei_PreCommencementTenderOffer_label_en-US" xlink:label="lab_dei_PreCommencementTenderOffer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementTenderOffer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_PreCommencementTenderOffer" xlink:to="lab_dei_PreCommencementTenderOffer" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>7
<FILENAME>spsc-20230301_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:2e39f11a-6f3a-4b1a-952b-0d343b7bc7d9,g:e4bb52d8-20ac-4dd4-8528-d142686cef54-->
<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:roleRef roleURI="http://www.spscommerce.com/role/Cover" xlink:type="simple" xlink:href="spsc-20230301.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.spscommerce.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_bc9f2341-eef9-4603-9af8-74f762a7aacd" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_DocumentType_bc9f2341-eef9-4603-9af8-74f762a7aacd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_72755a9c-50c7-48b0-8f06-98a59988a76c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_DocumentPeriodEndDate_72755a9c-50c7-48b0-8f06-98a59988a76c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_8380311f-fcb2-406d-9e1f-bc9d5c59f1b3" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityRegistrantName_8380311f-fcb2-406d-9e1f-bc9d5c59f1b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_c5c84fdb-d690-446a-9086-d8f4934af5fa" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityIncorporationStateCountryCode_c5c84fdb-d690-446a-9086-d8f4934af5fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_dc448452-4732-478b-a672-1121ed895492" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityFileNumber_dc448452-4732-478b-a672-1121ed895492" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_bd28ab39-196e-4bff-addf-410b8d0fbe80" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityTaxIdentificationNumber_bd28ab39-196e-4bff-addf-410b8d0fbe80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_176f547a-68f3-434e-bb68-b6b5a797c55a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityAddressAddressLine1_176f547a-68f3-434e-bb68-b6b5a797c55a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_683facf4-5f86-48b9-bd37-14fc55665f8d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityAddressAddressLine2_683facf4-5f86-48b9-bd37-14fc55665f8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_2d9cc44e-bd78-47f1-a8c4-a8b1317538a2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityAddressCityOrTown_2d9cc44e-bd78-47f1-a8c4-a8b1317538a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_1871b62f-0518-4b3c-9ecb-d8d63c8f768b" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityAddressStateOrProvince_1871b62f-0518-4b3c-9ecb-d8d63c8f768b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_2085799d-0197-4ec8-90b8-25f0f592b266" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityAddressPostalZipCode_2085799d-0197-4ec8-90b8-25f0f592b266" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_4ad74cf4-d2cb-45ec-8d55-f44c7fbe3ccb" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_CityAreaCode_4ad74cf4-d2cb-45ec-8d55-f44c7fbe3ccb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_accfbe98-ad5b-46fc-9ffc-f036246df502" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_LocalPhoneNumber_accfbe98-ad5b-46fc-9ffc-f036246df502" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications_87cf16d8-f277-45d0-854a-bb30e2339d78" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_WrittenCommunications"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_WrittenCommunications_87cf16d8-f277-45d0-854a-bb30e2339d78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial_c41dff1c-c520-48e8-aa0f-d1d737ad785d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SolicitingMaterial"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_SolicitingMaterial_c41dff1c-c520-48e8-aa0f-d1d737ad785d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer_a54f29ae-9014-45a9-a058-0f23e2b366f4" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementTenderOffer"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_PreCommencementTenderOffer_a54f29ae-9014-45a9-a058-0f23e2b366f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer_52e10062-de3f-4ba9-a693-0673a8a140ba" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_PreCommencementIssuerTenderOffer_52e10062-de3f-4ba9-a693-0673a8a140ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_b4a9c8ad-2cce-4631-baf7-ef7cdc70274d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_Security12bTitle_b4a9c8ad-2cce-4631-baf7-ef7cdc70274d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_1ed3a783-3fef-4c59-a102-3db464357b08" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_TradingSymbol_1ed3a783-3fef-4c59-a102-3db464357b08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_d66ff0c9-b791-4f87-b143-2bd6bec14215" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_SecurityExchangeName_d66ff0c9-b791-4f87-b143-2bd6bec14215" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_03ce624b-7fc1-45f9-bb91-eae304d52595" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityEmergingGrowthCompany_03ce624b-7fc1-45f9-bb91-eae304d52595" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_f72ef306-6284-4b09-94bb-9cbf4ba4bb74" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_AmendmentFlag_f72ef306-6284-4b09-94bb-9cbf4ba4bb74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_9db5e4cd-167f-41ea-acd4-0f256584e327" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6689fe0e-b165-40bc-ac4b-fd7646975729" xlink:to="loc_dei_EntityCentralIndexKey_9db5e4cd-167f-41ea-acd4-0f256584e327" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.22.4</span><table class="report" border="0" cellspacing="2" id="idm140389991985488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Mar. 01, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar.  01,  2023<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or 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="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="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="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="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite 1000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="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="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="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="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="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="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="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="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="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.001 per share<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="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="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</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="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="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001092699<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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-2<br></p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="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-2<br></p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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-2<br></p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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-2<br></p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="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>XML
<SEQUENCE>9
<FILENAME>spsc-20230301_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="spsc-20230301.xsd" xlink:type="simple"/>
    <context id="i52a697fe27bf472381db44618bd78aef_D20230301-20230301">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2023-03-01</endDate>
        </period>
    </context>
    <dei:AmendmentFlag
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV80L2ZyYWc6NDQzNTBkNmFiMzNmNGExNTkxOGVlYzBmYTg2ZWFjMjkvdGFibGU6ZWRjODY2YTE1MGE2NDQ0YmJhNmYzNDQ3OWFjNTFjM2UvdGFibGVyYW5nZTplZGM4NjZhMTUwYTY0NDRiYmE2ZjM0NDc5YWM1MWMzZV8yLTEtMS0xLTE1_a3864e87-3746-4c2e-ba34-4263a6edeb8c">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV80L2ZyYWc6NDQzNTBkNmFiMzNmNGExNTkxOGVlYzBmYTg2ZWFjMjkvdGFibGU6ZWRjODY2YTE1MGE2NDQ0YmJhNmYzNDQ3OWFjNTFjM2UvdGFibGVyYW5nZTplZGM4NjZhMTUwYTY0NDRiYmE2ZjM0NDc5YWM1MWMzZV8zLTEtMS0xLTE1_abc940b9-566e-408e-bade-32bdcf5299ba">0001092699</dei:EntityCentralIndexKey>
    <dei:DocumentType
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ4_68f15810-4a22-4ce6-9f93-9d5626ce0c2a">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xNzQ_f24fc7ed-91df-4cd6-bba1-d9f121897aac">2023-03-01</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ5_dd6b47d5-2823-4143-a4d3-08801b003c5e">SPS COMMERCE, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6Mjc0Yzc0NTliZmM2NDQzYWFmOWQwZjcyNzIwMGI2ZGQvdGFibGVyYW5nZToyNzRjNzQ1OWJmYzY0NDNhYWY5ZDBmNzI3MjAwYjZkZF8wLTAtMS0xLTE1_2ad22594-4915-45c5-8142-72b2f8e09373">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6Mjc0Yzc0NTliZmM2NDQzYWFmOWQwZjcyNzIwMGI2ZGQvdGFibGVyYW5nZToyNzRjNzQ1OWJmYzY0NDNhYWY5ZDBmNzI3MjAwYjZkZF8wLTItMS0xLTE1_b71e6800-54ee-4543-a1d7-6eb82137c4d5">001-34702</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6Mjc0Yzc0NTliZmM2NDQzYWFmOWQwZjcyNzIwMGI2ZGQvdGFibGVyYW5nZToyNzRjNzQ1OWJmYzY0NDNhYWY5ZDBmNzI3MjAwYjZkZF8wLTQtMS0xLTE1_c5dfbfb7-43ec-4f79-9152-e0c680ce5d67">41-2015127</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfNQ_72a2d56a-8170-41e2-8480-479bfbbcb9fc">333 South Seventh Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfOQ_4dba0ca0-90e7-43bd-956f-d14d4cc71825">Suite 1000</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfMTI_27e72ad9-1523-4e12-bf45-12c55fd00ab7">Minneapolis</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTAtMS0xLTE1L3RleHRyZWdpb246OThlYzYwOGI5ZjE3NDE3MGFjOGNkMjgyMTk5YTRkYjBfMTY_60ebf208-7275-488d-929f-3b5c99088d79">MN</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6MTMxOTJjZTc4ZTFmNDlmOWE1YTkwOTVlZmNjZTU5MmQvdGFibGVyYW5nZToxMzE5MmNlNzhlMWY0OWY5YTVhOTA5NWVmY2NlNTkyZF8wLTItMS0xLTE1_ace2dbbc-5dc1-45f2-be0d-fa2633982fc2">55402</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ1_6c3252ca-4f58-44d7-8720-9aa3fab049b0">612</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ2_f28ca5c8-04cd-44dd-8a84-770ed30d3b6a">435-9400</dei:LocalPhoneNumber>
    <dei:WrittenCommunications
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18wLTAtMS0xLTE1_07c27e67-a63c-4ed8-87d8-c860a39071ae">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18xLTAtMS0xLTE1_80236d6b-74ad-4a5d-95a0-d11c67f198e4">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18yLTAtMS0xLTE1_c302ca0c-e6a5-44c3-a397-3bc8a8f1eecc">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NDVmYzg3YjQ3ZjQyNDM2MWI4MGIwOTcwOGI1YTY3MzcvdGFibGVyYW5nZTo0NWZjODdiNDdmNDI0MzYxYjgwYjA5NzA4YjVhNjczN18zLTAtMS0xLTE1_efe84d7b-1aea-4845-af6a-a130a1d1f4ef">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NWM0NzhjYTA4Y2E4NGM3OGIzMTZhMjA1MGRmZGE5NTgvdGFibGVyYW5nZTo1YzQ3OGNhMDhjYTg0Yzc4YjMxNmEyMDUwZGZkYTk1OF8xLTAtMS0xLTE1_90fae72e-83c9-4372-b9ad-85433cff1b6a">Common stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NWM0NzhjYTA4Y2E4NGM3OGIzMTZhMjA1MGRmZGE5NTgvdGFibGVyYW5nZTo1YzQ3OGNhMDhjYTg0Yzc4YjMxNmEyMDUwZGZkYTk1OF8xLTEtMS0xLTE1_fa2b3a4c-2de6-4283-93c4-ae1f6dcf43d3">SPSC</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGFibGU6NWM0NzhjYTA4Y2E4NGM3OGIzMTZhMjA1MGRmZGE5NTgvdGFibGVyYW5nZTo1YzQ3OGNhMDhjYTg0Yzc4YjMxNmEyMDUwZGZkYTk1OF8xLTItMS0xLTE1L3RleHRyZWdpb246YmQ1YWExYzAwNWJlNGNkZWJjY2YzNzI3NThlM2ZjNjBfMzM_ae29fa9d-8406-46f2-a0d9-511dc1b9538a">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany
      contextRef="i52a697fe27bf472381db44618bd78aef_D20230301-20230301"
      id="id3VybDovL2RvY3MudjEvZG9jOjBlYmM4NGY0ZDc2MTRhZDc5MjEyMzI2OTI5YTRjYmJlL3NlYzowZWJjODRmNGQ3NjE0YWQ3OTIxMjMyNjkyOWE0Y2JiZV8xL2ZyYWc6M2Y5MDM3YTYzYjk5NGRlOGIwNzc3MGM0ZDU2ZmZiNjUvdGV4dHJlZ2lvbjozZjkwMzdhNjNiOTk0ZGU4YjA3NzcwYzRkNTZmZmI2NV8xMjQ3_92219681-aff5-48d6-9f12-74a7216bc253">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>10
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
M4(%B5KHEC#A?!   )1$  !@   !X;"]W;W)K<VAE971S+W-H965T,2YX;6R=
MF&]OZC84QK^*E4W3)K5-'/ZT=(!$*=W0O;2L8;O2IKTPB0&KB9W9#I1OOY-
M$[8;3MC>D#CD//SL8S_'IK]3^LUL.+?D/8FE&3@;:]-[US7AAB?,W*B42_AF
MI73"+#3UVC6IYBPJ@I+8]3VOZR9,2&?8+Y[-];"O,AL+R>>:F"Q)F-X_\%CM
M!@YU/AZ\BO7&Y@_<83]E:QYP^VLZU]!R2Y5()%P:H231?#5P1O3^P>_D <4;
MOPF^,R?W)._*4JFWO#&-!HZ7$_&8AS:78'#9\C&/XUP)./XZBCKE;^:!I_<?
MZD]%YZ$S2V;X6,5?1&0W ^?.(1%?L2RVKVKW,S]VJ  ,56R*3[([O-MN.R3,
MC%7),1@($B$/5_9^'(C3 'HFP#\&^ 7WX8<*RD=FV;"OU8[H_&U0RV^*KA;1
M "=DGI7 :OA60)P=CM66Z[YK02I_X(;'L(=#F'\F;,;T#?'H%?$]O_7/<!<(
M2@R_Q/ +O1:&0?X8+8W5D*@_ZX@."NUZA7SVWIN4A7S@P/0T7&^Y,_SN&]KU
M?D3X6B5?"U,?/JHP@[EHR6*?\CHX//SN^A,"T2XAVI=!S+D6*B(3&1%(>BT/
MKE2DK\A?4P([)5L'59Q(*^R>O/*UR%,(D,\LJ27#=8)Y0,8OL]GD=3RY(M/G
M\0T"URWANI? 366H=*HTR_W@B@06QHXH3<8JDU;OX1K5$N/BCQ.$\+8DO+V$
M\$G$G#QGR;)^3>(:GD>O6^U;ST=X[DJ>NTMX%NR=3".8<F(EPF+8$#I<L4VO
M?8]VJ'^+X/5*O-XE>*,H@J5NKCYNR&=XC[S(VBSBBJU6BP10M38DX%OH,%RM
M!E-%8*E7>:SW_W$7.U7KO[ADD F8O-3S/(SPI K0_T0XSENP-!9J)VOI<+F9
MD)*S5,7"8'A5=:"HN7^%5R[=N59;(</:A#=HSIXQM*HP4-S:_XTV5\:RF/PN
MTK-^TJ#8Z;31-4RK>D%QFR^R.(+-VGD47*!+49"J.%#<U3^K$,9DOE$2L[<&
MD7:K<]UKXQ.^J@@4=^TO6EC+)0Q,DF3R:&ZFE@H76K'8< RI*@$4]^\ EDLH
MK)!K,H/IK06+:WEPE4:>J@10W+'GFE^',#P<UM=A[\-E!+NTE]7J3/YPO4:R
MROTI;M9?D4V-R8"L$1"7;0+T*\/W<7=>" N%7*T(];]?_@ E)<Q@ONUK=[6X
M4CX_H>K".2!\NR(ITV3+XHR3;[T;J/<DA>Z:#=,H=E4%?-RV%YI%^?0+]LE2
MU4Z^!@'8O8TQDI/C &[.'R-&)N_AALDU/[N=;!!Z'@6/HU\PILKI_8N<?I)P
MO<Y'Z2=0@'T"9"AELCZWN&#C?*N,WL=]>@2K("I6PE/,UK4HN$ C2F7U_D4'
M@3' :/#\*:S(=_*)UX\/+@6;&^KU_&ZO5T?FGAQZ\S\0X$P#:3$DYBM0\VYN
M05P?SN2'AE5I<0Y>*@NGZN)VPQD81OX"?+]2RGXT\J-U^<_(\&]02P,$%
M  @ 4(%B5I^@&_"Q @  X@P   T   !X;"]S='EL97,N>&ULW5=M:]LP$/XK
M0C]@;F)JXI$8MD!AL(U"\V%?E5AV!'KQ9+ES^NNGLVPG:75EW8>QS:')W3VZ
MNT=W)YFN6W>2_.'(N2.]DKK=T*-SS?LD:0]'KEC[SC1<>Z0R5C'G55LG;6,Y
M*UMP4C)9WMQDB6)"TV*M.W6G7$L.IM-N0V]H4JPKH\^6E :#7\H4)X],;NB6
M2;&W8EC+E)"G8%Z"X6"DL<1Y*GQ#%V!IGP*\"!JP'.,HH8T%8Q(RA._]N/P9
M,&FM5X64,\$E#89BW3#GN-5W7AD6#\87$!GEW:GQ#&O+3HOE+3T[##\^R=[8
MDMLYS8).IF(M>05TK*B/\.M,DP#HG%%>* 6KC68#A\EC%'S8 Y?R 5KXK;J*
MW5<D].)3"6T@L-5)](1&,80)"L2_C!9B7X2]_:VPI!&/QGWL_&[TH'_OC./W
MEE>B'_2^FO-CT1=X=-8T\O1!BEHK'O;^RPF+-9O\R-%8\>2SP:0<O(%;2AZY
M=>)P:?EA6;/CO9NFJ:]PSLM_D/.?K7/--;=,7I+VH_\W5_DMC)/Q]%P<T:L#
M.EL)7(0;^A7N5WGF0/:=D$[H43N*LN3ZQ3GUX1W;^PO\*KY?7_**==+M9G!#
MS_(77HI.Y?.J>ZC+N.HL?X;[:)'-M[#/)73)>UYN1]76^T$D7O!9QP<<GB-W
MPQ-',)^ Q1' L#P8 \PG>&%Y_J?]K-#]! SCMHHB*]1GA?H$KQBR'3Y8GKA/
M[I_X3O,\3;,,J^AV&V6PQ>J69? 7CX9Q P\L#V1Z6ZWQ;N,3\OH<8#U];4*P
MG>*3B.T4KS4@\;J!1Y['NXWE 0^L"]CL0/YX'IBIN$^:0E<Q;M@)QI$\QQ"8
MQ?B,9AE2G0P^\?Y@IR1-\SR. !9GD*88 J<11S &P %#TG1X#SY['R73>RHY
M_U=3_ 102P,$%     @ 4(%B5I>*NQS     $P(   L   !?<F5L<R\N<F5L
M<YV2N6[#, Q ?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\
M$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y
M+AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*
M(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC
M)8QQ8K3^-8+)#^Q^ %!+ P04    " !0@6)6JL0B%C,!   B @  #P   'AL
M+W=O<FMB;V]K+GAM;(U1T6[", S\E2H?L!:T(0U17D#;D*8-C8GWT+K4(HDK
MQX6-KY_;JAK27O:4W-FZW%T6%^+3@>B4?'D78FYJD6:>IK&HP=MX1PT$G53$
MWHI"/J:Q8;!EK '$NW2:9;/46PQFN1BUMIS> A(H!"DHV1%[A$O\G7<P.6/$
M SJ4[]ST=P<F\1C0XQ7*W&0FB35=7HCQ2D&LVQ5,SN5F,@SVP(+%'WK7F?RT
MA]@S8@\?5HWD9I:I8(4<I=_H]:UZ/(,N#Z@5>D(GP&LK\,S4-AB.G8RF2&]B
M]#V,YU#BG/]3(U45%K"FHO409.B1P74&0ZRQB28)UD-N5G0&[O+H YMRR"9J
MZJ8IGJ,.>%,.]D9/)508H'Q3F:B\]E-L.>F.7F=Z_S!YU!Y:YU;*O8=7LN48
M<?R>Y0]02P,$%     @ 4(%B5B0>FZ*M    ^ $  !H   !X;"]?<F5L<R]W
M;W)K8F]O:RYX;6PN<F5L<[61/0Z#, R%KQ+E #50J4,%3%U8*RX0!?,C$A+%
MK@JW+X4!D#IT8;*>+7_OR4Z?:!1W;J"V\R1&:P;*9,OL[P"D6[2*+L[C,$]J
M%ZSB688&O-*]:A"2*+I!V#-DGNZ9HIP\_D-T==UI?#C]LCCP#S"\7>BI160I
M2A4:Y$S":+8VP5+BRTR6HJ@R&8HJEG!:(.+)(&UI5GVP3TZTYWD7-_=%KLWC
M":[?#'!X=/X!4$L#!!0    ( %"!8E9ED'F2&0$  ,\#   3    6T-O;G1E
M;G1?5'EP97-=+GAM;*V334[#,!"%KQ)E6R4N+%B@IAM@"UUP 6-/&JO^DV=:
MTMLS3MI*H!(5A4VL>-Z\SYZ7K-Z/$;#HG?78E!U1?!0"50=.8ATB>*ZT(3E)
M_)JV(DJUDUL0]\OE@U#!$WBJ*'N4Z]4SM')OJ7CI>1M-\$V9P&)9/(W"S&I*
M&:,U2A+7Q<'K'Y3J1*BY<]!@9R(N6%"*JX1<^1UPZGL[0$I&0[&1B5ZE8Y7H
MK4 Z6L!ZVN+*&4/;&@4ZJ+WCEAIC JFQ R!GZ]%T,4TFGC",S[O9_,%F"LC*
M30H1.;$$?\>=(\G=560C2&2FKW@ALO7L^T%.6X.^D<WC_0QI-^2!8ECFS_A[
MQA?_&\[Q$<+NOS^QO-9.&G_FB^$_7G\!4$L! A0#%     @ 4(%B5@=!36*!
M    L0   !               ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"
M% ,4    " !0@6)6I%%]F^T    K @  $0              @ &O    9&]C
M4')O<',O8V]R92YX;6Q02P$"% ,4    " !0@6)6F5R<(Q &  "<)P  $P
M            @ '+ 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    (
M %"!8E:Z)8PX7P0  "41   8              " @0P(  !X;"]W;W)K<VAE
M971S+W-H965T,2YX;6Q02P$"% ,4    " !0@6)6GZ ;\+$"  #B#   #0
M            @ &A#   >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( %"!8E:7
MBKL<P    !,"   +              "  7T/  !?<F5L<R\N<F5L<U!+ 0(4
M Q0    ( %"!8E:JQ"(6,P$  "("   /              "  680  !X;"]W
M;W)K8F]O:RYX;6Q02P$"% ,4    " !0@6)6)!Z;HJT   #X 0  &@
M        @ '&$0  >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4
M    " !0@6)699!YDAD!  #/ P  $P              @ &K$@  6T-O;G1E
C;G1?5'EP97-=+GAM;%!+!08     "0 ) #X"  #U$P     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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>12
<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>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>23</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="spsc-20230301.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.spscommerce.com/role/Cover</Role>
      <ShortName>Cover</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>
  <Logs>
    <Log type="Warning">[dq-0540-DocumentPeriodEndDate-Value] In submission type 8-K, DocumentPeriodEndDate value "2023-03-01", is not equivalent to header element periodOfReport value "03-02-2023" in the Required Context. spsc-20230301.htm 4</Log>
  </Logs>
  <InputFiles>
    <File doctype="8-K" original="spsc-20230301.htm">spsc-20230301.htm</File>
    <File>a101-ablackamendmenttoseve.htm</File>
    <File>a103-formexecutiveamendmen.htm</File>
    <File>a991-pressrelease.htm</File>
    <File>spsc-20230301.xsd</File>
    <File>spsc-20230301_lab.xml</File>
    <File>spsc-20230301_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="23">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>16
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "spsc-20230301.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2022": 23
   },
   "contextCount": 1,
   "dts": {
    "inline": {
     "local": [
      "spsc-20230301.htm"
     ]
    },
    "labelLink": {
     "local": [
      "spsc-20230301_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "spsc-20230301_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "spsc-20230301.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",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 24,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2022": 2,
    "total": 2
   },
   "keyCustom": 0,
   "keyStandard": 23,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "spsc",
   "nsuri": "http://www.spscommerce.com/20230301",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "spsc-20230301.htm",
      "contextRef": "i52a697fe27bf472381db44618bd78aef_D20230301-20230301",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0000001 - Document - Cover",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.spscommerce.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "spsc-20230301.htm",
      "contextRef": "i52a697fe27bf472381db44618bd78aef_D20230301-20230301",
      "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r1"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r1"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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 or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r1"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r1"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "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 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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "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 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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r2"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r5"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "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/2022",
     "presentation": [
      "http://www.spscommerce.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    }
   },
   "unitCount": 0
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r5": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r6": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>17
<FILENAME>0001092699-23-000011-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001092699-23-000011-xbrl.zip
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
M5U0Q<E;(.77L]:EC-CF=\V!]=AK0):+!NQIU^_U./\3]D_"DTW7GW7[_;3O
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
MDLH=3U<K2EDO6XI9J8 LU&U/,1S+M6T5OI?ME)+B,*&WB\*?,T>70<R^SUC
M'STGXA?MT7N;G%/D_)JUPI<06#KH^$,9(7QCYSO9.1>%H"[7&:!6Q6*NIIB6
M!Y*=J[@_3"\9AEW1/5??VK4L\XX(Q)/Z/1^)6]=TIJ1DA\[/+Q'H&']( U*]
MXNXH\2\Y:7B>[_+X%WUFFRND7M-2@U A*%5>D7?L9=D.MR4$OGM$!8*6Q%[$
MZ<:JC%_*!-1^E%Q#MW27*J9G51339&6E4M;!0J74\*BCFK:C;NV6M!M"__UC
M OF3$!C_2S<<;')*P2^MC/[#TRLNM=R*HIHNPY5A2H563*5<5CDS5&8X);JU
M:QJ68ILW704;G)DYR\7\5TQ:/.!#)(0T K6-<<9@A+J#(-\N2.7-$V[U,"%[
MPV$ J@YC%2]H)"N6YQ#,:!ZEF;,12;^F6&B;^!YFRP[..2.G:'>3$QHGI"G2
MU.],4E^Y^^>9!KO?Y>X%P9TO=#B,PF'D8[#;":^(PX-PC(/%AS@'I*+\13P_
M0,+T8^+C$1(,)B$)2>SW1T%"!SP<Q<&$Q$ #L3<1)=,"H0,+*T-PH:PRFB4D
M"V(A=##)GGEA (UC.?1>^!BDC<F[F'-RQ <\ A!Z/("R([F59Z^@%V1WW^]L
M<HA,*]B/$,NRK4)ES<#;0^?NWA?1[@'U!;]&SX^HLL\B/P&2Q[R!T2"-)\<W
MG6Y.& 8.!?I-@(LV4JU+&[U^ +;T];G1[GTU.KVOD_I!3:^='9LU*-=HN>@&
M WL=1G/M+MKH:OVL WUD?OV @6U_K-:NVU?MWOD8X(!5O]X#6/ =8()[7=<6
MDG35LJN7>:FLT)+A*B9G%0!K\#\72)@:MEK6*$>\;Y=-\\/#Y@D^U1;X]>@X
M)3880Y[:R#"WD[$Y K%FZE8J/A=V+^*FQ7=:F>P?-@G0<@%>7&+:O3'["F8_
M!5O>A9D<G-= (6)7WSC]%SG]:H[3*S#I)59RE+)) ?Q3"R.%5%68IKFELJ?9
M%6[^%IP^HS323TGM)IMK)E4T/<?I<YN3IWQN@C87;[ZQ^OJL_B7BJ-/Q,"%Q
MX &BVJCA>6B4O['\+['\9([E74/57:JZ"B]1"^Q]UU! IY<5PW'![O<TSEWW
MMV!YH#C%S9'<G5I>,YFBOW/>KR< Y+MO(N"G1<!Q'(]X]"8('DX07,\) N[Q
MBLG*C@)HGBIFQ;04ZI6H0C5#I1K3/)-[;X)@J2 PN&*^<]<3!.F[]XGHO% O
M5<ZND6XC'G$V-SO38UV$F$S=2# C&^T0,LJ%2KG\X!XA72O8JO'PF\1+!5O_
MW3:)M_!L7'EJB=LE;D#C>%-WD*P88$1%*.)TTG?"X-VO!OM?VO"RXS'$\O%,
ME((@&7=]^&4F;7['K6^/Z5^1$GVBZ8Y@H4V&4&<UM7[=[;5; 'GT*O2Q9D"9
MZUJKTZWU]K3:4;/?.:I:]=;Y(H32VM?0IZ-ZMW: Y<]Q1RC IMI5O0_C.O@V
M[AQU+MJM"ZUQN. ^L56/\K+.E8KAVHIIE'7%L2E3*I9I&*[G:2)VBJ V1+()
MW8MM,J01N:3!B)/_196DD2$>8]O]N=,.WFC\3AI/1:>4G&\$O@:!YTZI]JCN
M&-1T%9WQDF+J%4.Q#==4*->\$G,]TV"&.,!I_PF)=[7UD,/0:7E%W/NPHV@%
M8RD+/!.]MP 7UVG,Z-_D%,4"J='H@B?DY&1?'(+XF*E(F=#/3!9Y.-FB:8U:
M>.,3UI^.9XY7)JRW^U^U]EGUJGV]-ZZ?_1G4C^H7./ZVWK[&8P+JK6Y0TSN]
M.B:L7]=^4*[;'K5!B9@JL%S)TQ6J,ENQ-(VYFF-;1H4B8A+$<Q2$#@U2ZKF1
M.K4D>?W7#,\\__1&<>)[DV=BH.,!0_N<$V="7)$] 3V] +S(P>2,%E,;_)A
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
M4*P,G:5(=G8G8IY"'* L!-X!4$ B+*/EH8\]&?M=(&Q-Q6-#4T4O8KXR-G/
M72X2 0P9X]&W46.-.0A7*B+^,?][A-,G76!Q"M3O,8;E7LF4V<T*_,N?,&4M
MYK>P=1IRG1J"^86>)U(!XZ5Y>H_TR#DNG*TL\^-HE,:(;VE*NEWDHJ<&(A(F
MS:FJ608)%TYF#,\%_)*+1!N41Y'/,W>\^)J Z;N=9D\FZ#\%R@&&H&Z2Y4@L
M#LT9Q;X0.%A'*NF$A0>6GINF6:)HD R*PQ.8:%W9E'G7%YO-!@PCA%D0/"ED
MQ 6?D+Z@8"$+8C[P81Z ;*A,:+Z5^A[?=R?ZF(F[$#^"Y&&^*P\_F=)7$(<@
MY3%Y1BS?] 0ZRBYA8#P5]?&J-4F7(96),A7U%BK/"RKAFUGP'4;8 X;G+P23
MQ;Q8),+0DTUD8LU%;V-"SD<4MZ%POM"?;4F"HA[,EKH4BBR?)8,@"T'U929W
M]X3'#;J-:0.3< 16O)@=$10 ^(=I2FR$+02^K&%P)W,71#@X$(D(^2CVU"V
M$9J ^OU8>"[$P<K24S$[-!EWU QE,DNV-4:\?!M2R+8DTEF2'\X$Y@'GH,/V
M%#5<RF)YY]1+P8^WGN$AC&];&-^SN/MI3K;.LD.66>3K[1+1U*TEP!*WT2D
M+B,@KYTTC+2X!^&YCC%G[Y_18+KM0/AL+>Y+6QMS;I.F%XQ'.,E;+VAK7DI[
MGUHK>D%_]//!;[WK]NEEQAK4B3=%;\R]1@]\&?BK6L@'.@;SMUG-MT$]P:!>
M$1UB NX]%DS% 6T]RMK>!D ][UF@SD>Z%"ER*9H^/'L'23?"4R>HIFH* "7J
M7DQS:9,0D^@*W00D^UX^P?:ADFMOW6_GR'2W+ TN#7WL%TBV,1(>WMQ"^[%(
M%^."KX_;]#=NVVQNZR;),-XI%L?C<0'Z63@/+XN"P"]Y7.3LG$9%X Q:U%0;
M+%"["/W5--O O M5-57=UHJL8N/)+XQ? >?F>/0A<MXSGENR0QV+SE@QW7NY
M.AE#^-_F-FJD7LO\=5)R4]1LYVM%[GQ]_UOPLO'&RYO-RZ Y#05]:=/<ADR!
M2JX\7$S^?4@-^OI9!-/SWEADPUG$MC5%N+I3/[_DC"_"]=^4/VUGZ<3A0L[Q
MZR=Q335?O[V[^8/:%UOJOU 0Q<>X_9#*<SL. *B10T QY!W& AE+0]1IEL.Q
M<$*3_WYNGDPC\_>YC^'%Y'+>(U!B/.]Y6@N'0\V?!/7L%^5N[9X>']7W6M^:
MU=-?.-?JN>XKR9VQ)W-A_AZE.\3B-7/?M]."<V<'LE&0IMBPN6U/Z5$ML&92
M->!>*X=W:>!E&]"$MDE?P CQ"/._175TE'3#" ;'E@4Q-R:69)8+FO$(=X 4
MRF;IP6LU2X6*MEYG'U:#/\;Y\3]U'N*BLBN]I!&M*:#0[F_4:M7F?A7L_OI^
MX1%=UR]VX=Y&]#)']$9^KV9$<];ZRU_7]2 2& 1\9]&&W81%7F]XGR<[&S:<
ME5L/[NMN*<9%\M=Q[7.U>=(F]>K)::/^)IG>1O0L;+AP%-$;';Z-Z$7(3\RZ
MRL(8W_'@FV7G-]TX'.N-?%_GB&X"O#7O_Q$=RKN\]$=P>;VN^PZ*3L@F\*>;
M](/=_P=02P,$%     @ 4(%B5BN048AH @  =P<  !$   !S<'-C+3(P,C,P
M,S Q+GAS9,U5R6[;,!"]^RM8G4MK=6(+L0,T08 ";@ND"9);09$CFXA$JB05
M.W]?DI;@R%D: SW4%X]FWIM]I+/S;5VA1U":2S$/XG$4(!!4,BY6\^#VY@I/
M@_/%:'3V">/[+]=+="EI6X,PZ$(!,<#0AILUNF.@'U"I9(WNI'K@CP3CA2==
MR.9)\=7:H"1*TD.KRA-(9V4<$WQ2I@1GA95FDZ3 $4NSM#@MZ"F;?5[ED!7%
M)&%3G$2$XHRQ#$\GR12S.$M.IB<4RDGFG6YUKND::H)L84+G6ST/UL8T>1AN
M-IOQ)AU+M0J3*(K#^V_+GQX:=-B*BX<!>ENHJL>GH3,71$,/UXVF [A3R+H&
M16%LA=!5'*51'"!BC.)%:^!*JOH22M)69AZTXG=+*EYR8+;K%;B^#@#/S(:H
M%9COI ;=$ H?B[L8(>0ZPNM&*H/$J^RN)?%L-@NWKL8 [3JXE)08OQ9OML3C
ML1-QG. T'F\U"\(/A1TZXD(;(B@<$]L^X9[W+W+8S_>X''K>\3EX9QKH>"4?
M0P;<32YY/;Q^"^X$[(1A3"*$-)[O-)VN:;@HY4YA52[QO,_^&LK^9%[<P2LK
MXO]RHJB2U5_V*6R4;$ 9#OKY#7D':P7E/' +C/NM_5618FPSZ2$O @Q'X,RA
MI4"UW%?2<\U38[G:#J""76_^Y\(;!<<6;BG:OC7\H(^LW_%OK!UQ-@\NI/T&
M!,CI;J^_OOMV\7%W^-YA[Y)!R07W2Q?Y7XSP_HN!D6>=A8?8 R^M!O9#++Q\
M6%]'[B#O$"FI:%L=S]NG]2:M4_;]Z^XK'![8[OG9$7K%[K(7HS]02P,$%
M  @ 4(%B5I&Q7)V/"@  $6$  !4   !S<'-C+3(P,C,P,S Q7VQA8BYX;6S5
M7&UOV[H5_MY?H65?-J"LQ1=)9-'FHLMMAV*Y;=&DZ,6&P2!%*A%J2X&L-,F_
M'RG;B653MBC%JO:E56SJ\#F/^!P>'HI^\]O]?.;]5,4BS;.W)_"5?^*I+,YE
MFEV]/?EV^0'0D]].7[QX\Q< _OS'UW/O]SR^G:NL],X*Q4LEO;NTO/:^2[7X
MX25%/O>^Y\6/]"<'X+2ZZ2R_>2C2J^O20S["V]\6KY'"+(&0@S#!'!"AKUB
M!/ E)EA$(HXD>WGU6A$A B0I0#Z/ 9&2 !H@"B0D**1AK)* 5$9G:?;CM?E'
M\(7RM'/9HOKS[<EU6=Z\GDSN[NY>W8MB]BHOKB;(]_%DW?IDU?Q^I_T=KEI#
MQMBD^O:QZ2*U-=1FX>3//\XOXFLUYR#-%B7/8M/!(GV]J#X\SV->5IP?Q.4U
MMC!_@74S8#X"$ $,7]TOY,GI"\];TE'D,_55)9[Y_]O7CXU=LHEI,<G4E7FR
M7U21YO*BY$5YSH6::?25M?+A1KT]6:3SFYE:?W9=J,1N=E84-:L&)3,H86A0
M_K6ILTD/^,^$M]S%^@S@*G<_/1?&?9Q^>C:XESH^J.,#WNBF-^3E@'J?R:'&
M[F-7O:$?'_%S#8N\Y+,!AL53-QN09^:#<WVUZL88VA-,JWY6H7L#JKHO52;5
M,EK63'NI?'NBKZ92I=/W69F6#V=ZWBOX[*.^X?Y?ZF'JDY#&,@P!#U (2!#J
M22F*)! H422,(L0$GI:/@WJJ,O#M8MU_U<F!'DX<?"L;-%JH17Y;Q$^SVWQF
MF[+T;&7F-SK)^%PM;OCJ!@W3) )+Y*=+D-X*I5?!]#3.-Y,GE[H0.3L^/;.1
M,9/'-2PSDP[DQ;;W>7S8^R=]+33PRO6%BE]=Y3\G^EY- 4+F IB+2E;-%B<[
M#^]=L<;)B_@ SZL6DSC7N<Y-"6J4F]RPI4-EWO*Y+ZG3W9YX>2%5H?-7BPN6
M\?=.2OWP%ZO_=!!1:$HAIE2&/B"4)(!H\0(F!06!DCB@0:B$+]S$;.EEI()>
M07RYOO ,6._R+G<5MHW8MN+N2=<P G=GJH/0]S#10^PVJP,+?H]CNZ+?U[BK
M\"_Y_4>I@TF:I,OEUZ?;N5#%5.N;1BPF *M0 L)(!$04A2"F?A33Q.<))V[B
M;^AII % H_7J<+TE7M< T$1PVR#P#+0-$PC<&>L0" ZPT2,8-%D>." <<' W
M*!RZX?DR CB% >=*B@A$#&% 8!P"YB<!P!'AOHI%C'G0-R. (PT(]GGN<Z;Z
M9P2P1T;@1->OS CV,?4L&0$\2D9@4\O &0%TR0A@#^%?%MQ4N2\>YB*?3;$?
M4!; $ A"]!K IQ(PPG0&X..8*1$DDB9MQ5ZS/#:!K\!Y2W3MY5RGZ["$.Y-P
M9-FV]-])I%9?.PFS;FDP,5H=V!2@O4'7V?9#.E.KQ!!BQ62HU]D)CLW:.X&
M^D0!)(7/?10BRJ#;)/MD?&S26\T8!F#']'J#N+:3:#<ZAID[VS#18;;<=;G'
M)+EA;."Y<=>-W2G1TL9=E%\*=9;/YTKC,EN['Q>+6U5<FKIX\3E)]%@C J$H
M4- LBCD@$2. (\&!P(*("%/%8.O)\5!G8Q.MQ@OB#<#>$K&WA.Q5F-O+^"#5
MAV7]G 0>6>:]N',2?EM2.@6"@\8'"PQMW=P,%*WO<0\<%_DLC=-2)P9_<*W%
ME,^F(N8!]CD#"1%$S^=A!$1BMLA$HJ=SBKBDK1?-N^;'%AR>$'IKB.UC@86]
MP^KOQ\F1]>Y"AY.\F[WN)&B+N<$DW.S*IFCWM.I9XCK3EY^+R_PNFTJ$5(C]
M"$0DQH PB0'G5( D(D3A!$*:^)T*7$]]C$VPVT4;@U3SZ!FL'4M;&X0Z%K:Z
MT31P6:L50]U+6KL<]"]H;=C\->6L7:<:BUF6IET%_C&+\^(F+ZJZ^$6IX\99
M?IN5Q<-9+M4TXIQ%$ D0,Q\!0C@!C"($H@!&!&.L()1N8M_;WTB%7\/\TJM0
MF]&]0NX9Z*YQ8#_O;6/"L[$Y3'SH162'<-&*GAZA8[_]@<-(*V=W0TJ[V]S#
MBWE7>?;E.L_6M2>S*Y8$C )%H(XE@B6 *>J#6,((QC[GBH1M8\FV\;$%C@J?
M5P%T+MKM$'<X&/2AX\C*=V#"2>!-+G=2\XZQP:3;Y,:F3AO;]$SJO^2+DL_^
MG=Y44PZG, Y\%0$>8K-Q31$02#(0AB@,&>(DBAQKZK9NQB;4[<1U"=;3:#O-
MZE9F'1/\SGP-G..WI:I[FF]EHG^F7S?[:Y)]JVN-^;Z]M;O\OQ=I6:K,5/9N
ML]6[, N]HN<^Q":K3Z32*WJ! &6< M\7.O5/D*1QZR3?VL/81+\"Z=51MM>Z
MG<;#,N]-SI$5[LB+D[#W^MY)TW:+@\EYKT.;2M[?T%W$9O'_KE"\FEL0BF."
M*0?+M]!1B('@IB0'8> S"CEBK4^3;!H>FV2K@I(!YS@MU\@ZK-"N%!Q9F"V]
M=Q*DS=5..JP9&DQ^-OB;JK-^WT%L^4]5O!.+LN!QV68 ;;8?TP@RN+S_K)']
M]YG&D,W;;H.H9FFX461SH#:,K TZ;'JJ^%;/ P\ZH;I,RYF:^IQ%89) P"03
M@(B  H[C$/!(L< 75#$5M=[RW#(^MN!=@?+RQ(/H;^+OWAJNPZ;G-GN'A=B'
MDR-KT94.MTW/!K^[;7EN&QMNP[/!C=IV9U,;=WFN?Z#B4M\Z383D"6<8H @1
M0& 0 $Y#"$C$8TP1)"AJ?:AOT_#89/GXJQP&7'LQUK@Z+,2N#!Q9A.V<=Y*>
MS=-.LJL9&DQR-OB;<K-^[RZU=]J&-'8^S/C55%+*(ACII8M4"!#* D A@4#1
M1& :!%J'K<_0U2R/36R/X#R#KKW:ZG0=EEMG$HZLMY;^.PG.ZFLGQ=4M#28Y
MJP.;FK,WZ)Y^OK^/K_5349_TDYJ&(8QH+#G 4&>?!&("A! 0T 1%'%(H(M\Y
M!=WL8&P27&/TUB ]@](]"ZV1V#X3[4K-D87IR$JG9-3F>J^$M&9P\*34YHXM
M,;6VZ[II]U5=I689FI75N,-^@F48$:!B'@ 2<@$$@QC(A(>02U\@C-RVZ^H=
MC$V\J]VG)Y".XK62>%B\?:DYLG@=6>FP%6=WO<<FW);!@;??[.[L;KPUM.LJ
MWO=S55REV=4_B_RNO#[+YS<\>YA&%,G$9PE(9!0"0O1JD^$@ 2Q&%#,4$A&U
M/B&SIY^12GF-U5N"]59H725MI[:MLGL3-HS 7;GJ(/2]3/30N]WNP++?Z]RN
M^O<W[_G:3?6.W>?B2Y'_3#7\:9CXPL<)!('OF^UW% $:4&0.LT(58AFPCB_>
M;'4TTC#P^#[)X]N@:\ =7[[9YK=M*.C/VC"QH -AW5_!:6"C_TLXVX9_S6LX
M#>XUOHC3U+Y[Q?GQ=T!_UY:GBH50!5P!'(=,QP)( 8^C ' E)?%Q&"/4>DEN
M[6%L0>"Q#+M$Z6F8GL'I7HZN$]F^+MV9GJ$*U&V9Z52KMGK?JVA=MSAX]=KJ
MD*V,;6_8^QS\YK%LS!54%(5Z91[$@)@R-]/K=OUG@E @$%&\]5&YYF[&)NF=
M\]O/<NB]UW'W_Y.#[D<_X7ZDL^UC.-7N=I[=Y23[YI,XUU>G+]:?I,O?T#]]
M\3]02P,$%     @ 4(%B5J*(!)#2!@  _#(  !4   !S<'-C+3(P,C,P,S Q
M7W!R92YX;6S5FUM/W,@2Q]_S*>:PKZ>9OE]0PHK#)D=HV0U*6&6U+U9?!RL>
M>]0V ;[]*1M(N(1='SP2SHOQ>-JNZG_]IKNJ9GC]\^6Z6GR)N2V;^LT.V<4[
MBUC[)I3UZLW.'Z?OD-[Y>?_5J]?_0NC/_WPX7OS2^/-UK+O%88ZVBV%Q479G
MBT\AMI\7*3?KQ:<F?RZ_6(3VAYL.F\U5+E=GW8)BRAZ^F_=H9"818I%,S"+N
MX,P(ZA .C#.GG%?!_'NU%[ES@@:-*+8>\1 XTH)J% BG4DL?D^##0ZNR_KS7
M'YQMXP(F5[?#RS<[9UVWV5LN+RXN=B]=KG:;O%I2C-GR=O3.S?#+1^,OV#":
M&&.6P[M?A[;E]P;"8\GRS]^./_JSN+:HK-O.UKXWT)9[[7#QN/&V&S3_1[\6
M3X[H7Z';8:B_A A%C.Q>MF%G_]5B<2U';JKX(:9%__>/#T?W3+:;UC?K=<P^
M[L+)LA^S/&R "/!VN+N[VL0W.VVYWE3Q]MI9C@FNP;VH#RMF>+#YT_6-RV^F
M-SFV0,LPU6.X<'-_;^59;L3++M8A7L_NUDC5^'N#JE[;YNN=E76Q&JX6(9;%
M\-0#UW;9^JZ04IL4<42.2($X=AY9SQU*04DNC1**FONS[KUNP>TA%&WTNZOF
MRQ(>#"&AM#_I):&#'(_,74OS/+]O/WFG,+9PWB3*.$$Q)H.XA,@;FS12/"E)
MK;+6ATENW[5VW^N[(3W(?M'D$#,L';?F;/:/PGL?VYL1RXW-\"#DS\KJJ[/]
M&K*-6'7-%I2[#@NXN[. 6:>8<PS'UU%Y<G+#S#I84.,P<AL1/XFY;,+;.OP"
M*VZAJ!+"&H\$]@IQ[3#2"4MDM!7&:&V5]%L)_3VSHQB@\V?@^5J^, QOZZ[L
MKC[$5=DK47>_VW4L--.8$9)0\HZ"&C(@$^$E0!Z$%["S.C:)A>]9'84"FR\*
MDY6<!0E'D*7E39,'X3^"_O&P.:^[?'78A%AXX35/P:$@#4:<2TBKL)8HZ,0-
MXS:)9+< QM\Z,8H3/G=.MJ?S++!Y5U;Q]_.UB[D(GG/-!="N6'_0#EFI*"*$
MDABT$=S0+3#RS>(H(,3<@7BF@K.(_JF]/ J@59G*Z_+C9B(N4&T=,X@8&:$*
M2PG9$!+B!#L=<')1XRV@\(3Y45S(N7.Q#6UG <E!"!""]N8/5&V1%$1)J+ 5
ME.DZ,<09!Y&<U,A))ZPRRD,:M05 OF-Z%!QJ[G!,U72F8-!":I:L3QR)!-L>
M9- &N< 4(CR!_U+"Y6F%Z).F1X&A?SPP_C]-YP3&(9R^SZ?-15W08#QLCB!*
M4!IVQD20U9[#P1%&E&#:;B.W>&1X%!3F!X'BF7K."8DA87Z?3W+SI:Q]+(A6
MQ$F:$!8$YN&8AS++0_JL@V1>)R6UVQX7#ZR/ZV/A'X2.*=+."9&3INUL]5>Y
M&0HJBK50Q@2$B5&(1Z^AH'(:49%P$H8Z*N7V +EG>QP>,^YS;DG6%X:C7_4.
M<K2#W]P&Q?NM,%! F8OHD0Y"H,2Y5Y Z,^^GK1=WK8T#8,9-SF=+]\(A[[\,
MJT[.FOJVL+;>@X=&0Z4DP'>98"U+<$B82<IE2 )/2Q\>6AP7^ADW-2=)^,+A
M_Y3+KHOU8;->G]<WQ7-;:.43D4&C1!4L62)@I 6W4",Q'"EC!C*A20Q\U^PX
M$&;<M9PNY@O3\+&I2E]V9;WZ#1*<7-JJ\)R$E(A'7E ,!5$$JBU.*)"@F()U
M3HMI1>9CF^,XF'&S<J*,+PS!28X]P1$2V^&;V_Y+__P^I7YA$SQ18R,D,(0#
MRM8@BX5&.%$6J6-2)CX)AJ=MCX-BQIW*+<DZ+SB.VO8\YKMS$302C"5%(;($
MI5 _%VD8PE(QJRT!P:9U*__)@W&@S+AKN56)7WI#B?X<-L4K0MUIV56Q<-P:
MKVU U/L(J1$CR-FD4$S*!Z\P57SB=O+ XC@<9MRKG"3A"X?_--O^UXP?K]:N
MJ0H2 [-*,\12!&Z] &X)IH@%QR5G0CD\+:N\9VY<X&?<CWR^>#/YT+^]]&>V
M7L7A1QX!-K&$O4%.&8)XT@KTX Q1%Z2+GG#Z+:.;],&_:W7<+Z=FW'6<+.4L
MNHUOUS&O .7_YN:B.X/-;6/KJP(S'Z$<=D@E#],0"2;D8$+11H9Y$%28:43\
MC?%Q8,R^WSA=V!?FXP RG-!G.>\JNRJ2HC$Q+)&D&O)@APTRW#EDO$N0YL"I
MFE9>W#,WCH$9MQR?+]XL5H5#\#S;Z@@2V\M?XU5A@A.1^X"(5/U/-*(%&0+O
MJR AA>:14;6%]>"!V7$4S+C[.%W,K='P>OE(Q&.XL/_JYHW^T/^[Q/ZK_P%0
M2P$"% ,4    " !0@6)6!,XMPY$(  #5+@  '@              @ $
M83$P,2UA8FQA8VMA;65N9&UE;G1T;W-E=F4N:'1M4$L! A0#%     @ 4(%B
M5OQ6"8!>"   O2P  !X              ( !S0@  &$Q,#,M9F]R;65X96-U
M=&EV96%M96YD;65N+FAT;5!+ 0(4 Q0    ( %"!8E9=ZHF570P  )(H   5
M              "  6<1  !A.3DQ+7!R97-S<F5L96%S92YH=&U02P$"% ,4
M    " !0@6)6(42!5;\?  #%S@  $0              @ 'W'0  <W!S8RTR
M,#(S,#,P,2YH=&U02P$"% ,4    " !0@6)6*Y!1B&@"  !W!P  $0
M        @ 'E/0  <W!S8RTR,#(S,#,P,2YX<V102P$"% ,4    " !0@6)6
MD;%<G8\*   180  %0              @ %\0   <W!S8RTR,#(S,#,P,5]L
M86(N>&UL4$L! A0#%     @ 4(%B5J*(!)#2!@  _#(  !4
M ( !/DL  '-P<V,M,C R,S S,#%?<')E+GAM;%!+!08     !P ' -\!  !#
%4@     !

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
