spsc-10q_20200630.htm
false 2020 Q2 0001092699 --12-31 Large Accelerated Filer P3Y P3Y P3Y P3Y P5Y P5Y P5Y P5Y P3Y P4Y P1Y P5Y P1Y P5Y P4Y P6M 0001092699 2020-01-01 2020-06-30 xbrli:shares 0001092699 2020-07-24 iso4217:USD 0001092699 2020-06-30 0001092699 2019-12-31 iso4217:USD xbrli:shares 0001092699 2020-04-01 2020-06-30 0001092699 2019-04-01 2019-06-30 0001092699 2019-01-01 2019-06-30 xbrli:pure 0001092699 2019-08-21 2019-08-22 0001092699 us-gaap:CommonStockMember 2019-03-31 0001092699 us-gaap:TreasuryStockMember 2019-03-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 0001092699 us-gaap:RetainedEarningsMember 2019-03-31 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-31 0001092699 2019-03-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2019-04-01 2019-06-30 0001092699 us-gaap:CommonStockMember 2019-04-01 2019-06-30 0001092699 us-gaap:TreasuryStockMember 2019-04-01 2019-06-30 0001092699 us-gaap:RetainedEarningsMember 2019-04-01 2019-06-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-04-01 2019-06-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:CommonStockMember 2020-03-31 0001092699 us-gaap:TreasuryStockMember 2020-03-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001092699 us-gaap:RetainedEarningsMember 2020-03-31 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-31 0001092699 2020-03-31 0001092699 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001092699 us-gaap:CommonStockMember 2020-04-01 2020-06-30 0001092699 us-gaap:TreasuryStockMember 2020-04-01 2020-06-30 0001092699 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-04-01 2020-06-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 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-06-30 0001092699 us-gaap:CommonStockMember 2019-01-01 2019-06-30 0001092699 us-gaap:TreasuryStockMember 2019-01-01 2019-06-30 0001092699 us-gaap:RetainedEarningsMember 2019-01-01 2019-06-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-06-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-06-30 0001092699 us-gaap:CommonStockMember 2020-01-01 2020-06-30 0001092699 us-gaap:TreasuryStockMember 2020-01-01 2020-06-30 0001092699 us-gaap:RetainedEarningsMember 2020-01-01 2020-06-30 0001092699 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-06-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-06-30 0001092699 us-gaap:AccountingStandardsUpdate201613Member srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember 2020-06-30 0001092699 2019-08-08 2019-08-08 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2020-04-01 2020-06-30 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2019-04-01 2019-06-30 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2020-01-01 2020-06-30 0001092699 spsc:FulfillmentMember spsc:RecurringRevenuesMember 2019-01-01 2019-06-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2020-04-01 2020-06-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2019-04-01 2019-06-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2020-01-01 2020-06-30 0001092699 spsc:AnalyticsMember spsc:RecurringRevenuesMember 2019-01-01 2019-06-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2020-04-01 2020-06-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2019-04-01 2019-06-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2020-01-01 2020-06-30 0001092699 spsc:OtherMember spsc:RecurringRevenuesMember 2019-01-01 2019-06-30 0001092699 spsc:RecurringRevenuesMember 2020-04-01 2020-06-30 0001092699 spsc:RecurringRevenuesMember 2019-04-01 2019-06-30 0001092699 spsc:RecurringRevenuesMember 2020-01-01 2020-06-30 0001092699 spsc:RecurringRevenuesMember 2019-01-01 2019-06-30 0001092699 spsc:OneTimeRevenuesMember 2020-04-01 2020-06-30 0001092699 spsc:OneTimeRevenuesMember 2019-04-01 2019-06-30 0001092699 spsc:OneTimeRevenuesMember 2020-01-01 2020-06-30 0001092699 spsc:OneTimeRevenuesMember 2019-01-01 2019-06-30 0001092699 srt:MinimumMember 2020-01-01 2020-06-30 0001092699 srt:MaximumMember 2020-01-01 2020-06-30 0001092699 spsc:AnalyticsMember 2020-01-01 2020-06-30 0001092699 spsc:SetUpFeesMember 2020-03-31 0001092699 spsc:SetUpFeesMember 2019-03-31 0001092699 spsc:SetUpFeesMember 2019-12-31 0001092699 spsc:SetUpFeesMember 2018-12-31 0001092699 spsc:SetUpFeesMember 2020-04-01 2020-06-30 0001092699 spsc:SetUpFeesMember 2019-04-01 2019-06-30 0001092699 spsc:SetUpFeesMember 2020-01-01 2020-06-30 0001092699 spsc:SetUpFeesMember 2019-01-01 2019-06-30 0001092699 spsc:SetUpFeesMember 2020-06-30 0001092699 spsc:SetUpFeesMember 2019-06-30 0001092699 us-gaap:MoneyMarketFundsMember 2020-06-30 0001092699 us-gaap:CertificatesOfDepositMember 2020-06-30 0001092699 us-gaap:CorporateDebtSecuritiesMember 2020-06-30 0001092699 us-gaap:CommercialPaperMember 2020-06-30 0001092699 us-gaap:USTreasurySecuritiesMember 2020-06-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-06-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2020-06-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2020-06-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2020-06-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2020-06-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-30 0001092699 us-gaap:FairValueMeasurementsRecurringMember 2020-06-30 0001092699 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-06-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-06-30 0001092699 us-gaap:CustomerRelationshipsMember 2020-06-30 0001092699 us-gaap:NoncompeteAgreementsMember 2020-06-30 0001092699 us-gaap:TechnologyBasedIntangibleAssetsMember 2020-06-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-06-30 0001092699 srt:MaximumMember spsc:OtherLeasesMember 2020-06-30 0001092699 stpr:MN 2020-06-30 0001092699 country:UA 2020-06-30 0001092699 stpr:NJ 2020-06-30 0001092699 spsc:OtherLeasesMember 2020-06-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-04-01 2020-06-30 0001092699 us-gaap:CostOfSalesMember 2019-04-01 2019-06-30 0001092699 us-gaap:CostOfSalesMember 2020-01-01 2020-06-30 0001092699 us-gaap:CostOfSalesMember 2019-01-01 2019-06-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2020-04-01 2020-06-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2019-04-01 2019-06-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-06-30 0001092699 us-gaap:SellingAndMarketingExpenseMember 2019-01-01 2019-06-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2020-04-01 2020-06-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2019-04-01 2019-06-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-06-30 0001092699 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-06-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2020-04-01 2020-06-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2019-04-01 2019-06-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-06-30 0001092699 us-gaap:GeneralAndAdministrativeExpenseMember 2019-01-01 2019-06-30 0001092699 us-gaap:EmployeeStockOptionMember 2020-04-01 2020-06-30 0001092699 us-gaap:EmployeeStockOptionMember 2019-04-01 2019-06-30 0001092699 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-06-30 0001092699 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-06-30 0001092699 us-gaap:PerformanceSharesMember 2020-04-01 2020-06-30 0001092699 us-gaap:PerformanceSharesMember 2019-04-01 2019-06-30 0001092699 us-gaap:PerformanceSharesMember 2020-01-01 2020-06-30 0001092699 us-gaap:PerformanceSharesMember 2019-01-01 2019-06-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2020-04-01 2020-06-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2019-04-01 2019-06-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-06-30 0001092699 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-06-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2020-04-01 2020-06-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2019-04-01 2019-06-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2020-01-01 2020-06-30 0001092699 spsc:RestrictedStockAwardsAndDeferredStockUnitsMember 2019-01-01 2019-06-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2020-04-01 2020-06-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2019-04-01 2019-06-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2020-01-01 2020-06-30 0001092699 spsc:EmployeeStockPurchasePlanMember 2019-01-01 2019-06-30 0001092699 spsc:FourZeroOneKStockMatchMember 2020-04-01 2020-06-30 0001092699 spsc:FourZeroOneKStockMatchMember 2019-04-01 2019-06-30 0001092699 spsc:FourZeroOneKStockMatchMember 2020-01-01 2020-06-30 0001092699 spsc:FourZeroOneKStockMatchMember 2019-01-01 2019-06-30 0001092699 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2020-01-01 2020-06-30 0001092699 us-gaap:EmployeeStockOptionMember srt:MaximumMember 2020-01-01 2020-06-30 0001092699 us-gaap:EmployeeStockOptionMember 2020-06-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-06-30 0001092699 spsc:DeferredStockUnitsMember 2020-01-01 2020-06-30 0001092699 spsc:DeferredStockUnitsMember srt:MaximumMember 2020-01-01 2020-06-30 0001092699 spsc:PerformanceShareUnitsRestrictedStockUnitsRestrictedStockAwardsAndDeferredStockUnitsMember 2019-12-31 0001092699 spsc:PerformanceShareUnitsRestrictedStockUnitsRestrictedStockAwardsAndDeferredStockUnitsMember 2020-06-30 0001092699 us-gaap:EmployeeStockMember 2020-01-01 2020-06-30 spsc:Offering 0001092699 us-gaap:EmployeeStockMember 2020-06-30 0001092699 us-gaap:EmployeeStockMember 2020-04-01 2020-06-30 0001092699 us-gaap:EmployeeStockMember 2019-04-01 2019-06-30 0001092699 us-gaap:EmployeeStockMember 2019-01-01 2019-06-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2020-04-01 2020-06-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2019-01-01 2019-06-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-06-30 0001092699 us-gaap:GeographicDistributionDomesticMember us-gaap:GeographicConcentrationRiskMember 2019-04-01 2019-06-30 0001092699 us-gaap:GeographicDistributionForeignMember srt:MaximumMember us-gaap:GeographicConcentrationRiskMember 2020-04-01 2020-06-30 0001092699 us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember us-gaap:PropertyPlantAndEquipmentMember 2020-01-01 2020-06-30 0001092699 us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember us-gaap:PropertyPlantAndEquipmentMember 2019-01-01 2019-06-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: June 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 July 24, 2020 was 35,128,208 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 June 30, 2020

 


