Income Taxes - Schedule of Unrecognized Tax Benefits (Details) - USD ($) $ in Millions |
12 Months Ended | ||
|---|---|---|---|
Dec. 31, 2019 |
Dec. 31, 2018 |
Dec. 31, 2017 |
|
| Reconciliation of Unrecognized Tax Benefits | |||
| Gross unrecognized tax benefits ‑ beginning of period | $ 4,678 | $ 3,870 | $ 3,309 |
| Increases related to prior year tax positions | 2,309 | 457 | 72 |
| Decreases related to prior year tax positions | (525) | (396) | (34) |
| Increases related to current year tax positions | 1,402 | 831 | 536 |
| Decreases related to settlements of prior year tax positions | (1) | (84) | (13) |
| Gross unrecognized tax benefits ‑ end of period | $ 7,863 | $ 4,678 | $ 3,870 |