spsc-10q_20200930.htm
false 2020 Q3 0001092699 --12-31 P3Y P3Y P3Y P3Y P1Y P5Y P1Y P5Y P4Y P6M 0001092699 2020-01-01 2020-09-30 xbrli:shares 0001092699 2020-10-23 iso4217:USD 0001092699 2020-09-30 0001092699 2019-12-31 iso4217:USD xbrli:shares 0001092699 2020-07-01 2020-09-30 0001092699 2019-07-01 2019-09-30 0001092699 2019-01-01 2019-09-30 0001092699 us-gaap:CommonStockMember 2019-06-30 0001092699 us-gaap:TreasuryStockMember 2019-06-30 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0001092699 us-gaap:RetainedEarningsMember 2019-06-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 0001092699 2019-06-30 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-07-01 2019-09-30 0001092699 us-gaap:CommonStockMember 2019-07-01 2019-09-30 0001092699 us-gaap:TreasuryStockMember 2019-07-01 2019-09-30 0001092699 us-gaap:RetainedEarningsMember 2019-07-01 2019-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-07-01 2019-09-30 0001092699 us-gaap:CommonStockMember 2019-09-30 0001092699 us-gaap:TreasuryStockMember 2019-09-30 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-09-30 0001092699 us-gaap:RetainedEarningsMember 2019-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-09-30 0001092699 2019-09-30 0001092699 us-gaap:CommonStockMember 2020-06-30 0001092699 us-gaap:TreasuryStockMember 2020-06-30 0001092699 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001092699 us-gaap:RetainedEarningsMember 2020-06-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-30 0001092699 2020-06-30 0001092699 us-gaap:AdditionalPaidInCapitalMember 2020-07-01 2020-09-30 0001092699 us-gaap:CommonStockMember 2020-07-01 2020-09-30 0001092699 us-gaap:RetainedEarningsMember 2020-07-01 2020-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-07-01 2020-09-30 0001092699 us-gaap:CommonStockMember 2020-09-30 0001092699 us-gaap:TreasuryStockMember 2020-09-30 0001092699 us-gaap:AdditionalPaidInCapitalMember 2020-09-30 0001092699 us-gaap:RetainedEarningsMember 2020-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-09-30 0001092699 us-gaap:CommonStockMember 2018-12-31 0001092699 us-gaap:TreasuryStockMember 2018-12-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001092699 us-gaap:RetainedEarningsMember 2018-12-31 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001092699 2018-12-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-09-30 0001092699 us-gaap:CommonStockMember 2019-01-01 2019-09-30 0001092699 us-gaap:TreasuryStockMember 2019-01-01 2019-09-30 0001092699 us-gaap:RetainedEarningsMember 2019-01-01 2019-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember us-gaap:AccountingStandardsUpdate201802Member srt:RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember 2018-12-31 0001092699 us-gaap:AccountingStandardsUpdate201802Member srt:RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember 2018-12-31 0001092699 us-gaap:CommonStockMember 2019-12-31 0001092699 us-gaap:TreasuryStockMember 2019-12-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001092699 us-gaap:RetainedEarningsMember 2019-12-31 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-09-30 0001092699 us-gaap:CommonStockMember 2020-01-01 2020-09-30 0001092699 us-gaap:TreasuryStockMember 2020-01-01 2020-09-30 0001092699 us-gaap:RetainedEarningsMember 2020-01-01 2020-09-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-09-30 0001092699 us-gaap:RetainedEarningsMember us-gaap:AccountingStandardsUpdate201613Member srt:RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember 2019-12-31 0001092699 us-gaap:AccountingStandardsUpdate201613Member srt:RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember 2019-12-31 0001092699 spsc:PerformanceShareUnitsRestrictedStockUnitsRestrictedStockAwardsAndDeferredStockUnitsMember 2020-01-01 2020-09-30 0001092699 us-gaap:AccountingStandardsUpdate201613Member srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember 2020-09-30 xbrli:pure 0001092699 2019-08-08 2019-08-08 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2020-07-01 2020-09-30 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2019-07-01 2019-09-30 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2020-01-01 2020-09-30 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2019-01-01 2019-09-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2020-07-01 2020-09-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2019-07-01 2019-09-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2020-01-01 2020-09-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2019-01-01 2019-09-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2020-07-01 2020-09-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2019-07-01 2019-09-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2020-01-01 2020-09-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2019-01-01 2019-09-30 0001092699 spsc:RecurringRevenuesMember 2020-07-01 2020-09-30 0001092699 spsc:RecurringRevenuesMember 2019-07-01 2019-09-30 0001092699 spsc:RecurringRevenuesMember 2020-01-01 2020-09-30 0001092699 spsc:RecurringRevenuesMember 2019-01-01 2019-09-30 0001092699 spsc:OneTimeRevenuesMember 2020-07-01 2020-09-30 0001092699 spsc:OneTimeRevenuesMember 2019-07-01 2019-09-30 0001092699 spsc:OneTimeRevenuesMember 2020-01-01 2020-09-30 0001092699 spsc:OneTimeRevenuesMember 2019-01-01 2019-09-30 0001092699 srt:MinimumMember 2020-01-01 2020-09-30 0001092699 srt:MaximumMember 2020-01-01 2020-09-30 0001092699 spsc:AnalyticsMember 2020-01-01 2020-09-30 0001092699 spsc:SetUpFeesMember 2020-06-30 0001092699 spsc:SetUpFeesMember 2019-06-30 0001092699 spsc:SetUpFeesMember 2019-12-31 0001092699 spsc:SetUpFeesMember 2018-12-31 0001092699 spsc:SetUpFeesMember 2020-07-01 2020-09-30 0001092699 spsc:SetUpFeesMember 2019-07-01 2019-09-30 0001092699 spsc:SetUpFeesMember 2020-01-01 2020-09-30 0001092699 spsc:SetUpFeesMember 2019-01-01 2019-09-30 0001092699 spsc:SetUpFeesMember 2020-09-30 0001092699 spsc:SetUpFeesMember 2019-09-30 0001092699 us-gaap:MoneyMarketFundsMember 2020-09-30 0001092699 us-gaap:CertificatesOfDepositMember 2020-09-30 0001092699 us-gaap:CorporateDebtSecuritiesMember 2020-09-30 0001092699 us-gaap:CommercialPaperMember 2020-09-30 0001092699 us-gaap:USTreasurySecuritiesMember 2020-09-30 0001092699 us-gaap:MoneyMarketFundsMember 2019-12-31 0001092699 us-gaap:CertificatesOfDepositMember 2019-12-31 0001092699 us-gaap:CorporateDebtSecuritiesMember 2019-12-31 0001092699 us-gaap:CommercialPaperMember 2019-12-31 0001092699 us-gaap:USTreasurySecuritiesMember 2019-12-31 0001092699 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2020-09-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2020-09-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2020-09-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2020-09-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2020-09-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001092699 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001092699 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:CertificatesOfDepositMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:CorporateDebtSecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:CorporateDebtSecuritiesMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:CommercialPaperMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001092699 us-gaap:FairValueInputsLevel3Member 2020-09-30 0001092699 us-gaap:CustomerRelationshipsMember 2020-09-30 0001092699 us-gaap:NoncompeteAgreementsMember 2020-09-30 0001092699 us-gaap:TechnologyBasedIntangibleAssetsMember 2020-09-30 0001092699 us-gaap:CustomerRelationshipsMember 2019-12-31 0001092699 us-gaap:NoncompeteAgreementsMember 2019-12-31 0001092699 us-gaap:TechnologyBasedIntangibleAssetsMember 2019-12-31 0001092699 srt:MinimumMember spsc:OtherLeasesMember 2020-09-30 0001092699 srt:MaximumMember spsc:OtherLeasesMember 2020-09-30 0001092699 stpr:MN 2020-09-30 0001092699 country:UA 2020-09-30 0001092699 stpr:NJ 2020-09-30 0001092699 spsc:OtherLeasesMember 2020-09-30 0001092699 srt:MinimumMember spsc:OtherLeasesMember 2019-12-31 0001092699 srt:MaximumMember spsc:OtherLeasesMember 2019-12-31 0001092699 stpr:MN 2019-12-31 0001092699 country:UA 2019-12-31 0001092699 stpr:NJ 2019-12-31 0001092699 spsc:OtherLeasesMember 2019-12-31 0001092699 us-gaap:StockCompensationPlanMember spsc:TwoThousandTenMember 2020-02-29 0001092699 us-gaap:CostOfSalesMember 2020-07-01 2020-09-30 0001092699 us-gaap:CostOfSalesMember 2019-07-01 2019-09-30 0001092699 us-gaap:CostOfSalesMember 2020-01-01 2020-09-30 0001092699 us-gaap:CostOfSalesMember 2019-01-01 2019-09-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2020-07-01 2020-09-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2019-07-01 2019-09-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-09-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2019-01-01 2019-09-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2020-07-01 2020-09-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2019-07-01 2019-09-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-09-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-09-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2020-07-01 2020-09-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2019-07-01 2019-09-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-09-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2019-01-01 2019-09-30 0001092699 us-gaap:EmployeeStockOptionMember 2020-07-01 2020-09-30 0001092699 us-gaap:EmployeeStockOptionMember 2019-07-01 2019-09-30 0001092699 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-09-30 0001092699 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-09-30 0001092699 us-gaap:PerformanceSharesMember 2020-07-01 2020-09-30 0001092699 us-gaap:PerformanceSharesMember 2019-07-01 2019-09-30 0001092699 us-gaap:PerformanceSharesMember 2020-01-01 2020-09-30 0001092699 us-gaap:PerformanceSharesMember 2019-01-01 2019-09-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2020-07-01 2020-09-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2019-07-01 2019-09-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-09-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-09-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2020-07-01 2020-09-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2019-07-01 2019-09-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2020-01-01 2020-09-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2019-01-01 2019-09-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2020-07-01 2020-09-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2019-07-01 2019-09-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2020-01-01 2020-09-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2019-01-01 2019-09-30 0001092699 spsc:FourZeroOneKStockMatchMember 2020-07-01 2020-09-30 0001092699 spsc:FourZeroOneKStockMatchMember 2019-07-01 2019-09-30 0001092699 spsc:FourZeroOneKStockMatchMember 2020-01-01 2020-09-30 0001092699 spsc:FourZeroOneKStockMatchMember 2019-01-01 2019-09-30 0001092699 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2020-01-01 2020-09-30 0001092699 us-gaap:EmployeeStockOptionMember srt:MaximumMember 2020-01-01 2020-09-30 0001092699 us-gaap:EmployeeStockOptionMember 2020-09-30 0001092699 us-gaap:PerformanceSharesMember 2017-02-01 2017-02-28 0001092699 us-gaap:PerformanceSharesMember 2018-02-01 2018-02-28 0001092699 us-gaap:PerformanceSharesMember 2019-02-01 2019-02-28 0001092699 us-gaap:PerformanceSharesMember 2020-02-01 2020-02-29 0001092699 us-gaap:RestrictedStockMember 2020-01-01 2020-09-30 0001092699 spsc:DeferredStockUnitsMember 2020-01-01 2020-09-30 0001092699 spsc:DeferredStockUnitsMember srt:MaximumMember 2020-01-01 2020-09-30 0001092699 spsc:PerformanceShareUnitsRestrictedStockUnitsRestrictedStockAwardsAndDeferredStockUnitsMember 2019-12-31 0001092699 spsc:PerformanceShareUnitsRestrictedStockUnitsRestrictedStockAwardsAndDeferredStockUnitsMember 2020-09-30 0001092699 us-gaap:EmployeeStockMember 2020-01-01 2020-09-30 spsc:Offering 0001092699 us-gaap:EmployeeStockMember 2020-09-30 0001092699 us-gaap:EmployeeStockMember 2020-07-01 2020-09-30 0001092699 us-gaap:EmployeeStockMember 2019-07-01 2019-09-30 0001092699 us-gaap:EmployeeStockMember 2019-01-01 2019-09-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2020-07-01 2020-09-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2019-07-01 2019-09-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2019-01-01 2019-09-30 0001092699 us-gaap:GeographicDistributionForeignMember srt:MaximumMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001092699 us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember us-gaap:PropertyPlantAndEquipmentMember 2020-01-01 2020-09-30 0001092699 us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember us-gaap:PropertyPlantAndEquipmentMember 2019-01-01 2019-09-30 spsc:jurisdiction

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