Table of Contents

 

PART I. – FINANCIAL INFORMATION

Item 1.Financial Statements

SPS COMMERCE, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

 

 

 

June 30,

 

 

December 31,

 

(In thousands, except shares)

 

2020

 

 

2019

 

ASSETS

 

(unaudited)

 

 

 

 

 

CURRENT ASSETS

 

 

 

 

 

 

 

 

Cash and cash equivalents

 

$

174,850

 

 

$

179,252

 

Short-term investments

 

 

50,775

 

 

 

34,284

 

Accounts receivable

 

 

37,840

 

 

 

33,001

 

Allowance for credit losses

 

 

(3,663

)

 

 

(1,469

)

Accounts receivable, net

 

 

34,177

 

 

 

31,532

 

Deferred costs

 

 

35,797

 

 

 

35,274

 

Other assets

 

 

8,378

 

 

 

11,279

 

Total current assets

 

 

303,977

 

 

 

291,621

 

PROPERTY AND EQUIPMENT, less accumulated depreciation of $55,377 and $50,574, respectively

 

 

25,510

 

 

 

23,752

 

OPERATING LEASE RIGHT-OF-USE ASSETS

 

 

14,839

 

 

 

15,744

 

GOODWILL

 

 

75,883

 

 

 

76,845

 

