XML 31 R14.htm IDEA: XBRL DOCUMENT v3.22.1
Revenue
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
Disaggregation of Revenue
The following table summarizes our revenue by category (in thousands):
20212020
Subscription revenue:
Multi-year subscription term-based licenses$13,379 $6,636 
1-year subscription term-based licenses8,568 4,984 
Total subscription term-based licenses21,947 11,620 
Subscription SaaS10,526 9,173 
Support and maintenance4,140 3,352 
Total subscription revenue36,613 24,145 
Perpetual licenses2,055 2,770 
Services and other6,643 6,814 
Total$45,311 $33,729 
The following table summarizes revenue by main geography in which we operate based on the billing address of customers (including, for the avoidance of doubt, resellers and managed service providers) who have contracted with us (in thousands): 
20212020
Revenues by country (a):
United States$22,579 $15,972 
Colombia6,730 3,513 
Ecuador3,316 3,770 
Other12,686 10,474 
Total$45,311 $33,729 
Revenues by main geography:
US&C$24,736 $17,098 
LATAM15,161 12,069 
EMEA2,910 2,825 
APAC2,504 1,737 
Total$45,311 $33,729 
(a) Only the United States, Colombia and Ecuador represented 10% or more of our total revenue in either period presented.
Significant Customers
No single customer (including, for the avoidance of doubt, resellers and managed service providers) accounted for 10% or more of the total revenue in each period presented.
Contract Balances
Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized after invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record a receivable related to revenue recognized for multi-year on-premises licenses as we generally have an unconditional right to invoice and receive payment in the future related to those licenses.
Contract liabilities consist of deferred revenue and include payments received in advance of performance under a customer contract. Such amounts are recognized as revenue over the remaining contractual period. In 2021 and 2020, we recognized revenue of $5.9 million and $4.1 million, respectively, that was included in the corresponding contract liability balance at the beginning of the related year.
We receive payments from customers based upon contractual billing schedules and accounts receivable are recorded when the right to consideration becomes unconditional. Payment terms on invoiced amounts are typically 30 days to 45 days. Contract assets include amounts related to our contractual right to consideration for both completed and partially completed performance obligations that may not have been invoiced. Unbilled receivables were $13.4 million and $7.9 million as of December 31, 2021 and 2020, respectively.
In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is to provide customers with simplified and predictable ways of purchasing our products and services, not to provide customers with financing. Examples include invoicing at the beginning of a subscription term for SaaS services that do not contain variable consideration with revenue recognized ratably over the contract period, and multi-year on-premises licenses that do not contain variable consideration that are invoiced annually with license revenue recognized upfront and support and maintenance recognized ratably over the contract period.
Remaining Performance Obligations
The typical contractual term for term-based licenses and support and maintenance is one to three years. Most of our contracts are non-cancelable. However, customers typically have the right to terminate their contracts for cause if we fail to perform and cure within the applicable cure period. As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $32.9 million. We expect to recognize 36% of the transaction price over the next 12 months, with the remainder recognized thereafter.
Costs to Obtain and Fulfill a Contract
The following table summarizes the activity of the deferred contract acquisition costs (in thousands):
20212020
Beginning balance$8,856 $5,607 
Capitalization of contract acquisition costs6,193 4,927 
Amortization of deferred contract acquisition costs(3,220)(1,790)
Impacts of foreign currency translation384 112 
Ending balance$12,213 $8,856 
Deferred contract acquisition costs, current$3,464 $3,065 
Deferred contract acquisition costs, noncurrent$8,749 $5,791 
We periodically review the carrying amount of deferred contract acquisition costs to determine whether events or changes in circumstances have occurred that could impact the period of benefit of these deferred costs. We did not recognize any impairment losses of deferred contract acquisition costs during 2021 and 2020.
Sales commissions accrued but not paid as of December 31, 2021 and 2020 totaled $1.4 million and $1.7 million, respectively, and are included within accrued expenses in the consolidated balance sheets.
Our fulfillment costs are generally not significant.