FORM 10-Q

(Mark One)

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the Quarterly Period Ended: September 30, 2020

 

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the Transition Period from              to             

Commission file number 001-34702

SPS COMMERCE, INC.

(Exact Name of Registrant as Specified in its Charter)

 

Delaware

41-2015127

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification No.)

 

333 South Seventh Street, Suite 1000, Minneapolis, MN 55402

(Address of principal executive offices, including Zip Code)

(612) 435-9400

(Registrant’s telephone number, including area code)

 

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

 

Trading Symbol

 

Name of exchange on which registered

Common Stock, par value $0.001 per share

 

SPSC

 

The Nasdaq Stock Market LLC (Nasdaq Global Market)

 

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.  Yes ☒  No 

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes  ☒    No  

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 

Large accelerated filer

 

  

Accelerated filer

 

 

 

 

 

 

 

 

Non-accelerated filer

 

  

Smaller reporting company

 

 

 

 

 

 

 

 

 

 

 

 

Emerging growth company

 

 

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. 

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes      No  

The number of shares of the registrant’s common stock, par value $0.001 per share, outstanding at October 23, 2020 was 35,308,834 shares.

 


Table of Contents

 

SPS COMMERCE, INC.

QUARTERLY REPORT ON FORM 10-Q

TABLE OF CONTENTS

 

 

 

 

 

Page

PART I. FINANCIAL INFORMATION

 

 

 

 

 

Item 1.

 

Financial Statements (unaudited)

 

3

 

 

 

 

 

 

 

Condensed Consolidated Balance Sheets

 

3

 

 

 

 

 

 

 

Condensed Consolidated Statements of Comprehensive Income

 

4

 

 

 

 

 

 

 

Condensed Consolidated Statements of Stockholders’ Equity

 

5

 

 

 

 

 

 

 

Condensed Consolidated Statements of Cash Flows

 

6

 

 

 

 

 

 

 

Notes to Condensed Consolidated Financial Statements

 

7

 

 

 

 

 

Item 2.

 

Management’s Discussion and Analysis of Financial Condition and Results of Operations

 

20

 

 

 

 

 

Item 3.

 

Quantitative and Qualitative Disclosures About Market Risk

 

28

 

 

 

 

 

Item 4.

 

Controls and Procedures

 

28

 

 

 

 

 

PART II. OTHER INFORMATION

 

 

 

 

 

Item 1.

 

Legal Proceedings

 

29

 

 

 

 

 

Item 1A.

 

Risk Factors

 

29

 

 

 

 

 

Item 2.

 

Unregistered Sales of Equity Securities and Use of Proceeds

 

29

 

 

 

 

 

Item 3.

 

Defaults Upon Senior Securities

 

29

 

 

 

 

 

Item 4.

 

Mine Safety Disclosures

 

29

 

 

 

 

 

Item 5.

 

Other Information

 

29

 

 

 

 

 

Item 6.

 

Exhibits

 

30

 

 

 

 

 

Signatures

 

31

 

Unless the context otherwise requires, for purposes of the Quarterly Report on Form 10-Q, the words “we,” “us,” “our,” the “Company,” “SPS,” and “SPS Commerce” refer to SPS Commerce, Inc.


 

    SPS COMMERCE, INC.

2

Form 10-Q for the quarterly period ended September 30, 2020

 


Table of Contents

 

PART I. – FINANCIAL INFORMATION

Item 1.Financial Statements

SPS COMMERCE, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

 

 

 

September 30,

 

 

December 31,

 

(In thousands, except shares)

 

2020

 

 

2019

 

ASSETS

 

(unaudited)

 

 

 

 

 

CURRENT ASSETS

 

 

 

 

 

 

 

 

Cash and cash equivalents

 

$

208,930

 

 

$

179,252

 

Short-term investments

 

 

52,300

 

 

 

34,284

 

Accounts receivable

 

 

34,048

 

 

 

33,001

 

Allowance for credit losses

 

 

(3,759

)

 

 

(1,469

)

Accounts receivable, net

 

 

30,289

 

 

 

31,532

 

Deferred costs

 

 

36,562

 

 

 

35,274

 

Other assets

 

 

8,927

 

 

 

11,279

 

Total current assets

 

 

337,008

 

 

 

291,621

 

PROPERTY AND EQUIPMENT, less accumulated depreciation of $58,629 and $50,574,

   respectively

 

 

25,053

 

 

 

23,752

 

OPERATING LEASE RIGHT-OF-USE ASSETS

 

 

14,092

 

 

 

15,744

 

GOODWILL

 

 

76,543

 

 

 

76,845

 

INTANGIBLE ASSETS, net

 

 

18,575

 

 

 

22,668

 

INVESTMENTS

 

 

2,476

 

 

 

 

OTHER ASSETS

 

 

 

 

 

 

 

 

Deferred costs, non-current

 

 

11,571

 

 

 

11,667

 

Deferred income tax assets

 

 

140

 

 

 

2,630

 

Other assets, non-current

 

 

2,228

 

 

 

2,513

 

Total assets

 

$

487,686

 

 

$

447,440

 

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

CURRENT LIABILITIES

 

 

 

 

 

 

 

 

Accounts payable

 

$

5,036

 

 

$

4,274

 

Accrued compensation

 

 

19,374

 

 

 

22,303

 

Accrued expenses

 

 

6,042

 

 

 

6,207

 

Deferred revenue

 

 

35,582

 

 

 

31,463

 

Operating lease liabilities

 

 

4,355

 

 

 

3,783

 

Total current liabilities

 

 

70,389

 

 

 

68,030

 

OTHER LIABILITIES

 

 

 

 

 

 

 

 

Deferred revenue, non-current

 

 

2,693

 

 

 

2,851

 

Operating lease liabilities, non-current

 

 

16,725

 

 

 

20,085

 

Deferred income tax liabilities

 

 

2,939

 

 

 

1,193

 

Other liabilities, non-current

 

 

 

 

 

405

 

Total liabilities

 

 

92,746

 

 

 

92,564

 

COMMITMENTS and CONTINGENCIES

 

 

 

 

 

 

 

 

STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

Preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding

 

 

 

 

 

 

Common stock, $0.001 par value; 110,000,000 and 55,000,000 shares authorized;

   36,904,856 and 36,104,619 shares issued; and

   35,291,606 and 34,863,271 outstanding, respectively

 

 

37

 

 

 

36

 

Treasury stock, at cost; 1,613,250 and 1,241,348 shares, respectively

 

 

(65,247

)

 

 

(46,297

)

Additional paid-in capital

 

 

382,992

 

 

 

354,115

 

Retained earnings

 

 

80,020

 

 

 

48,973

 

Accumulated other comprehensive loss

 

 

(2,862

)

 

 

(1,951

)

Total stockholders’ equity

 

 

394,940

 

 

 

354,876

 

Total liabilities and stockholders’ equity

 

$

487,686

 

 

$

447,440

 

 

See accompanying notes to these condensed consolidated financial statements.

 

    SPS COMMERCE, INC.

3

Form 10-Q for the quarterly period ended September 30, 2020

 


Table of Contents

 

SPS COMMERCE, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

 

 

 

Three Months Ended

 

 

Nine Months Ended

 

 

 

September 30,

 

 

September 30,

 

(In thousands, except per share amounts) (Unaudited)

 

2020

 

 

2019

 

 

2020

 

 

2019

 

Revenues

 

$

79,557

 

 

$

70,928

 

 

$

229,322

 

 

$

206,391

 

Cost of revenues

 

 

25,045

 

 

 

23,263

 

 

 

72,915

 

 

 

68,330

 

Gross profit

 

 

54,512

 

 

 

47,665

 

 

 

156,407

 

 

 

138,061

 

Operating expenses

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sales and marketing

 

 

19,233

 

 

 

16,937

 

 

 

56,143

 

 

 

52,404

 

Research and development

 

 

8,053

 

 

 

7,743

 

 

 

23,087

 

 

 

20,444

 

General and administrative

 

 

11,939

 

 

 

10,725

 

 

 

36,591

 

 

 

33,674

 

Amortization of intangible assets

 

 

1,333

 

 

 

1,327

 

 

 

3,985

 

 

 

3,897

 

Total operating expenses

 

 

40,558

 

 

 

36,732

 

 

 

119,806

 

 

 

110,419

 

Income from operations

 

 

13,954

 

 

 

10,933

 

 

 

36,601

 

 

 

27,642

 

Other income (expense)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Interest income, net

 

 

116

 

 

 

843

 

 

 

982

 

 

 

2,233

 

Other income (expense), net

 

 

307

 

 

 

(165

)

 

 

308

 

 

 

28

 

Change in earn-out liability

 

 

 

 

 

22

 

 

 

(72

)

 

 

366

 

Total other income, net

 

 

423

 

 

 

700

 

 

 

1,218

 

 

 

2,627

 

Income before income taxes

 

 

14,377

 

 

 

11,633

 

 

 

37,819

 

 

 

30,269

 

Income tax expense

 

 

2,970

 

 

 

2,692

 

 

 

5,703

 

 

 

5,719

 

Net income

 

$

11,407

 

 

$

8,941

 

 

$

32,116

 

 

$

24,550

 

Other comprehensive income (expense)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Foreign currency translation adjustments

 

 

969

 

 

 

(958

)

 

 

(779

)

 

 

73

 

Unrealized gain (loss) on investments,

   net of tax of ($21), $38, $6 and $105

 

 

(59

)

 

 

115

 

 

 

19

 

 

 

315

 

Reclassification of (gain) loss on investments into earnings,

   net of tax of $2, ($49), ($51) and ($109)

 

 

7

 

 

 

(145

)

 

 

(151

)

 

 

(326

)

Total other comprehensive income (expense)

 

 

917

 

 

 

(988

)

 

 

(911

)

 

 

62

 

Comprehensive income

 

$

12,324

 

 

$

7,953

 

 

$

31,205

 

 

$

24,612

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Net income per share

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Basic

 

$

0.32

 

 

$

0.26

 

 

$

0.91

 

 

$

0.70

 

Diluted

 

$

0.31

 

 

$

0.25

 

 

$

0.89

 

 

$

0.68

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted average common shares used to compute net income per share

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Basic

 

 

35,295

 

 

 

35,015

 

 

 

35,133

 

 

 

34,966

 

Diluted

 

 

36,366

 

 

 

35,932

 

 

 

36,137

 

 

 

35,952

 

 

See accompanying notes to these condensed consolidated financial statements.

 

    SPS COMMERCE, INC.

4

Form 10-Q for the quarterly period ended September 30, 2020

 


Table of Contents

 

SPS COMMERCE, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accumulated

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Additional

 

 

 

 

 

 

Other

 

 

Total

 

 

 

Common Stock

 

 

Treasury Stock

 

 

Paid-in

 

 

Retained

 

 

Comprehensive

 

 

Stockholders'

 

(In thousands, except shares) (Unaudited)

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Capital

 

 

Earnings

 

 

Loss

 

 

Equity

 

Balances, June 30, 2019

 

 

34,936,212

 

 

$

36

 

 

 

1,007,478

 

 

$

(34,645

)

 

$

344,232

 

 

$

30,870

 

 

$

(2,160

)

 

$

338,333

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,804

 

 

 

 

 

 

 

 

 

2,804

 

Exercise of stock options and issuance of restricted stock

 

 

80,350

 

 

 

 

 

 

 

 

 

 

 

 

1,902

 

 

 

 

 

 

 

 

 

1,902

 

Employee stock purchase plan

 

 

2,178

 

 

 

 

 

 

 

 

 

 

 

 

76

 

 

 

 

 

 

 

 

 

76

 

Repurchases of common stock

 

 

(116,856

)

 

 

 

 

 

116,856

 

 

 

(6,000

)

 

 

 

 

 

 

 

 

 

 

 

(6,000

)

Net income

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8,941

 

 

 

 

 

 

8,941

 

Foreign currency translation adjustments

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(958

)

 

 

(958

)

Unrealized gain on investments, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

115

 

 

 

115

 

Reclassification of gain on investments into earnings,

   net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(145

)

 

 

(145

)

Balances, September 30, 2019

 

 

34,901,884

 

 

$

36

 

 

 

1,124,334

 

 

$

(40,645

)

 

$

349,014

 

 

$

39,811

 

 

$

(3,148

)

 

$

345,068

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Balances, June 30, 2020

 

 

35,126,118

 

 

$

37

 

 

 

1,613,250

 

 

$

(65,247

)

 

$

373,686

 

 

$

68,613

 

 

$

(3,779

)

 

$

373,310

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4,494

 

 

 

 

 

 

 

 

 

4,494

 

Exercise of stock options and issuance of restricted stock

 

 

163,478

 

 

 

 

 

 

 

 

 

 

 

 

4,717

 

 

 

 

 

 

 

 

 

4,717

 

Employee stock purchase plan

 

 

2,010

 

 

 

 

 

 

 

 

 

 

 

 

95

 

 

 

 

 

 

 

 

 

95

 

Net income

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11,407

 

 

 

 

 

 

11,407

 

Foreign currency translation adjustments

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

969

 

 

 

969

 

Unrealized loss on investments, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(59

)

 

 

(59

)

Reclassification of loss on investments into earnings,

   net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

7

 

Balances, September 30, 2020

 

 

35,291,606

 

 

$

37

 

 

 

1,613,250

 

 

$

(65,247

)

 

$

382,992

 

 

$

80,020

 

 

$

(2,862

)

 

$

394,940

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accumulated

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Additional

 

 

 

 

 

 

Other

 

 

Total

 

 

 

Common Stock

 

 

Treasury Stock

 

 

Paid-in

 

 

Retained

 

 

Comprehensive

 

 

Stockholders'

 

(In thousands, except shares) (Unaudited)

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Capital

 

 

Earnings

 

 

Loss

 

 

Equity

 

Balances, December 31, 2018

 

 

34,691,472

 

 

$

36

 

 

 

823,784

 

 

$

(25,679

)

 

$

332,574

 

 

$

15,261

 

 

$

(3,218

)

 

$

318,974

 

Stock-based compensation