Cover
Cover - USD ($) $ in Billions | 12 Months Ended | ||
Dec. 31, 2022 | Feb. 10, 2023 | Jun. 30, 2022 | |
Cover [Abstract] | |||
Document Type | 10-K | ||
Document Annual Report | true | ||
Current Fiscal Year End Date | --12-31 | ||
Document Period End Date | Dec. 31, 2022 | ||
Document Transition Report | false | ||
Entity File Number | 001-34702 | ||
Entity Registrant Name | SPS COMMERCE, INC. | ||
Entity Incorporation, State or Country Code | DE | ||
Entity Tax Identification Number | 41-2015127 | ||
Entity Address, Address Line One | 333 South Seventh Street | ||
Entity Address, Address Line Two | Suite 1000 | ||
Entity Address, City or Town | Minneapolis | ||
Entity Address, State or Province | MN | ||
Entity Address, Postal Zip Code | 55402 | ||
City Area Code | 612 | ||
Local Phone Number | 435-9400 | ||
Title of 12(b) Security | Common Stock, par value $0.001 per share | ||
Trading Symbol | SPSC | ||
Security Exchange Name | NASDAQ | ||
Entity Well-known Seasoned Issuer | Yes | ||
Entity Voluntary Filers | No | ||
Entity Current Reporting Status | Yes | ||
Entity Interactive Data Current | Yes | ||
Entity Filer Category | Large Accelerated Filer | ||
Entity Small Business | false | ||
Entity Emerging Growth Company | false | ||
ICFR Auditor Attestation Flag | true | ||
Entity Shell Company | false | ||
Entity Public Float | $ 4.1 | ||
Entity Common Stock, Shares Outstanding | 36,312,238 | ||
Documents Incorporated by Reference | DOCUMENTS INCORPORATED BY REFERENCEPortions of the Company’s definitive Proxy Statement for the Annual Meeting of Stockholders to be held on May 12, 2023 (the “2023 Proxy Statement”), which is expected to be filed within 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K, are incorporated by reference in Part III of this Annual Report on Form 10-K. | ||
Entity Central Index Key | 0001092699 | ||
Document Fiscal Year Focus | 2022 | ||
Document Fiscal Period Focus | FY | ||
Amendment Flag | false |
Audit Information
Audit Information | 12 Months Ended |
Dec. 31, 2022 | |
Audit Information [Abstract] | |
Auditor Firm ID | 185 |
Auditor Name | KPMG, LLP |
Auditor Location | Minneapolis, MN |
Consolidated Balance Sheets
Consolidated Balance Sheets - USD ($) $ in Thousands | Dec. 31, 2022 | Dec. 31, 2021 |
Current assets | ||
Cash and cash equivalents | $ 162,893 | $ 207,552 |
Short-term investments | 51,412 | 49,758 |
Accounts receivable | 42,501 | 38,811 |
Allowance for credit losses | (3,066) | (4,249) |
Accounts receivable, net | 39,435 | 34,562 |
Deferred costs | 52,755 | 44,529 |
Other assets | 16,319 | 16,042 |
Total current assets | 322,814 | 352,443 |
Property and equipment, net | 35,458 | 31,901 |
Operating lease right-of-use assets | 9,170 | 10,851 |
Goodwill | 197,284 | 143,663 |
Intangible assets, net | 88,352 | 58,587 |
Other assets | ||
Deferred costs, non-current | 17,424 | 15,191 |
Deferred income tax assets | 227 | 182 |
Other assets, non-current | 2,185 | 3,028 |
Total assets | 672,914 | 615,846 |
Current liabilities | ||
Accounts payable | 11,256 | 8,330 |
Accrued compensation | 30,235 | 31,661 |
Accrued expenses | 7,451 | 8,345 |
Deferred revenue | 57,423 | 50,428 |
Operating lease liabilities | 4,277 | 4,108 |
Total current liabilities | 110,642 | 102,872 |
Other liabilities | ||
Deferred revenue, non-current | 4,771 | 5,144 |
Operating lease liabilities, non-current | 13,009 | 16,426 |
Deferred income tax liabilities | 7,419 | 7,145 |
Total liabilities | 135,841 | 131,587 |
Commitments and contingencies | ||
Stockholders' equity | ||
Preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding | 0 | 0 |
Common stock, $0.001 par value; 110,000,000 shares authorized; 38,309,144 and 37,798,610 shares issued; and 36,158,046 and 36,009,257 shares outstanding, respectively | 38 | 38 |
Treasury Stock, at cost; 2,151,098 and 1,789,353 shares, respectively | (128,892) | (85,677) |
Additional paid-in capital | 476,117 | 433,258 |
Retained earnings | 193,221 | 138,087 |
Accumulated other comprehensive loss | (3,411) | (1,447) |
Total stockholders’ equity | 537,073 | 484,259 |
Total liabilities and stockholders’ equity | $ 672,914 | $ 615,846 |
Consolidated Balance Sheets (Pa
Consolidated Balance Sheets (Parenthetical) - $ / shares | Dec. 31, 2022 | Dec. 31, 2021 |
Statement of Financial Position [Abstract] | ||
Preferred stock, par value (in dollars per share) | $ 0.001 | $ 0.001 |
Preferred stock, shares authorized (in shares) | 5,000,000 | 5,000,000 |
Preferred stock, shares issued (in shares) | 0 | 0 |
Preferred stock, shares outstanding (in shares) | 0 | 0 |
Common stock, par value (in dollars per share) | $ 0.001 | $ 0.001 |
Common stock, shares authorized (in shares) | 110,000,000 | 110,000,000 |
Common stock, shares issued (in shares) | 38,309,144 | 37,798,610 |
Common stock, shares outstanding (in shares) | 36,009,257 | |
Treasury stock, shares (in shares) | 1,789,353 |
Consolidated Statements of Comp
Consolidated Statements of Comprehensive Income - USD ($) shares in Thousands, $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Income Statement [Abstract] | |||
Revenues | $ 450,875 | $ 385,276 | $ 312,630 |
Cost of revenues | 153,065 | 131,678 | 99,836 |
Gross profit | 297,810 | 253,598 | 212,794 |
Operating expenses | |||
Sales and marketing | 101,772 | 88,044 | 75,955 |
Research and development | 45,748 | 39,038 | 31,024 |
General and administrative | 67,340 | 61,305 | 50,119 |
Amortization of intangible assets | 11,768 | 10,126 | 5,538 |
Total operating expenses | 226,628 | 198,513 | 162,636 |
Income from operations | 71,182 | 55,085 | 50,158 |
Other income (expense), net | 142 | (1,544) | 2,522 |
Income before income taxes | 71,324 | 53,541 | 52,680 |
Income tax expense | 16,190 | 8,944 | 7,094 |
Net income | 55,134 | 44,597 | 45,586 |
Other comprehensive income (expense) | |||
Foreign currency translation adjustments | (2,240) | (514) | 1,097 |
Unrealized gain (loss) on investments, net of tax of $147, ($34), and ($3) respectively | 441 | (102) | (10) |
Reclassification of (gain) loss on investments into earnings, net of tax of ($55), $63, and ($52), respectively | (165) | 190 | (157) |
Total other comprehensive income (expense) | (1,964) | (426) | 930 |
Comprehensive income | $ 53,170 | $ 44,171 | $ 46,516 |
Net income per share | |||
Basic (in dollars per share) | $ 1.53 | $ 1.24 | $ 1.29 |
Diluted (in dollars per share) | $ 1.49 | $ 1.21 | $ 1.26 |
Weighted average common shares used to compute net income per share | |||
Basic (in shares) | 36,117 | 35,928 | 35,226 |
Diluted (in shares) | 36,953 | 36,962 | 36,285 |
Consolidated Statements of Co_2
Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Income Statement [Abstract] | |||
Unrealized gain (loss) on investments, tax | $ 147 | $ (34) | $ (3) |
Reclassification of unrealized (gain) loss on investments into earnings, tax | $ (55) | $ 63 | $ (52) |
Consolidated Statements of Stoc
Consolidated Statements of Stockholders' Equity - USD ($) | Total | Cumulative Effect, Period of Adoption, Adjustment | Common Stock | Treasury Stock | Additional Paid-in Capital | Retained Earnings | Retained Earnings Cumulative Effect, Period of Adoption, Adjustment | Accumulated Other Comprehensive Loss |
Beginning balance (in shares) at Dec. 31, 2019 | 34,863,271 | |||||||
Beginning balance at Dec. 31, 2019 | $ 354,876,000 | $ (1,069,000) | $ 36,000 | $ (46,297,000) | $ 354,115,000 | $ 48,973,000 | $ (1,069,000) | $ (1,951,000) |
Beginning balance (in shares) at Dec. 31, 2019 | 1,241,348 | |||||||
Stock-based compensation | 17,382,000 | 17,382,000 | ||||||
Shares issued pursuant to stock awards (in shares) | 934,015 | |||||||
Shares issued pursuant to stock awards | 18,592,000 | $ 1,000 | 18,591,000 | |||||
Employee stock purchase plan (in shares) | 61,833 | |||||||
Employee stock purchase plan activity | $ 3,374,000 | 3,374,000 | ||||||
Repurchases of common stock (in shares) | (371,902) | (371,902) | (371,902) | |||||
Repurchases of common stock | $ (18,950,000) | $ (18,950,000) | ||||||
Net income | 45,586,000 | 45,586,000 | ||||||
Foreign currency translation adjustments | 1,097,000 | 1,097,000 | ||||||
Unrealized loss on investments, net of tax | (10,000) | (10,000) | ||||||
Reclassification of gain on investments into earnings, net of tax | (157,000) | (157,000) | ||||||
Ending balance (in shares) at Dec. 31, 2020 | 35,487,217 | |||||||
Ending balance at Dec. 31, 2020 | $ 420,721,000 | $ 37,000 | $ (65,247,000) | 393,462,000 | 93,490,000 | (1,021,000) | ||
Ending balance (in shares) at Dec. 31, 2020 | 1,613,250 | |||||||
Accounting Standards Update [Extensible Enumeration] | Accounting Standards Update 2016-13 [Member] | |||||||
Stock-based compensation | $ 25,686,000 | 25,686,000 | ||||||
Shares issued pursuant to stock awards (in shares) | 642,417 | |||||||
Shares issued pursuant to stock awards | 9,374,000 | $ 1,000 | 9,373,000 | |||||
Employee stock purchase plan (in shares) | 55,726 | |||||||
Employee stock purchase plan activity | $ 4,737,000 | 4,737,000 | ||||||
Repurchases of common stock (in shares) | (176,103) | (176,103) | (176,103) | |||||
Repurchases of common stock | $ (20,430,000) | $ (20,430,000) | ||||||
Net income | 44,597,000 | 44,597,000 | ||||||
Foreign currency translation adjustments | (514,000) | (514,000) | ||||||
Unrealized loss on investments, net of tax | (102,000) | (102,000) | ||||||
Reclassification of gain on investments into earnings, net of tax | $ 190,000 | 190,000 | ||||||
Ending balance (in shares) at Dec. 31, 2021 | 36,009,257 | 36,009,257 | ||||||
Ending balance at Dec. 31, 2021 | $ 484,259,000 | $ 38,000 | $ (85,677,000) | 433,258,000 | 138,087,000 | (1,447,000) | ||
Ending balance (in shares) at Dec. 31, 2021 | 1,789,353 | 1,789,353 | ||||||
Stock-based compensation | $ 31,275,000 | 31,275,000 | ||||||
Shares issued pursuant to stock awards (in shares) | 440,427 | |||||||
Shares issued pursuant to stock awards | 4,908,000 | 4,908,000 | ||||||
Employee stock purchase plan (in shares) | 70,107 | |||||||
Employee stock purchase plan activity | $ 6,676,000 | 6,676,000 | ||||||
Repurchases of common stock (in shares) | (361,745) | (361,745) | (361,745) | |||||
Repurchases of common stock | $ (43,215,000) | $ (43,215,000) | ||||||
Net income | 55,134,000 | 55,134,000 | ||||||
Foreign currency translation adjustments | (2,240,000) | (2,240,000) | ||||||
Unrealized loss on investments, net of tax | 441,000 | 441,000 | ||||||
Reclassification of gain on investments into earnings, net of tax | (165,000) | (165,000) | ||||||
Ending balance (in shares) at Dec. 31, 2022 | 36,158,046 | |||||||
Ending balance at Dec. 31, 2022 | $ 537,073,000 | $ 38,000 | $ (128,892,000) | $ 476,117,000 | $ 193,221,000 | $ (3,411,000) | ||
Ending balance (in shares) at Dec. 31, 2022 | 2,151,098 |
Consolidated Statements of Cash
Consolidated Statements of Cash Flows - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Cash flows from operating activities | |||
Net income | $ 55,134 | $ 44,597 | $ 45,586 |
Reconciliation of net income to net cash provided by operating activities | |||
Deferred income taxes | (3,732) | 3,881 | 4,241 |
Change in earn-out liability | 0 | 0 | (85) |
Depreciation and amortization of property and equipment | 16,421 | 14,788 | 13,127 |
Amortization of intangible assets | 11,768 | 10,126 | 5,538 |
Provision for credit losses | 3,359 | 4,717 | 5,660 |
Stock-based compensation | 33,399 | 27,574 | 18,936 |
Other, net | 220 | 323 | (24) |
Changes in assets and liabilities, net of effects of acquisitions | |||
Accounts receivable | (6,435) | (4,959) | (5,922) |
Deferred costs | (10,646) | (9,299) | (3,414) |
Other current and non-current assets | 2,632 | (6,181) | 1,201 |
Accounts payable | 144 | 2,259 | 1,214 |
Accrued compensation | (3,786) | 6,775 | (1,257) |
Accrued expenses | (2,829) | 1,017 | 563 |
Deferred revenue | 5,965 | 14,483 | 4,432 |
Operating leases | (1,562) | 2,792 | (1,234) |
Net cash provided by operating activities | 100,052 | 112,893 | 88,562 |
Cash flows from investing activities | |||
Purchases of property and equipment | (19,880) | (19,588) | (16,467) |
Purchases of investments | (160,427) | (121,242) | (74,797) |
Maturities of investments | 158,937 | 111,193 | 69,461 |
Acquisitions of businesses, net | (91,420) | (17,066) | (98,666) |
Net cash used in investing activities | (112,790) | (46,703) | (120,469) |
Cash flows from financing activities | |||
Repurchases of common stock | (43,215) | (20,430) | (18,950) |
Net proceeds from exercise of options to purchase common stock | 4,908 | 9,374 | 18,592 |
Net proceeds from employee stock purchase plan activity | 6,676 | 4,737 | 3,374 |
Payment for contingent consideration | 0 | (2,042) | (688) |
Net cash provided by (used in) financing activities | (31,631) | (8,361) | 2,328 |
Effect of foreign currency exchange rate changes on cash and cash equivalents | (290) | 31 | 19 |
Net increase (decrease) in cash and cash equivalents | (44,659) | 57,860 | (29,560) |
Cash and cash equivalents at beginning of year | 207,552 | 149,692 | 179,252 |
Cash and cash equivalents at end of year | 162,893 | 207,552 | 149,692 |
Supplemental disclosure of cash flow information | |||
Cash paid for income taxes | 16,076 | 9,979 | 1,656 |
Non-cash financing activities: | |||
Contingent consideration related to acquisition | 2,000 | 0 | 0 |
Net purchases of property and equipment on account | $ (215) | $ (683) | $ (551) |
General
General | 12 Months Ended |
Dec. 31, 2022 | |
Organization, Consolidation and Presentation of Financial Statements [Abstract] | |
General | General Business Description SPS Commerce is a leading provider of cloud-based supply chain management services across our global retail network. Our products make it easier for retailers, grocers, distributors, suppliers, and logistics firms to communicate and collaborate by simplifying how they manage and share item, inventory, order and sales data across omnichannel retail channels. We deliver our products using a full-service model, which includes industry-leading technology and a team of experts that optimize, update, and operate the technology on customers' behalf. Our products enable customers to increase supply chain performance, optimize inventory levels and sell-through, reduce operational costs, improve order visibility, and satisfy consumer demands for a seamless omnichannel experience. Basis of Presentation The accompanying consolidated financial statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“GAAP”) and include the accounts of SPS Commerce, Inc. and its subsidiaries. All intercompany accounts and transactions have been eliminated in the consolidated financial statements. Foreign Currency Translation The functional currency of our foreign operations is generally the applicable local currency. The functional currency is translated into U.S. dollars for balance sheet accounts using current exchange rates in effect as of the balance sheet date and for revenue and expense accounts using an average exchange rate during the year. The translation adjustments are deferred as a component of other comprehensive income within the consolidated statements of comprehensive income and the consolidated statements of stockholders' equity. Gains or losses resulting from transactions denominated in foreign currencies are included in other income (expense), net in our consolidated statements of comprehensive income. Use of Estimates Preparing financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods. Actual results could differ from those estimates. Business Combinations We allocate the fair value of purchase consideration to the tangible assets acquired, liabilities assumed, and intangible assets acquired based on their estimated fair values as of the acquisition date. The excess of the fair value of purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. Assets acquired include tangible and intangible assets. We use estimates and assumptions that we believe are reasonable as a part of the purchase price allocation, which includes the process to determine the value and useful lives of purchased intangible assets and the process to determine the value of any contingent consideration liabilities. We record the acquisition-date fair value of any contingent liabilities, such as earn-out provisions, as part of the consideration transferred, if present. The unsettled earn-out liability, if any, is subsequently remeasured at each reporting date at fair value. While we believe these estimates and assumptions are reasonable, they are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, we may record adjustments to the fair value of the assets acquired and the liabilities assumed. Any such adjustments would be recorded as an offset to goodwill or a working capital purchase price adjustment as applicable. Upon the conclusion of the measurement period or final determination of the fair values, whichever comes first, any subsequent adjustments would be recorded in our consolidated statements of comprehensive income. Segment Information Our Chief Executive Officer acts as the Company’s chief operating decision maker and reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. There are no segment managers who are held accountable by the chief operating decision maker, or anyone else, for operations, operating results and planning for levels or components below the consolidated unit level. Accordingly, we determined we have one operating and reportable segment, which is supply chain management products. Concentration of Credit Risk Financial instruments that potentially subject us to concentrations of credit risk consist principally of cash and cash equivalents in financial institutions in excess of federally insured limits and accounts receivable. Cash and cash equivalents are held with financial institutions that we believe are subject to minimal risk. Cash and Cash Equivalents Cash and cash equivalents consist of cash and highly liquid investments with original maturities of less than 90 days. Investments From time to time, we invest in money market funds, certificates of deposit, and marketable securities such as commercial paper, highly liquid debt instruments of the U.S. government, and U.S. corporate debt securities. Investments with remaining maturities of less than one year from the balance sheet date are classified as short-term investments whereas those with remaining maturities of more than one year from the balance sheet date are classified as investments, non-current. Securities classified as available for sale are carried at fair value and the unrealized gains and losses on these investments, net of taxes, are included in accumulated other comprehensive loss in the consolidated balance sheets. Realized gains or losses are included in other income (expense), net in the consolidated statements of comprehensive income. Certain securities accrue interest that is included in other income (expense), net. When a determination has been made that the fair value of a marketable security is below its amortized cost basis, the portion of the unrealized loss that corresponds to a credit-related factor is realized through a credit allowance on the marketable security and the equivalent expense is realized in other income (expense), net in the consolidated statements of comprehensive income. Fair Value Measurements The carrying amounts of our short-term financial instruments, which include cash, cash equivalents, accounts receivable, and accounts payable, approximates fair value due to their short-term nature. Recurring Fair Value Measurements We measure certain financial assets at fair value on a recurring basis based on a fair value hierarchy that requires us to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. The three levels of inputs that are used to measure fair value are: • Level 1 – quoted prices in active markets for identical assets or liabilities. • Level 2 – observable inputs other than Level 1 prices, such as (a) quoted prices for similar assets or liabilities, (b) quoted prices in markets with insufficient volume or infrequent transactions (less active markets), or (c) model-derived valuations in which all significant inputs are observable or can be derived principally from or corroborated by observable market data for substantially the full term of the assets or liabilities. • Level 3 – unobservable inputs to the valuation methodology that are significant to the measurement of fair value of assets or liabilities. Nonrecurring Fair Value Measurements We measure certain assets and liabilities at fair value on a nonrecurring basis, including long-lived assets, goodwill, and indefinite-lived intangible assets. Accounts Receivable Accounts receivable are initially recorded upon the sale and invoicing of products to customers. Credit is granted in the normal course of business without collateral. Accounts receivable are stated net of allowances for credit losses, which represent estimated losses resulting from customers not making required payments on accounts receivables. When determining the allowance, we pool our outstanding accounts receivable invoices based on the contractual due date of payment. We take several factors into consideration for estimated credit losses by pool, primarily our historical credit losses, with additional adjustments made for current and future macro-economic conditions and retail bankruptcy trends. We write-off accounts receivable when they are determined to be uncollectible. Changes in the allowance are recorded as bad debt expense and are included in general and administrative expense in our consolidated statements of comprehensive income. Property and Equipment Property and equipment, including assets acquired under lease obligations, are stated at cost, net of accumulated depreciation and amortization. Depreciation and amortization expense is calculated using the straight-line method over the estimated useful lives when placed in service. We capitalize and amortize eligible costs to acquire or generate internally developed software that are incurred during the application development stage. Costs incurred during the preliminary project stage and post-implementation stage are expensed as incurred. Amortization expense for internally developed software is calculated using the straight-line method over the estimated useful life, commencing on the date when the asset is ready for its intended use. The estimated useful lives of property and equipment were as follows: Estimated Useful Life Internally developed software 3 years Computer equipment 2-3 years Office equipment and furniture 5-7 years Leasehold improvements Shorter of the useful life of the asset or the remaining term of the lease Significant additions or improvements extending asset lives beyond one year are capitalized, while repairs and maintenance are charged to expense as incurred. The assets and related accumulated depreciation and amortization are adjusted for asset retirements and disposals with the resulting gain or loss included in our consolidated statements of comprehensive income. Maintenance of internally developed software are expensed as incurred. The assets and related accumulated amortization are adjusted for abandoned internally developed software with the resulting loss included in our consolidated statements of comprehensive income. Leases We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current operating lease liabilities, and non-current operating lease liabilities in our consolidated balance sheets. Right-of-use (“ROU”) assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. We use the implicit interest rate when readily determinable. We estimate the discount rate for a similar collateralized asset by estimating costs of borrowing. The operating lease ROU asset also includes any lease payments made and lease incentives that have been incurred. The options to extend our leases are not recognized as part of our ROU assets and lease liabilities unless it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. For all leases, we combine non-lease components with the related lease components and account for it as a single lease component. The ROU assets are subject to the same impairment process as our long-lived assets. Additionally, we review our lease liabilities for remeasurement whenever there is a triggering event or when relevant facts and circumstances change. Research and Development Research and development costs primarily include development, maintenance, and data conversion activities related to our cloud-based supply chain management products and are expensed as incurred. Research and development costs are net of amounts capitalized as developed software. Goodwill Goodwill represents the excess of the purchase price over the fair value of identifiable net assets acquired in business combinations. Goodwill is attributed to a trained workforce and other buyer-specific value resulting from expected synergies, including long-term cost savings, which are not included in the fair values of identifiable assets. We test goodwill for impairment annually at November 30, or more frequently if events or changes in circumstances indicate that the asset might be impaired. The impairment test is conducted by comparing the fair value of the net assets with the carrying amount of the reporting unit. We determine the fair value of the reporting unit based on our market capitalization at the testing date. If the carrying amount exceeds the fair value of the reporting unit, we would recognize an impairment loss in the consolidated statements of comprehensive income, to the extent that the carrying amount exceeds fair value. Intangible Assets Assets acquired in business combinations may include identifiable intangible assets such as subscriber relationships and developed technology. We recognize the fair value of the identifiable intangible assets acquired separately from goodwill. We have determined the fair value and useful lives of our purchased intangible assets using certain estimates and assumptions that we believe are reasonable. The purchased intangible assets are being amortized on a straight-line basis over their estimated useful lives. The estimated useful lives for intangible were as follows: Estimated Useful Life Subscriber relationships 7-10 years Developed technology 3-10 years Impairment of Long-Lived Assets We review our long-lived assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The carrying amount of a long-lived asset is not recoverable if the carrying amount of an asset group exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the assets at the date it is tested for recoverability, whether in use or under development. An impairment loss is measured and recorded as an expense in the consolidated statements of comprehensive income as the amount by which the carrying amount of a long-lived asset exceeds its fair value. Revenue Recognition Revenues are the amount that reflects the consideration we are contractually and legally entitled to, as well as the amount we expect to collect, in exchange for those services. We determine revenue recognition through the following steps: • Identification of the contract, or contracts, with a customer • Identification of the performance obligations in the contract • Determination of the transaction price • Allocation of the transaction price to the performance obligations in the contract • Recognition of revenue when, or as, we satisfy a performance obligation See Note C for further descriptions of our revenue recognition policy. Deferred Costs Deferred costs are those that are incurred to fulfill or obtain customer contracts and that are considered incremental and recoverable costs. These consist primarily of customer implementation costs, commissions paid to sales personnel and referral partners, respectively. These costs are deferred and amortized over the expected period of benefit which we have determined to be two years. Customer implementation costs are based on actual costs incurred. Related amortization expense is included in cost of revenues in the consolidated statements of comprehensive income. Sales commissions are calculated based on estimated annual recurring revenue to be generated over the customer’s initial contract period. Related amortization expense is included in sales and marketing expenses in the consolidated statements of comprehensive income. Stock-Based Compensation Stock-based compensation includes grants of incentive and nonqualified stock options, performance share units (“PSUs”), restricted stock awards (“RSAs”), restricted stock units (“RSUs”), deferred stock units (“DSUs”), employee stock purchase plan (“ESPP”) activity, and 401(k) stock match and is used to compensate employees, executive officers, and non-employee directors. We recognize the cost of all stock-based payments based on the grant date fair value of those awards. This cost is recognized over the period for which an employee is required to provide service in exchange for the award or the award performance period, except for expenses relating to retirement-eligible employees that have not given their required notice, which is recognized on a pro-rata basis over the notice period prior to retirement. For all awards, we recognize forfeitures as they occur. RSAs result in the issuance of new shares when granted. For other stock-based awards, new shares are issued when the award is exercised, vested, or released according to the terms of the agreement. Our ESPP allows participating employees to purchase shares of our common stock at a discount through payroll deductions. The plan is available to all employees subject to certain eligibility requirements. Participating employees may purchase common stock, on a voluntary after-tax basis, at a price that is the lower of 85% of the fair market value of our common stock at the beginning or end of each stock purchase period. The plan is a Type B plan, so the number of shares a participants can acquire is variable. Participants purchase more shares as the stock price decreases, up to the total amount originally elected to withhold at the beginning of the offering period. The plan consists of two six-month offering periods, beginning on January 1 and July 1 of each calendar year. The fair value of stock options and ESPP activity is estimated using the Black-Scholes option valuation model. The fair value for RSAs, RSUs, and DSUs is the closing market value of the underlying stock on the date of grant less the purchase price (if any). The fair value of PSUs is estimated using a Monte Carlo simulation. Judgment is required in determining the expected volatility of common stock and the expected term individuals will hold their share-based awards prior to exercising. The expected volatility of the options is based on the historical volatility of our common stock. The expected term of the options is derived from historical data on option holder exercises and post-vesting employment termination behavior. Additional valuation inputs include our expected non-issuance of future common stock dividends and the risk-free interest rate that is based on the U.S. Treasury rates at the date of grant with maturity dates approximately equaling the expected life at the grant date. For PSUs, the Monte Carlo simulation utilizes multiple input variables that determine the probability of satisfying the performance conditions stipulated in the award. Income Taxes We account for income taxes using the asset and liability method, which requires recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to reverse. Deferred tax assets are reduced by a valuation allowance when, in our judgment, it is more likely than not that some or all of the deferred tax asset will not be realized. Deferred tax positions are net by jurisdiction on the consolidated balance sheet. We assess our ability to realize our deferred tax assets at the end of each reporting period. Realization of our deferred tax assets is contingent upon future taxable earnings. Accordingly, this assessment requires estimates and judgment. If the estimates of future taxable income vary from actual results, our assessment regarding the realization of these deferred tax assets could change. Future changes in the estimated amount of deferred taxes expected to be realized will be reflected in our consolidated financial statements in the period the estimate is changed, with a corresponding adjustment to our operating results. We recognize the financial statement benefit of a tax position only after determining that the relevant tax authority would “more likely than not” sustain the position following an audit. For tax positions meeting the “more likely than not” threshold, the amount recognized in the financial statements is the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement with the relevant tax authority. It is our practice to recognize interest and penalties accrued on any unrecognized tax benefits as a component of income tax expense. Net Income Per Share Basic net income per share has been computed using the weighted average number of shares of common stock outstanding during each period. Diluted net income per share also includes the impact of our outstanding potential common shares, including options, RSAs, RSUs, PSUs, and DSUs. Potential common shares that are anti-dilutive are excluded from the calculation of diluted net income per share. Accounting Pronouncements Not Yet Adopted Standard Date of Issuance Description Date of Required Adoption Effect on the Financial Statements ASU 2021-08 , Business Combinations (Topic 805) - Accounting for Contract Assets and Contract Liabilities from Contracts with Customers October 2021 This amendment requires that an acquirer recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Topic 606, effective for all business combinations in the year of adoption and thereafter. January 2023 The adoption of this standard may have a material impact on the purchase accounting for business combinations depending on the specific amount of contract assets and liabilities being acquired. |
Business Acquisitions
Business Acquisitions | 12 Months Ended |
Dec. 31, 2022 | |
Business Combinations [Abstract] | |
Business Acquisitions | Business Acquisitions GCommerce Effective July 19, 2022, we acquired all of the outstanding equity ownership interests of GCommerce, Inc. ("GCommerce"), a leading EDI provider within the automotive aftermarket industry. Pursuant to the definitive agreement, the purchase price was $45.1 million, including post-closing adjustments. The purchase accounting for the acquisition has not been finalized as of December 31, 2022 due to various items including valuation modeling completion; provisional amounts are primarily related to intangible assets and tax components. We expect to finalize the allocation of the purchase price within the one-year measurement period following the acquisition. InterTrade Effective October 4, 2022, we acquired all of the outstanding equity ownership interests of Canadian based InterTrade Systems Inc. ("InterTrade"), a leading EDI provider within the apparel and general merchandising markets. Pursuant to the definitive agreement, the purchase price was $49.1 million, including estimated post-closing adjustments. The purchase accounting for the acquisition has not been finalized as of December 31, 2022 due to various items including valuation modeling completion; provisional amounts are primarily related to intangible assets, net working capital, and tax components. We expect to finalize the allocation of the purchase price within the one-year measurement period following the acquisition. The definitive agreement included the potential for the seller to receive up to $2.0 million in cash, contingent upon the completion of a technological infrastructure migration project within a specified time period. Given the status of the project, at the date of acquisition as well as at December 31, 2022, we expected to pay the full contingent consideration balance in 2023. As such, $2.0 million was included in accrued expenses in the consolidated balance sheet at December 31, 2022. Purchase Price Allocations We accounted for the acquisitions as business combinations. We allocated each purchase price to the tangible and identifiable intangible assets acquired and liabilities assumed based on their estimated fair values as of the acquisition date. The following table summarizes the estimated fair values of the assets acquired and liabilities assumed at the acquisition dates: 2022 Acquisition Activity GCommerce InterTrade (in thousands) Acquisition Date Estimated Fair Value as of Adjustments Acquisition Date Estimated Fair Value as of Acquisition Date Estimated Fair Value as of Cash paid at transaction date $ 45,153 $ — $ 45,153 $ 47,165 Contingent consideration — — — 2,000 Post-closing adjustments (64) — (64) (93) Total consideration $ 45,089 $ — $ 45,089 $ 49,072 Estimated fair value of assets and liabilities acquired: Cash $ 230 $ — $ 230 $ 668 Accounts receivable 467 — 467 1,302 Other current assets 288 — 288 1,903 Operating lease right-of-use asset 934 — 934 — Intangible assets Subscriber relationships 18,225 (925) 17,300 17,640 Developed technology 2,025 275 2,300 4,410 Deferred income tax assets 5,291 1,440 6,731 101 Accounts payable (266) — (266) (2,337) Accrued compensation (321) — (321) — Deferred revenue (262) — (262) (397) Operating lease liability (934) — (934) — Deferred income tax liabilities (5,144) 537 (4,607) (6,228) Total fair value of assets and liabilities acquired $ 20,533 $ 1,327 $ 21,860 $ 17,062 Goodwill $ 24,556 $ (1,327) $ 23,229 $ 32,010 The following table summarizes the estimated useful lives for each acquired intangible asset, each of which are subject to finalization: Estimated Useful Life GCommerce InterTrade Subscriber relationships 8.0 years 8.0 years Developed technology 5.0 years 6.0 years |
Revenue
Revenue | 12 Months Ended |
Dec. 31, 2022 | |
Revenue from Contract with Customer [Abstract] | |
Revenue | Revenue We derive our revenues from the following revenue streams: Year Ended December 31, (in thousands) 2022 2021 2020 Recurring revenues: Fulfillment $ 364,148 $ 306,851 $ 251,272 Analytics 46,894 42,674 38,824 Other 8,005 5,481 4,920 Recurring Revenues 419,047 355,006 295,016 One-time revenues 31,828 30,270 17,614 Total revenue $ 450,875 $ 385,276 $ 312,630 Revenues are the amount that reflects the consideration we are contractually and legally entitled to, as well as the amount we expect to collect, in exchange for those services. Recurring Revenues Recurring revenues consist of recurring subscriptions from customers that utilize our Fulfillment, Analytics, and Other supply chain management products. Revenue for these products is generally recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Our contracts with our recurring revenue customers are recurring in nature, generally ranging from monthly to annual, and generally allow the customer to cancel the contract for any reason with 30 to 90 days’ notice. Timing of billings varies by customer and by contract type and are either in advance or within 30 days of the service being performed. Given that the recurring revenue contracts are for one year or less, we have applied the optional exemption to not disclose information about the remaining performance obligations for recurring revenue contracts. One-time Revenues One-time revenues consist of set-up fees and miscellaneous fees from customers. Set- up revenues Set-up fees are specific for each connection a customer has with a trading partner. These nonrefundable fees are necessary for our customers to utilize our services and do not provide any standalone value. Many of our customers have connections with numerous trading partners. Set-up fees constitute a material renewal option right that provide customers a significant future incentive that would not be otherwise available to that customer unless they entered into the contract, as the set-up fees will not be incurred again upon contract renewal. As such, set-up fees and related costs are deferred and recognized ratably over two years which is the estimated period for which a material right is present for our customers. The table below presents the activity of the portion of the deferred revenue liability relating to set-up fees: Year Ended December 31, (in thousands) 2022 2021 Balance, beginning of year $ 14,459 $ 11,118 Invoiced set-up fees 15,457 15,931 Recognized set-up fees (14,917) (12,590) Balance, end of year $ 14,999 $ 14,459 The entire balance of deferred set-up fees will be recognized within two years. Those that will be recognized within the next year are classified as current, whereas the remainder are classified as non-current. Miscellaneous fees Miscellaneous fees primarily consist of professional services and testing and certification. The contract period for these one-time fees is for one year or less and recognized at the time service is provided. We have applied the optional exemption to not disclose information about the remaining performance obligations for miscellaneous one-time fee contracts since they have original durations of one year or less. Deferred Revenue In the year ended December 31, 2022, we recognized revenue of $50.4 million from amounts included in deferred revenue at December 31, 2021. |
Deferred Costs
Deferred Costs | 12 Months Ended |
Dec. 31, 2022 | |
Deferred Costs [Abstract] | |
Deferred Costs | Deferred Costs The deferred costs activity was as follows: Year Ended December 31, (in thousands) 2022 2021 Balance, beginning of year $ 59,720 $ 50,595 Incurred deferred costs 72,509 64,076 Amortized deferred costs (62,050) (54,951) Balance, end of year $ 70,179 $ 59,720 |
Fair Value Measurements
Fair Value Measurements | 12 Months Ended |
Dec. 31, 2022 | |
Fair Value Disclosures [Abstract] | |
Fair Value Measurements | Fair Value Measurements Cash Equivalents and Investments Cash equivalents and investments, as measured at fair value on a recurring basis, consisted of the following: December 31, 2022 December 31, 2021 Fair Value Level Amortized Cost Unrealized Gains (Losses), net Fair Value Amortized Cost Unrealized Gains (Losses), net Fair Value (in thousands) Cash equivalents: Money market funds Level 1 $ 73,368 $ — $ 73,368 $ 138,205 $ — $ 138,205 Investments: Certificates of deposit Level 1 6,813 — 6,813 7,268 — 7,268 Marketable securities: Commercial paper Level 2 44,224 375 44,599 34,984 7 34,991 U.S. treasury securities Level 2 — — — 7,500 (1) 7,499 $ 124,405 $ 375 $ 124,780 $ 187,957 $ 6 $ 187,963 |
Allowance for Credit Losses
Allowance for Credit Losses | 12 Months Ended |
Dec. 31, 2022 | |
Receivables [Abstract] | |
Allowance for Credit Losses | Allowance for Credit Losses The allowance for credit losses activity, included in accounts receivable, net, was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Balance, beginning of year $ 4,249 $ 4,233 $ 1,469 Provision for credit losses 3,359 4,717 5,660 Write-offs, net of recoveries (4,542) (4,790) (4,319) Initial allowance for business combination acquired receivables — 89 354 Adoption of ASU 2016-13 — — 1,069 Balance, end of year $ 3,066 $ 4,249 $ 4,233 |
Property and Equipment, net
Property and Equipment, net | 12 Months Ended |
Dec. 31, 2022 | |
Property, Plant and Equipment [Abstract] | |
Property and Equipment, net | Property and Equipment, net Property and equipment, net consisted of the following: December 31, (in thousands) 2022 2021 Internally developed software $ 49,994 $ 44,981 Computer equipment 30,310 29,329 Leasehold improvements 16,531 16,685 Office equipment and furniture 10,981 10,972 Property and equipment, cost 107,816 101,967 Less: accumulated depreciation and amortization (72,358) (70,066) Total property and equipment, net $ 35,458 $ 31,901 Depreciation and amortization expense of property and equipment was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Depreciation and amortization expense $ 16,421 $ 14,788 $ 13,127 |
Goodwill and Intangible Assets,
Goodwill and Intangible Assets, net | 12 Months Ended |
Dec. 31, 2022 | |
Goodwill and Intangible Assets Disclosure [Abstract] | |
Goodwill and Intangible Assets, net | Goodwill and Intangible Assets, net Goodwill The activity in goodwill was as follows: Year Ended December 31, (in thousands) 2022 2021 Balance, beginning of year $ 143,663 $ 134,853 Additions from business acquisitions 56,566 8,914 Foreign currency translation (1,618) (372) Remeasurement from provisional purchase accounting amount (1,327) 268 Balance, end of year $ 197,284 $ 143,663 Intangible Assets Intangible assets, net consisted of the following: December 31, 2022 ($ in thousands) Gross Carrying Amount Accumulated Amortization Foreign Currency Translation Net Weighted Average Remaining Subscriber relationships $ 80,101 $ (22,255) $ (171) $ 57,675 6.8 years Developed technology 40,610 (9,934) 1 30,677 5.4 years $ 120,711 $ (32,189) $ (170) $ 88,352 6.4 years December 31, 2021 ($ in thousands) Gross Carrying Amount Accumulated Amortization Foreign Currency Translation Net Weighted Average Remaining Subscriber relationships $ 61,270 $ (29,866) $ (1,395) $ 30,009 6.4 years Developed technology 35,316 (6,738) — 28,578 6.8 years $ 96,586 $ (36,604) $ (1,395) $ 58,587 6.6 years The estimated future annual amortization expense related to intangible assets is as follows: (in thousands) 2023 $ 15,289 2024 14,098 2025 13,960 2026 12,956 2027 12,493 Thereafter 19,556 Total future amortization $ 88,352 |
Commitments and Contingencies
Commitments and Contingencies | 12 Months Ended |
Dec. 31, 2022 | |
Commitments and Contingencies Disclosure [Abstract] | |
Commitments and Contingencies | Commitments and Contingencies Leases We are engaged in a lease agreement for our current headquarters located in Minneapolis, Minnesota where we lease approximately 198,000 square feet under an agreement that expires in 2027. The lease also has two options to extend the term for five years each at a market rate determined in accordance with the lease. We lease other smaller facilities across the U.S. and international locations. The components of lease expense were as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Operating lease cost $ 3,087 $ 3,089 $ 2,719 Variable lease cost 3,576 3,660 3,578 $ 6,663 $ 6,749 $ 6,297 Supplemental cash flow information related to leases was as follows: December 31, (in thousands) 2022 2021 Cash paid for amounts included in the measurement of lease liabilities Operating cash flows from operating leases $ 4,639 $ 3,757 Right-of-use assets obtained in exchange for operating lease liabilities 934 992 Supplemental balance sheet information related to operating leases was as follows: December 31, 2022 December 31, 2021 Weighted-average remaining lease term 3.9 years 4.8 years Weighted-average discount rate 4.0 % 4.0 % At December 31, 2022, our future minimum payments under operating leases were as follows: (in thousands) 2023 $ 4,889 2024 4,485 2025 4,369 2026 3,764 2027 1,265 Total future payments 18,772 Less: imputed interest (1,486) Total operating lease liabilities $ 17,286 Purchase Commitments We have entered into separate noncancelable agreements with computing infrastructure, customer relationship management, and performance and security data analytics vendors for services through 2025. At December 31, 2022, the total remaining purchase commitments were $4.9 million. Contingencies We may be involved in various claims and legal actions in the normal course of business. We believe that the outcome of any such claim or legal action is not expected to have a material effect on our financial position, results of operations, or cash flows. |
Stockholders' Equity
Stockholders' Equity | 12 Months Ended |
Dec. 31, 2022 | |
Equity [Abstract] | |
Stockholders' Equity | Stockholders’ Equity Share Repurchase Program Our board of directors has authorized multiple non-concurrent programs to repurchase our common stock. Details of the programs and activity thereunder through December 31, 2022 were as follows: (in thousands) Effective Date Expiration Date Share Value Authorized for Repurchase Share Value Repurchased Unused & Expired Share Repurchase Value Share Value Available for Future Repurchase 2019 Program November 2019 November 2021 $ 50,000 $ 29,611 $ 20,389 N/A 2021 Program November 2021 August 2022 50,000 49,992 8 N/A 2022 Program August 2022 July 2024 50,000 2,992 N/A $ 47,008 The share repurchase activity by period was as follows: Year Ended December 31, (in thousands, except shares and per share amounts) 2022 2021 2020 Number of shares repurchased 361,745 176,103 371,902 Shares repurchased cost $ 43,215 $ 20,430 $ 18,950 Average price per repurchased share $ 119.46 $ 116.01 $ 50.95 |
Stock-Based Compensation
Stock-Based Compensation | 12 Months Ended |
Dec. 31, 2022 | |
Share-Based Payment Arrangement [Abstract] | |
Stock-Based Compensation | Stock-Based Compensation Our equity compensation plans provide for the grant of incentive and nonqualified stock options, as well as other stock-based awards including PSUs, RSAs, RSUs, and DSUs, to employees, non-employee directors and other consultants who provide services to us. We also provide an ESPP and 401(k) stock match to eligible participants. We recognize stock-based compensation expense based on grant date award fair value. This cost is recognized over the period for which the employee is required to provide service in exchange for the award or the award performance period, except for expenses relating to retirement-eligible employees that have not given their required notice, which is recognized on a pro-rata basis over the notice period prior to retirement. At December 31, 2022 there were 13.2 million shares available for grant under approved equity compensation plans. Stock-based compensation expense was allocated in the consolidated statements of comprehensive income as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Cost of revenues $ 8,684 $ 6,760 $ 3,948 Operating expenses Sales and marketing 7,590 6,248 4,119 Research and development 5,634 4,384 3,626 General and administrative 11,491 10,182 7,243 $ 33,399 $ 27,574 $ 18,936 Stock-based compensation expense by grant type or plan was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Stock options $ 1,903 $ 2,057 $ 2,232 PSUs 7,509 6,417 3,219 RSUs 19,282 15,388 10,367 RSAs & DSUs 437 434 446 ESPP 2,144 1,391 1,117 401(k) stock match 2,124 1,887 1,555 $ 33,399 $ 27,574 $ 18,936 As of December 31, 2022, there was $38.6 million of unrecognized stock-based compensation expense under our equity compensation plans, which is expected to be recognized on a primarily straight-line basis over a weighted-average period of 2.4 years. Stock Options Options generally vest over four years and, upon vesting, the holder is given the option to purchase shares of common stock at a specific strike price until expiration, which is generally seven years from the grant date. Our stock option activity was as follows: Options Weighted Average Outstanding at December 31, 2019 1,543,912 30.03 Granted 127,974 59.02 Exercised (712,074) 26.11 Forfeited (14,926) 43.14 Outstanding at December 31, 2020 944,886 36.71 Granted 53,223 105.53 Exercised (311,378) 30.10 Forfeited (8,081) 68.62 Outstanding at December 31, 2021 678,650 44.76 Granted 56,430 122.59 Exercised (164,393) 29.86 Forfeited (7,990) 92.48 Outstanding at December 31, 2022 562,697 56.24 Of the total outstanding options at December 31, 2022, 0.5 million were exercisable. The outstanding and exercisable options had a weighted average exercise price of $47.80 per share and a weighted average remaining contractual life of 2.9 years. The table below presents additional information related to our stock options: Year Ended December 31, (in thousands, except per share data) 2022 2021 2020 Fair value of options vested $ 1,996 $ 2,509 $ 3,000 Intrinsic value of options exercised 16,705 27,713 31,737 Intrinsic value of options outstanding 40,692 66,235 67,918 Weighted-average fair value per share of options granted 41.34 31.31 16.18 The fair values of the options granted were estimated on the date of grant using the Black-Scholes option pricing model with the following weighted-average assumptions: Year Ended December 31, 2022 2021 2020 Life (in years) 4.3 4.4 4.0 Volatility 38 % 35 % 33 % Dividend yield — — — Risk-free interest rate 2.50 % 0.59 % 0.99 % Performance Share Units, Restricted Stock Units and Awards, and Deferred Stock Units In 2022, 2021, and 2020 we granted PSU awards with certain target performance levels. These awards are earned based upon our Company’s total shareholder return as compared to an indexed total shareholder return over the course of a fiscal based three-year performance period, starting in the year of grant. Earned awards vest in the quarter following the conclusion of the performance period. Expense is recognized on a straight-line basis over the performance period, regardless of whether the market condition is satisfied as the likelihood of the market condition being met is included in the fair-value measurement of the award. In 2022, PSU awards granted in 2019 were earned and vested at the maximum performance level and less than 0.1 million shares of common stock were issued. RSUs generally vest over four years and, upon vesting, the holder is entitled to receive shares of our common stock. RSAs vest over one year and, upon vesting, the holder is entitled to receive shares of our common stock. In lieu of RSAs, a participant may elect to receive DSUs with one year vesting, but the participant directs delayed receipt of common shares of up to ten years after the end of service to us. Activity for our PSUs, RSUs, RSAs, and DSUs in aggregate was as follows: (#) Weighted Average Outstanding at December 31, 2019 797,546 38.80 Granted 331,264 62.78 Vested and common stock issued (222,606) 36.06 Forfeited (167,782) 30.09 Outstanding at December 31, 2020 738,422 52.37 Granted 314,290 101.85 Vested and common stock issued (331,669) 44.14 Forfeited (18,883) 66.35 Outstanding at December 31, 2021 702,160 78.03 Granted 312,880 126.44 Vested and common stock issued (276,872) 64.12 Forfeited (26,010) 99.37 Outstanding at December 31, 2022 712,158 103.93 The number of PSUs, RSUs, RSAs, and DSUs outstanding at December 31, 2022 included less than 0.1 million units that have vested, but the shares of common stock have not yet been issued, pursuant to the terms of the agreements. Employee Stock Purchase Plan Our ESPP activity was as follows: Year Ended December 31, (in thousands, except share data) 2022 2021 2020 Amounts for shares purchased $ 6,676 $ 4,737 $ 3,374 Shares purchased 70,107 55,726 61,833 A total of 1.7 million shares of common stock are remaining for issuance under the plan at December 31, 2022. The fair value was estimated based on the market price of our common stock at the beginning of the offering period using the following assumptions: Year Ended December 31, 2022 2021 2020 Life (in years) 0.5 0.5 0.5 Volatility 42 % 32 % 43 % Dividend yield — — — Risk-free interest rate 1.27 % 0.07 % 0.96 % |
Income Taxes
Income Taxes | 12 Months Ended |
Dec. 31, 2022 | |
Income Tax Disclosure [Abstract] | |
Income Taxes | Income Taxes Our provision for income taxes was comprised of the following components: Year Ended December 31, (in thousands) 2022 2021 2020 Current Federal $ 13,881 $ 1,559 $ — State 4,149 1,890 1,249 Foreign 1,990 1,610 1,608 Deferred Federal (2,530) 4,294 4,462 State (751) (88) 244 Foreign (549) (321) (469) $ 16,190 $ 8,944 $ 7,094 Our income tax expense differed from the amounts computed by applying the U.S. federal income tax rate to pretax income as a result of the following: Year Ended December 31, 2022 2021 2020 U.S. statutory federal income tax rate 21.0 % 21.0 % 21.0 % Increase (decrease) resulting from: U.S. state income taxes, net of federal tax effect 4.6 4.5 4.5 Tax impact of stock activity (4.7) (12.8) (12.9) Nondeductible compensation 3.5 5.0 1.8 Research and development credit (1.5) (1.1) (0.6) Foreign derived intangible income (1.4) (1.3) (1.3) Other 1.2 1.4 1.0 Effective tax rate 22.7 % 16.7 % 13.5 % The significant components of our deferred tax assets and liabilities were as follows: December 31, (in thousands) 2022 2021 Deferred tax assets Net operating loss and credit carryforwards $ 9,970 $ 4,828 Stock-based compensation expense 5,084 3,934 Accrued expenses 4,469 5,174 Operating lease liabilities 4,384 5,235 Research and development capitalized 9,591 — Other deferred tax assets 2,408 2,778 Gross deferred tax assets 35,906 21,949 Less: valuation allowance (1,873) (1,815) Total net deferred tax assets $ 34,033 $ 20,134 Deferred tax liabilities Deferred costs $ (17,696) $ (15,126) Right-of-use assets (2,338) (2,787) Depreciation and amortization (20,282) (8,820) Other deferred tax liabilities (909) (364) Total deferred tax liabilities (41,225) (27,097) Net deferred tax liabilities $ (7,192) $ (6,963) Amounts for the year ended December 31, 2021 have been reclassified to be consistent with the current classification. As of December 31, 2022, we had net operating loss carryforwards of $40.9 million for U.S. federal tax purposes and $4.5 million for state tax purposes. If not utilized, the loss carryforwards will expire between 2023 and 2036 for federal tax purposes and between 2026 and 2042 for state tax purposes. Section 382 of the U.S. Internal Revenue Code generally imposes an annual limitation on the amount of net operating loss carryforwards that might be used to offset taxable income when a corporation has undergone significant changes in stock ownership. As of December 31, 2022, all $40.9 million of our net operating loss carryforwards are subject to Section 382 limitations, of which we believe $6.8 million of federal losses will expire unused due to Section 382 limitations. Accordingly, our deferred tax assets are reported net of the Section 382 limitations. We are subject to income taxes for U.S. federal and various state and international jurisdictions. We are generally subject to U.S. federal and state tax examinations for most prior tax years due to our net operating loss and R&D credit carryforwards and the utilization of the carryforwards in years still open under statute. |
Other Income and Expense
Other Income and Expense | 12 Months Ended |
Dec. 31, 2022 | |
Other Income and Expenses [Abstract] | |
Other Income and Expense | Other Income and Expense Other income (expense), net included the following: Year Ended December 31, (in thousands) 2022 2021 2020 Investment income $ 1,670 $ 278 $ 1,208 Realized gain (loss) from foreign currency on cash and investments held (1,026) (1,456) 1,753 Change in earn-out liability — — (85) Other expense, net (502) (366) (354) Total other income (expense), net $ 142 $ (1,544) $ 2,522 Effective January 1, 2021, all realized gains or losses and interest income on our investments are included in investment income. Previously, realized gains and losses were included in other income (expense), net and interest income was included in interest income, net. Additionally, realized gains or losses from foreign currency on cash and investments |
Net Income Per Share
Net Income Per Share | 12 Months Ended |
Dec. 31, 2022 | |
Earnings Per Share [Abstract] | |
Net Income Per Share | Net Income Per Share The components and computation of basic and diluted net income per share were as follows: Year Ended December 31, (in thousands, except per share amounts) 2022 2021 2020 Numerator Net income $ 55,134 $ 44,597 $ 45,586 Denominator Weighted average common shares outstanding, basic 36,117 35,928 35,226 Options to purchase common stock 382 529 611 PSUs, RSUs, RSAs, and DSUs 454 505 448 Weighted average common shares outstanding, diluted 36,953 36,962 36,285 Net income per share Basic $ 1.53 $ 1.24 $ 1.29 Diluted $ 1.49 $ 1.21 $ 1.26 The number of outstanding potential common shares that were excluded from the calculation of diluted net income per share as they were anti-dilutive was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Anti-dilutive shares 75 31 26 |
Retirement Savings Plan
Retirement Savings Plan | 12 Months Ended |
Dec. 31, 2022 | |
Retirement Benefits [Abstract] | |
Retirement Savings Plan | Retirement Savings Plan We sponsor a 401(k) retirement savings plan for our employees. Employees can contribute up to 80% of their compensation, subject to the limits established by law, and we match 50% of the employee’s contribution up to the first 6% of pre-tax annual compensation. A portion of our match is in Company stock, which is purchased from the open market by our plan provider and immediately deposited into the employee’s 401(k) account. Additionally, we make statutory contributions to retirement plans as required by local foreign government regulations. Our total contributions to the plan were as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Retirement contributions $ 5,386 $ 4,790 $ 3,889 |
Geographic Information
Geographic Information | 12 Months Ended |
Dec. 31, 2022 | |
Revenue from Contract with Customer [Abstract] | |
Geographic Information | Geographic Information Revenue The percentage of domestic revenue, which we define as the percentage of consolidated revenue that was attributable to customers based within the U.S., was as follows: Year Ended December 31, 2022 2021 2020 Domestic revenue 84 % 84 % 85 % No single jurisdiction outside of the U.S. had revenues in excess of 10%. Property and Equipment The percentage of property and equipment, net located at subsidiary and office locations outside of the U.S. was as follows: December 31, 2022 2021 International property and equipment 13 % 12 % |
Related Party Transactions
Related Party Transactions | 12 Months Ended |
Dec. 31, 2022 | |
Related Party Transactions [Abstract] | |
Related Party Transactions | Related Party Transactions The SPS Commerce Foundation (the “Foundation”) is a Minnesota non-profit organization exempt from federal taxation under Section 501(c)(3) of the Internal Revenue Code. The Foundation was formed in 2015 to engage in, advance, support, promote and administer charitable activities. The directors of the Foundation are also our corporate officers. These directors receive no compensation from the Foundation or us for the management services performed for the Foundation. The Foundation is not a subsidiary of ours and the financial results of the Foundation are not consolidated with our financial statements. We have no current legal obligations for future commitments to the Foundation. Our contributions to the Foundation were as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Foundation contributions $ 2,750 $ 2,400 $ 1,800 |
General (Policies)
General (Policies) | 12 Months Ended |
Dec. 31, 2022 | |
Organization, Consolidation and Presentation of Financial Statements [Abstract] | |
Business Description | Business Description SPS Commerce is a leading provider of cloud-based supply chain management services across our global retail network. Our products make it easier for retailers, grocers, distributors, suppliers, and logistics firms to communicate and collaborate by simplifying how they manage and share item, inventory, order and sales data across omnichannel retail channels. We deliver our products using a full-service model, which includes industry-leading technology and a team of experts that optimize, update, and operate the technology on customers' behalf. Our products enable customers to increase supply chain performance, optimize inventory levels and sell-through, reduce operational costs, improve order visibility, and satisfy consumer demands for a seamless omnichannel experience. |
Basis of Presentation | Basis of PresentationThe accompanying consolidated financial statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“GAAP”) and include the accounts of SPS Commerce, Inc. and its subsidiaries. All intercompany accounts and transactions have been eliminated in the consolidated financial statements. |
Foreign Currency Translation | Foreign Currency Translation The functional currency of our foreign operations is generally the applicable local currency. The functional currency is translated into U.S. dollars for balance sheet accounts using current exchange rates in effect as of the balance sheet date and for revenue and expense accounts using an average exchange rate during the year. The translation adjustments are deferred as a component of other comprehensive income within the consolidated statements of comprehensive income and the consolidated statements of stockholders' equity. Gains or losses resulting from transactions denominated in foreign currencies are included in other income (expense), net in our consolidated statements of comprehensive income. |
Use of Estimates | Use of Estimates Preparing financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods. Actual results could differ from those estimates. |
Business Combinations | Business Combinations We allocate the fair value of purchase consideration to the tangible assets acquired, liabilities assumed, and intangible assets acquired based on their estimated fair values as of the acquisition date. The excess of the fair value of purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. Assets acquired include tangible and intangible assets. We use estimates and assumptions that we believe are reasonable as a part of the purchase price allocation, which includes the process to determine the value and useful lives of purchased intangible assets and the process to determine the value of any contingent consideration liabilities. We record the acquisition-date fair value of any contingent liabilities, such as earn-out provisions, as part of the consideration transferred, if present. The unsettled earn-out liability, if any, is subsequently remeasured at each reporting date at fair value. While we believe these estimates and assumptions are reasonable, they are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, we may record adjustments to the fair value of the assets acquired and the liabilities assumed. Any such adjustments would be recorded as an offset to goodwill or a working capital purchase price adjustment as applicable. Upon the conclusion of the measurement period or final determination of the fair values, whichever comes first, any subsequent adjustments would be recorded in our consolidated statements of comprehensive income. |
Segment Information | Segment Information Our Chief Executive Officer acts as the Company’s chief operating decision maker and reviews financial information presented on a consolidated basis for purposes of allocating resources and evaluating financial performance. There are no segment managers who are held accountable by the chief operating decision maker, or anyone else, for operations, operating results and planning for levels or components below the consolidated unit level. Accordingly, we determined we have one operating and reportable segment, which is supply chain management products. |
Concentration of Credit Risk | Concentration of Credit Risk Financial instruments that potentially subject us to concentrations of credit risk consist principally of cash and cash equivalents in financial institutions in excess of federally insured limits and accounts receivable. Cash and cash equivalents are held with financial institutions that we believe are subject to minimal risk. |
Cash and Cash Equivalents | Cash and Cash Equivalents Cash and cash equivalents consist of cash and highly liquid investments with original maturities of less than 90 days. |
Investments | Investments From time to time, we invest in money market funds, certificates of deposit, and marketable securities such as commercial paper, highly liquid debt instruments of the U.S. government, and U.S. corporate debt securities. Investments with remaining maturities of less than one year from the balance sheet date are classified as short-term investments whereas those with remaining maturities of more than one year from the balance sheet date are classified as investments, non-current. Securities classified as available for sale are carried at fair value and the unrealized gains and losses on these investments, net of taxes, are included in accumulated other comprehensive loss in the consolidated balance sheets. Realized gains or losses are included in other income (expense), net in the consolidated statements of comprehensive income. Certain securities accrue interest that is included in other income (expense), net. When a determination has been made that the fair value of a marketable security is below its amortized cost basis, the portion of the unrealized loss that corresponds to a credit-related factor is realized through a credit allowance on the marketable security and the equivalent expense is realized in other income (expense), net in the consolidated statements of comprehensive income. |
Fair Value of Other Financial Instruments | Fair Value Measurements The carrying amounts of our short-term financial instruments, which include cash, cash equivalents, accounts receivable, and accounts payable, approximates fair value due to their short-term nature. Recurring Fair Value Measurements We measure certain financial assets at fair value on a recurring basis based on a fair value hierarchy that requires us to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. The three levels of inputs that are used to measure fair value are: • Level 1 – quoted prices in active markets for identical assets or liabilities. • Level 2 – observable inputs other than Level 1 prices, such as (a) quoted prices for similar assets or liabilities, (b) quoted prices in markets with insufficient volume or infrequent transactions (less active markets), or (c) model-derived valuations in which all significant inputs are observable or can be derived principally from or corroborated by observable market data for substantially the full term of the assets or liabilities. • Level 3 – unobservable inputs to the valuation methodology that are significant to the measurement of fair value of assets or liabilities. Nonrecurring Fair Value Measurements We measure certain assets and liabilities at fair value on a nonrecurring basis, including long-lived assets, goodwill, and indefinite-lived intangible assets. |
Accounts Receivable | Accounts Receivable Accounts receivable are initially recorded upon the sale and invoicing of products to customers. Credit is granted in the normal course of business without collateral. Accounts receivable are stated net of allowances for credit losses, which represent estimated losses resulting from customers not making required payments on accounts receivables. When determining the allowance, we pool our outstanding accounts receivable invoices based on the contractual due date of payment. We take several factors into consideration for estimated credit losses by pool, primarily our historical credit losses, with additional adjustments made for current and future macro-economic conditions and retail bankruptcy trends. We write-off accounts receivable when they are determined to be uncollectible. Changes in the allowance are recorded as bad debt expense and are included in general and administrative expense in our consolidated statements of comprehensive income. |
Property and Equipment | Property and Equipment Property and equipment, including assets acquired under lease obligations, are stated at cost, net of accumulated depreciation and amortization. Depreciation and amortization expense is calculated using the straight-line method over the estimated useful lives when placed in service. We capitalize and amortize eligible costs to acquire or generate internally developed software that are incurred during the application development stage. Costs incurred during the preliminary project stage and post-implementation stage are expensed as incurred. Amortization expense for internally developed software is calculated using the straight-line method over the estimated useful life, commencing on the date when the asset is ready for its intended use. The estimated useful lives of property and equipment were as follows: Estimated Useful Life Internally developed software 3 years Computer equipment 2-3 years Office equipment and furniture 5-7 years Leasehold improvements Shorter of the useful life of the asset or the remaining term of the lease Significant additions or improvements extending asset lives beyond one year are capitalized, while repairs and maintenance are charged to expense as incurred. The assets and related accumulated depreciation and amortization are adjusted for asset retirements and disposals with the resulting gain or loss included in our consolidated statements of comprehensive income. Maintenance of internally developed software are expensed as incurred. The assets and related accumulated amortization are adjusted for abandoned internally developed software with the resulting loss included in our consolidated statements of comprehensive income. |
Leases | Leases We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current operating lease liabilities, and non-current operating lease liabilities in our consolidated balance sheets. Right-of-use (“ROU”) assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. We use the implicit interest rate when readily determinable. We estimate the discount rate for a similar collateralized asset by estimating costs of borrowing. The operating lease ROU asset also includes any lease payments made and lease incentives that have been incurred. The options to extend our leases are not recognized as part of our ROU assets and lease liabilities unless it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. For all leases, we combine non-lease components with the related lease components and account for it as a single lease component. The ROU assets are subject to the same impairment process as our long-lived assets. Additionally, we review our lease liabilities for remeasurement whenever there is a triggering event or when relevant facts and circumstances change. |
Research and Development | Research and Development Research and development costs primarily include development, maintenance, and data conversion activities related to our cloud-based supply chain management products and are expensed as incurred. Research and development costs are net of amounts capitalized as developed software. |
Goodwill | Goodwill Goodwill represents the excess of the purchase price over the fair value of identifiable net assets acquired in business combinations. Goodwill is attributed to a trained workforce and other buyer-specific value resulting from expected synergies, including long-term cost savings, which are not included in the fair values of identifiable assets. |
Intangible Assets | Intangible Assets Assets acquired in business combinations may include identifiable intangible assets such as subscriber relationships and developed technology. We recognize the fair value of the identifiable intangible assets acquired separately from goodwill. We have determined the fair value and useful lives of our purchased intangible assets using certain estimates and assumptions that we believe are reasonable. The purchased intangible assets are being amortized on a straight-line basis over their estimated useful lives. The estimated useful lives for intangible were as follows: Estimated Useful Life Subscriber relationships 7-10 years Developed technology 3-10 years |
Impairment of Long-Lived Assets | Impairment of Long-Lived Assets We review our long-lived assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The carrying amount of a long-lived asset is not recoverable if the carrying amount of an asset group exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the assets at the date it is tested for recoverability, whether in use or under development. An impairment loss is measured and recorded as an expense in the consolidated statements of comprehensive income as the amount by which the carrying amount of a long-lived asset exceeds its fair value. |
Revenue Recognition | Revenue Recognition Revenues are the amount that reflects the consideration we are contractually and legally entitled to, as well as the amount we expect to collect, in exchange for those services. We determine revenue recognition through the following steps: • Identification of the contract, or contracts, with a customer • Identification of the performance obligations in the contract • Determination of the transaction price • Allocation of the transaction price to the performance obligations in the contract • Recognition of revenue when, or as, we satisfy a performance obligation See Note C for further descriptions of our revenue recognition policy. |
Deferred Costs | Deferred Costs Deferred costs are those that are incurred to fulfill or obtain customer contracts and that are considered incremental and recoverable costs. These consist primarily of customer implementation costs, commissions paid to sales personnel and referral partners, respectively. These costs are deferred and amortized over the expected period of benefit which we have determined to be two years. Customer implementation costs are based on actual costs incurred. Related amortization expense is included in cost of revenues in the consolidated statements of comprehensive income. Sales commissions are calculated based on estimated annual recurring revenue to be generated over the customer’s initial contract period. Related amortization expense is included in sales and marketing expenses in the consolidated statements of comprehensive income. |
Stock-Based Compensation | Stock-Based Compensation Stock-based compensation includes grants of incentive and nonqualified stock options, performance share units (“PSUs”), restricted stock awards (“RSAs”), restricted stock units (“RSUs”), deferred stock units (“DSUs”), employee stock purchase plan (“ESPP”) activity, and 401(k) stock match and is used to compensate employees, executive officers, and non-employee directors. We recognize the cost of all stock-based payments based on the grant date fair value of those awards. This cost is recognized over the period for which an employee is required to provide service in exchange for the award or the award performance period, except for expenses relating to retirement-eligible employees that have not given their required notice, which is recognized on a pro-rata basis over the notice period prior to retirement. For all awards, we recognize forfeitures as they occur. RSAs result in the issuance of new shares when granted. For other stock-based awards, new shares are issued when the award is exercised, vested, or released according to the terms of the agreement. Our ESPP allows participating employees to purchase shares of our common stock at a discount through payroll deductions. The plan is available to all employees subject to certain eligibility requirements. Participating employees may purchase common stock, on a voluntary after-tax basis, at a price that is the lower of 85% of the fair market value of our common stock at the beginning or end of each stock purchase period. The plan is a Type B plan, so the number of shares a participants can acquire is variable. Participants purchase more shares as the stock price decreases, up to the total amount originally elected to withhold at the beginning of the offering period. The plan consists of two six-month offering periods, beginning on January 1 and July 1 of each calendar year. The fair value of stock options and ESPP activity is estimated using the Black-Scholes option valuation model. The fair value for RSAs, RSUs, and DSUs is the closing market value of the underlying stock on the date of grant less the purchase price (if any). The fair value of PSUs is estimated using a Monte Carlo simulation. Judgment is required in determining the expected volatility of common stock and the expected term individuals will hold their share-based awards prior to exercising. The expected volatility of the options is based on the historical volatility of our common stock. The expected term of the options is derived from historical data on option holder exercises and post-vesting employment termination behavior. |
Income Taxes | Income Taxes We account for income taxes using the asset and liability method, which requires recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are determined based on the difference between the financial statement and tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to reverse. Deferred tax assets are reduced by a valuation allowance when, in our judgment, it is more likely than not that some or all of the deferred tax asset will not be realized. Deferred tax positions are net by jurisdiction on the consolidated balance sheet. We assess our ability to realize our deferred tax assets at the end of each reporting period. Realization of our deferred tax assets is contingent upon future taxable earnings. Accordingly, this assessment requires estimates and judgment. If the estimates of future taxable income vary from actual results, our assessment regarding the realization of these deferred tax assets could change. Future changes in the estimated amount of deferred taxes expected to be realized will be reflected in our consolidated financial statements in the period the estimate is changed, with a corresponding adjustment to our operating results. We recognize the financial statement benefit of a tax position only after determining that the relevant tax authority would “more likely than not” sustain the position following an audit. For tax positions meeting the “more likely than not” threshold, the amount recognized in the financial statements is the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement with the relevant tax authority. It is our practice to recognize interest and penalties accrued on any unrecognized tax benefits as a component of income tax expense. |
Net Income Per Share | Net Income Per Share Basic net income per share has been computed using the weighted average number of shares of common stock outstanding during each period. Diluted net income per share also includes the impact of our outstanding potential common shares, including options, RSAs, RSUs, PSUs, and DSUs. Potential common shares that are anti-dilutive are excluded from the calculation of diluted net income per share. |
Accounting Pronouncements Not Yet Adopted | Accounting Pronouncements Not Yet Adopted Standard Date of Issuance Description Date of Required Adoption Effect on the Financial Statements ASU 2021-08 , Business Combinations (Topic 805) - Accounting for Contract Assets and Contract Liabilities from Contracts with Customers October 2021 This amendment requires that an acquirer recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Topic 606, effective for all business combinations in the year of adoption and thereafter. January 2023 The adoption of this standard may have a material impact on the purchase accounting for business combinations depending on the specific amount of contract assets and liabilities being acquired. |
General (Tables)
General (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Organization, Consolidation and Presentation of Financial Statements [Abstract] | |
Schedule of Estimated Useful Lives of Property and Equipment | The estimated useful lives of property and equipment were as follows: Estimated Useful Life Internally developed software 3 years Computer equipment 2-3 years Office equipment and furniture 5-7 years Leasehold improvements Shorter of the useful life of the asset or the remaining term of the lease Property and equipment, net consisted of the following: December 31, (in thousands) 2022 2021 Internally developed software $ 49,994 $ 44,981 Computer equipment 30,310 29,329 Leasehold improvements 16,531 16,685 Office equipment and furniture 10,981 10,972 Property and equipment, cost 107,816 101,967 Less: accumulated depreciation and amortization (72,358) (70,066) Total property and equipment, net $ 35,458 $ 31,901 |
Summary of Estimated Useful Lives of Intangible Assets | The estimated useful lives for intangible were as follows: Estimated Useful Life Subscriber relationships 7-10 years Developed technology 3-10 years |
Business Acquisitions (Tables)
Business Acquisitions (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Business Combinations [Abstract] | |
Estimated Fair Values of Assets Acquired and Liabilities Assumed at Acquisition Date | The following table summarizes the estimated fair values of the assets acquired and liabilities assumed at the acquisition dates: 2022 Acquisition Activity GCommerce InterTrade (in thousands) Acquisition Date Estimated Fair Value as of Adjustments Acquisition Date Estimated Fair Value as of Acquisition Date Estimated Fair Value as of Cash paid at transaction date $ 45,153 $ — $ 45,153 $ 47,165 Contingent consideration — — — 2,000 Post-closing adjustments (64) — (64) (93) Total consideration $ 45,089 $ — $ 45,089 $ 49,072 Estimated fair value of assets and liabilities acquired: Cash $ 230 $ — $ 230 $ 668 Accounts receivable 467 — 467 1,302 Other current assets 288 — 288 1,903 Operating lease right-of-use asset 934 — 934 — Intangible assets Subscriber relationships 18,225 (925) 17,300 17,640 Developed technology 2,025 275 2,300 4,410 Deferred income tax assets 5,291 1,440 6,731 101 Accounts payable (266) — (266) (2,337) Accrued compensation (321) — (321) — Deferred revenue (262) — (262) (397) Operating lease liability (934) — (934) — Deferred income tax liabilities (5,144) 537 (4,607) (6,228) Total fair value of assets and liabilities acquired $ 20,533 $ 1,327 $ 21,860 $ 17,062 Goodwill $ 24,556 $ (1,327) $ 23,229 $ 32,010 |
Finite-Lived and Indefinite-Lived Intangible Assets Acquired as Part of Business Combination | The following table summarizes the estimated useful lives for each acquired intangible asset, each of which are subject to finalization: Estimated Useful Life GCommerce InterTrade Subscriber relationships 8.0 years 8.0 years Developed technology 5.0 years 6.0 years |
Revenue (Tables)
Revenue (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Revenue from Contract with Customer [Abstract] | |
Summary of Revenues by Revenue Stream | We derive our revenues from the following revenue streams: Year Ended December 31, (in thousands) 2022 2021 2020 Recurring revenues: Fulfillment $ 364,148 $ 306,851 $ 251,272 Analytics 46,894 42,674 38,824 Other 8,005 5,481 4,920 Recurring Revenues 419,047 355,006 295,016 One-time revenues 31,828 30,270 17,614 Total revenue $ 450,875 $ 385,276 $ 312,630 |
Summary of Deferred Revenue Liability Relating to Set-Up Fees | The table below presents the activity of the portion of the deferred revenue liability relating to set-up fees: Year Ended December 31, (in thousands) 2022 2021 Balance, beginning of year $ 14,459 $ 11,118 Invoiced set-up fees 15,457 15,931 Recognized set-up fees (14,917) (12,590) Balance, end of year $ 14,999 $ 14,459 |
Deferred Costs (Tables)
Deferred Costs (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Deferred Costs [Abstract] | |
Summary of Deferred Costs Activity | The deferred costs activity was as follows: Year Ended December 31, (in thousands) 2022 2021 Balance, beginning of year $ 59,720 $ 50,595 Incurred deferred costs 72,509 64,076 Amortized deferred costs (62,050) (54,951) Balance, end of year $ 70,179 $ 59,720 |
Fair Value Measurements (Tables
Fair Value Measurements (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Fair Value Disclosures [Abstract] | |
Summary of Cash Equivalents and Investments | Cash equivalents and investments, as measured at fair value on a recurring basis, consisted of the following: December 31, 2022 December 31, 2021 Fair Value Level Amortized Cost Unrealized Gains (Losses), net Fair Value Amortized Cost Unrealized Gains (Losses), net Fair Value (in thousands) Cash equivalents: Money market funds Level 1 $ 73,368 $ — $ 73,368 $ 138,205 $ — $ 138,205 Investments: Certificates of deposit Level 1 6,813 — 6,813 7,268 — 7,268 Marketable securities: Commercial paper Level 2 44,224 375 44,599 34,984 7 34,991 U.S. treasury securities Level 2 — — — 7,500 (1) 7,499 $ 124,405 $ 375 $ 124,780 $ 187,957 $ 6 $ 187,963 |
Allowance for Credit Losses (Ta
Allowance for Credit Losses (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Receivables [Abstract] | |
Schedule of Allowance for Credit Losses Activity Included in Accounts Receivable Net | The allowance for credit losses activity, included in accounts receivable, net, was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Balance, beginning of year $ 4,249 $ 4,233 $ 1,469 Provision for credit losses 3,359 4,717 5,660 Write-offs, net of recoveries (4,542) (4,790) (4,319) Initial allowance for business combination acquired receivables — 89 354 Adoption of ASU 2016-13 — — 1,069 Balance, end of year $ 3,066 $ 4,249 $ 4,233 |
Property and Equipment, net (Ta
Property and Equipment, net (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Property, Plant and Equipment [Abstract] | |
Schedule of Property and Equipment, Net | The estimated useful lives of property and equipment were as follows: Estimated Useful Life Internally developed software 3 years Computer equipment 2-3 years Office equipment and furniture 5-7 years Leasehold improvements Shorter of the useful life of the asset or the remaining term of the lease Property and equipment, net consisted of the following: December 31, (in thousands) 2022 2021 Internally developed software $ 49,994 $ 44,981 Computer equipment 30,310 29,329 Leasehold improvements 16,531 16,685 Office equipment and furniture 10,981 10,972 Property and equipment, cost 107,816 101,967 Less: accumulated depreciation and amortization (72,358) (70,066) Total property and equipment, net $ 35,458 $ 31,901 |
Schedule of Depreciation and Amortization Expense of Property and Equipment | Depreciation and amortization expense of property and equipment was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Depreciation and amortization expense $ 16,421 $ 14,788 $ 13,127 |
Goodwill and Intangible Asset_2
Goodwill and Intangible Assets, net (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Goodwill and Intangible Assets Disclosure [Abstract] | |
Schedule of Activity in Goodwill | The activity in goodwill was as follows: Year Ended December 31, (in thousands) 2022 2021 Balance, beginning of year $ 143,663 $ 134,853 Additions from business acquisitions 56,566 8,914 Foreign currency translation (1,618) (372) Remeasurement from provisional purchase accounting amount (1,327) 268 Balance, end of year $ 197,284 $ 143,663 |
Intangible Assets | Intangible assets, net consisted of the following: December 31, 2022 ($ in thousands) Gross Carrying Amount Accumulated Amortization Foreign Currency Translation Net Weighted Average Remaining Subscriber relationships $ 80,101 $ (22,255) $ (171) $ 57,675 6.8 years Developed technology 40,610 (9,934) 1 30,677 5.4 years $ 120,711 $ (32,189) $ (170) $ 88,352 6.4 years December 31, 2021 ($ in thousands) Gross Carrying Amount Accumulated Amortization Foreign Currency Translation Net Weighted Average Remaining Subscriber relationships $ 61,270 $ (29,866) $ (1,395) $ 30,009 6.4 years Developed technology 35,316 (6,738) — 28,578 6.8 years $ 96,586 $ (36,604) $ (1,395) $ 58,587 6.6 years |
Estimated Annual Amortization Expense Related to Intangible Assets | The estimated future annual amortization expense related to intangible assets is as follows: (in thousands) 2023 $ 15,289 2024 14,098 2025 13,960 2026 12,956 2027 12,493 Thereafter 19,556 Total future amortization $ 88,352 |
Commitments and Contingencies (
Commitments and Contingencies (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Commitments and Contingencies Disclosure [Abstract] | |
Components of Lease Expense | The components of lease expense were as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Operating lease cost $ 3,087 $ 3,089 $ 2,719 Variable lease cost 3,576 3,660 3,578 $ 6,663 $ 6,749 $ 6,297 |
Schedule of Supplemental Cash Flow Information Related to Leases | Supplemental cash flow information related to leases was as follows: December 31, (in thousands) 2022 2021 Cash paid for amounts included in the measurement of lease liabilities Operating cash flows from operating leases $ 4,639 $ 3,757 Right-of-use assets obtained in exchange for operating lease liabilities 934 992 |
Schedule of Supplemental Balance Sheet Information Related to Leases | Supplemental balance sheet information related to operating leases was as follows: December 31, 2022 December 31, 2021 Weighted-average remaining lease term 3.9 years 4.8 years Weighted-average discount rate 4.0 % 4.0 % |
Schedule of Future Minimum Payments Under Operating Leases | At December 31, 2022, our future minimum payments under operating leases were as follows: (in thousands) 2023 $ 4,889 2024 4,485 2025 4,369 2026 3,764 2027 1,265 Total future payments 18,772 Less: imputed interest (1,486) Total operating lease liabilities $ 17,286 |
Stockholders' Equity (Tables)
Stockholders' Equity (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Equity [Abstract] | |
Class of Treasury Stock | Our board of directors has authorized multiple non-concurrent programs to repurchase our common stock. Details of the programs and activity thereunder through December 31, 2022 were as follows: (in thousands) Effective Date Expiration Date Share Value Authorized for Repurchase Share Value Repurchased Unused & Expired Share Repurchase Value Share Value Available for Future Repurchase 2019 Program November 2019 November 2021 $ 50,000 $ 29,611 $ 20,389 N/A 2021 Program November 2021 August 2022 50,000 49,992 8 N/A 2022 Program August 2022 July 2024 50,000 2,992 N/A $ 47,008 The share repurchase activity by period was as follows: Year Ended December 31, (in thousands, except shares and per share amounts) 2022 2021 2020 Number of shares repurchased 361,745 176,103 371,902 Shares repurchased cost $ 43,215 $ 20,430 $ 18,950 Average price per repurchased share $ 119.46 $ 116.01 $ 50.95 |
Stock-Based Compensation (Table
Stock-Based Compensation (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Share-Based Payment Arrangement [Abstract] | |
Stock-Based Compensation Expense | Stock-based compensation expense was allocated in the consolidated statements of comprehensive income as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Cost of revenues $ 8,684 $ 6,760 $ 3,948 Operating expenses Sales and marketing 7,590 6,248 4,119 Research and development 5,634 4,384 3,626 General and administrative 11,491 10,182 7,243 $ 33,399 $ 27,574 $ 18,936 Stock-based compensation expense by grant type or plan was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Stock options $ 1,903 $ 2,057 $ 2,232 PSUs 7,509 6,417 3,219 RSUs 19,282 15,388 10,367 RSAs & DSUs 437 434 446 ESPP 2,144 1,391 1,117 401(k) stock match 2,124 1,887 1,555 $ 33,399 $ 27,574 $ 18,936 |
Stock Option Activity | Our stock option activity was as follows: Options Weighted Average Outstanding at December 31, 2019 1,543,912 30.03 Granted 127,974 59.02 Exercised (712,074) 26.11 Forfeited (14,926) 43.14 Outstanding at December 31, 2020 944,886 36.71 Granted 53,223 105.53 Exercised (311,378) 30.10 Forfeited (8,081) 68.62 Outstanding at December 31, 2021 678,650 44.76 Granted 56,430 122.59 Exercised (164,393) 29.86 Forfeited (7,990) 92.48 Outstanding at December 31, 2022 562,697 56.24 |
Summary of Additional Information Related to Stock Options | The table below presents additional information related to our stock options: Year Ended December 31, (in thousands, except per share data) 2022 2021 2020 Fair value of options vested $ 1,996 $ 2,509 $ 3,000 Intrinsic value of options exercised 16,705 27,713 31,737 Intrinsic value of options outstanding 40,692 66,235 67,918 Weighted-average fair value per share of options granted 41.34 31.31 16.18 |
Weighted Average Fair Value Per Share of Options Granted, Assumptions | The fair values of the options granted were estimated on the date of grant using the Black-Scholes option pricing model with the following weighted-average assumptions: Year Ended December 31, 2022 2021 2020 Life (in years) 4.3 4.4 4.0 Volatility 38 % 35 % 33 % Dividend yield — — — Risk-free interest rate 2.50 % 0.59 % 0.99 % |
PSU, RSU, RSA, and DSU | Activity for our PSUs, RSUs, RSAs, and DSUs in aggregate was as follows: (#) Weighted Average Outstanding at December 31, 2019 797,546 38.80 Granted 331,264 62.78 Vested and common stock issued (222,606) 36.06 Forfeited (167,782) 30.09 Outstanding at December 31, 2020 738,422 52.37 Granted 314,290 101.85 Vested and common stock issued (331,669) 44.14 Forfeited (18,883) 66.35 Outstanding at December 31, 2021 702,160 78.03 Granted 312,880 126.44 Vested and common stock issued (276,872) 64.12 Forfeited (26,010) 99.37 Outstanding at December 31, 2022 712,158 103.93 |
Summary of ESPP Activity | Our ESPP activity was as follows: Year Ended December 31, (in thousands, except share data) 2022 2021 2020 Amounts for shares purchased $ 6,676 $ 4,737 $ 3,374 Shares purchased 70,107 55,726 61,833 |
Fair Value Estimation of Common Stock, Assumptions | The fair value was estimated based on the market price of our common stock at the beginning of the offering period using the following assumptions: Year Ended December 31, 2022 2021 2020 Life (in years) 0.5 0.5 0.5 Volatility 42 % 32 % 43 % Dividend yield — — — Risk-free interest rate 1.27 % 0.07 % 0.96 % |
Income Taxes (Tables)
Income Taxes (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Income Tax Disclosure [Abstract] | |
Schedule of Provision for Income Taxes | Our provision for income taxes was comprised of the following components: Year Ended December 31, (in thousands) 2022 2021 2020 Current Federal $ 13,881 $ 1,559 $ — State 4,149 1,890 1,249 Foreign 1,990 1,610 1,608 Deferred Federal (2,530) 4,294 4,462 State (751) (88) 244 Foreign (549) (321) (469) $ 16,190 $ 8,944 $ 7,094 |
Schedule of Income Tax Expense Differed from Amounts Computed by applying U.S. Federal Income Tax Rate to Pretax Income | Our income tax expense differed from the amounts computed by applying the U.S. federal income tax rate to pretax income as a result of the following: Year Ended December 31, 2022 2021 2020 U.S. statutory federal income tax rate 21.0 % 21.0 % 21.0 % Increase (decrease) resulting from: U.S. state income taxes, net of federal tax effect 4.6 4.5 4.5 Tax impact of stock activity (4.7) (12.8) (12.9) Nondeductible compensation 3.5 5.0 1.8 Research and development credit (1.5) (1.1) (0.6) Foreign derived intangible income (1.4) (1.3) (1.3) Other 1.2 1.4 1.0 Effective tax rate 22.7 % 16.7 % 13.5 % |
Significant Components of Deferred Tax Assets (Liabilities) | The significant components of our deferred tax assets and liabilities were as follows: December 31, (in thousands) 2022 2021 Deferred tax assets Net operating loss and credit carryforwards $ 9,970 $ 4,828 Stock-based compensation expense 5,084 3,934 Accrued expenses 4,469 5,174 Operating lease liabilities 4,384 5,235 Research and development capitalized 9,591 — Other deferred tax assets 2,408 2,778 Gross deferred tax assets 35,906 21,949 Less: valuation allowance (1,873) (1,815) Total net deferred tax assets $ 34,033 $ 20,134 Deferred tax liabilities Deferred costs $ (17,696) $ (15,126) Right-of-use assets (2,338) (2,787) Depreciation and amortization (20,282) (8,820) Other deferred tax liabilities (909) (364) Total deferred tax liabilities (41,225) (27,097) Net deferred tax liabilities $ (7,192) $ (6,963) |
Other Income and Expense (Table
Other Income and Expense (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Other Income and Expenses [Abstract] | |
Summary of Other Income (Expense), Net | Other income (expense), net included the following: Year Ended December 31, (in thousands) 2022 2021 2020 Investment income $ 1,670 $ 278 $ 1,208 Realized gain (loss) from foreign currency on cash and investments held (1,026) (1,456) 1,753 Change in earn-out liability — — (85) Other expense, net (502) (366) (354) Total other income (expense), net $ 142 $ (1,544) $ 2,522 |
Net Income Per Share (Tables)
Net Income Per Share (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Earnings Per Share [Abstract] | |
Components of Computation of Basic and Diluted Net Income Per Share | The components and computation of basic and diluted net income per share were as follows: Year Ended December 31, (in thousands, except per share amounts) 2022 2021 2020 Numerator Net income $ 55,134 $ 44,597 $ 45,586 Denominator Weighted average common shares outstanding, basic 36,117 35,928 35,226 Options to purchase common stock 382 529 611 PSUs, RSUs, RSAs, and DSUs 454 505 448 Weighted average common shares outstanding, diluted 36,953 36,962 36,285 Net income per share Basic $ 1.53 $ 1.24 $ 1.29 Diluted $ 1.49 $ 1.21 $ 1.26 |
Schedule of Anti-dilutive Common Shares Excluded from Calculation of Diluted Net Income Per Share | The number of outstanding potential common shares that were excluded from the calculation of diluted net income per share as they were anti-dilutive was as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Anti-dilutive shares 75 31 26 |
Retirement Savings Plan (Tables
Retirement Savings Plan (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Retirement Benefits [Abstract] | |
Schedule of Total Contribution to the Plan | Our total contributions to the plan were as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Retirement contributions $ 5,386 $ 4,790 $ 3,889 |
Geographic Information (Tables)
Geographic Information (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Revenue from Contract with Customer [Abstract] | |
Summary of Domestic Revenue | The percentage of domestic revenue, which we define as the percentage of consolidated revenue that was attributable to customers based within the U.S., was as follows: Year Ended December 31, 2022 2021 2020 Domestic revenue 84 % 84 % 85 % |
Summary of Percentage of Property and Equipment Net Located at Subsidiary and Office Locations Outside of Unites States | The percentage of property and equipment, net located at subsidiary and office locations outside of the U.S. was as follows: December 31, 2022 2021 International property and equipment 13 % 12 % |
Related Party Transactions (Tab
Related Party Transactions (Tables) | 12 Months Ended |
Dec. 31, 2022 | |
Related Party Transactions [Abstract] | |
Summary of Contributions to Foundation | Our contributions to the Foundation were as follows: Year Ended December 31, (in thousands) 2022 2021 2020 Foundation contributions $ 2,750 $ 2,400 $ 1,800 |
General - Narrative (Detail)
General - Narrative (Detail) | 12 Months Ended |
Dec. 31, 2022 period Segment | |
Schedule of Accounting Policies [Line Items] | |
Number of reportable segment | 1 |
Number of operating segment | 1 |
Deferred commission expected amortization period | 2 years |
Number of offering periods | period | 2 |
Stock plan offering period | 6 months |
General - Summary of Estimated
General - Summary of Estimated Useful Lives of Property and Equipment (Detail) | 12 Months Ended |
Dec. 31, 2022 | |
Internally developed software | |
Schedule of Accounting Policies [Line Items] | |
Estimated useful lives of property and equipment | 3 years |
Computer equipment | Minimum | |
Schedule of Accounting Policies [Line Items] | |
Estimated useful lives of property and equipment | 2 years |
Computer equipment | Maximum | |
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 |
General - Summary of Estimate_2
General - Summary of Estimated Useful Lives of Intangible Assets (Detail) | 12 Months Ended |
Dec. 31, 2022 | |
Subscriber relationships | Minimum | |
Schedule of Accounting Policies [Line Items] | |
Estimated useful lives of intangible assets | 7 years |
Subscriber relationships | Maximum | |
Schedule of Accounting Policies [Line Items] | |
Estimated useful lives of intangible assets | 10 years |
Developed technology | Minimum | |
Schedule of Accounting Policies [Line Items] | |
Estimated useful lives of intangible assets | 3 years |
Developed technology | Maximum | |
Schedule of Accounting Policies [Line Items] | |
Estimated useful lives of intangible assets | 10 years |
Business Acquisitions - Narrati
Business Acquisitions - Narrative (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Oct. 04, 2022 | Jul. 19, 2022 | Dec. 31, 2022 | |
GCommerce Inc | |||
Business Acquisition [Line Items] | |||
Total consideration | $ 45,100 | $ 45,089 | |
Measurement period | 1 year | ||
InterTrade Systems Inc. | |||
Business Acquisition [Line Items] | |||
Total consideration | $ 49,100 | 49,072 | |
Measurement period | 1 year | ||
Contingent consideration | $ 2,000 | $ 2,000 |
Business Acquisitions - Estimat
Business Acquisitions - Estimated Fair Values of Assets Acquired and Liabilities Assumed at Acquisition Date (Detail) - USD ($) $ in Thousands | 9 Months Ended | 12 Months Ended | |||||
Oct. 04, 2022 | Sep. 30, 2022 | Jul. 19, 2022 | Sep. 30, 2022 | Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Estimated fair value of assets and liabilities acquired: | |||||||
Goodwill | $ 197,284 | $ 143,663 | $ 134,853 | ||||
GCommerce Inc | |||||||
Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net | |||||||
Cash paid at transaction date | 45,153 | ||||||
Contingent consideration | 0 | ||||||
Post-closing adjustments | (64) | ||||||
Total consideration | $ 45,100 | 45,089 | |||||
Estimated fair value of assets and liabilities acquired: | |||||||
Cash | 230 | ||||||
Accounts receivable | 467 | ||||||
Other current assets | 288 | ||||||
Operating lease right-of-use asset | 934 | ||||||
Deferred income tax assets | 6,731 | ||||||
Accounts payable | (266) | ||||||
Accrued compensation | (321) | ||||||
Deferred revenue | (262) | ||||||
Operating lease liability | (934) | ||||||
Deferred income tax liabilities | (4,607) | ||||||
Total purchase price | 21,860 | ||||||
Goodwill | 23,229 | ||||||
GCommerce Inc | Previously Reported | |||||||
Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net | |||||||
Cash paid at transaction date | $ 45,153 | ||||||
Contingent consideration | 0 | ||||||
Post-closing adjustments | (64) | ||||||
Total consideration | 45,089 | ||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Cash | 230 | $ 230 | |||||
Accounts receivable | 467 | 467 | |||||
Other current assets | 288 | 288 | |||||
Operating lease right-of-use asset | 934 | 934 | |||||
Deferred income tax assets | 5,291 | 5,291 | |||||
Accounts payable | (266) | (266) | |||||
Accrued compensation | (321) | (321) | |||||
Deferred revenue | (262) | (262) | |||||
Operating lease liability | (934) | (934) | |||||
Deferred income tax liabilities | (5,144) | (5,144) | |||||
Total purchase price | 20,533 | 20,533 | |||||
Goodwill | 24,556 | 24,556 | |||||
GCommerce Inc | Revision of Prior Period, Adjustment | |||||||
Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net | |||||||
Cash paid at transaction date | 0 | ||||||
Contingent consideration | 0 | ||||||
Post-closing adjustments | 0 | ||||||
Total consideration | 0 | ||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Cash | 0 | 0 | |||||
Accounts receivable | 0 | 0 | |||||
Other current assets | 0 | 0 | |||||
Operating lease right-of-use asset | 0 | 0 | |||||
Deferred income tax assets | 1,440 | 1,440 | |||||
Accounts payable | 0 | 0 | |||||
Accrued compensation | 0 | 0 | |||||
Deferred revenue | 0 | 0 | |||||
Operating lease liability | 0 | 0 | |||||
Deferred income tax liabilities | 537 | 537 | |||||
Total purchase price | 1,327 | 1,327 | |||||
Goodwill | (1,327) | (1,327) | |||||
GCommerce Inc | Subscriber relationships | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | 17,300 | ||||||
GCommerce Inc | Subscriber relationships | Previously Reported | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | 18,225 | 18,225 | |||||
GCommerce Inc | Subscriber relationships | Revision of Prior Period, Adjustment | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | (925) | (925) | |||||
GCommerce Inc | Developed technology | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | 2,300 | ||||||
GCommerce Inc | Developed technology | Previously Reported | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | 2,025 | 2,025 | |||||
GCommerce Inc | Developed technology | Revision of Prior Period, Adjustment | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | $ 275 | $ 275 | |||||
InterTrade Systems Inc. | |||||||
Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net | |||||||
Cash paid at transaction date | 47,165 | ||||||
Contingent consideration | 2,000 | ||||||
Post-closing adjustments | (93) | ||||||
Total consideration | $ 49,100 | 49,072 | |||||
Estimated fair value of assets and liabilities acquired: | |||||||
Cash | 668 | ||||||
Accounts receivable | 1,302 | ||||||
Other current assets | 1,903 | ||||||
Operating lease right-of-use asset | 0 | ||||||
Deferred income tax assets | 101 | ||||||
Accounts payable | (2,337) | ||||||
Accrued compensation | 0 | ||||||
Deferred revenue | (397) | ||||||
Operating lease liability | 0 | ||||||
Deferred income tax liabilities | (6,228) | ||||||
Total purchase price | 17,062 | ||||||
Goodwill | 32,010 | ||||||
InterTrade Systems Inc. | Subscriber relationships | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | 17,640 | ||||||
InterTrade Systems Inc. | Developed technology | |||||||
Estimated fair value of assets and liabilities acquired: | |||||||
Intangible assets | $ 4,410 |
Business Acquisitions - Estim_2
Business Acquisitions - Estimated Fair Value of Purchased Intangible Assets and Estimated Useful Lives (Detail) | 12 Months Ended |
Dec. 31, 2022 | |
GCommerce Inc | Subscriber relationships | |
Finite-Lived Intangible Assets [Line Items] | |
Estimated Useful Life | 8 years |
GCommerce Inc | Developed technology | |
Finite-Lived Intangible Assets [Line Items] | |
Estimated Useful Life | 5 years |
InterTrade Systems Inc. | Subscriber relationships | |
Finite-Lived Intangible Assets [Line Items] | |
Estimated Useful Life | 8 years |
InterTrade Systems Inc. | Developed technology | |
Finite-Lived Intangible Assets [Line Items] | |
Estimated Useful Life | 6 years |
Revenue - Summary of Revenues b
Revenue - Summary of Revenues by Revenue Stream (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Revenue Recognition [Line Items] | |||
Revenues | $ 450,875 | $ 385,276 | $ 312,630 |
Recurring Revenues | |||
Revenue Recognition [Line Items] | |||
Revenues | 419,047 | 355,006 | 295,016 |
One-time revenues | |||
Revenue Recognition [Line Items] | |||
Revenues | 31,828 | 30,270 | 17,614 |
Fulfillment | Recurring Revenues | |||
Revenue Recognition [Line Items] | |||
Revenues | 364,148 | 306,851 | 251,272 |
Analytics | Recurring Revenues | |||
Revenue Recognition [Line Items] | |||
Revenues | 46,894 | 42,674 | 38,824 |
Other | Recurring Revenues | |||
Revenue Recognition [Line Items] | |||
Revenues | $ 8,005 | $ 5,481 | $ 4,920 |
Revenue - Narrative (Detail)
Revenue - Narrative (Detail) | 12 Months Ended |
Dec. 31, 2022 | |
Disaggregation Of Revenue [Line Items] | |
Latest timing of billings | 30 days |
Set up fees recognized period | 2 years |
Maximum recognition period for miscellaneous one-time fee | 1 year |
Minimum | |
Disaggregation Of Revenue [Line Items] | |
Customer contract cancellation period | 30 days |
Maximum | |
Disaggregation Of Revenue [Line Items] | |
Customer contract cancellation period | 90 days |
Contract period for remaining performance obligations for contracts in which the optional exemption under ASC 606-10-50-14(a) was applied | 1 year |
Revenue - Summary of Deferred R
Revenue - Summary of Deferred Revenue Liability Relating to Set-Up Fees (Detail) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2022 | Dec. 31, 2021 | |
Deferred Revenue Arrangement [Roll Forward] | ||
Balance, beginning of year | $ 50,400 | |
Balance, end of year | $ 50,400 | |
Set-Up Fees | ||
Deferred Revenue Arrangement [Roll Forward] | ||
Balance, beginning of year | 14,459 | 11,118 |
Invoiced set-up fees | 15,457 | 15,931 |
Recognized set-up fees | (14,917) | (12,590) |
Balance, end of year | $ 14,999 | $ 14,459 |
Deferred Costs - Summary of Def
Deferred Costs - Summary of Deferred Costs Activity (Detail) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2022 | Dec. 31, 2021 | |
Deferred Costs [Roll Forward] | ||
Balance, beginning of year | $ 59,720 | $ 50,595 |
Incurred deferred costs | 72,509 | 64,076 |
Amortized deferred costs | (62,050) | (54,951) |
Balance, end of year | $ 70,179 | $ 59,720 |
Fair Value Measurements - Summa
Fair Value Measurements - Summary of Cash Equivalents and Investments (Detail) - USD ($) $ in Thousands | Dec. 31, 2022 | Dec. 31, 2021 |
Schedule of Financial Instruments [Line Items] | ||
Amortized Cost | $ 124,405 | $ 187,957 |
Unrealized Gains (Losses), net | 375 | 6 |
Fair Value | 124,780 | 187,963 |
Level 1 | Money market funds | ||
Schedule of Financial Instruments [Line Items] | ||
Amortized Cost | 73,368 | 138,205 |
Unrealized Gains (Losses), net | 0 | 0 |
Fair Value | 73,368 | 138,205 |
Level 1 | Certificates of deposit | ||
Schedule of Financial Instruments [Line Items] | ||
Amortized Cost | 6,813 | 7,268 |
Unrealized Gains (Losses), net | 0 | 0 |
Fair Value | 6,813 | 7,268 |
Level 2 | Commercial paper | ||
Schedule of Financial Instruments [Line Items] | ||
Amortized Cost | 44,224 | 34,984 |
Unrealized Gains (Losses), net | 375 | 7 |
Fair Value | 44,599 | 34,991 |
Level 2 | U.S. treasury securities | ||
Schedule of Financial Instruments [Line Items] | ||
Amortized Cost | 0 | 7,500 |
Unrealized Gains (Losses), net | 0 | (1) |
Fair Value | $ 0 | $ 7,499 |
Allowance for Credit Losses - S
Allowance for Credit Losses - Schedule of Allowance for Credit Losses Activity Included in Accounts Receivable Net (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Accounts Receivable, Allowance for Credit Loss [Roll Forward] | |||
Balance, beginning of year | $ 4,249 | $ 4,233 | $ 1,469 |
Provision for credit losses | 3,359 | 4,717 | 5,660 |
Write-offs, net of recoveries | (4,542) | (4,790) | (4,319) |
Initial allowance for business combination acquired receivables | 0 | 89 | 354 |
Adoption of ASU 2016-13 | 0 | 0 | 1,069 |
Balance, end of year | $ 3,066 | $ 4,249 | $ 4,233 |
Property and Equipment, net - S
Property and Equipment, net - Schedule of Property and Equipment, Net (Detail) - USD ($) $ in Thousands | Dec. 31, 2022 | Dec. 31, 2021 |
Property, Plant and Equipment [Line Items] | ||
Property and equipment, cost | $ 107,816 | $ 101,967 |
Less: accumulated depreciation and amortization | (72,358) | (70,066) |
Total property and equipment, net | 35,458 | 31,901 |
Internally developed software | ||
Property, Plant and Equipment [Line Items] | ||
Property and equipment, cost | 49,994 | 44,981 |
Computer equipment | ||
Property, Plant and Equipment [Line Items] | ||
Property and equipment, cost | 30,310 | 29,329 |
Leasehold improvements | ||
Property, Plant and Equipment [Line Items] | ||
Property and equipment, cost | 16,531 | 16,685 |
Office equipment and furniture | ||
Property, Plant and Equipment [Line Items] | ||
Property and equipment, cost | $ 10,981 | $ 10,972 |
Property and Equipment, net -_2
Property and Equipment, net - Schedule of Depreciation and Amortization Expense of Property and Equipment (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Property, Plant and Equipment [Abstract] | |||
Depreciation and amortization expense | $ 16,421 | $ 14,788 | $ 13,127 |
Goodwill and Intangible Asset_3
Goodwill and Intangible Assets, net - Schedule of Activity in Goodwill (Detail) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2022 | Dec. 31, 2021 | |
Goodwill [Roll Forward] | ||
Balance, beginning of year | $ 143,663 | $ 134,853 |
Additions from business acquisitions | 56,566 | 8,914 |
Foreign currency translation | (1,618) | (372) |
Remeasurement from provisional purchase accounting amount | (1,327) | 268 |
Balance, end of year | $ 197,284 | $ 143,663 |
Goodwill and Intangible Asset_4
Goodwill and Intangible Assets, net - Intangible Assets (Detail) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2022 | Dec. 31, 2021 | |
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | $ 120,711 | $ 96,586 |
Accumulated Amortization | (32,189) | (36,604) |
Foreign Currency Translation | (170) | (1,395) |
Net | $ 88,352 | $ 58,587 |
Weighted Average Remaining Amortization Period | 6 years 4 months 24 days | 6 years 7 months 6 days |
Subscriber relationships | ||
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | $ 80,101 | $ 61,270 |
Accumulated Amortization | (22,255) | (29,866) |
Foreign Currency Translation | (171) | (1,395) |
Net | $ 57,675 | $ 30,009 |
Weighted Average Remaining Amortization Period | 6 years 9 months 18 days | 6 years 4 months 24 days |
Developed technology | ||
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | $ 40,610 | $ 35,316 |
Accumulated Amortization | (9,934) | (6,738) |
Foreign Currency Translation | 1 | 0 |
Net | $ 30,677 | $ 28,578 |
Weighted Average Remaining Amortization Period | 5 years 4 months 24 days | 6 years 9 months 18 days |
Goodwill and Intangible Asset_5
Goodwill and Intangible Assets, net - Estimated Future Annual Amortization Expense Related to Intangible Assets (Detail) - USD ($) $ in Thousands | Dec. 31, 2022 | Dec. 31, 2021 |
Goodwill and Intangible Assets Disclosure [Abstract] | ||
2023 | $ 15,289 | |
2024 | 14,098 | |
2025 | 13,960 | |
2026 | 12,956 | |
2027 | 12,493 | |
Thereafter | 19,556 | |
Net | $ 88,352 | $ 58,587 |
Commitments and Contingencies -
Commitments and Contingencies - Narrative (Detail) ft² in Thousands, $ in Millions | Dec. 31, 2022 USD ($) ft² option |
Commitments and Contingencies Disclosure [Abstract] | |
Current leased space | ft² | 198 |
Lease extension period, number of years | 5 years |
Number of extension options | option | 2 |
Remaining purchase commitment | $ | $ 4.9 |
Commitments and Contingencies_2
Commitments and Contingencies - Components of Lease Expense (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Leases [Abstract] | |||
Operating lease cost | $ 3,087 | $ 3,089 | $ 2,719 |
Variable lease cost | 3,576 | 3,660 | 3,578 |
Total Lease expense | $ 6,663 | $ 6,749 | $ 6,297 |
Commitments and Contingencies_3
Commitments and Contingencies - Schedule of Supplemental Cash Flow Information Related to Leases (Detail) - USD ($) $ in Thousands | 12 Months Ended | |
Dec. 31, 2022 | Dec. 31, 2021 | |
Cash paid for amounts included in the measurement of lease liabilities | ||
Operating cash flows from operating leases | $ 4,639 | $ 3,757 |
Right-of-use assets obtained in exchange for operating lease liabilities | $ 934 | $ 992 |
Commitments and Contingencies_4
Commitments and Contingencies - Schedule of Supplemental Balance Sheet Information Related to Leases (Detail) | Dec. 31, 2022 | Dec. 31, 2021 |
Leases [Abstract] | ||
Weighted-average remaining lease term | 3 years 10 months 24 days | 4 years 9 months 18 days |
Weighted-average discount rate | 4% | 4% |
Commitments and Contingencies_5
Commitments and Contingencies - Schedule of Future Minimum Payments Under Operating Leases (Detail) $ in Thousands | Dec. 31, 2022 USD ($) |
Leases [Abstract] | |
2023 | $ 4,889 |
2024 | 4,485 |
2025 | 4,369 |
2026 | 3,764 |
2027 | 1,265 |
Total future payments | 18,772 |
Less: imputed interest | (1,486) |
Total operating lease liabilities | $ 17,286 |
Stockholders' Equity - Summary
Stockholders' Equity - Summary of Stock Repurchase Program Plans and Activity (Detail) - USD ($) | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Class Of Stock [Line Items] | |||
Share Value Repurchased | $ 43,215,000 | $ 20,430,000 | $ 18,950,000 |
2019 Program | Common Stock | |||
Class Of Stock [Line Items] | |||
Share Value Authorized for Repurchase | 50,000,000 | ||
Share Value Repurchased | 29,611,000 | ||
Unused & Expired Share Repurchase Value | 20,389,000 | ||
2021 Program | Common Stock | |||
Class Of Stock [Line Items] | |||
Share Value Authorized for Repurchase | 50,000,000 | ||
Share Value Repurchased | 49,992,000 | ||
Unused & Expired Share Repurchase Value | 8,000 | ||
2022 Program | Common Stock | |||
Class Of Stock [Line Items] | |||
Share Value Authorized for Repurchase | 50,000,000 | ||
Share Value Repurchased | 2,992,000 | ||
Share Value Available for Future Repurchase | $ 47,008,000 |
Stockholders' Equity - Summar_2
Stockholders' Equity - Summary of Stock Repurchase Activity by Year (Detail) - USD ($) | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Equity [Abstract] | |||
Number of shares repurchased | 361,745 | 176,103 | 371,902 |
Shares repurchased cost | $ 43,215,000 | $ 20,430,000 | $ 18,950,000 |
Average price per repurchased share (in dollars per share) | $ 119.46 | $ 116.01 | $ 50.95 |
Stock-Based Compensation - Narr
Stock-Based Compensation - Narrative (Detail) - USD ($) $ / shares in Units, shares in Millions, $ in Millions | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Shares available for grant | 13.2 | ||
Unrecognized stock-based compensation expense | $ 38.6 | ||
Unrecognized stock-based compensation, expected to be recognized, weighted average period | 2 years 4 months 24 days | ||
Employee Stock Purchase Plan | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Common stock reserved for future issuance (in shares) | 1.7 | ||
Stock options | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Outstanding and exercisable options (in shares) | 0.5 | ||
Weighted average exercise price (in dollars per share) | $ 47.80 | ||
Weighted average remaining contractual life | 2 years 10 months 24 days | ||
Vesting period | 4 years | ||
Stock options contractual term range | 7 years | ||
PSUs | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Vesting period | 3 years | 3 years | 3 years |
Shares issued (in shares) | 0.1 | ||
RSUs | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Vesting period | 4 years | ||
RSAs | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Vesting period | 1 year | ||
PSUs, RSUs, RSAs and DSUs | Maximum | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Vested at period end (in shares) | 0.1 | ||
DSUs | |||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Vesting period | 1 year | ||
Award receipt delay | 10 years |
Stock-Based Compensation - Stoc
Stock-Based Compensation - Stock-Based Compensation Expense (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | $ 33,399 | $ 27,574 | $ 18,936 |
Stock options | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 1,903 | 2,057 | 2,232 |
PSUs | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 7,509 | 6,417 | 3,219 |
RSUs | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 19,282 | 15,388 | 10,367 |
RSAs & DSUs | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 437 | 434 | 446 |
ESPP | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 2,144 | 1,391 | 1,117 |
401(k) stock match | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 2,124 | 1,887 | 1,555 |
Cost of revenues | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 8,684 | 6,760 | 3,948 |
Sales and marketing | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 7,590 | 6,248 | 4,119 |
Research and development | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | 5,634 | 4,384 | 3,626 |
General and administrative | |||
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] | |||
Stock-based compensation expense | $ 11,491 | $ 10,182 | $ 7,243 |
Stock-Based Compensation - St_2
Stock-Based Compensation - Stock Option Activity (Detail) - $ / shares | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Options (#) | |||
Beginning balance (in shares) | 678,650 | 944,886 | 1,543,912 |
Granted (in shares) | 56,430 | 53,223 | 127,974 |
Exercised (in shares) | (164,393) | (311,378) | (712,074) |
Forfeited (in shares) | (7,990) | (8,081) | (14,926) |
Ending balance (in shares) | 562,697 | 678,650 | 944,886 |
Weighted Average Exercise Price ($/share) | |||
Beginning Balance (in dollars per share) | $ 44.76 | $ 36.71 | $ 30.03 |
Granted (in dollars per share) | 122.59 | 105.53 | 59.02 |
Exercised (in dollars per share) | 29.86 | 30.10 | 26.11 |
Forfeited (in dollars per share) | 92.48 | 68.62 | 43.14 |
Ending Balance (in dollars per share) | $ 56.24 | $ 44.76 | $ 36.71 |
Stock-Based Compensation - Summ
Stock-Based Compensation - Summary of Additional Information Related to Stock Options (Detail) - USD ($) $ / shares in Units, $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Share-Based Payment Arrangement [Abstract] | |||
Fair value of options vested | $ 1,996 | $ 2,509 | $ 3,000 |
Intrinsic value of options exercised | 16,705 | 27,713 | 31,737 |
Intrinsic value of options outstanding | $ 40,692 | $ 66,235 | $ 67,918 |
Weighted-average fair value per share of options granted (in dollars per share) | $ 41.34 | $ 31.31 | $ 16.18 |
Stock-Based Compensation - Weig
Stock-Based Compensation - Weighted Average Fair Value Per Share of Options Granted, Assumptions (Detail) - Stock options | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Life (in years) | 4 years 3 months 18 days | 4 years 4 months 24 days | 4 years |
Volatility | 38% | 35% | 33% |
Dividend yield | 0% | 0% | 0% |
Risk-free interest rate | 2.50% | 0.59% | 0.99% |
Stock-Based Compensation - PSU,
Stock-Based Compensation - PSU, RSU, RSA, and DSU (Detail) - PSUs, RSUs, RSAs and DSUs - $ / shares | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
(#) | |||
Beginning balance (in shares) | 702,160 | 738,422 | 797,546 |
Granted (in shares) | 312,880 | 314,290 | 331,264 |
Vested and common stock issued (in shares) | (276,872) | (331,669) | (222,606) |
Forfeited (in shares) | (26,010) | (18,883) | (167,782) |
Ending balance (in shares) | 712,158 | 702,160 | 738,422 |
Weighted Average Grant Date Fair Value ($/share) | |||
Beginning balance (in dollars per share) | $ 78.03 | $ 52.37 | $ 38.80 |
Granted (in dollars per share) | 126.44 | 101.85 | 62.78 |
Vested and common stock issued (in dollars per share) | 64.12 | 44.14 | 36.06 |
Forfeited (in dollars per share) | 99.37 | 66.35 | 30.09 |
Ending balance (in dollars per share) | $ 103.93 | $ 78.03 | $ 52.37 |
Stock-Based Compensation - Su_2
Stock-Based Compensation - Summary of ESPP Activity (Detail) - Employee Stock Purchase Plan - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Amounts for shares purchased | $ 6,676 | $ 4,737 | $ 3,374 |
Shares purchased | 70,107 | 55,726 | 61,833 |
Stock-Based Compensation - Fair
Stock-Based Compensation - Fair Value Estimation of Common Stock, Assumptions (Detail) - Employee Stock Purchase Plan | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
Life (in years) | 6 months | 6 months | 6 months |
Volatility | 42% | 32% | 43% |
Dividend yield | 0% | 0% | 0% |
Risk-free interest rate | 1.27% | 0.07% | 0.96% |
Income Taxes - Schedule of Prov
Income Taxes - Schedule of Provision for Income Taxes (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Current | |||
Federal | $ 13,881 | $ 1,559 | $ 0 |
State | 4,149 | 1,890 | 1,249 |
Foreign | 1,990 | 1,610 | 1,608 |
Deferred | |||
Federal | (2,530) | 4,294 | 4,462 |
State | (751) | (88) | 244 |
Foreign | (549) | (321) | (469) |
Total provision for income taxes | $ 16,190 | $ 8,944 | $ 7,094 |
Income Taxes - Schedule of Inco
Income Taxes - Schedule of Income Tax Expense Differed from Amounts Computed by applying U.S. Federal Income Tax Rate to Pretax Income (Detail) | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Income Tax Disclosure [Abstract] | |||
U.S. statutory federal income tax rate | 21% | 21% | 21% |
Increase (decrease) resulting from: | |||
U.S. state income taxes, net of federal tax effect | 4.60% | 4.50% | 4.50% |
Tax impact of stock activity | (4.70%) | (12.80%) | (12.90%) |
Nondeductible compensation | 3.50% | 5% | 1.80% |
Research and development credit | (1.50%) | (1.10%) | (0.60%) |
Foreign derived intangible income | (1.40%) | (1.30%) | (1.30%) |
Other | 1.20% | 1.40% | 1% |
Effective tax rate | 22.70% | 16.70% | 13.50% |
Income Taxes - Significant Comp
Income Taxes - Significant Components of Deferred Tax Assets (Liabilities) (Detail) - USD ($) $ in Thousands | Dec. 31, 2022 | Dec. 31, 2021 |
Deferred tax assets | ||
Net operating loss and credit carryforwards | $ 9,970 | $ 4,828 |
Stock-based compensation expense | 5,084 | 3,934 |
Accrued expenses | 4,469 | 5,174 |
Operating lease liabilities | 4,384 | 5,235 |
Research and development capitalized | 9,591 | 0 |
Other deferred tax assets | 2,408 | 2,778 |
Gross deferred tax assets | 35,906 | 21,949 |
Less: valuation allowance | (1,873) | (1,815) |
Total net deferred tax assets | 34,033 | 20,134 |
Deferred tax liabilities | ||
Deferred costs | (17,696) | (15,126) |
Right-of-use assets | (2,338) | (2,787) |
Depreciation and amortization | (20,282) | (8,820) |
Other deferred tax liabilities | (909) | (364) |
Total deferred tax liabilities | (41,225) | (27,097) |
Net deferred tax liabilities | $ (7,192) | $ (6,963) |
Income Taxes - Narrative (Detai
Income Taxes - Narrative (Detail) $ in Millions | Dec. 31, 2022 USD ($) |
Domestic Tax Authority | |
Income Tax Expense Benefit [Line Items] | |
Net operating loss carryforward | $ 40.9 |
Losses expected to expire unused | 6.8 |
Domestic Tax Authority | U.S. Internal Revenue Code | |
Income Tax Expense Benefit [Line Items] | |
Net operating loss carryforward | 40.9 |
State and Local Jurisdiction | |
Income Tax Expense Benefit [Line Items] | |
Net operating loss carryforward | $ 4.5 |
Other Income and Expense - Summ
Other Income and Expense - Summary of Other Income (Expense), Net (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Other Income and Expenses [Abstract] | |||
Investment income | $ 1,670 | $ 278 | $ 1,208 |
Realized gain (loss) from foreign currency on cash and investments held | (1,026) | (1,456) | 1,753 |
Change in earn-out liability | 0 | 0 | (85) |
Other expense, net | (502) | (366) | (354) |
Total other income (expense), net | $ 142 | $ (1,544) | $ 2,522 |
Net Income Per Share - Componen
Net Income Per Share - Components of Computation of Basic and Diluted Net Income Per Share (Detail) - USD ($) $ / shares in Units, shares in Thousands, $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Numerator | |||
Net income | $ 55,134 | $ 44,597 | $ 45,586 |
Denominator | |||
Weighted average common shares outstanding, basic (in shares) | 36,117 | 35,928 | 35,226 |
Options to purchase common stock (in shares) | 382 | 529 | 611 |
PSUs, RSUs, RSAs, and DSUs (n shares) | 454 | 505 | 448 |
Weighted average common shares outstanding, diluted (in shares) | 36,953 | 36,962 | 36,285 |
Net income per share | |||
Basic (in dollars per share) | $ 1.53 | $ 1.24 | $ 1.29 |
Diluted (in dollars per share) | $ 1.49 | $ 1.21 | $ 1.26 |
Net Income Per Share - Schedule
Net Income Per Share - Schedule of Anti-dilutive Common Shares Excluded from Calculation of Diluted Net Income Per Share (Detail) - shares shares in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Net Income Per Share [Abstract] | |||
Antidilutive shares | 75 | 31 | 26 |
Retirement Savings Plan - Addit
Retirement Savings Plan - Additional Information (Detail) | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Retirement Benefits [Abstract] | |||
Maximum allowable contribution by employee percentage | 80% | 80% | 80% |
Defined benefit plan employer matching contribution percent | 50% | 50% | |
Maximum annual contribution per employee, percent | 6% |
Retirement Savings Plan - Sched
Retirement Savings Plan - Schedule of Total Contribution to the Plan (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Retirement Benefits [Abstract] | |||
Retirement contributions | $ 5,386 | $ 4,790 | $ 3,889 |
Geographic Information - Summar
Geographic Information - Summary of Domestic Revenue (Detail) | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Revenue Benchmark | Geographic Concentration Risk | Domestic Revenue | |||
Disaggregation Of Revenue [Line Items] | |||
Concentration risk, percentage | 84% | 84% | 85% |
Geographic Information - Summ_2
Geographic Information - Summary of Percentage of Property and Equipment Net Located at Subsidiary and Office Locations Outside of Unites States (Detail) | 12 Months Ended | |
Dec. 31, 2022 | Dec. 31, 2021 | |
Revenue Benchmark | Geographic Concentration Risk | Foreign | Property, Plant and Equipment | ||
Property, Plant and Equipment [Line Items] | ||
Concentration risk, percentage | 13% | 12% |
Related Party Transactions - Su
Related Party Transactions - Summary of Contributions to Foundation (Detail) - USD ($) $ in Thousands | 12 Months Ended | ||
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | |
Related Party Transactions [Abstract] | |||
Foundation contributions | $ 2,750 | $ 2,400 | $ 1,800 |