INTANGIBLE ASSETS, net

 

 

19,790

 

 

 

22,668

 

INVESTMENTS

 

 

7,566

 

 

 

 

OTHER ASSETS

 

 

 

 

 

 

 

 

Deferred costs, non-current

 

 

10,852

 

 

 

11,667

 

Deferred income tax assets

 

 

1,030

 

 

 

2,630

 

Other assets, non-current

 

 

2,216

 

 

 

2,513

 

Total assets

 

$

461,663

 

 

$

447,440

 

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

CURRENT LIABILITIES

 

 

 

 

 

 

 

 

Accounts payable

 

$

4,256

 

 

$

4,274

 

Accrued compensation

 

 

16,950

 

 

 

22,303

 

Accrued expenses

 

 

5,067

 

 

 

6,207

 

Deferred revenue

 

 

36,273

 

 

 

31,463

 

Operating lease liabilities

 

 

4,189

 

 

 

3,783

 

Total current liabilities

 

 

66,735

 

 

 

68,030

 

OTHER LIABILITIES

 

 

 

 

 

 

 

 

Deferred revenue, non-current

 

 

2,746

 

 

 

2,851

 

Operating lease liabilities, non-current

 

 

17,920

 

 

 

20,085

 

Deferred income tax liabilities

 

 

