XML 21 R10.htm IDEA: XBRL DOCUMENT v3.20.2
REVENUE
6 Months Ended
Jun. 30, 2020
Revenue from Contract with Customer [Abstract]  
REVENUE REVENUE
Revenue recognition
The Company recognizes revenue when it satisfies a performance obligation by transferring control of the promised goods and services to a customer, in an amount that reflects the consideration that it expects to receive in exchange for those goods or services. This is achieved through applying the following five-step model:
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, the Company satisfies a performance obligation
The Company generates substantially all of its revenue from contracts with customers, whether formal or implied. Sales taxes collected from customers are remitted to the appropriate taxing jurisdictions
and are excluded from sales revenue as the Company considers itself a pass-through conduit for collecting and remitting sales taxes, with the exception of taxes assessed during the procurement process of select inventories. Shipping and handling costs are included in cost of sales.
Revenues from product and services sales are recognized when control of the goods is transferred to the customer which occurs at a point in time typically upon shipment to the customer or completion of the service. This standard applies to all contracts with customers, except for contracts that are within the scope of other standards, such as leases, insurance, collaboration arrangements and financial instruments.
Based upon the nature of the products the Company sells, its customers have limited rights of return which are immaterial. Discounts provided by the Company to customers at the time of sale are recognized as a reduction in sales as the products are sold.
Warranty obligations associated with the sale of our products are assurance-type warranties that are a guarantee of the product’s intended functionality and, therefore, do not represent a distinct performance obligation within the context of the contract. Warranty expense is included in cost of sales.
We apply a practical expedient to expense direct costs of obtaining a contract when incurred because the amortization period would have been one year or less.
Under its contracts with customers, the Company stands ready to deliver product upon receipt of a purchase order. Accordingly, the Company has no performance obligations under its contracts until its customers submit a purchase order. The Company does not enter into commitments to provide goods or services that have terms greater than one year. In limited cases, the Company does require payment in advance of shipping product. Typically, product is shipped within a few days after prepayment is received. These prepayments are recorded as contract liabilities on the consolidated balance sheet and are included in accounts payable and accrued liabilities (Note 9). As the performance obligation is part of a contract that has an original expected duration of less than one year, the Company has applied the practical expedient under ASC 606 to omit disclosures regarding remaining performance obligations.
When the Company transfers goods or provides services to a customer, payment is due, subject to normal terms, and is not conditional on anything other than the passage of time. Typical payment terms range from due upon receipt to 30 days, depending on the type of customer and relationship. At contract inception, the Company expects that the period of time between the transfer of goods to the customer and when the customer pays for those goods will be less than one year, which is consistent with the Company’s standard payment terms. Accordingly, the Company has elected the practical expedient under ASC 606 to not adjust for the effects of a significant financing component. As such, these amounts are recorded as receivables and not contract assets.
The following table summarizes transactions within contract liabilities for the three and six months ended June 30, 2020:
Balance, December 31, 2019$559,232  
Revenue recognized related to payments included in the December 31, 2019 balance(526,202) 
Payments received for which performance obligations have not been satisfied1,043,767  
Effect of foreign currency translation(734) 
Balance, March 31, 2020$1,076,063  
Revenue recognized related to payments included in the March 31, 2020 balance(1,022,851) 
Payments received for which performance obligations have not been satisfied163,903  
Effect of foreign currency translation1,215  
Balance, June 30, 2020$218,330  
The table below sets forth the disaggregation of revenue by product category for the periods indicated below:
Three Months Ended
June 30,
Six Months Ended
June 30,
2020201920202019
Product Revenue
Paint protection film$24,248,115  $21,166,420  $44,019,235  $39,622,775  
Window film5,954,800  3,171,155  9,044,906  5,004,071  
Other759,081  1,087,914  1,647,772  1,853,366  
Total
30,961,996  25,425,489  54,711,913  46,480,212  
Service Revenue
Software$809,897  $775,745  $1,661,469  $1,519,513  
Cutbank credits1,611,858  2,064,962  3,225,122  3,530,096  
Installation labor2,391,570  1,647,954  4,413,020  2,946,343  
Training30,537  180,004  182,797  343,436  
Total4,843,862  4,668,665  9,482,408  8,339,388  
Total$35,805,858  $30,094,154  $64,194,321  $54,819,600  
Because many of our international customers require us to ship their orders to freight forwarders located in the United States, we cannot be certain about the ultimate destination of the product. The
following table represents our estimate of sales by geographic regions based on our understanding of ultimate product destination based on customer interactions, customer locations and other factors:
Three Months Ended
June 30,
Six Months Ended
June 30,
2020201920202019
United States
$16,118,729  $16,497,347  $31,671,767  $29,007,097  
China9,987,370  3,127,723  12,011,879  7,646,920  
Canada3,958,167  5,217,535  8,133,364  8,315,899  
Continental Europe2,897,562  1,974,328  5,691,304  3,396,060  
United Kingdom630,720  926,925  1,747,148  1,810,283  
Asia Pacific1,141,191  1,059,560  1,911,235  1,931,518  
Latin America484,358  512,680  962,053  998,809  
Middle East/Africa561,510  720,347  1,850,566  1,603,479  
Other26,251  57,709  215,005  109,535  
Total$35,805,858  $30,094,154  $64,194,321  $54,819,600  
Our largest customer accounted for 27.9% and 10.4% of our net sales during the three months ended June 30, 2020 and 2019, respectively and 18.7% and 13.9% of our net sales during the six months ended June 30, 2020 and 2019, respectively.