Skip to content

JOHNSON CONTROLS INTERNATIONAL PLC: filings

Every JOHNSON CONTROLS INTERNATIONAL PLC annual and quarterly report in the SEC record with the published financial measures it tagged, 68 filings, each linked to its SEC index.

Filings with published measures

Each page shows what one filing reported, as tagged in that filing, with the periods it covered. Later filings can restate a value; the company overview shows the latest-filed value per period.

FormFiledFiscal periodMeasuresFactsSEC accession
10-Q2026-05-06fiscal Q2 2026391110000833444-26-000050
10-Q2026-02-04fiscal Q1 202640840000833444-26-000019
10-K2025-11-14fiscal FY 2025481230000833444-25-000097
10-Q2025-08-06fiscal Q3 2025391080000833444-25-000063
10-Q2025-05-07fiscal Q2 2025391080000833444-25-000032
10-Q2025-02-05fiscal Q1 202539820000833444-25-000011
10-K2024-11-19fiscal FY 2024481240000833444-24-000064
10-Q2024-07-31fiscal Q3 2024421140000833444-24-000052
10-Q2024-05-01fiscal Q2 2024421140000833444-24-000029
10-Q2024-01-30fiscal Q1 202442880000833444-24-000011
10-K2023-12-14fiscal FY 2023491280000833444-23-000048
10-Q2023-08-02fiscal Q3 2023411120000833444-23-000030
10-Q2023-05-05fiscal Q2 2023411120000833444-23-000014
10-Q2023-02-01fiscal Q1 202341840000833444-23-000005
10-K2022-11-15fiscal FY 2022491290000833444-22-000043
10-Q2022-08-04fiscal Q3 2022411190000833444-22-000036
10-Q2022-05-04fiscal Q2 2022411190000833444-22-000017
10-Q2022-02-02fiscal Q1 202240870000833444-22-000005
10-K2021-11-15fiscal FY 2021511370000833444-21-000046
10-Q2021-07-30fiscal Q3 2021401160000833444-21-000040
10-Q2021-04-30fiscal Q2 2021411180000833444-21-000020
10-Q2021-01-29fiscal Q1 202139840000833444-21-000011
10-K2020-11-16fiscal FY 2020521370000833444-20-000048
10-Q2020-07-31fiscal Q3 2020421180000833444-20-000036
10-Q2020-05-01fiscal Q2 2020421180000833444-20-000015
10-Q2020-01-31fiscal Q1 202042870000833444-20-000006
10-K2019-11-21fiscal FY 2019481310000833444-19-000051
10-Q2019-08-01fiscal Q3 2019391150000833444-19-000041
10-Q2019-05-03fiscal Q2 2019391150000833444-19-000022
10-Q2019-02-01fiscal Q1 201938830000833444-19-000005
10-K2018-11-20fiscal FY 2018461240000833444-18-000053
10-Q2018-08-02fiscal Q3 2018391070000833444-18-000044
10-Q2018-05-03fiscal Q2 2018391070000833444-18-000021
10-Q2018-02-02fiscal Q1 201839810000833444-18-000008
10-K2017-11-21fiscal FY 2017461240000833444-17-000060
10-Q2017-08-03fiscal Q3 2017391070000833444-17-000044
10-Q2017-05-04fiscal Q2 2017391070000833444-17-000016
10-Q2017-02-08fiscal Q1 201738790000833444-17-000007
10-K2016-11-23fiscal FY 2016451210000833444-16-000216
10-Q2016-07-29fiscal Q3 2016411140000833444-16-000197
10-Q2016-04-29fiscal Q2 2016421160000833444-16-000172
10-Q2016-01-29fiscal Q1 201642880000833444-16-000120
10-K2015-11-13fiscal FY 2015451200000833444-15-000091
10-Q2015-07-31fiscal Q3 2015421160000833444-15-000062
10-Q2015-04-24fiscal Q2 2015421160000833444-15-000032
10-Q2015-01-30fiscal Q1 201542880000833444-15-000013
10-K2014-11-14fiscal FY 2014451200000833444-14-000124
10-Q2014-07-25fiscal Q3 2014411140000833444-14-000099
10-Q2014-04-25fiscal Q2 2014411140000833444-14-000046
10-Q2014-01-31fiscal Q1 201441860000833444-14-000022
10-K2013-11-14fiscal FY 2013451190000833444-13-000045
10-Q2013-07-26fiscal Q3 2013411140000833444-13-000035
10-Q2013-04-26fiscal Q2 2013411140001047469-13-004987
10-Q2013-01-29fiscal Q1 201340840001047469-13-000517
10-K2012-11-16fiscal FY 2012431130001047469-12-010665
10-Q2012-07-31fiscal Q3 2012391060001047469-12-007586
10-Q2012-04-26fiscal Q2 2012391060001047469-12-004825
10-Q2012-01-31fiscal Q1 201239810001047469-12-000495
10-K2011-11-16fiscal FY 2011441520001047469-11-009619
10-Q2011-07-28fiscal Q3 2011381040001047469-11-006677
10-Q2011-04-28fiscal Q2 2011381030001047469-11-004182
10-Q2011-01-27fiscal Q1 201138780001047469-11-000328
10-K2010-11-12fiscal FY 2010431540001047469-10-009627
10-Q2010-07-29fiscal Q3 2010371000001047469-10-006744
10-Q2010-04-27fiscal Q2 201033940001047469-10-004246
10-Q2010-01-28fiscal Q1 201033700001047469-10-000401
10-K2009-11-17fiscal FY 200934860001047469-09-010234
10-Q2009-07-30fiscal Q3 200930880001047469-09-007036

Inspect the source

Entity
JOHNSON CONTROLS INTERNATIONAL PLC / CIK 0000833444
Captured
2026-09-19T15:08:42.046Z
SEC response SHA-256
3c0ad147e5626029fe80ae5e25c85c43cb27a4b1f2d620a8e1b4e6e896fd910f

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

Every published concept a filing tagged, with the periods it covered, as reported in that filing at capture time. Forms 10-K, 10-K/A, 10-Q, 10-Q/A, 20-F, 20-F/A, 40-F, 40-F/A. A filing page needs at least 8 published concepts. Later filings can restate these values; the company history pages show the latest-filed value per period.

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/0000833444.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"])))