952

 

 

 

1,193

 

Other liabilities, non-current

 

 

 

 

 

405

 

Total liabilities

 

 

88,353

 

 

 

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; 55,000,000 shares authorized; 36,739,368 and 36,104,619 shares issued; and 35,126,118 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

 

 

373,686

 

 

 

354,115

 

Retained earnings

 

 

68,613

 

 

 

48,973

 

Accumulated other comprehensive loss

 

 

(3,779

)

 

 

(1,951

)

Total stockholders’ equity

 

 

373,310

 

 

 

354,876

 

Total liabilities and stockholders’ equity

 

$

461,663

 

 

$

447,440

 

 

See accompanying notes to these condensed consolidated financial statements.

 

    SPS COMMERCE, INC.

3

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

 


Table of Contents

 

SPS COMMERCE, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

 

 

 

Three Months Ended

 

 

Six Months Ended

 

 

 

June 30,

 

 

June 30,

 

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

 

2020

 

 

2019

 

 

2020

 

 

2019

 

Revenues

 

$

75,573

 

 

$

68,529

 

 

$

149,765

 

 

$

135,463

 

Cost of revenues

 

 

24,326

 

 

 

23,700

 

 

 

47,870

 

 

 

45,067

 

Gross profit

 

 

51,247

 

 

 

44,829

 

 

 

101,895

 

 

 

90,396

 

Operating expenses

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sales and marketing

 

 

18,611

 

 

 

17,545

 

 

 

36,910

 

 

 

35,467

 

Research and development

 

 

7,466

 

 

 

6,509

 

 

 

15,034

 

 

 

12,701

 

General and administrative

 

 

12,743

 

 

 

10,179

 

 

 

24,652

 

 

 

22,949

 

Amortization of intangible assets

 

 

1,316

 

 

 

1,266

 

 

 

2,652

 

 

 

2,570

 

Total operating expenses

 

 

40,136

 

 

 

35,499

 

 

 

79,248

 

 

 

73,687

 

Income from operations

 

 

11,111

 

 

 

9,330

 

 

 

22,647

 

 

 

16,709

 

Other income (expense)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Interest income, net

 

 

226

 

 

 

813

 

 

 

866

 

 

 

1,390

 

Other income, net

 

 

1,242

 

 

 

240

 

 

 

1

 

 

 

193

 

Change in earn-out liability

 

 

 

 

 

400

 

 

 

(72

)

 

 

344

 

Total other income, net

 

 

1,468

 

 

 

1,453

 

 

 

795

 

 

 

1,927

 

Income before income taxes

 

 

12,579

 

 

 

10,783

 

 

 

23,442

 

 

 

18,636

 

Income tax expense

 

 

1,385

 

 

 

1,987

 

 

 

2,733

 

 

 

3,027

 

Net income

 

$

11,194

 

 

$

8,796

 

 

$

20,709

 

 

$

15,609

 

Other comprehensive income (expense)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Foreign currency translation adjustments

 

 

2,116

 

 

 

291

 

 

$

(1,748

)

 

$

1,030

 

Unrealized gain on investments, net of tax of $3, $37, $26 and $67

 

 

7

 

 

 

110

 

 

$

78

 

 

$

200

 

Reclassification of gain on investments into earnings, net of tax of ($27), ($29), ($53) and ($60)

 

 

(79

)

 

 

(88

)

 

$

(158

)

 

$

(180

)

Total other comprehensive income (expense)

 

 

2,044

 

 

 

313

 

 

 

(1,828

)

 

 

1,050

 

Comprehensive income

 

$

13,238

 

 

$

9,109

 

 

$

18,881

 

 

$

16,659

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Net income per share

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Basic

 

$

0.32

 

 

$

0.25

 

 

$

0.59

 

 

$

0.45

 

Diluted

 

$

0.31

 

 

$

0.24

 

 

$

0.58

 

 

$

0.43

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted average common shares used to compute net income per share

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Basic

 

 

35,030

 

 

 

35,010

 

 

 

35,051

 

 

 

34,976

 

Diluted

 

 

36,016

 

 

 

36,020

 

 

 

35,995

 

 

 

36,006

 

 

Shares and per share data have been adjusted for all periods presented to reflect a two-for-one stock split effective August 22, 2019.

 

See accompanying notes to these condensed consolidated financial statements.

 

    SPS COMMERCE, INC.

4

Form 10-Q for the quarterly period ended June 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, March 31, 2019

 

 

34,935,364

 

 

$

36

 

 

 

891,248

 

 

$

(28,645

)

 

$

339,712

 

 

$

22,074

 

 

$

(2,473

)

 

$

330,704

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,542

 

 

 

 

 

 

 

 

 

2,542

 

Exercise of stock options and issuance of restricted stock

 

 

86,264

 

 

 

 

 

 

 

 

 

 

 

 

899

 

 

 

 

 

 

 

 

 

899

 

Employee stock purchase plan

 

 

30,814

 

 

 

 

 

 

 

 

 

 

 

 

1,079

 

 

 

 

 

 

 

 

 

1,079

 

Repurchases of common stock

 

 

(116,230

)

 

 

 

 

 

116,230

 

 

 

(6,000

)

 

 

 

 

 

 

 

 

 

 

 

(6,000

)

Net income

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8,796

 

 

 

 

 

 

8,796

 

Foreign currency translation adjustments

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

291

 

 

 

291

 

Unrealized gain on investments, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

110

 

 

 

110

 

Reclassification of gain on investments into earnings, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(88

)

 

 

(88

)

Balances, June 30, 2019

 

 

34,936,212

 

 

$

36

 

 

 

1,007,478

 

 

$

(34,645

)

 

$

344,232

 

 

$

30,870

 

 

$

(2,160

)

 

$

338,333

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Balances, March 31, 2020

 

 

34,992,825

 

 

$

36

 

 

 

1,481,623

 

 

$

(58,297

)

 

$

361,853

 

 

$

57,419

 

 

$

(5,823

)

 

$

355,188

 

Stock-based compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4,628

 

 

 

 

 

 

 

 

 

4,628

 

Exercise of stock options and issuance of restricted stock

 

 

233,852

 

 

 

1

 

 

 

 

 

 

 

 

 

5,742

 

 

 

 

 

 

 

 

 

5,743

 

Employee stock purchase plan

 

 

31,068

 

 

 

 

 

 

 

 

 

 

 

 

1,463

 

 

 

 

 

 

 

 

 

1,463

 

Repurchases of common stock

 

 

(131,627

)

 

 

 

 

 

131,627

 

 

 

(6,950

)

 

 

 

 

 

 

 

 

 

 

 

(6,950

)

Net income

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11,194

 

 

 

 

 

 

11,194

 

Foreign currency translation adjustments

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,116

 

 

 

2,116

 

Unrealized gain on investments, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

7

 

Reclassification of gain on investments into earnings, net of tax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(79

)

 

 

(79

)

Balances, June 30, 2020

 

 

35,126,118

 

 

$

37

 

 

 

1,613,250

 

 

$

(65,247

)

 

$

373,686

 

 

$

68,613

 

 

$

(3,779

)

 

$

373,310

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accumulated

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Additional

 

 

 

 

 

 

Other

 

 

Total

 

 

 

Common Stock

 

 

Treasury Stock

 

 

Paid-in

 

 

Retained

 

 

Comprehensive

 

 

Stockholders'

 

 

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

Capital

 

 

Earnings

 

 

Loss

 

 

Equity

 

Balances, December 31, 2018