XML 107 R92.htm IDEA: XBRL DOCUMENT
v3.20.2

Leases - Additional Information (Detail) $ in Millions | 12 Months Ended
--- | ---
Jun. 30, 2020 USD ($)
Leases [Line Items] |
Impairment charges to operating lease right-of-use assets | $ 161
Operating Lease |
Leases [Line Items] |
Additional leases, primarily for datacenters, that have not yet commenced | 3,400
Finance Lease |
Leases [Line Items] |
Additional leases, primarily for datacenters, that have not yet commenced | $ 3,500
Minimum |
Leases [Line Items] |
Operating and Finance leases, remaining lease terms | 1 year
Additional operating leases that have not yet commenced, lease terms | 1 year
Additional finance leases that have not yet commenced, lease terms | 1 year
Maximum |
Leases [Line Items] |
Operating and Finance leases, remaining lease terms | 20 years
Operating leases, options to extend leases term | 5 years
Finance leases, options to extend leases term | 5 years
Operating and Finance leases, options to terminate leases term | 1 year
Additional operating leases that have not yet commenced, lease terms | 16 years
Additional finance leases that have not yet commenced, lease terms | 16 years

X
- Definition Leases. + References No definition available. + Details
Name: | msft_LeasesLineItems
Namespace Prefix: | msft_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Lessee, operating and finance leases options to terminate leases term. + References No definition available. + Details
Name: | msft_LesseeOperatingAndFinanceLeasesOptionsToTerminateLeasesTerm
Namespace Prefix: | msft_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Lessee, operating and finance leases remaining lease term. + References No definition available. + Details
Name: | msft_LesseeOperatingAndFinanceLeasesRemainingLeaseTerm
Namespace Prefix: | msft_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Term of lessee's finance lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeFinanceLeaseLeaseNotYetCommencedTermOfContract1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Term of lessee's finance lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (a)(3) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeFinanceLeaseRenewalTerm1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (a)(3) -URI http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980 + Details
Name: | us-gaap_LesseeOperatingLeaseRenewalTerm
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of loss from impairment of right-of-use asset from operating lease. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 842 -SubTopic 20 -Section 25 -Paragraph 6 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=121593497&loc=SL77918431-209957 + Details
Name: | us-gaap_OperatingLeaseImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of the unrecorded obligation to transfer funds in the future for fixed or minimum amounts or quantities of goods or services at fixed or minimum prices (for example, as in take-or-pay contracts or throughput contracts). + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 440 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308 + Details
Name: | us-gaap_UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_LeaseContractualTermAxis=msft_OperatingLeaseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LeaseContractualTermAxis=msft_FinanceLeaseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |