Skip to content

MICROSOFT CORPORATION: operating cash flow

Operating cash flow for MICROSOFT CORPORATION. Inspect selected reporting periods, original units and SEC filing links; download the financial history.

All MICROSOFT CORPORATION financial histories

What this measure means

Cash generated or used by operating activities. Working-capital timing can make this differ substantially from reported income.

Exact concept: us-gaap:NetCashProvidedByUsedInOperatingActivities. Each value covers an annual-duration reporting interval, shown with both start and end dates. Different units remain separate; no currency conversion or interpolation is applied.

Coverage of this history

Selected reporting periods run from 2007-07-01 to 2026-06-30. The SEC response was captured on 2026-09-19.

Selected filing history

Operating cash flow in original reported units, latest-filed observation per period
Period startPeriod endValueUnitFiledSource filing
2025-07-012026-06-30182,935,000,000USD2026-07-2910-K · 0001193125-26-323660
2024-07-012025-06-30136,162,000,000USD2026-07-2910-K · 0001193125-26-323660
2023-07-012024-06-30118,548,000,000USD2026-07-2910-K · 0001193125-26-323660
2022-07-012023-06-3087,582,000,000USD2025-07-3010-K · 0000950170-25-100235
2021-07-012022-06-3089,035,000,000USD2024-07-3010-K · 0000950170-24-087843
2020-07-012021-06-3076,740,000,000USD2023-07-2710-K · 0000950170-23-035122
2019-07-012020-06-3060,675,000,000USD2022-07-2810-K · 0001564590-22-026876
2018-07-012019-06-3052,185,000,000USD2021-07-2910-K · 0001564590-21-039151
2017-07-012018-06-3043,884,000,000USD2020-07-3010-K · 0001564590-20-034944
2016-07-012017-06-3039,507,000,000USD2019-08-0110-K · 0001564590-19-027952
2015-07-012016-06-3033,325,000,000USD2018-08-0310-K · 0001564590-18-019062
2012-07-012013-06-3028,833,000,000USD2013-07-3010-K · 0001193125-13-310206
2011-07-012012-06-3031,626,000,000USD2013-07-3010-K · 0001193125-13-310206
2010-07-012011-06-3026,994,000,000USD2013-07-3010-K · 0001193125-13-310206
2009-07-012010-06-3024,073,000,000USD2012-07-2610-K · 0001193125-12-316848
2008-07-012009-06-3019,037,000,000USD2011-07-2810-K · 0001193125-11-200680
2007-07-012008-06-3021,612,000,000USD2010-07-3010-K · 0001193125-10-171791

Related financial histories

Inspect the source

Entity
MICROSOFT CORPORATION / CIK 0000789019
Captured
2026-09-19T09:30:26.207Z
SEC response SHA-256
f8aae2965b20ad0df44bdf7ccbedf797d275b6b8dc030154a7a311361bb7246f

Current SEC company facts · Download the original response snapshot (gzip) · Download the selected JSON

Latest-filed annual-report facts per unit and reporting period at capture time. Duration facts cover 300 to 400 days. This selection can include restatements and is not a point-in-time backtest dataset. Missing concepts are omitted, never zero-filled. Values retain original units and are not currency converted.

Public company accounting reference, not market prices, returns, an investment recommendation, or ALPHAC performance. Validate a separately constructed return series with the validation API; accounting values are not returns.

Use this in research

A financial period ends before its results become public. Use the filing date as a minimum availability boundary, inspect amendments, and retain the original filing vintage when testing historical signals. This latest-filed selection can contain information unavailable at the time.

These pages do not supply prices, total-return histories, corporate-action adjustments or a tradable universe. Build those inputs separately before evaluating a strategy. A profitable backtest can still reflect selection bias or costs that were left out.

Research methodology · Execution and cost assumptions · Check backtest overfitting

Build with the open-source tools

Use these accounting records as inspectable inputs. When you have constructed a return series, the validation tools can help test its statistical evidence and preserve the result with its limitations.

Read the published dataset with Python
import json
from urllib.request import urlopen

with urlopen("https://canlicapital.com/company-data/0000789019.json") as response:
    record = json.load(response)
print(record["fetched_at"])
print(record["policy"])
for concept in record["concepts"]:
    print(concept["tag"], next(iter(concept["observations"])))