Skip to content

Bank First Corp: filings

Every Bank First Corp annual and quarterly report in the SEC record with the published financial measures it tagged, 32 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-08-07fiscal Q2 202631900001104659-26-092556
10-Q2026-05-11fiscal Q1 202631660001104659-26-058557
10-K2026-02-27fiscal FY 202537980001104659-26-021567
10-Q2025-11-07fiscal Q3 202531940001104659-25-108332
10-Q2025-08-11fiscal Q2 202531900001558370-25-010992
10-Q2025-05-09fiscal Q1 202531660001558370-25-007166
10-K2025-02-28fiscal FY 202436970001558370-25-001937
10-Q2024-11-12fiscal Q3 202430920001558370-24-015290
10-Q2024-08-07fiscal Q2 202430880001558370-24-011327
10-Q2024-05-09fiscal Q1 202432670001558370-24-007636
10-K2024-02-29fiscal FY 202336980001558370-24-002199
10-Q2023-11-09fiscal Q3 202332970001558370-23-018518
10-Q2023-08-09fiscal Q2 202332930001558370-23-014172
10-Q2023-05-10fiscal Q1 202332670001558370-23-009084
10-K2023-03-10fiscal FY 2022361540001558370-23-003499
10-Q2022-11-09fiscal Q3 202233990001558370-22-017085
10-Q2022-08-09fiscal Q2 202233950001558370-22-012801
10-Q2022-05-10fiscal Q1 202234710001410578-22-001254
10-K2022-03-16fiscal FY 2021351360001410578-22-000397
10-Q2021-11-09fiscal Q3 202133990001410578-21-000055
10-Q2021-08-09fiscal Q2 202132910001104659-21-101958
10-Q2021-05-10fiscal Q1 202132670001104659-21-063818
10-K2021-03-12fiscal FY 2020361380001104659-21-035648
10-Q2020-11-06fiscal Q3 202032970001104659-20-122490
10-Q2020-08-07fiscal Q2 202032930001104659-20-092139
10-Q2020-05-11fiscal Q1 202032680001104659-20-059512
10-K2020-03-11fiscal FY 2019341220001104659-20-031995
10-Q2019-11-12fiscal Q3 201930870001104659-19-062607
10-Q2019-08-13fiscal Q2 201930820001144204-19-039576
10-Q2019-05-08fiscal Q1 201929600001144204-19-024520
10-K2019-03-26fiscal FY 2018301060001144204-19-016011
10-Q2018-12-07fiscal Q3 201828730001144204-18-063517

Inspect the source

Entity
Bank First Corp / CIK 0001746109
Captured
2026-09-21T17:25:49.478Z
SEC response SHA-256
8e0bd85b3dc647426f3f431e197673b67d01226b146d80a7b04208775ba1bdaa

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