XML 87 R70.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Stockholders' Equity - Share Repurchase Plan (Details) - USD ($) $ in Thousands | 12 Months Ended |
--- | --- | ---
Dec. 31, 2023 | Dec. 31, 2022
Schedule Of Stockholders Equity [Line Items] |  |
Share Value Repurchased | $ 128,892 | $ 128,892
Common Stock | 2019 Program |  |
Schedule Of Stockholders Equity [Line Items] |  |
Share Value Authorized for Repurchase | 50,000 |
Share Value Repurchased | 29,611 |
Unused & Expired Share Repurchase Value | 20,389 |
Common Stock | 2021 Program |  |
Schedule Of Stockholders Equity [Line Items] |  |
Share Value Authorized for Repurchase | 50,000 |
Share Value Repurchased | 49,992 |
Unused & Expired Share Repurchase Value | 8 |
Common Stock | 2022 Program |  |
Schedule Of Stockholders Equity [Line Items] |  |
Share Value Authorized for Repurchase | 50,000 |
Share Value Repurchased | 2,992 |
Share Value Available for Future Repurchase | $ 47,008 |

X
- Definition Schedule of stockholders equity. + References No definition available. + Details
Name: | spsc_ScheduleOfStockholdersEquityLineItems
Namespace Prefix: | spsc_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Treasury Stock, Unused and Expired Repurchase Value + References No definition available. + Details
Name: | spsc_TreasuryStockUnusedAndExpiredRepurchaseValue
Namespace Prefix: | spsc_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramAuthorizedAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount remaining of a stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.30) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_TreasuryStockCommonValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareRepurchaseProgramAxis=spsc_TwoThousandAndNineteenStockRepurchaseProgramMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareRepurchaseProgramAxis=spsc_A2021StockRepurchaseProgramMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareRepurchaseProgramAxis=spsc_A2022StockRepurchaseProgramMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |