XML 64 R47.htm IDEA: XBRL DOCUMENT
v3.24.0.1

General - Summary of Estimated Useful Lives of Property and Equipment (Details) | Dec. 31, 2023
--- | ---
Internally developed software |
Schedule of Accounting Policies [Line Items] |
Estimated useful lives of property and equipment | 3 years
Computer equipment |
Schedule of Accounting Policies [Line Items] |
Estimated useful lives of property and equipment | 3 years
Office equipment and furniture | Minimum |
Schedule of Accounting Policies [Line Items] |
Estimated useful lives of property and equipment | 5 years
Office equipment and furniture | Maximum |
Schedule of Accounting Policies [Line Items] |
Estimated useful lives of property and equipment | 7 years

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

X
- Definition Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment. + References No definition available. + Details
Name: | us-gaap_PropertyPlantAndEquipmentUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=spsc_InternallyDevelopedSoftwareMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=spsc_ComputerEquipmentAndSoftwareMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=spsc_OfficeEquipmentAndFurnitureMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |