Skip to content

ULTRALIFE CORPORATION: retained earnings or deficit

Retained earnings or deficit for ULTRALIFE CORPORATION. Inspect selected reporting periods, original units and SEC filing links; download the financial history.

All ULTRALIFE CORPORATION financial histories

What this measure means

Accumulated undistributed earnings or deficit at the reporting date. This balance is not cash available for distribution.

Exact concept: us-gaap:RetainedEarningsAccumulatedDeficit. Each value is a balance at the reporting date, not a flow earned over a year. Different units remain separate; no currency conversion or interpolation is applied.

Coverage of this history

Selected reporting periods run from 2010-12-31 to 2025-12-31. The SEC response was captured on 2026-09-20.

Selected filing history

Retained earnings or deficit in original reported units, latest-filed observation per period
Period startPeriod endValueUnitFiledSource filing
At date2025-12-31-40,340,000USD2026-03-2310-K · 0001437749-26-009385
At date2024-12-31-34,442,000USD2026-03-2310-K · 0001437749-26-009385
At date2023-12-31-40,754,000USD2025-04-0110-K · 0001437749-25-010360
At date2022-12-31-47,951,000USD2024-03-2110-K · 0001437749-24-008872
At date2021-12-31-47,832,000USD2023-03-3110-K · 0001437749-23-008694
At date2020-12-31-47,598,000USD2022-03-0810-K · 0001437749-22-005572
At date2019-12-31-52,830,000USD2021-02-0410-K · 0001437749-21-001946
At date2018-12-31-58,035,000USD2020-02-0610-K · 0001437749-20-001842
At date2017-12-31-82,894,000USD2019-02-1510-K/A · 0001437749-19-002758
At date2016-12-31-90,542,000USD2018-02-0810-K · 0001437749-18-001990
At date2015-12-31-94,051,000USD2017-02-0910-K · 0001437749-17-002050
At date2014-12-31-96,920,000USD2016-03-0210-K · 0000875657-16-000069
At date2013-12-31-94,804,000USD2015-03-1110-K · 0000875657-15-000010
At date2012-12-31-93,878,000USD2014-03-1410-K · 0001171843-14-001248
At date2011-12-31-92,280,000USD2013-03-1510-K · 0001171843-13-001017
At date2010-12-31-90,200,000USD2012-03-1310-K · 0001193125-12-112219

Related financial histories

Inspect the source

Entity
ULTRALIFE CORPORATION / CIK 0000875657
Captured
2026-09-20T05:01:00.014Z
SEC response SHA-256
0a0e1e8132a2ecf6f8a4c3c3c0796501e8ab0eef5cd36578b2d8552b3b776561

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. Extended concepts require compatible unit shapes and at least three reporting ends with changing values within one unit. Constant or incompatible added histories are omitted.

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