Revenue recognition is evaluated through the following five steps: (i) identification of the contract, or contracts, with a customer; (ii) identification of the performance obligations in the contract; (iii) determination of the transaction price; (iv) allocation of the transaction price to the performance obligations in the contract; and (v) recognition of revenue when or as a performance obligation is satisfied.  Identification of the contract, or contracts, with a customer  a contract with a customer exists when the Company enters into an enforceable contract with a customer, typically a purchase order initiated by the customer, that defines each partys rights regarding the goods to be transferred, identifies the payment terms related to these goods, and that the customer has both the ability and intent to pay.  Identification of the performance obligations in the contract  performance obligations promised in a contract are identified based on the goods that will be transferred to the customer that are distinct, whereby the customer can benefit from the goods on their own or together with other resources that are readily available from third parties or from us.  Determination of the transaction price the transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring goods to the customer. This would be the agreed upon quantity and price per product type in accordance with the customer purchase order, which is aligned with the Companys internally approved pricing guidelines.  Allocation of the transaction price to the performance obligations in the contract  if the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. This applies to the Company as there is only one performance obligation, which is to provide the goods.  Recognition of revenue when, or as, the Company satisfies a performance obligation  the Company satisfies performance obligations at a point in time when control of the goods transfers to the customer. Determining the point in time when control transfers requires judgment. Indicators considered in determining whether the customer has obtained control of a good include:  The Company has a present right to payment  The customer has legal title to the goods  The Company has transferred physical possession of the goods  The customer has the significant risks and rewards of ownership of the goods  The customer has accepted the goods The Company has concluded that transfer of control substantively transfers to the customer upon shipment or delivery, depending on the delivery terms of the sales agreement.  Warranties - the Company does not offer customers the option to purchase a warranty separately. Therefore, there is not a separate performance obligation. The Company does account for warranties as a cost accrual and the warranties do not include any additional distinct services other than the assurance that the goods comply with agreed-upon specifications. Warranties are variable and are estimated and recognized as a reduction of revenue as performance obligations are satisfied (e.g., upon shipment of goods). The estimates due to warranties are historically not material.  Returned Goods - analyses of actual returned product are compared to that of the product return estimates and historically have resulted in no material difference between the two. The Company has concluded that the current process of estimating the return reserve represents a fair measure with which to adjust revenue. Returned goods are variable and are estimated and recognized as a reduction of revenue as performance obligations are satisfied (e.g., upon shipment of goods). The Company monitors pending authorized returns of goods and, if deemed appropriate, record the right of return asset accordingly.  Price protection - price protection provides that if the Company reduces the price on any products sold to the customer for eventual resale to an end-user, the Company will guarantee an account credit for the price difference for all quantities of that product that the customer still holds. Price protection is variable and is estimated and recognized as a reduction of revenue as performance obligations are satisfied (e.g., upon shipment of goods). The estimates due to price protection are historically not material.  Volume Rebates and Promotion Programs - volume rebates are variable dependent upon the volume of goods sold-through the Companys customers to end-users variable and are estimated and recognized as a reduction of revenue as performance obligations are satisfied (e.g., upon shipment of goods). The estimates due to rebates and promotions are historically not material. Accounts receivable, net: June 30, 2020 December 31, 2019 Gross accounts receivable $ 5,164,739 $ 4,346,810 Allowance for doubtful accounts (163,926 ) (276,234 ) Total accounts receivable, net $ 5,000,813 $ 4,070,576 Accrued other expenses: June 30, 2020 December 31, 2019 Audit, legal, payroll $ 376,699 $ 256,966 Royalty costs 1,933,140 1,125,000 Sales and use tax 95,724 148,836 Sales allowances * 1,196,026 901,196 Other 263,344 234,473 Total accrued other expenses $ 3,864,933 $ 2,666,471 ------------------------------------------------------------------------------------------------------------------------------------------------------------ * A related inventory contract asset stemming from the sales return reserve of $370 thousand and $376 thousand is included within inventories on the accompanying condensed consolidated balance sheets as of June 30, 2020 and December 31, 2019, respectively. Company revenues are primarily from the selling of products that are shipped and billed. Consistent with the revenue recognition accounting standard, revenues are recognized when control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods and services. Sales are earned at a point in time through ship-and-bill performance obligations. Regarding disaggregated revenue disclosures, as previously noted, the Companys business is controlled as a single operating segment that consists of the manufacture and sale of Internet access and other communications-related products. Most of the Companys transactions are very similar in nature, contract, terms, timing, and transfer of control of goods. Disaggregated revenue by distribution channel for three and six months ended: Three Months Ended June 30, Six Months Ended June 30, 2020 2019 2020 2019 Retailers $ 8,321,755 $ 7,433,925 $ 19,296,044 $ 14,672,980 Distributors 1,587,617 443,833 2,185,146 965,042 Other 363,385 280,965 747,170 530,790 Total $ 10,272,757 $ 8,158,723 $ 22,228,360 $ 16,168,812 Disaggregated revenue by product for three and six months ended: Three Months Ended June 30, Six Months Ended June 30, 2020 2019 2020 2019 Cable Modems &amp; gateways $ 9,192,784 $ 7,213,549 $ 20,362,794 $ 14,286,826 Other 1,079,973 945,174 1,865,566 1,881,986 Total $ 10,272,757 $ 8,158,723 $ 22,228,360 $ 16,168,812 Revenue is recognized when obligations under the terms of a contract with customers are satisfied. Revenue is measured as the amount of consideration the Company expects to receive in exchange for transferring the products. Based on the nature of the Companys products and customer contracts, the Company has not recorded any deferred revenue as of June 30, 2020 and December 31, 2019. Any agreements with customers that could impact revenue such as rebates or promotions are recognized in the period of agreement.