v3.20.4

Significant Accounting Policies and Basis of Presentation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2020
Accounting Policies [Abstract] |
Schedule of Allowance for Sales Returns | Allowance for sales returns consist of the following activities (in thousands):
|  | Years Ended December 31, |
|  | 2020 |  |  | 2019 |  |  | 2018 |
Beginning balance |  | $ | (6,550 | ) |  | $ | (7,335 | ) |  | $ | (6,907 | )
Charged to revenue |  |  | (14,594 | ) |  |  | (15,541 | ) |  |  | (17,396 | )
Utilization of sales return reserve |  |  | 15,232 |  |  |  | 16,326 |  |  |  | 16,968 |
Ending balance |  | $ | (5,912 | ) |  | $ | (6,550 | ) |  | $ | (7,335 | )
Schedule of Allowance for Sales Incentives | Allowance for sales incentives consisted of the following activities (in thousands):
|  | Years Ended December 31, |
|  | 2020 |  |  | 2019 |  |  | 2018 |
Beginning balance |  | $ | (19,476 | ) |  | $ | (13,750 | ) |  | $ | (10,442 | )
Charged to revenue |  |  | (68,315 | ) |  |  | (65,676 | ) |  |  | (50,958 | )
Utilization of sales incentive reserve |  |  | 56,953 |  |  |  | 59,950 |  |  |  | 47,650 |
Ending balance |  | $ | (30,838 | ) |  | $ | (19,476 | ) |  | $ | (13,750 | )
Schedule of Allowance for Doubtful Accounts | Allowance for doubtful accounts consisted of the following activities (in thousands):
|  | Years Ended December 31, |
|  | 2020 |  |  | 2019 |  |  | 2018 |
Balance, beginning of period |  | $ | (1,140 | ) |  |  | (686 | ) |  |  | (63 | )
Impact of adoption of ASU 2016-13 |  |  | (1,066 | ) |  |  | — |  |  |  | — |
Adjusted balance, beginning of period |  |  | (2,206 | ) |  |  | (686 | ) |  |  | (63 | )
Provision for doubtful accounts |  | $ | (3,801 | ) |  | $ | (704 | ) |  | $ | (876 | )
Adjustments for recovery and write-off |  |  | 1,826 |  |  |  | 250 |  |  |  | 253 |
Balance, end of period |  |  | (4,181 | ) |  |  | (1,140 | ) |  |  | (686 | )

X
- Definition Schedule of valuation allowance for doubtful accounts. + References No definition available. + Details
Name: | roku_ScheduleOfValuationAllowanceForDoubtfulAccountsTableTextBlock
Namespace Prefix: | roku_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Schedule of valuation allowance for sales incentives. + References No definition available. + Details
Name: | roku_ScheduleOfValuationAllowanceForSalesIncentivesTableTextBlock
Namespace Prefix: | roku_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Schedule of valuation allowance for sales returns. + References No definition available. + Details
Name: | roku_ScheduleOfValuationAllowanceForSalesReturnsTableTextBlock
Namespace Prefix: | roku_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_AccountingPoliciesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration